由于目标检测任务中的背景环境各有差别,对检测结果也会产生相应影响和挑战,应对现实中各种真实视觉不利场景的挑战是一项热门研究课题。目前在人脸检测领域流行的基准数据集有FDDB(Face Detection Data set and Benchmark)数据集[7]、MALF数据集、WIDER FACE数据集[8]等,大部分人脸检测算法也是在以上数据集上进行评测的。2019年北京大学发布的DARK FACE数据集提供了低光照图像和对应人脸标签,聚焦于低光照情况的人脸检测应用,这一条件下的人脸检测任务具有重要现实意义,在CVPR 2019 UG2+国际竞赛中,设置了基于DARK FACE数据集的人脸检测项目。但是目前并没有专门为低光照条件设计的人脸检测算法,因此现有算法在DARK FACE数据集上的检测效果都不够理想[9]。
本文在CVPR 2019 UG2+国际竞赛DARK FACE检测项目获奖算法的基础上,提出了将深度神经网络和图像显著性方法结合的检测算法,通过将图像显著性信息加入到图像预处理和深度学习网络的训练过程中,帮助提升低光照人脸检测性能。具体而言,本文创新性地提出了将图像显著性检测与深度神经网络结合的人脸检测算法,该算法将显著性检测得到的显著图与图像原始信息融合,再进入神经网络一起进行训练。
作为对照,本文还将图像增强算法MSRCR[10]应用于数据集,对比验证图像显著性对人脸检测的帮助,此外,本文提出的检测算法还与其他人脸检测算法进行了对比。实验结果表明,本文算法在DARK FACE数据集上获得了最好的检测精度。
1 相关工作 1.1 通用目标检测 目标检测是计算机视觉中的一大主要任务。近年来随着深度学习的发展,基于卷积神经网络的目标检测技术成为研究的热点。当前目标检测的算法主要可以分为两大类:
1) 一阶段目标检测算法。例如YOLO、SSD[11]等,这类算法没有使用候选区域(Region Proposal),直接通过主干网络同时检测出图像中物体的位置和类别信息。
2) 两阶段目标检测算法。包括RCNN、Fast RCNN、Faster R-CNN等,这类算法首先用相应的候选区域算法,类型有传统算法或者是神经网络,在输入图片上生成建议目标候选区域,然后再将所有的候选区域送入分类器中进行分类。
1.2 人脸检测 作为通用目标检测中的一类特例,人脸检测当今也倍受关注。目前有许多用于人脸检测算法评测的数据集,例如FDDB,其重点用于研究表情、姿态、尺度、外观有较大可变性的无约束人脸检测,数据集图片来源于自然环境下拍摄的新闻报道图片,共计2 845张图片包含有5 171张人脸图像。2015年发布的WIDER FACE数据集共有32 203张图片,包含393 703张人脸, 而且在脸部的尺寸、姿势、表情、遮挡上都有很大变化,发布后被广泛应用于人脸检测算法的评估;还有2015年发布的MALF数据集,是为了更细粒度地评估野外环境中人脸检测的数据集。本文的研究内容是低光照条件下的人脸检测任务,选取了2019年发布的DARK FACE数据集进行研究和评价算法,该数据集提供了6 000张真实拍摄的低光照图像,这些图像拍摄于街道、教学楼、天桥、公园等处,其中人脸都进行了标注。DARK FACE同时提供了9 000张未标注的低光照图像以及100张有标注的测试图像,同时DARK FACE官方提供了一个评分工具,通过计算检测结果与真实标签的差距得到精度用于衡量检测算法的性能。
人脸检测任务可以使用通用目标检测算法完成,也有专门为人脸检测任务设计的检测算法。
PyramidBox就是一种专门为人脸检测任务设计的检测算法,提出了一种基于在图像上预设不同大小、不同长宽比的候选锚点框PyramidAnchors的环境辅助方法,引入有监督的信息来为较小的、模糊的和部分遮挡的人脸学习环境特征, 其设计的低层级特征金字塔网络(LFPN) 能更好地融合环境特征和面部特征,同时可以较好地处理不同尺度的人脸。这种环境敏感的预测模型,能从融合的特征中学习准确的定位和分类,且该方法提出的关注尺度的data-Anchor-sampling策略,能改变训练样本的分布,重点关注较小的人脸。在通用人脸检测基准FDDB和WIDER FACE上,PyramidBox达到了当时最佳水平。PyramidBox++[12]在PyramidBox的基础上进行了改进,采用平衡数据锚点框采样(BDAS)策略,得到更均匀的不同大小人脸的采样。Dual-Pyramid Anchor双金字塔锚点框通过引入渐进锚点框损失来促进特征学习,并通过密集上下文模块,将密集块合并到预测模块中,以有效地传递信息,并保持更多的多尺度上下文特性。
DSFD也是一种专门为人脸检测任务设计的检测算法,在继承SSD检测框架的基础上,引入一种新颖的特征增强模块,结合PyramidBox低层的特征金字塔与RFBNet[13]中的感受野块(RFB)利用不同层级的特征信息,增强特征的可判别性和鲁棒性。渐进锚损失PAL(Progressive Anchor Loss)将较小的锚拓展在高层特征图上以获得更多用于分类的语义信息和用于检测的高分辨率信息,并通过更小的锚去计算辅助监督损失。IAM(Improved Anchor Matching)策略提出了一种改进的锚点匹配方法,在DSFD中集成新的数据增强技术和锚设计策略提供给回归器更好的初始化,让锚和真实标签人脸尽可能匹配。
但是正如上文所言,这些经典的人脸检测算法均没有专门考虑低光照环境对人脸检测的影响,因此,直接将其应用于低光照环境人脸检测的性能仍然不理想。1.3节将介绍一些经典的图像增强算法。
1.3 图像增强 在光照较低的环境下拍摄的照片往往存在亮度低、对比度差等问题。除了视觉上的主观效果,也会影响一些高层次的任务如检测与识别,因此低光照图像增强的研究具有很强现实意义。
图像增强的方法有很多,这里重点介绍基于Retinex理论[14]的算法。Retinex理论的基础是物体的颜色是由物体对光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的,物体的色彩不受光照非均匀性的影响,具有一致性。不同于传统的线性、非线性只能增强图像某一类特征的方法,Retinex可以在动态范围压缩、边缘增强和颜色恒常3个方面达到平衡,因此可以对各种不同类型的图像进行自适应的增强。Retinex原理如图 1所示。图中:I为人眼中看到的图像;R为物体的反射分量;L为环境光照射分量;(x, y)为二维图像对应的像素位置。
图 1 Retinex原理示意图 Fig. 1 Schematic of Retinex principle |
图选项 |
基于Retinex原理的代表算法有单尺度Retinex SSR算法[15]。通过估算L来计算R,也就是图像增强最后的处理结果,具体来说,L可以通过高斯模糊和I做卷积运算求得
(1) |
式中:F为高斯模糊的滤波器;“*”表示卷积运算。
在SSR增强算法的基础上,又发展出了多尺度Retinex MSR算法[16], 对原始图像进行不同尺度的高斯模糊,再将不同尺度的结果进行加权平均。以及带颜色恢复的多尺度Retinex MSRCR算法,在MSR的基础上,加入了色彩恢复因子来调节由于图像局部区域对比度增强而导致颜色失真的缺陷。
LIME[17]算法也是基于Retinex理论的算法。该算法选取图像中每个像素通道中的最大值估计该图像各像素的光照度,然后通过强加入一种结构先验来细化光照度,最后根据Retinex理论合成增强结果。
本文选取MSRCR算法用于低光照人脸检测的图像增强预处理,与利用图像显著性做图像增强的方法对照。
1.4 图像显著性检测 图像显著性是图像中重要的视觉特征之一,广泛运用在压缩、编码、图像边缘加强、显著性目标分区和提取等方面。人眼在观察一副图像的时候,对图像各区域的重视程度不同,会把注意力聚焦于图像中的某一部分区域,比如图中的一个建筑物或是一个人,这种机制使得观察者可以迅速处理看到的场景。
图像显著性检测的目的就是模拟人眼视觉注意力机制检测图像中的显著区域,也就是计算图像中不同区域的重要程度,从而将显著性高的前景和显著性低的背景分离。显著性检测与许多应用密切相关,包括目标检测、图像视频压缩、图像检索和图像重定向等。
显著性检测有以下多种算法:
Yun和Mubarak[18]提出通过计算某个像素在整个图像上的全局对比度,即该像素与图像中其他所有像素在颜色上的距离之和,作为该像素的显著值。
HC(Histogram-based Contrast)算法[19]考虑了彩色信息。并且提出了降低颜色数量的方案,将RGB各分量分别映射成12等份,则映射后的图最多只有12×12×12种颜色,这样就可以构造一个较小的直方图以提高计算效率。
Achanta等[20]基于局部对比度的LAB颜色空间计算距离,通过计算一个感知单元在不同邻域上的局部对比度来实现多尺度的显著性计算。
近年来随着深度学习的发展,也有许多基于深度学习的显著性检测算法,如2019年提出的基于深度卷积神经网络的特征图深度融合模型[21]。
在人脸检测领域,此前也有过对人脸图像进行显著性检测的实验,如Jian等[22]提出的模拟人类视觉系统进行显著目标检测的视觉注意感知模型。
本文的工作聚焦于低光照下的人脸检测应用,低光照环境带来的主要挑战是图像亮度不足、前后景难以区分,影响神经网络特征提取和学习。所以本文考虑的方案包括进行图像增强以及使用显著性检测分离前后景,帮助神经网络训练。具体实验包括将图像增强算法MSRCR与深度神经网络相结合进行人脸检测,以及将图像显著性检测算法应用于神经网络,实现了一个低光照人脸检测器。
在将图像显著性检测算法应用到人脸检测时,采用了2种方案:一种是将图像显著性应用于低光照图像增强,使用显著性引导增强后的数据集训练;一种是将图像原始信息结合图像显著性信息同时用神经网络进行训练的方法。
2 低光照人脸检测算法 本文所介绍的低光照人脸检测算法,既包括了笔者在CVPR 2019 UG2+国际竞赛DARK FACE检测项目获奖算法中使用的工程技巧,同时也融合了本文新提出的基于显著性引导的预处理方法和深度网络训练方法。本节将对这些工程技巧和创新算法进行详细介绍。
2.1 骨干网络 本文的检测算法选取RetinaNet神经网络[23]作为骨干网络。RetinaNet是一个用于目标检测的一阶段目标检测算法。
当前目标检测的2类算法中,一阶段目标检测算法的速度相对较快,而两阶段目标检测算法的准确度相对较高。导致一阶段目标检测算法的准确度不如两阶段目标检测算法的原因是正负样本的类别不均衡, 在一张图片中,可能只有一小部分是包含目标的,而大部分是属于背景。由于负样本数量太多,且一般都是易分类的, 这类易分类的负样本会对神经网络的训练起到主导作用,导致网络学不到有效的信息从而无法对目标准确分类。而两阶段目标检测算法会首先生成候选区域,这一步已经筛去了大量易分类的负样本,从而避免了正负样本的类别不均衡。为了解决正负样本类别不均衡的问题,RetinaNet提出了一种新的损失函数:Focal loss,这个损失函数基于交叉熵损失(CE loss)函数修改得到:
(2) |
式中:y为样本类别标签,y=1为正样本;p∈[0, 1]为该类的估计概率。
(3) |
那么交叉熵可以表示为
(4) |
为了平衡正负样本的作用,赋予一个权重因子α∈[0, 1]给正样本,1-α给负样本,以类似Pt的方式定义αt, 损失函数可以重写为
(5) |
权重因子α可以平衡正负样本的重要性,但是不能帮助区分易分类样本和难分类样本。因此Focal loss还增加了调节因子(1-Pt)y再次修改损失函数,控制易分类样本的权重,以抑制容易分类的样本的梯度产生的负面作用:
(6) |
当一个样本被错误分类,Pt是很小的,对应的调节因子就接近于1,进而这个样本权重就更大。如果Pt接近1,那么调节因子就趋于0,这个易分类样本的权重就被降低。参数γ可以控制分类样本被降低权重的比率。当γ=0,Focal loss就等于CE loss,在实际操作中,γ=2效果最好。
Focal loss通过调整正负样本的比例以及减少易分类样本的权重,使得神经网络在训练时更专注于难分类的样本。为了证明Focal loss的有效性,笔者设计了1个一阶段的目标检测网络RetinaNet,其网络结构如图 2所示。
图 2 RetinaNet网络结构 Fig. 2 Network structure of RetinaNet |
图选项 |
RetinaNet是由1个主网络和2个子网络组成的网络结构。主网络负责计算整个输入图像的卷积特征,这里主网络在残差网络(ResNet)[24]结构上使用特征金字塔网络(FPN)[25]来生成丰富的、多尺度的卷积特征。FPN通过自上而下的通道和横向的连接来扩展了卷积神经网络,提升了卷积神经网络的多尺度预测能力。主网络输出进入2个子网络,第1个子网络用来对主网络的输出进行进一步的计算来完成边框分类;第2个子网络负责边框对真实标签的回归。其中分类子网络采用Focal loss作为损失函数,边框回归子网络采用smooth L1 loss作为损失函数。
Lin等采用COCO数据集[26]测试了RetinaNet的性能,并和其他目标检测算法进行比较,结果表明,RetinaNet在COCO数据集上的检测精度不仅超过了YOLOv2[27]、SSD和DSSD[28]这些一阶段目标检测算法,还超过了Faster R-CNN等两阶段目标检测算法。
RetinaNet的检测效果较好,并且是结构较为简单,速度较快的一阶段目标检测算法。本文设计的低光照人脸检测算法采用RetinaNet作为核心神经网络。
2.2 基于WIDER FACE数据的预训练 本文方法通过训练神经网络RetinaNet识别低光照人脸图像。由于DARK FACE数据集提供的训练图片只有6 000张,样本数量较小,神经网络直接训练的效果并不理想。所以先采用样本量更大, 人脸在尺寸、遮挡方面有丰富多样性的人脸数据集WIDER FACE做预训练,再将模型迁移到DARK FACE数据集进行训练,可以加快神经网络的收敛速度。WIDER FACE数据集示例如图 3所示。
图 3 WIDER FACE数据集图像示例 Fig. 3 Image examples of WIDER FACE dataset |
图选项 |
进行预训练时选取101层的ResNet作为RetinaNet的主干网络。训练过程的主要细节包括:
1) 预定义的锚点框设置,一个长宽比:1∶1.25,2个尺度:2S和
2) 对训练集使用了数据扩充的数据增强方法。通过水平翻转的方法处理训练集图像和标签,将翻转后的图像和标签加入训练。
3) 训练时Batch size设置为4,这和本文实验时硬件环境的GPU数量相同。
4) 初始学习率设置为0.01,迭代10万步后降低为0.001,训练过程共进行了20万步迭代。前1 000步采用预热(warm up)的方式设置学习率,原理是在训练初期需要选择比较大的学习率,但是较大的学习率容易使训练过程具有较大的不稳定,所以把前1 000步作为学习率的热身阶段,在该阶段将学习率从0逐渐增加到指定的学习率。
5) 使用随机梯度下降(SGD)算法更新梯度,权重衰减(weight_decay)因子设置为0.000 1, 动量(momentum)因子设置为0.9。
6) 使用python库torchvision中提供的ResNet101预训练模型。
经过对WIDER FACE数据集的训练,得到1个用于DARK FACE数据集的预训练模型,该模型在WIDER FACE验证集上测试得到的精度为0.697。
将得到的WIDER FACE模型直接用于检测DARK FACE的测试集,使用DARK FACE官方提供的评价工具,得到精度为0.194,和在WIDER FACE测试集上的结果相差很远,意味着尽管预训练使用的数据集覆盖了姿势、外观、比例等方面的变化,但仍然不足以捕捉低光照条件下的面部特征。
由于模型在WIDER FACE测试集已经得到较高准确率,可以认为该模型对人脸已经有较好的识别能力,但是对于拍摄于低光照环境的图像的识别能力较差。接下来便是用预训练的WIDER FACE人脸检测模型为基础,迁移到DARK FACE数据集继续训练。
2.3 基于预训练模型的迁移学习 使用DARK FACE的训练集图片在WIDER FACE的模型上继续训练进行迁移学习。训练使用了DARK FACE提供的全部6 000张带标注图片,测试使用DARK FACE公布的100张图片测试集。为了验证图像增强和显著性对神经网络训练的作用,分别进行了以下实验。
2.3.1 使用DARK FACE原始图像训练 加载基于WIDER FACE数据集预训练的模型,使用DARK FACE数据集的原始图像和标签进行迁移学习(见图 4)。
图 4 DARK FACE数据集原图 Fig. 4 Original images of DARK FACE dataset |
图选项 |
训练时Batch size设置为4,学习率固定为0.01,前1 000步采用warm up启动。训练完的模型在DARK FACE测试集上检测得到的精度为0.504。
2.3.2 MSRCR算法增强DARK FACE数据集再训练 图像增强算法可以让低光照图像亮度提高,首先尝试使用MSRCR算法增强测试集图片提高图片亮度,从图 5中可以看到增强后的图片有很好的主观视觉效果。之后首先直接使用WIDER FACE预训练模型对增强后的测试集检测,得到的精度为0.300。这一步验证了将MSRCR图像增强算法直接应用于预训练的人脸检测模型上,就可以帮助RetinaNet进行人脸检测。
图 5 采用MSRCR算法的增强图像 Fig. 5 Images enhanced using MSRCR algorithm |
图选项 |
接下来再使用MSRCR图像增强算法处理DARK FACE训练集,再将处理后的训练集用于RetinaNet训练。使用训练好的WIDER FACE模型作为预训练模型进行迁移学习。为了验证图像增强算法的作用,训练过程与2.3.1节中使用的超参数完全一致,只是训练集使用了MSRCR算法增强。最终得到的检测模型在DARK FACE测试集上检测得到的精度为0.522。
2.3.3 显著性引导增强DARK FACE训练集再训练 本文使用的图像显著性检测算法由侯晓迪博士等在2012年提出[30]。该算法对图片处理的结果是计算生成了图像不同区域显著性的差距,并以不同大小的权重数值加以区分。对于前景给予更大的权重,背景则给予更小的权重,这一结果以一个显著图的形式表现。
以DARK FACE的图像为例,每张图的尺寸是720×1 080像素,每个像素包括RGB 3个通道。显著性检测算法的结果是一个720×1 080大小的矩阵,矩阵中每个值对应图像上相应像素位置的权重,这里将这一矩阵称为显著图。
显著图的实现过程:显著图生成的基础在于将图像中的前景部分分离出来。这一点可以通过离散余弦变换(DCT)将图片从空间域转换到频域,再通过sign操作实现近似的分离前景的作用。然后进行逆变换,使用逆离散余弦变换(IDCT)操作将其带回空间域。过程可表示为
(7) |
式中:x为图像的空间域信息。
得到重构的空间域信息后,再通过平均图像3个通道中的像素值,将3个通道的信息集成到单通道中。
再对每个通道c的信息进行平滑抑制噪声,这里使用了高斯核Kg以及矩阵的哈达玛积o2,最终可以得到显著图的计算方法如下:
(8) |
式中:“*”表示卷积。
对DARK FACE数据集中的每幅图像使用显著性检测算法计算出显著图,将显著图中每个像素点的值映射到0~255的范围,显示为灰度图后可视化的结果如图 6所示。
图 6 DARK FACE数据集图像的显著图 Fig. 6 Saliency maps of DARK FACE dataset images |
图选项 |
显著图中的信息可以应用于低光照图像增强,将待处理图片的像素乘以该矩阵对应位置的值,便能得到根据图像不同位置显著性差异进行处理的结果,再将该结果乘上一个固定系数r用来调节图像亮度,便可以得到显著性算法对低光照图像的最终增强结果。可表示为:图像增强结果=图像×显著图×亮度调节系数r,显著图中的权值范围映射为0~255。实验尝试过不同的系数调节图像亮度,分别取亮度调节系数r=0.1以及r=0.2时图像增强结果如图 7和图 8所示。
图 7 显著性引导增强的DARK FACE图像(r=0.1) Fig. 7 DARK FACE images enhanced using saliency guidance (r=0.1) |
图选项 |
图 8 显著性引导增强的DARK FACE图像(r=0.2) Fig. 8 DARK FACE images enhanced using saliency guidance (r=0.2) |
图选项 |
可以看出,显著性引导的图像增强算法对图像的增强效果不是均匀的而是有局部突出的,并且由主观效果可发现其中突出部分可以显示出在图像中的光源亮度变化或是物体与周围场景之间的较大区别,如行人的所在位置和周围地面之间权重有区别,也就是起到了图像分离前景与背景的效果。
本文尝试使用了不同取值的r值调节图像亮度。将r设为0.1时使用WIDER FACE预训练模型在DARK FACE测试集上检测得到的精度为0.299,r设为0.2时得到的精度为0.304。
使用显著性引导增强的DARK FACE图片用于训练,以及训练好的WIDER FACE作为预训练模型进行迁移学习。为了验证图像增强算法的作用,训练过程与2.3.1节中使用的超参数完全一致,只是训练集使用了显著性引导增强。最终得到的检测模型在DARK FACE测试集上检测得到的结果是r设0.1时精度为0.540,r设0.2时为0.533(见图 8)。
对比可以发现,MSRCR算法处理数据再训练得到的效果并没有优于直接使用原图进行训练的效果。而使用显著性算法进行图像增强再训练,得到的效果可以优于MSRCR算法处理的结果。验证显著性引导的图像增强方法对于RetinaNet神经网络可以起到比MSRCR算法更大帮助。并且可以发现,虽然设置不同的系数调节图片亮度后主观效果差异很大,但是对使用增强算法后的图片训练得到的模型的检测精度影响不大。
2.4 显著图融合训练 显著性引导增强图像的方法根据显著图来对图像中不同位置进行不同程度的增强。使用图像增强结果训练后的效果比原图训练更好,验证了图像显著性信息可以帮助神经网络学习。而这种方法与使用MSRCR算法增强图像以及用原始图像训练的方法都不需要修改核心网络结构。下文提出方法的不同之处在于同时将原始图像和显著图加入训练,网络结构也有相应变化。
考虑到对图片进行基于显著图的增强的过程中,原始图像乘上对应矩阵再调节最终亮度系数的过程,可能会使得图片的像素值因为超过值域而丢失一部分信息。以及直接使用显著性引导增强的最终结果来作为训练样本,虽然效果总体比不做处理更好,但也可能原图和显著性引导增强后的结果相比也有对于神经网络更有效的信息,所以这里提出一种在完全保留原始图片信息的基础上,又同时使用图片显著性信息来帮助RetinaNet网络进行训练的方法。
2.3.1节和2.3.2节中,神经网络仅使用DARK FACE训练集图片或是进行过图像增强后的训练集图片作为训练样本。新的做法是将图像的显著图和原图一起加入训练,修改RetinaNet的网络入口,原始的网络输入是一副图片,也就是RGB三通道,由于显著图和原始图像的尺寸是一样的,在DARK FACE数据集中都是表现为720×1 080的尺寸。这里将显著图作为第4个通道,修改网络的输入,输入信息由图片尺寸×3的原图像素信息改为图片尺寸×4,前3个通道为原图片的RGB三通道像素,第4个通道为显著图表示的图像各位置显著性权值,将图像原始信息和显著性信息融合送入神经网络训练如图 9所示。
图 9 原图融合显著图四通道训练示意图 Fig. 9 Schematic of training using 4 channel input fused by original images and saliency map |
图选项 |
本文所使用的RetinaNet的主干网络是ResNet101,网络结构的入口接受三通道的输入数据,然后进行卷积操作,改为四通道。修改好ResNet的入口后,继续加载预训练的WIDER FACE模型再继续训练。由于预训练的WIDER FACE模型的入口是原始的三通道ResNet,所以加载模型时需要忽略网络的第一层,只将网络第一层之后保存的权重读入。只忽略网络的一层,保存了网络其他层的权重信息,模型依然具有之前训练好的人脸检测能力。
2.5 多尺度检测结果集成 RetinaNet模型训练完成后,在检测人脸时采用多个尺度的图像分别测试。对DARK FACE测试集进行测试时,将测试图片进行多个尺度的缩放,本文实验时选取的缩放尺度包括:1,1.5,2,2.5。
同时对每个尺度的图片都进行左右翻转,分别进行测试,最后将得到的所有结果集成在一起作为最终结果。
集成多尺度检测结果时,首先将各尺度检测结果中的选择框坐标根据缩放比例以及是否左右翻转,重新计算归一到尺度为1且未翻转的标准。然后采用非极大值抑制(NMS)方法,在多个选择框中筛选出最终结果。检测结果中的多个选择框中有位置存在重叠的,需要去掉多余的选择框,NMS方法分别在图像局部选出置信度最大的框,然后去掉和这个框的面积交并比(IOU)大于一定阈值的框,实验中的交并比阈值设置为0.5。
3 实验评估 3.1 实验平台 本文实验所用的硬件平台为:4块GeForce RTX 2080 Ti GPU,Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40 GHz。软件环境为:操作系统为ubuntu 18.04,NVIDIA驱动版本440.4,Cuda版本10.1.243,Python版本3.6.9,Pytorch版本1.3.1。
3.2 性能分析
3.2.1 评价标准 DARK FACE数据集提供了一个用于评价检测结果与真实标签接近程度的工具。实现将检测结果中的box位置和标签对比,将交并比大于0.5的结果判定为正类,反之判为负类。
衡量目标检测结果的评价指标一般包括召回率(Recall)、查准率(Precision)、精度(Average Precision, AP)。这几个指标的计算方法如下:
TP为将正类预测为正类数,FN为将正类预测为负类数,FP为将负类预测为正类数,TN为将负类预测为负类数。
对于同一份检测结果,设置不同的置信度阈值,其中判定为正类的样本数量不同,会得到不同的查准率和召回率,查准率越高,召回率越低。将不同查准率和对应召回率以二维坐标的形式表示,可以得到AP,它是查准率-召回率曲线所围成区域的面积,图 10为本文不同实验结果的查准率-召回率曲线。
图 10 查准率-召回率曲线 Fig. 10 Precision-recall curves |
图选项 |
DARK FACE数据集提供的测试工具采用AP来评价结果,综合考虑了召回率和查准率的影响,具体的计算方法为:假设检测结果中有N个box,每个box都有一个置信度score,其中有M个是和真实标签的交并比大于0.5的正例,将所有N个box根据score大小降序排列。取包括前m个正例(m从1递加到M)的n个box,会得到M个召回率值(1/M, 2/M, …, M/M), 对于每个召回率值, 可以计算出对应的查准率(m/n),然后对这M个查准率值取平均, 即得到最后的AP值。
3.2.2 实验结果 为了全面地对本文的人脸检测算法进行性能评估,对比了另外2组基于DARK FACE数据集的基准算法检测结果。
第1组检测结果是在CVPR 2019 UG2+比赛前,官方发布数据库的同时,一起发布的一个DARK FACE基准检测精度[9]。包括了4种人脸检测算法在DARK FACE上的检测精度: DSFD[5],PyramidBox[6],SSH[31],Faster R-CNN[3]。
分别用这4种算法在WIDER FACE上训练神经网络,然后对未经图像增强的原始图像镜像检测得到精度。
同时,DARK FACE发布的基准还使用了7种用于图像增强的算法: BIMEF[32],Dehazing[33],LIME[17],MF[34],MSRCR,JED[35],RetinexNet[36]。
分别使用这7种图像增强算法对数据集进行预处理,然后将DSFD和PyramidBox 2种人脸检测算法分别应用于处理后的数据,得到的结果如表 1和表 2所示。
表 1 DARK FACE数据集发布的检测精度(使用图像增强算法) Table 1 Detection accuracies published from DARK FACE dataset (with image enhancement)
检测算法 | 精度 |
DSFD+MF | 0.414 |
DSFD+MSRCR | 0.413 |
DSFD+LIME | 0.403 |
DSFD+BIMEF | 0.402 |
DSFD+Dehazing | 0.365 |
DSFD+RetinexNet | 0.332 |
DSFD+JED | 0.179 |
PyramidBox+MF | 0.263 |
PyramidBox+Dehazing | 0.249 |
PyramidBox+LIME | 0.248 |
PyramidBox+MSRCR | 0.246 |
PyramidBox+BIMEF | 0.245 |
PyramidBox+RetinexNet | 0.207 |
PyramidBox+JED | 0.146 |
表选项
表 2 DARK FACE数据集发布的检测精度(未使用图像增强算法) Table 2 Detection accuracies published from DARK FACE dataset (without image enhancement)
检测算法 | 精度 |
DSFD | 0.153 |
Faster R-CNN | 0.017 |
PyramidBox | 0.132 |
SSH | 0.076 |
表选项
第2组检测结果是在CVPR 2019 UG2+比赛后,官方公布的一组基准检测精度。其中包括了4种基准算法的检测精度和DSFD以及PyramidBox 2种算法在分别使用了7种图像增强算法后的检测精度[37],如表 3和表 4所示。
表 3 CVPR 2019 UG2+国际竞赛发布的基准检测精度(使用图像增强算法) Table 3 Benchmark accuracies published from CVPR 2019 UG2+ competition (with image enhancement)
检测算法 | 精度 |
DSFD+MF | 0.393 |
DSFD+MSRCR | 0.393 |
DSFD+BIMEF | 0.383 |
DSFD+LIME | 0.383 |
DSFD+Dehazing | 0.348 |
DSFD+RetinexNet | 0.316 |
DSFD+JED | 0.170 |
PyramidBox+MF | 0.251 |
PyramidBox+Dehazing | 0.237 |
PyramidBox+LIME | 0.237 |
PyramidBox+MSRCR | 0.235 |
PyramidBox+BIMEF | 0.234 |
PyramidBox+RetinexNet | 0.199 |
PyramidBox+JED | 0.138 |
表选项
表 4 CVPR 2019 UG2+国际竞赛发布的基准检测精度(未使用图像增强算法) Table 4 Benchmark accuracies published from CVPR 2019 UG2+ competition (without image enhancement)
检测算法 | 精度 |
DSFD | 0.136 |
Faster R-CNN | 0.125 |
PyramidBox | 0.069 |
SSH | 0.017 |
表选项
以上2组结果说明在大多数情况下,与未经图像增强算法的数据相比,使用了图像增强算法再训练得到的检测精度显著提高。比赛方总结指出与普通光照条件的数据集相比,检测器的整体性能仍然下降了很多,说明图像增强算法和人脸检测算法级联有很大的改善空间[34]。本文分析以上图像增强算法可以帮助神经网络应对低光照环境下亮度不足、前后景难以区分、神经网络难以提取特征的问题。但以上图像增强算法对于前后景的区分度帮助还不足,并且可能损失原始图像的部分信息,所以效果不如本文提出的使用显著性引导的检测方式。
表 5为不同模型在测试集上的相应检测精度,可以看到本文提出的显著性引导的人脸检测算法和目前其他人脸检测算法相比有更好的效果。其中DARK FACE原图融合显著图四通道训练的模型检测精度达到了0.560,图 11为该模型在测试集上检测得到的边框在原图上的可视化效果。
表 5 本文实验模型检测精度 Table 5 Detection accuracy of experimental models from this paper
训练方法 | 精度 |
DARK FACE数据集原图训练 | 0.504 |
MSRCR增强DARK FACE训练 | 0.522 |
显著性引导增强DARK FACE训练(r=0.1) | 0.540 |
显著性引导增强DARK FACE训练(r=0.2) | 0.533 |
DARK FACE原图融合显著图四通道训练 | 0.560 |
表选项
图 11 检测结果可视化 Fig. 11 Visualization of detection results |
图选项 |
4 结论 根据实验结果,对比不同方案在DARK FACE数据集上得到的检测精度可知:
1) 将原始图像乘上图像的显著图和亮度调节系数,对图像进行增强,再由RetinaNet训练的模型,比使用原始图像训练出的模型检测精度更高,也比使用MSRCR算法增强的图像训练出的模型检测精度更高。
2) 使用图像的显著图作为神经网络输入的第4个通道,与图像的RGB三通道融合一起训练,得到的模型比以上模型检测精度都更高。并且超过了目前DARK FACE官方发布的基准检测精度和CVPR 2019 UG2+比赛发布的基准检测精度。以上实验结果验证了图像的显著性特征对于神经网络检测低光照下的人脸能起到帮助作用。根据实验结果分析,低光照下的人脸检测主要挑战在于:由于亮度过低导致的前后景难以区分,进而影响神经网络提取和学习图像特征,通过图像显著性引导,给予图像前后景不同的权重,将显著性作为输入神经网络的特征可以帮助神经网络更好地检测人脸。另外本文采用了通用人脸数据集WIDER FACE做预训练,学习到的人脸特征对低光照人脸检测有帮助作用。
基于本文工作可继续深入的点包括:①尝试其他图像显著性检测算法,尤其是深度学习的图像检测性算法与人脸检测算法的结合;②将该方案扩展到通用目标检测领域,在通用目标检测上发挥图像显著性的作用。
参考文献
[1] | GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Reocgnition. Piscataway: IEEE Press, 2014: 580-587. |
[2] | GIRSHICK R. Fast RCNN[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway: IEEE Press, 2015: 10-15. |
[3] | REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1147. DOI:10.1109/TPAMI.2016.2577031 |
[4] | REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unifified, real-time object detection[C]. In Proceedings of the IEEE Computer Vision & Pattern Recognition. Piscataway: IEEE Press, 2016: 779-788. |
[5] | LI J, WANG Y, WANG C, et al. DSFD: Dual shot face detector[C]//Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Press, 2020: 5060-5069. |
[6] | TANG X, DU D K, HE Z Q, et al. PyramidBox: A context-assisted single shot face detector[EB/OL]. (2018-08-17)[2020-09-12]. https: arxiv.orglabs/1803.07737?context=cs. |
[7] | JAIN V, LEARNED-MILLER E G. FDDB: A benchmark for face detection in unconstrained settings[EB/OL]. [2020-09-12]. http://works.bepress.com/erik_learned_miller/55/. |
[8] | YANG S, LUO P, LOY C C, et al. WIDER FACE: A face detection benchmark[C]//Proceedings of the 2016 IEEE Conference on Computer Version and Pattern Recognition. Piscataway: IEEE Press, 2016: 5525-5533. |
[9] | YE Y, YANG W H, REN W Q, et al. UG2+ Track 2: A collective benchmark effort for evaluating and advancing[EB/OL]. [2020-03-31]. http://arxiv.org/abs/1904.04474v4. |
[10] | JOBSON D J, RAHMAN Z, WOODELL G. A multiscale retinex for bridging the gap between color images and the human observation of scenes[J]. IEEE Transactions on Image Processing, 1997, 6(7): 965-976. DOI:10.1109/83.597272 |
[11] | LIU W, ANGUELOV D, ERHAN D, et al. SSD: Single shot multibox detector[C]//European Conference on Computer Version. Berlin: Springer, 2016: 21-37. |
[12] | LI Z H, TANG X, HAN J Y, et al. PyramidBox++: High performance detector for finding tiny face[EB/OL]. [2020-09-12]. https://arxiv.org/abs/1904.00386. |
[13] | LIU S, HUANG D, WANG Y H. Receptive field block net for accurate and fast object detection[C]//European Conference on Computer Vision. Berlin: Springer, 2018: 404-419. |
[14] | LAND E H. The Retinex theory of color vision[J]. Scientific American, 1977, 237(6): 108. DOI:10.1038/scientificamerican1277-108 |
[15] | JOBSON D J, RAHMAN Z, WOODELL G A. Properties and performance of a center/surround Retinex[J]. IEEE Transactions on Image Processing, 1997, 6(3): 451-462. DOI:10.1109/83.557356 |
[16] | RAHMAN Z U, JOBSON D J, WOODELL G A. Multi-scale Retinex for color image enhancement[C]//Proceedings of 3rd International Conference on Image Processing. Piscataway: IEEE Press, 1996: 1003-1006. |
[17] | GUO X J, LI Y, LING H B. LIME: Low-light image enhancement via illumination map estimation[J]. IEEE Transactions on Image Processing, 2017, 26(2): 982-993. DOI:10.1109/TIP.2016.2639450 |
[18] | YUN Z, MUBARAK S. Visual attention detection in video sequences using spatiotemporal cues[C]//Proceedings of the 14th ACM International Conference on Multimedia. New York: ACM Press, 2006: 815-824. |
[19] | CHENG M M, ZHANG G X, MITRA N J. Global contrast based salient region detection[C]//Proceedings of the 2011 IEEE Conference on omputer Vision and Pattern Recognition. Piscataway: IEEE Press, 2011: 569-582. |
[20] | ACHANTA R, ESTRADA F, WILS P, et al. Salient region detection and segmentation[C]//Proceedings of the 6th International Conference on Computer Version Systems. Berlin: Springer, 2008. |
[21] | 张冬明, 靳国庆, 代锋, 等. 基于深度融合的显著性目标检测算法[J]. 计算机学报, 2019, 42(9): 2076-2086. ZHANG D M, JIN G Q, DAI F, et al. Salient object detection based on deep fusion of hand-crafted features[J]. Chinese Journal of Computers, 2019, 42(9): 2076-2086. (in Chinese) |
[22] | JIAN M W, LAM K M, DONG J Y, et al. Visual-patch-attention-aware saliency detection[J]. IEEE Transactions on Cybernetics, 2015, 45(8): 1575-1586. DOI:10.1109/TCYB.2014.2356200 |
[23] | TSUNG-YI L, PRIYA G, ROSS B G, et al. Focal loss for dense object detection[C]//Proceedings of the 2017 IEEE International Conference on Computer Version. Piscataway: IEEE Press, 2017: 2999-3007. |
[24] | HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//Proceedings of the 2016 IEEE Conference on Computer Version and Pattern Recognition. Piscataway: IEEE Press, 2016: 770-778. |
[25] | LIN T Y, DOLLA P, CIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of the 2017 IEEE Conference on Computer Version and Pattern Recognition. Piscataway: IEEE Press, 2017: 936-944. |
[26] | LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: Common objects in context[C]//European Conference on Computer Version. Berlin: Springer, 2014: 740-755. |
[27] | REDMON J, FARHADI A. YOLO9000: Better, faster, stronger[C]//Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE Press, 2017: 6517-6525. |
[28] | FU C Y, LIU W A, RANGA A. et al. DSSD: Deconvolutional single shot detector[EB/OL]. [2019-09-12]. http://arxiv.org/abs/170.06659. |
[29] | FAEN Z, FAN X Y, AI G, et al. Accurate face detection for high performance[EB/OL]. (2019-05-24)[2020-09-12]. http://arxiv.org/abs/1905.01585. |
[30] | HOU X D, HAREL J, KOCH C. Image signature: Highlighting sparse salient regions[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(1): 194-201. DOI:10.1109/TPAMI.2011.146 |
[31] | NAJIBI M, SAMANGOUEI P, CHELLAPPA R, et al. SSH: Single stage headless face detector[C]//Proceedings of the 2017 IEEE International Conference on Computer Vision. Piscataway: IEEE Press, 2017: 4875-4884. |
[32] | YING Z Q, LI G, GAO W. A bio-inspired multi-exposure fusion framework for low-light image enhancement[EB/OL]. [2020-09-12]. https://arxiv.org/abs/1711.00591. |
[33] | DONG X, WANG G, PANG Y, et al. Fast efficient algorithm for enhancement of low lighting video[C]//Proceedings of the 2011 IEEE International Conference on Multimedia and Expo. Piscataway: IEEE Press, 2011: 1-6. |
[34] | FU X Y, ZENG D, HUANG Y H, et al. A fusion-based enhancing method for weakly illuminated images[J]. Signal Processing, 2016, 129: 82-96. DOI:10.1016/j.sigpro.2016.05.031 |
[35] | REN X D, LI M D, CHENG W H, et al. Joint enhancement and denoising method via sequential decomposition[C]//2018 IEEE International Symposium on Circuits and Systems (ISCAS). Piscataway: IEEE Press, 2018: 1-5. |
[36] | WEI C, WANG W, YANG W, et al. Deep Retinex decomposition for low-light enhancement[C]//Proceedings of British Machine Vision Conference, 2018: 155. |
[37] | YANG W H, YUAN Y, REN W Q, et al. Advancing image understanding in poor visibility environments: A collective benchmark study[J]. IEEE Transanctions on Processing, 2020, 29: 5737-5752. |