2. 中南林业科技大学 人工智能应用研究所 湖南 长沙 410004
2. Institute of Artificial Intelligence Application, Central South University of Forestry and Technology, Changsha 410004, China
在人脸图像中,由于光照不均衡带来的阴影会破坏图像原本的内容,给相关任务带来干扰。另一方面,如Murali等[1]所述,图像中的阴影包含了足够的信息去推断环境光照的方向、强度以及遮挡物的几何形状等。因此,将人脸阴影检测作为相关任务的预处理步骤,对阴影区域提前进行标注,避免阴影与待处理目标的混淆,可以提高人脸算法的鲁棒性。
传统的阴影检测方案[2-4]通常根据图像的颜色、纹理、亮度来划分阴影区域和非阴影区域,或通过边缘检测来实现阴影检测。这些方法只适用于高质量和约束良好的图像,对复杂背景下的阴影识别精度不佳。目前,随着深度学习技术在计算机视觉领域的发展,基于卷积神经网络的阴影检测方法[5-9]被大量开发,其强大的特征提取能力为阴影检测在复杂场景中的应用带来了便利。大量的基于深度学习的图像分割方法[10-16]被提出,其变体被应用于阴影检测。但使用深度学习技术实现精确的人脸阴影检测依然存在以下几点困难:缺乏训练数据;人脸图像中包含的眉毛、痣等结构像素容易与阴影混淆;光照的复杂性导致阴影区域的面积大小不一;目标与背景的不平衡给网络训练带来了困难。
1 相关工作在早期的阴影检测方案中[2],专家们在光照均匀的前提下、基于本征图像理论,利用熵值最小化获得灰度不变图像,进而完成检测和消除阴影。但是由于大多数情况下光照不是时刻均衡,该方法鲁棒性不强。建模的方法大多是手工制作阴影区域和非阴影区域的特定特征来对其进行区分。例如,通过关注阴影区域的颜色特征来完成阴影检测[3],此外还可以通过关注物体的边缘信息来进行阴影检测[4]。这些方法大多关注图像中包含的低阶信息,对于图像中包含的语义信息不能很好地利用,这导致该类算法在复杂背景的情况下检测精度较低。
Khan等[5]最先使用深度学习的方法完成阴影检测,训练了两个网络来进行阴影边缘检测和阴影区域检测,之后将结果输入条件随机场得到最终的检测结果。董月等[6]设计了一种用于阴影检测的Attention-Res-UNet,该方法借鉴U-Net设计思路,使用RestNeXt101作为网络特征提取前端,并采用注意力机制对网络各个单元的输出进行融合,得到最终的检测结果。Zhu等[7]通过堆叠多个并行融合分支来融合全局语义线索和局部空间细节, 来达到更高的检测精度。Hu等[8]在空间循环神经网络中,通过在聚合空间上下文特征时引入注意力权重来制定方向感知注意力机制,通过训练学习这些权重,可以恢复方向感知空间上下文以检测和去除阴影。Zheng等[9]提出了一个干扰感知阴影模块来预测假阳性和假阴性像素,在每个卷积层中融合干扰特征来实现阴影检测。
2 方法由于光照情况的不同和人脸结构的多样性,人脸图像中阴影区域通常大小不同、边缘模糊且规律性较差。普通的基于卷积层的图像分割网络通常对小阴影区域和模糊的边界检测效果不佳,其原因在于网络中包含的池化操作丢失了图像细节信息。但是,池化也为网络带来了更大感受野,有利于网络提取图像的全局特征。权衡两者的利弊关系是解决该问题的关键,可以使用具有嵌套U-Net结构和注意力模块的人脸阴影检测网络(face shadow detection network,FSDN)来解决。图 1为网络的具体结构。网络的整体结构遵循编码器-解码器结构,由数个深度不同的U-Net嵌套组成。各个支路提取图像中不同的特征信息,之后通过注意力模块来得到最终的检测结果。注意力模块不仅融合了各个支路的信息,也抑制了浅层支路带来的噪声信息。
![]() |
图 1 具有三层U-Net嵌套结构的人脸阴影检测网络 Fig. 1 Face shadow detection network with three nested U-Nets |
如图 1 (a)所示,嵌套U-Net结构中包含多个具有不同深度的次级U-Net。对于每个特征维度,网络都连接一个解码器分支,每个分支用于提取图像不同深度的语义特征。其中,较浅的分支提取更多的高分辨率图像特征,从而改善对小阴影区域与阴影边缘的检测精度。较深的分支具有更大的感受野,可以获取更多的全局图像特征,有助于网络获取图像的深度语义信息,从而区分容易与阴影像素混淆的像素。总体而言,嵌套的U-Net结构不仅减轻了下采样造成的图像细节损失,而且确保了网络的整体感受野。表 1为卷积网络参数设置与各个特征层的特征尺寸,在图 1与表 1中Xi, j表示对应位置的卷积节点。
![]() |
表 1 卷积与特征尺寸 Tab. 1 Convolution and feature size |
跳跃连接可以引入更多的高分辨率信息,有助于更加精准地分割。FSDN沿用U-Net[10]和U-Net++[11]中的特征拼接的方式,融合编码器和各个解码器支路相同尺度的信息。在每次拼接操作后使用3×3卷积层和ReLu激活函数对相同尺度的特征信息进行融合,FSDN中各个卷积节点的连接方式可描述为
$ \left\{ \begin{array}{*{35}{l}} {{x}^{i, j}}=\psi \left( {{x}^{i-1, j}} \right), & j=0, \\ {{x}^{i, j}}=\psi \left( {{x}^{i, 0}}, U\left( {{x}^{i+1, j-1}} \right) \right., & j>0, \\ \end{array} \right. $ | (1) |
其中:xi, j表示节点Xi, j的输出;ψ(·)表示卷积操作;U(·)表示向上采样层,包含一个邻近插值操作和一个卷积层;[·]表示拼接层。如果j=0,节点仅接收上一层编码器节点的输出xi, 0;如果j>0,则节点接收同一级别编码器节点的输出和上一个解码节点通过上采样层后的输出xi+1, j-1。
2.3 注意力模块借鉴Attention-UNet[12]中注意力模块的设计方案,设计了一个多输入的注意力模块对各个支路输出信息进行通道级别的融合。图 1(b)为本文设计的多输入注意力模块的详细结构,网络各个支路的输出首先通过一个加性注意力来生成注意力系数。具体流程如下:各个支路末端的输出分别通过1×1×1的卷积层降维后生成1×1×1的注意力权重图。之后生成的权重图通过加法层、ReLu激活函数、1×1×1的卷积层和Sigmoid激活函数得到最终的注意力系数。之后,该注意力系数与深度最深的支路(嵌套结构中的最外层支路)的输出张量进行点积,对该输出进行修剪。选择深度最深的支路的输出作为注意力模块的主要输入,其原因在于该支路具有最大的感受野,能提取到更多的全局语义信息,从而抑制浅层支路输出中包含的噪声,注意力机制的数学描述为
$ y=g_n(x) \delta\left(\sigma\left(\sum\limits_{i=1}^n W_x^i g_i(x)\right)\right), $ | (2) |
其中:δ(x)=1/(1+e-x)为Sigmoid激活函数;σ表述ReLu激活函数;Wix为可训练的1×1×1卷积层,在输入卷积后得到各个支路的注意力权重图;gi(x)表示X0, j(j>0)的输出;n为注意力模块的输入个数,输入个数也等于嵌套的U-Net个数。
2.4 损失函数在照明不均匀的面部图像中,由于照明条件复杂,阴影区域的大小不同,一部分样本中的阴影区域较小,这通常会导致优化过程落入局部最小值,预测偏向于背景。因此,考虑到阴影区域和非阴影区域的不平衡,选择Dice损失函数[13]作为优化的目标函数。该损失函数被证明对于类别不均衡问题具有优势。损失函数定义为
$ { Dice\_loss }=1-\frac{2 \sum\limits_i^N p_i g_i}{\sum\limits_i^N p_i^2+\sum\limits_i^N g_i^2+\eta} \text {, } $ | (3) |
其中:减号后的部分为Dice系数;pi∈P为预测值;真实值由gi∈G表示;常数η=1e-5用于防止分母为零。当预测值和真实值接近时,Dice损失趋近于0。
3 实验与结果讨论 3.1 数据准备与实现细节数据集的原始人脸图像来自Extended Yale B人脸数据库[14]的光照子集,筛选掉其中无阴影的人脸图像后得到1 600张包含不同大小和数量阴影的人脸图像。选择该数据库的原因在于其包含较多光照情况(64种),具有丰富的阴影类别。收集的原始人脸图像通过Labelme图像标注工具[17]手工标注,依据光照角度和人脸结构等信息判断阴影区域的边界,根据绘制的阴影边界生成阴影掩膜。数据集中,用1 200张图像为训练图像,400张图像为测试图像。测试集在人脸身份随机的基础上尽可能涵盖所有的光照情况。
在实验中,原始图像和掩膜输入的尺寸为256×256,批次大小设置为4,批次数量设置为50,使用Adam优化器对网络进行优化,学习率lr=1e-4。模型采用Tensorflow框架实现,使用NAVID 2070S显卡进行训练。此外,为了研究嵌套U-Net数量对结果的影响,实验中测试了嵌套数分别为3和4的FSDN,在之后的内容中命名为L3-FSDN(图 1所示结构)与L4-FSDN。
3.2 评价指标为了能够客观地评价各类方法的检测精确度,本文引入了阴影检测常用的三个指标对各类方法的性能进行评价。这三个指标分别为阴影像素检测错误率(SER)、非阴影像素检测错误率(NAR)和平均检测错误率(BER)[16],各个指标的计算公式分别为
$ S E R=\left(1-T_P / N_S\right) \times 100, $ | (4) |
$ N E R=\left(1-T_N / N_{N S}\right) \times 100, $ | (5) |
$ B E R=(S E R+N E R) / 2, $ | (6) |
其中:TP、TN分别表示预测正确的阴影像素个数和预测正确的非阴影像素个数;NS为阴影像素总数;NNS为非阴影像素总数。三个指标的值越小,说明阴影检测的效果越好。BER为本文主要的参考指标。
3.3 实验结果图 2为FSDN在不同光照环境下对人脸的阴影检测结果,其中包含L3-FSDN模式、L4-FSDN模式、经典图像分割算法U-Net[10]、U-Net++[11]、OCRNet[18]和目前先进的阴影检测算法BDRAR[7]、DSC[8]、DSD[9]的对比结果。可以看出,对于图像分割算法(U-Net、U-Net++、OCRNet),多次下采样造成的信息损失导致网络的预测结果会丢失一些小的阴影区域,且阴影边缘定位不够准确。例如第二张测试图像中,眼窝位置的小面积阴影无法成功预测。同时,嘴唇部分的阴影边界与真实值相比有较大的差异。从第四副测试图像中的结果中也可以看出,这三个网络的检测结果与真实值在形态上有较大的差异。在阴影检测对照组中,DSC和BDRAR的检测结果与经典图像分割方案相比有所改善,但是还存在对小阴影区域检测性能不佳的现象。DSD在对照组中性能最为优越,但是对于小阴影边界的预测还是不够准确。相较于其他方案,FSDN能成功检测小阴影并且提供精确的阴影边界定位,能够区分眉毛等易与阴影混淆的像素。例如在第三幅图像中,鼻子左边小面积阴影的预测结果的边缘轮廓与真实值近乎一样。这也说明了嵌套结构与注意力融合的方式带来的高分辨信息有助于网络更加准确地对阴影像素进行定义,达到更精确的像素分类。对于具有不同嵌套U-Net个数的FSDN,视觉结果并没有表现出明显的差异性,尽管L4-FSDN的参数量要大于L3-FSDN。
![]() |
图 2 各方案检测结果的目视效果对比 Fig. 2 The comparison of visual effect test results of each method |
为了进一步验证所提方案的优越性,实验在标注的数据集上对各个网络进行了定量分析。表 2显示了每种方法的定量结果,其中L3-FSDN取得了最好的BER(表 2中加黑数据),L4-FSDN取得了最好的SER,两种模式的BER均优于最先进的DSD。与对照组中表现最好的DSD相比,L3-FSDN的SER下降28.4%,BER下降14.2%。而经典的图像分割网络在阴影检测方面的表现不佳,指标均处于较低水平。结合视觉和定量结果,FSDN的嵌套结构有效地减少了下采样带来的信息丢失,并且保证了感受野。网络能够成功检测到小阴影区域,降低了平均检测错误率。
![]() |
表 2 定量分析结果 Tab. 2 Quantitative results |
从表 2中可以看,尽管L4-FSDN具有较大的参数量,但是其检测性能仍略弱于L3-FSDN。为了探究其原因以及FSDN中每个支路对整个网络做出的贡献,我们可视化了各个支路的输出在通过注意力模块中的1×1×1卷积层后得到的权重图Wxigi(x)。图 3(a)显示了L3-FSDN各个支路的权重热度图,从中可以看出感受野最低的支路1通过注意力模块生成粗略的阴影分割分类权重图,并且该分支的权重图中的值被抑制到较低的水平,对最终结果产生的影响较小。随着感受野的增加,支路2更加关注非阴影区域的细节,该分支生成的权重图突出显示了类阴影区域的边缘特征。同时,从数值上可以看出支路2比支路1分支具有更大的权重,对最终结果的影响也更大。而感受野最大的支路3生成的权重图中包含了更为细致的阴影边缘,其与最终的分割结果更为接近。图 3(b)为L4-FSDN的权重映射图,可以看出,支路1和支路2权重映射图中包含的有用信息较少,整幅热度图像的权值没有梯度的变化。支路3和支路4的权重图与最终的分割结果相似,但是支路3得到的结果比较粗糙。通过以上的分析可以看出,L3-FSDN的效率和参数利用率都高于L4-FSDN。有两个原因支持这一推论: 1) 定量比较结果说明L4-FSDN的性能略弱于L3-FSDN。但是L4-FSDN相比于L3-FSDN具有更大的参数量,导致了更高的计算成本和时间复杂度;2) 从权重映射图上可以看出,L4-FSDN的分支利用率低于L3-FSDN。
![]() |
图 3 注意力权重热度图 Fig. 3 Attention weight heatmaps |
为了解决人脸阴影检测问题,本文提出了一种新型的人脸阴影检测网络(FSDN),并创建了人脸阴影检测数据集。FSDN由多个U-Net嵌套构成,并使用注意模块连接各个支路的输出。该模型在人脸阴影检测数据集上进行了验证,并于基线模型进行了对比。结果表明,该网络的客观指标和主观视觉效果均优于基线模型。视觉结果表明,FSDN对于小阴影和阴影边缘具有更高的检测精度。同时,本文也对不同深度的FSDN的性能进行了研究。实验结果表明,L4-FSDN的性能弱于L3-FSDN,通过分析两者注意力权重后发现,L3-FSDN的效率和参数利用率要高于L4-FSDN。下一步将着重研究更加精确的人脸阴影检测方法,并将人脸阴影检测应用于非均匀光照下人脸光照增强及人脸识别等问题之中。
[1] |
MURALI S, GOVINDAN V K, KALADY S. A survey on shadow detection techniques in a single image[J]. Information technology and control, 2018, 47(1): 75-92. ( ![]() |
[2] |
FINLAYSON G D, HORDLEY S D, LU C, et al. On the removal of shadows from images[J]. IEEE transactions on pattern analysis and machine intelligence, 2006, 28(1): 59-68. DOI:10.1109/TPAMI.2006.18 ( ![]() |
[3] |
YUAN X S, EBNER M, WANG Z Z. Single-image shadow detection and removal using local colour constancy computation[J]. IET image processing, 2015, 9(2): 118-126. DOI:10.1049/iet-ipr.2014.0242 ( ![]() |
[4] |
GOLCHIN M. Shadow detection using color and edge information[J]. Journal of computer science, 2013, 9(11): 1575-1588. DOI:10.3844/jcssp.2013.1575.1588 ( ![]() |
[5] |
KHAN S H, BENNAMOUN M, SOHEL F, et al. Automatic feature learning for robust shadow detection[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Press, 2014: 1939-1946.
( ![]() |
[6] |
董月, 冯华君, 徐之海, 等. Attention Res-Unet: 一种高效阴影检测算法[J]. 浙江大学学报(工学版), 2019, 53(2): 373-381. DONG Y, FENG H J, XU Z H, et al. Attention Res-Unet: an efficient shadow detection algorithm[J]. Journal of Zhejiang university (engineering science), 2019, 53(2): 373-381. ( ![]() |
[7] |
ZHU L, DENG Z J, HU X W, et al. Bidirectional feature pyramid network with recurrent attention residual modules for shadow detection[M]. Computer Vision-ECCV 2018. Cham: Springer International Publishing, 2018: 122-137.
( ![]() |
[8] |
HU X W, ZHU L, FU C W, et al. Direction-aware spatial context features for shadow detection[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE Press, 2018: 7454-7462.
( ![]() |
[9] |
ZHENG Q L, QIAO X T, CAO Y, et al. Distraction-aware shadow detection[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE Press, 2019: 5162-5171.
( ![]() |
[10] |
RONNEBERGER O, FISCHER P, BROX T. U-net: convolutional networks for biomedical image segmentation[C]//International Conference on Medical image Computing and Computer-AssistedIntervention. Cham: Springer, 2015: 234-241.
( ![]() |
[11] |
ZHOU Z W, SIDDIQUEE M M R, TAJBAKHSH N, et al. UNet++: redesigning skip connections to exploit multiscale features in image segmentation[J]. IEEE transactions on medical imaging, 2020, 39(6): 1856-1867. DOI:10.1109/TMI.2019.2959609 ( ![]() |
[12] |
SCHLEMPER J, OKTAY O, SCHAAP M, et al. Attention gated networks: learning to leverage salient regions in medical images[J]. Medical image analysis, 2019, 53: 197-207. DOI:10.1016/j.media.2019.01.012 ( ![]() |
[13] |
MILLETARI F, NAVAB N, AHMADI S A. V-net: fully convolutional neural networks for volumetric medical image segmentation[C]//2016 Fourth International Conference on 3D Vision. Stanford: IEEE Press, 2016: 565-571.
( ![]() |
[14] |
GEORGHIADES A S, BELHUMEUR P N, KRIEGMAN D J. From few to many: illumination cone models for face recognition under variable lighting and pose[J]. IEEE transactions on pattern analysis and machine intelligence, 2001, 23(6): 643-660. DOI:10.1109/34.927464 ( ![]() |
[15] |
刘洪普, 杨乐, 侯向丹, 等. 一种改进的模糊C均值图像分割算法[J]. 郑州大学学报(理学版), 2017, 49(2): 67-72. LIU H P, YANG L, HOU X D, et al. An improved fuzzy C-means algorithm for image segmentation[J]. Journal of Zhengzhou university (natural science edition), 2017, 49(2): 67-72. ( ![]() |
[16] |
高金峰, 吕易航. 航拍图像中绝缘子串的识别与分割方法研究[J]. 郑州大学学报(理学版), 2019, 51(4): 16-22. GAO J F, LV Y H. Research on recognition and segmentation of insulator strings in aerial images[J]. Journal of Zhengzhou university (natural science edition), 2019, 51(4): 16-22. ( ![]() |
[17] |
RUSSELL B C, TORRALBA A, MURPHY K P, et al. LabelMe: a database and web-based tool for image annotation[J]. International journal of computer vision, 2008, 77(1/2/3): 157-173. ( ![]() |
[18] |
YUAN Y H, CHEN X L, WANG J D. Object-contextual representations for semantic segmentation[M]//Computer Vision-ECCV 2020. Cham: Springer International Publishing, 2020: 173-190.
( ![]() |