APP下载

图像阴影去除的研究现状与进展

2020-06-13钱真真

电子技术与软件工程 2020年2期
关键词:阴影卷积深度

文/钱真真

(北京交通大学计算机与信息技术学院 交通数据分析与挖掘北京市重点实验室 北京市 100044)

1 引言

随着计算机技术,尤其是人工智能的崛起,图像分割、运动物体追踪等视觉领域得到了十足的发展。然而,光照及遮挡物的遮挡使得阴影在自然图像中几乎是无处不在的,图像中的阴影对后续的图像处理造成了极大的干扰。由于光源的种类、强度、遮挡物体的大小、形状、透明度以及背景材质、反射率参数等多种因素的影响,图像中的阴影也随之变得更加复杂。如何有效地将图像中的阴影去除、为后续的图像处理提供便利,成为图像预处理的重中之重。

图像阴影去除大都可以分为阴影检测和阴影去除两个步骤。阴影检测是应用相应的算法对图像进行处理,确定图像中的阴影区域,对阴影区域与非阴影区域进行标注;阴影去除大多是利用检测到的阴影,运用相应的算法、模型或计算将阴影去除,并尽可能完整地保留阴影区域原有的信息,使其无限接近于在相同照明条件、相同场景下的无遮挡物的无阴影图像。

2 阴影检测方法归纳

2.1 基于区域的阴影检测

对于相同反射率的区域,在相同的照明条件下,它们具有相似的纹理和颜色分布,而不同的光照条件,其纹理仍然相似,颜色强度却会存在很大的差异。这种方法的思路是用区域的颜色和纹理特征来预测该区域是否处于阴影区域。无论是相邻还是不相邻的区域对,若它们具有相同的纹理和相同的颜色强度,则它们极有可能处于相同的照明条件下,即它们应共享相同的阴影/非阴影标签;若具有相同的纹理和不同的颜色强度,则颜色强度相对较弱的极有可能处于阴影区域,而颜色强度较强的则处于非阴影区域。

2.2 基于深度学习的阴影检测

近年来,深度学习得到了巨大发展,它凭借自身强大、稳定的性能而延伸到计算机视觉、自然语言处理等众多领域,其中,它在计算机视觉领域的突破尤为引人注目。阴影检测作为计算机视觉领域存在已久的难题,越来越多的人开始尝试用卷积神经网络等深度学习的方法来解决这个问题。而随着生成对抗网络的提出与发展,我们发现它在处理计算机视觉领域的诸多问题上有着其他深度模型无法超越的优势。scGAN[1]、ST-CGAN[7]等生成对抗网络模型的提出,使得阴影检测的精度有了很大程度的提高。

3 阴影去除方法归纳

3.1 利用阴影mask通过公式计算直接去除阴影

不同的阴影检测算法检测出的图像“阴影”有不同的表示形式,如图1所示(其中阴影图像来自SRD数据集,“mask”为作者本人标注,“matte”图像为作者本人采用[8]中方法生成)。有的方法得到的阴影图像是二值图,即非阴影区域用黑色表示,阴影区域用白色表示,这种阴影图像通常被称为阴影“mask”;还有一种阴影表示形式中包含很多层次的透明度,这种阴影图像通常被称为阴影“matte”。

图1:阴影图像及其对应的mask与matte示例

若检测出的是阴影表示为后者,那我们可以根据公式Is=Sm·Ins[8]来计算出对应的无阴影图像,来达到阴影去除的目的。其中Is表示含阴影的图像,Ins表示阴影图像Is所对应的不含阴影的图像,Sm表示阴影“matte”。也就是说,阴影图像可以表示为无阴影图像与阴影“matte”的像素级乘积。

3.2 基于边缘的阴影去除

首先,根据图片序列分离出前景图像和背景图像,其中,图像阴影属于前景图像。之后,检测出前景图像和背景图像的边缘,将二者进行差分计算得到物体边缘。同时,通过光照检测计算出阴影属性。最后,利用物体的边缘及阴影属性,根据像素的明暗对比规则恢复图像来达到阴影去除的效果。这种方法多用于连续图像中物体阴影的去除,如去除交通监控图像中道路汽车产生的阴影[5]。与其他方法不同的是,这种基于边缘的阴影去除方法无需预先检测出阴影区域。

3.3 基于光照模型的阴影去除

当不发光的物体被某一光源照射后,物体对光会出现吸收、反射、折射等一系列现象。我们之所以能看见世间万物,就是因为我们看到了反射光、折射光等。为了便于理解这些复杂的物理模型,很多人提出用数学模型进行模拟,我们将这些数学模型称之为光照模型(或明暗模型)。定义不同的光照模型[11],通过计算直射光、环境光、遮挡率、阴影系数等参数,使无阴影图像得以恢复。

3.4 基于深度学习模型的阴影去除

与阴影检测一样,深度学习模型也被更多地应用到图像阴影去除的工作中。卷积神经网络是深度学习的代表算法之一,这种算法的思路是利用卷积层对图像进行卷积提取特征,并结合池化层、合适的激活函数及其他模块进一步提升图像处理效果。由于卷积核的参数共享性,使得卷积神经网络能够快速、有效地对图像中的像素进行学习,进而提取不同层次的特征,实现阴影去除。

近年来,生成对抗网络(Generative Adversarial Nets,GAN)[9]的发展尤其迅速,它由生成器和判别器两部分组成,GAN的基本目标函数如下:

图2:阴影去除的边界效应

如公式(1)所示,生成器需尽可能地生成真实的图像,来混淆判别器的判断,而判别器则需尽可能准确地识别出真实图像和生成器生成的“假”图像。GAN就在二者的动态对抗中优化其参数,使得生成器能生成满足目标函数并且使判别器难以区分的真实图像。因此,我们将阴影图像Is输入到GAN模型中,经过生成器的编码器、解码器,能够生成相应的无阴影图像G,判别器对G以及Is进行判别,并通过最小化相应的损失函数来优化模型参数。

从简单的深度卷积神经网络模型[2][7][9]到生成对抗网络[8],阴影去除的性能逐步得到提升。

4 小结

虽然图像阴影去除是一个被长久关注的问题,但去除的效果仍存在一些不足。首先目前大多数的阴影去除会采用特定场景下的自然图像来训练模型,尤其是生成对抗网络模型,这使得训练好的模型在其他场景图像的测试下的效果与训练效果相差悬殊;其次,对于在采用有监督下方式的生成对抗网络模型来说,用来进行训练的数据集在数量和内容上远远不能满足一个深度学习模型训练的需要,这使得深度学习模型的训练和优化受到了很大的限制。最后,由于半影的存在,使得生成的去除阴影后的图像存在很明显的边界效应,如图2所示(生成的无阴影图像为作者本人使用ISTD[7]数据集并采用[15]中方法生成),这在很大程度上阻碍了阴影去除效果的提升。

多年来,图像阴影去除是困扰计算机视觉领域的一个大难题,有众多的研究学者关注了很长时间,积极寻找解决办法,但是目前大多数仍处于科学研究的阶段,还没有与具体的应用相结合。目前,交通、医学等领域越来越需要阴影去除的帮助来更好地完成交通监控车辆识别、病历拍照识别等任务。因此,图像的阴影去除不应该仅仅停留在研究阶段,而应该尽快将其落地应用到更多的领域中。

猜你喜欢

阴影卷积深度
基于3D-Winograd的快速卷积算法设计及FPGA实现
深度理解一元一次方程
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法
一种基于卷积神经网络的性别识别方法