Press "Enter" to skip to content

捕风捉影画中起,去影存真图上来

From:纽约石溪分校 编译:T.R

 

图像是光影的艺术,但不合时宜的阴影却会让图片的视觉效果大打折扣。为了去除图像中的阴影,来自石溪分校的研究人员在 阴影成像物理模型 的启发下提出了 解构阴影图像的表示方法 ,通过将图像表示为无阴影图像、阴影参数和遮挡层的组合,并利用深度学习模型预测阴影参数和遮挡层,为阴影过程有效建模,实现了良好的阴影去除效果。

 

图中魅影

 

沿直线传播的光受到阻隔就会在地上、墙面上、各式各样的背景中留下自己的印记。 影子虽然是光的脚印,但却会为各种计算机视觉任务带来意想不到的麻烦 ,从语义分割到追踪识别都会受到影响,而阴影的边缘与纹理的边缘也难以区分,同时还容易与反射率较低的物体混为一谈,因此 阴影的识别与去除一直是成像和视觉领域的重要任务 。

 

近年来端到端的深度学习让阴影去除得到了迅速发展,但对阴影成像物理过程的忽略使得模型的效果和可解释性还有待改进。在这篇文章中,研究人员结合了阴影形成物理过程和深度学习的建模能力,提出了 利用深度学习为简化的阴影物理模型建模 来构建阴影和无影图像间的映射关系。

 

 

研究人员提出的照明模型是一个线性变换模型,其中包含了尺度因子和加性常数颜色通道。尺度因子和加上的常数是这一模型的参数。在照明模型的帮助下,可以利用适当的参数去除图像中的阴影。研究人员充分利用了深度学习的方法,提出了 SP-Net 来估计阴影模型的参数(图中上半部分)。

 

此外还利用阴影遮挡技术来处理半遮挡区域。将照明模型与阴影图像分解公式相结合,将无影图像表达为阴影图像、阴影模型参数和阴影遮挡物的组合。其中阴影模型可以将阴影像素转换为无影像素,而阴影遮挡物则可以有效地将每个像素表达为阴影和光照的线性组合,最终可以重建出无影图像。

 

这一过程中,研究人员利用了另一个深度网络 M-Net 来精确地预测遮挡物体的α。通过物理模型的构建和深度学习模型的预测,得到了效果优异的阴影去除图像。

 

阴影成像的物理模型

 

构建物理模型的目的是将受到遮挡的阴影像素转变为对应的无影像素,根据光源和环境光的强度以及目标表面的反射率,可以得到无影图像的表达:

 

 

其中两项光强分别是光源直射光强和环境光强,R是反射率。而阴影图像则可以表达为没有直射光只有环境光的成像,a为衰减因子。

 

 

上面两式就可以得到一个将阴影图像转变为无影图像的线性表达式:

 

 

其中w是与衰减相关的参数,b则是与光源直接照明相关的参数,估计出阴影参数(w,b)就可以重建出无影图像。

 

在 照明模型 的基础上,研究人员重构了阴影图像的 解构方法 ,将去除阴影的最终图像定义为原始的阴影图像与重建后无影图像的组合,并用遮挡层α来定义结合系数的大小:

 

 

 

理想情况下,在遮挡区域α应该为0无遮挡区域应该为1,在半遮挡区域则渐变。

 

基于物理模型的SPNet与MNet

 

针对这一模型中的两套参数(w,b)和α,研究人员分别提出了两个模型来对阴影参数和遮挡层进行估计,构建了SP-Net和M-Net两个网络。

 

 

第一部分是阴影参数估计网络SP-Net, 输入为阴影图像和对应阴影掩膜来预测阴影参数(w,b),并基于物理模型得到重新光照的结果Irelit。随后这一结果与输入图像一起送入M-Net中来预测阴影层α,并根据最后的图像解构模型来融合得到最终的无阴影图像。模型在预测阴影参数时需要计算参数的回归损失,最终重建无阴影图像时则需要利用预测图像与基准图像间的L1来作为损失监督网络训练。

 

本文提出的方法通过遮挡层将半遮挡区域有效的考虑到模型中,下图可以看到,基于估计的遮挡层,恢复出的图像没有明显的边缘,效果真实平滑自然。

 

 

实验和结果

 

好的模型需要实验来验证。研究人员利用ISTD数据集对模型进行了训练和测试。在进行最终测试之前,研究人员发现测试集中阴影图像和无影图像的颜色不连续,这主要是由于采集图像的时间和环境光不同造成了强度和颜色的变化。作者使用了线性回归的方法对图像的颜色进行了矫正,将无影图中非阴影区域的像素映射到了对应阴影图中去,使得图像间的色调和强度更为连续。

 

最终将无影图和阴影图间的均方根距离从12.9减小到了2.9,下图显示了校正后的GT图像与阴影图像的颜色强度更加匹配。

 

 

在具体评测过程中,研究人员选用了重建结果与基准图像间的均方根误差作为指标,并与四种现有的方法进行了比较,SPNet和MNet的优势在下表表示出来,在阴影图像的重建上实现了最优的指标 (其中Gong方法的2.6则是使用了用户交互的方法获得的) 。

 

 

在表格下方,研究人员还进行了两种可能的尝试,一种是与先前两个网络联合训练阴影检测器,但由于参数的增加使得训练难度增大;第二种是网络不输入阴影的mask,使得模型需要学习阴影区域的隐式表达,也降到了网络的部分性能。

 

为了进一步扩大数据集,增强训练效果,研究人员通过改变物理模型中的w来获得更多的阴影数据,使得 最终RMSE实现了6%的提升 。

 

 

这种方法最终获得了良好的阴影去除效果,高质量的重建结果也证明了将物理模型与深度学习方法紧密结合的潜在优势。

 

 

如果想了解更多细节,请参看论文:

 

https://arxiv.org/pdf/1908.08628.pdf

 

也可以在这里找到代码开始上手:

 

http://www3.cs.stonybrook.edu/~cvl/projects/SID/index.html

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注