基于掩膜生成网络的遮挡人脸检测方法

2021-11-18 02:19连泽宇田景文
计算机工程 2021年11期
关键词:掩膜字典人脸

连泽宇,田景文

(1.北京联合大学 智慧城市学院,北京 100101;2.北京联合大学 工科综合实验教学示范中心,北京 100101)

0 概述

人脸检测作为计算机视觉领域的研究热点,是人脸检索[1]、人脸配准[2]、人机交互[3]、人脸超分辨率重建[4]等人脸分析任务的基础。近年来,卷积神经网 络(Convolutional Neural Network,CNN)[5-7]在 无约束人脸检测领域取得了较大成果,国内外众多学者也相继提出很多优秀的网络结构[8-9]和损失函数[10-11]。例如,文献[12]提出一种正交嵌入式CNN网络,增强了对年龄不变的深度人脸的特征学习,文献[13]提出一种大裕度余弦损失函数,提升了传统CNN 网络softmax 层的判别能力。上述方法进一步提高了CNN 的人脸检测性能,其中部分方法甚至在一些特定的数据集上超越了人类的识别能力。

虽然基于CNN 的人脸检测方法取得了巨大成功,但是深度特征在光照、姿势、表情、遮挡等因素影响下不具备特征不变性,尤其对于复杂遮挡条件下的人脸检测,基于CNN 的检测方法难以取得令人满意的结果。在现实场景中,人脸图像通常会具有多种类型的面部遮挡,包括墨镜、口罩、围巾、水杯等,受遮挡因素的影响,人脸面部特征存在较大程度的损坏,并且随着遮挡程度的提高,人脸检测的难度上升,这使得较先进的人脸检测方法[14-15]也难以精确确定遮挡人脸位置。

在深度CNN 出现之前,部分遮挡下的人脸检测方法主要分为两类:第一类方法通常将人脸图像划分为多个局部区域,通过训练分类器识别被遮挡区域,在特征提取时仅从非遮挡区域内提取局部特征描述符[16-17],但是这类方法受限于浅层特征的表现能力,检测性能较弱;第二类方法致力于恢复遮挡区域的面部特征,其中,最具代表性的是稀疏表示分类(Sparse Representation Classification,SRC)方 法[18],该方法利用训练图像的线性组合和遮挡的稀疏约束来恢复无遮挡人脸,虽然其提高了检测精度,但是扩展性不足,并且要求测试数据与训练数据具有高度一致性。

近年来,深度CNN 在遮挡人脸检测中占据了主导地位。文献[19]采用主动学习策略合成遮挡人脸以扩充训练数据,其检测性能较高,但是该方法不能从本质上解决人脸检测问题,因为扩充训练数据只能保证更加均衡地提取局部特征。文献[20]利用LSTM 自动编码器恢复人脸被遮挡区域,并对恢复后的人脸图像进行检测,该方法在一定程度上降低了遮挡的影响,但是在开放场景下难以保证恢复区域与未遮挡区域的属性匹配。文献[21]通过在CNN 的中间层添加MaskNet 分支,在特征激活时为遮挡区域分配较低的权重,从而减小了遮挡对检测的干扰,但是,由于MaskNet 分支缺乏额外的监督信息,导致其对中间转换层的区分性不足。综上,基于浅层特征的遮挡人脸检测方法识别能力有限,而基于深度学习的方法又忽略了不同遮挡条件下2 幅人脸特征的不一致性,未充分考虑遮挡的影响。

受人类视觉系统会主动忽略人脸遮挡区域这一现象的启发,本文在CNN 人脸相似度计算模型的基础上,针对复杂遮挡条件下的人脸检测问题,设计一种掩膜生成网络(Mask Generation Network,MGN),用于在深度CNN 模型中建立人脸遮挡区域与遮挡特征元素之间的对应关系。基于该掩膜生成网络,提出一种遮挡不变的人脸检测方法,该方法屏蔽由局部遮挡引起的人脸特征元素损坏,从而提高对遮挡人脸的检测精度。

1 CNN 人脸相似度计算模型

目前,无遮挡条件下的人脸检测已经取得了较高的检测精度,但是遮挡条件下的人脸检测问题仍然难以解决。对于2 幅相同的人脸图像,如果在1 幅人脸图像中加入局部遮挡,那么这2 幅图像上的人脸会呈现出不同的表观特征。如何在遮挡情况下准确计算2 个人脸的相似度是一个难题。传统人工设计的特征(如SIFT[22]、ORB[23]、GMS[24]等)都难以捕获同一个人脸因遮挡导致的不同表观特征。考虑到CNN 具有较强的特征表现能力,可将其引入无遮挡人脸和遮挡人脸的相似度计算中,从2 幅人脸图像中直接学习一个相似性函数,隐含式地去除遮挡对人脸图像的影响,从而得到有助于计算人脸相似度的特征。

CNN 人脸相似度计算模型如图1 所示,该模型的输入是2 幅人脸图像,输出是2 幅人脸图像的匹配相似度。首先,让无遮挡人脸图像和遮挡人脸图像经过2 个共享权值的CNN,提取特征向量,然后在决策层中为2 个特征向量设计1 个相似度损失函数以训练网络:

图1 CNN 人脸相似度计算模型结构Fig.1 CNN face similarity calculation model structure

其中:X1表示无遮挡人脸图像;X2表示遮挡人脸图像;Gw表示网络映射函数。由于2 个CNN 分支共享网络结构和权重,因此把X1和X2作为参数自变量,可得到用于评价X1和X2是否相似的特征向量Gw(X1)和Gw(X2)。

2 遮挡人脸检测方法

2.1 总体框架

本文基于掩膜生成网络的遮挡人脸检测方法可分为3 个阶段:第一阶段,预处理人脸训练集,将每个训练人脸划分为25 个子区域,并为每个子区域分别添加遮挡;第二阶段,将一系列添加遮挡的人脸图像和原始人脸图像作为图像对依次输入掩膜生成网络进行训练,以生成对应各个遮挡子区域的遮挡掩膜字典;第三阶段,通过组合相关字典项生成与检测人脸遮挡区域相对应的组合特征掩膜,并将该组合特征掩膜与检测人脸深层特征图相点乘,以消除随机遮挡对人脸检测的影响。

2.2 掩膜生成网络

本文提出的掩膜生成网络如图2 所示(彩色效果见《计算机工程》官网HTML 版)。对于WIDER FACE[25]训练集中的1 幅人脸图像,首先将人脸真实标注框扩大到整个人脸区域,接着裁剪该区域图像输入渐进式校准网络(Progressive Calibration Network,PCN)[26]进行人脸检测,将检测到的人脸旋转为正面脸,即调整后的人脸平面旋转(Rotation-in-Plane,RIP)角为0°,随后将检测人脸的尺寸调整为80×80×3,得到不含遮挡的人脸图像Ii。由于WIDER FACE数据集中的大部分人脸图像并不具有面部遮挡,因此在训练遮挡掩膜时需要人工添加部分遮挡。将检测人脸Ii分为25 块,在其中第j块加入人工遮挡mj,得到含有局部遮挡的人脸图像。需要注意的是,人工添加遮挡均选自于现实生活中的遮挡元素,比如眼部区域遮挡选择眼镜、墨镜、帽子的一部分,脸部区域遮挡选择口罩、围巾、水杯的一部分。

图2 掩膜生成网络结构Fig.2 Mask generation network structure

将不含遮挡的人脸图像Ii和含有局部遮挡的人脸图像分别输入掩膜生成网络进行特征提取。图2 中的蓝色部分是掩膜生成网络的特征提取层,上下2 个部分共享权值,每一部分由4 个卷积层级联组成,第1 个和第4 个卷积层采用256 个3×3 卷积核进行边缘补0 的卷积,第2 个和第3 个卷积层使用512 个3×3 卷积核进行边缘补0 的卷积,在每个卷积层后都进行2×2 的最大池化。在经过特征提取后,得到Ii的高层特征图f(Ii)和的高层特征图f()。本文遮挡掩膜旨在高层特征图上屏蔽由局部遮挡引起的人脸特征损坏,通过点乘置0 在各个通道消除损坏的特征元素,通过点乘置1 在各个通道保持未被遮挡的人脸特征。由于f(Ii)和f()的尺寸均为10×10×256,因为遮挡掩膜的尺寸也应设计为10×10×256。不含局部遮挡的高层特征图f(Ii)和包含局部遮挡的高层特征图f()分别与遮挡掩膜点乘后,它们的剩余部分应尽可能相同。因此,本文提出一种人脸对比损失,该损失最小化被遮挡人脸和无遮挡人脸在遮挡部分的特征差异:

其中:||·||F表 示Frobenius 范数。显然,该损失函 数会惩罚被遮挡人脸中与无遮挡人脸有较大差异的特征元素,即惩罚遮挡部分的特征元素。

通常情况下,人脸遮挡部分对应的特征元素对人脸检测的贡献很小,甚至会导致更高的分类损失。因此,可以利用身份信息作为人脸检测的监督信息,即被遮挡人脸的高层特征图f()与遮挡掩膜点乘后,因遮挡造成的特征偏差会被消除掉,剩余部分应能被CNN 网络正确分类。因此,定义该过程的人脸分类损失如下:

其中:F表示分类分支的卷积层和全连接层;di表示身份信息。

综上,遮挡掩膜将识别那些由局部遮挡引起的人脸特征损坏,可通过融合人脸对比损失ldiv和人脸分类损失lcls来学习遮挡掩膜:

其中:λ是平衡人脸对比损失ldiv和人脸分类损失lcls的权重系数。

此外,为了提高遮挡掩膜的适应性,在生成固定位置遮挡对应的特征掩膜时,本文还增加不同的遮挡类型。例如,对于图2 中的mj块,在训练时还会使用口罩、围巾、水杯等不同类型的遮挡,并且每一类型遮挡具有不同的属性,包括材质、图案、颜色等。

2.3 遮挡掩膜字典生成

由2.2 节可知,在训练遮挡掩膜时,输入是不含遮挡的人脸图像Ii和包含局部遮挡mj的人脸图像。但是,在测试时并不存在这样的图像对,因此,需要从每个遮挡位置训练的一系列遮挡掩膜中提取一个固定模板,以构建遮挡掩膜字典。

在训练第j块遮挡位置对应的遮挡掩膜时,首先为掩膜生成网络提供大量的人脸图像对,这些图像对中的局部遮挡均在同一位置,并且包含多种类型和属性。本文为每个遮挡位置提供N(N=100 000)对人脸图像,在训练后可以得到同一遮挡位置的N个遮挡掩膜(i=1,2,…,N),接着计算该位置所有遮挡掩膜的平均值,得到平均遮挡掩膜Mˉj:

然后通过计算和每一个的绝对误差和(Sum of Absolute Differences,SAD),剔除误差大于一定阈值的遮挡掩膜,得到第j块遮挡位置对应的遮挡掩膜集合

通过上述方式,为每个遮挡位置都构造一个遮挡掩膜集合,组合25 个遮挡掩膜集合就构成了遮挡掩膜字典。集合中的每一项都是一个三维的二值遮罩,用以指示检测人脸中某块被遮挡时剔除特征元素的位置。

2.4 基于掩膜生成网络的遮挡人脸检测

在测试阶段,首先利用PCN 粗略检测人脸位置,并将检测人脸旋转为正面脸,接着将正面脸输入FCN-8s 分割网络[27]进行人脸遮挡区域检测,然后利用遮挡掩膜字典,通过组合相关字典项生成检测人脸遮挡区域对应的组合特征掩膜。这里相关字典项是指如果检测人脸遮挡区域与字典中预定义人脸局部遮挡的IoU ≥0.5,则将预定义局部遮挡作为检测人脸遮挡区域的子部分。通过组合多个局部遮挡对应的特征掩膜,得到检测人脸遮挡区域对应的组合特征掩膜Mall。另外,为了提高对多种遮挡类型和属性的适应性,并且防止出现过拟合情况,在生成第j块遮挡位置对应的特征掩膜时,从第j块遮挡位置对应的遮挡掩膜集合Mset(j)中,随机选择2 个特征掩膜进行求和取平均并二值化处理后,得到第j块遮挡位置对应的特征掩膜。

基于掩膜生成网络的遮挡人脸检测模型结构如图3 所示。FCN-8s 分割网络检测出的人脸遮挡区域与字典中预定义的第16~第20 块、第22~第24 块的人脸局部遮挡的IoU 均大于0.5,因此,通过组合这些局部遮挡对应的特征掩膜,得到组合特征掩膜Mall,图中“&”表示以逐元素方式进行的特征掩膜逻辑与操作;接着,将检测人脸的高层特征图f_4 与组合特征掩膜Mall进行点乘,消除由局部遮挡引起的人脸特征元素损坏;然后,将修正后的特征图输入由2 个卷积层和1 个全连接层组成的人脸回归网络,细调人脸检测边界框位置,最终输出人脸检测结果。

图3 基于掩膜生成网络的遮挡人脸检测模型结构Fig.3 Occluded face detection model structure based on mask generation network

3 实验与结果分析

为验证本文方法的精确性和有效性,选择WIDER FACE 人脸数据集[25]、AR 人脸数据集[28]和MAFA 遮挡人脸数据集[29]进行实验。实验中选择MaskNet[21]、RPSM[19]、NMR[20]、PyramidBox[14]作 为对比方法。在训练时,首先利用PCN 网络对WIDER FACE 训练集进行初始化,然后将初始化后的图像和人工添加遮挡的图像一起输入掩膜生成网络进行遮挡掩膜训练。在测试时,首先利用PCN 和FCN-8s 网络粗略对齐并检测人脸遮挡区域,接着利用遮挡掩膜字典,通过组合相关字典项生成人脸遮挡区域对应的组合特征掩膜,然后将检测人脸的高层特征图与组合特征掩膜点乘后输入人脸回归网络,最后输出精确调整后的人脸检测结果。

3.1 AR 数据集测试结果分析

AR 人脸数据集包含4 000 多幅具有不同面部表情、照明条件和面部遮挡的彩色图像,分别来自126 个受试者,其中,男性70 名,女性56 名。这些图像来自于相隔14 天的2 次会议,在采集时没有限制受试者的穿着、妆容和发型,并且每个受试者在2 次会议中都拍摄了相同的图像。本文在AR 人脸数据集中选择具有墨镜遮挡和围巾遮挡的图像作为测试图像,实验结果如表1 所示。

表1 AR 数据集中的人脸检测准确率对比Table 1 Comparison of face detection accuracy in AR dataset

从表1 可以看出:本文方法在保持低时间损耗的同时提高了对墨镜遮挡和围巾遮挡下人脸检测的准确率;与其他4 种方法相比,本文方法检测精度较高,说明通过屏蔽由局部遮挡引起的人脸特征元素损坏可以有效提高遮挡人脸检测精度。

3.2 MAFA 数据集测试结果分析

MAFA 遮挡人脸数据集在30 811 幅图像中标记了35 806 个遮挡人脸,每个被标记的人脸具有6 种属性,分别是人脸位置、眼睛位置、遮挡位置、人脸方向、遮挡级别、遮挡类型。该数据集的训练集包含29 452 个遮挡人脸,测试集包含6 354 个遮挡人脸。各方法在MAFA 测试集上的平均精度对比如表2 所示,部分检测结果如图4 所示。

表2 MAFA 数据集中的人脸检测平均精度对比Table 2 Comparison of average precision of face detection in MAFA dataset %

图4 MAFA 测试集中的部分检测结果Fig.4 Partial detection results in MAFA test set

在表2 中,本文进行了多种类型的遮挡人脸测试:第1 类测试包含多个人脸偏转角度,当人脸面向正前方时,所有检测方法的平均精度均达到各自的最大值,但是随着人脸偏转角度的增加,检测难度不断提高,所有方法的平均精度均明显下降;第2 类测试包含由低到高的遮挡级别,随着遮挡程度的提高,各人脸检测方法的检测精度迅速下降;第3 类测试包含多种遮罩类型,有简单遮罩、复杂遮罩、人体遮罩、混合遮罩,遮罩越趋于复杂,遮挡人脸检测的精度越低。由表2 可以看出,本文方法在3 个大类、12 个小类的测试中平均精度均高于其他对比方法,整体平均精度达到80.1%,高出第2 名(NMR)6.7 个百分点,并且检测速度也仅慢于NMR 方法,说明本文方法可以实现精度更高、速度更快的遮挡人脸检测。

从图4 可以看出:4 种对比方法均依赖于从人脸遮挡区域内直接提取面部特征,当人脸遮挡程度较高时,提取的面部特征包含了很多因遮挡而损坏的特征元素,这会降低人脸检测精度,甚至当遮挡严重时不能检测出人脸;而本文方法通过组合遮挡掩膜字典中的相关字典项生成人脸遮挡区域对应的组合特征掩膜,并将该组合特征掩膜与检测人脸深层特征图相点乘,以消除由随机遮挡引起的人脸特征元素损坏,从而有效提高遮挡人脸检测精度。

4 结束语

本文提出一种基于掩膜生成网络的遮挡人脸检测方法。该方法在训练时将一系列添加遮挡的人脸图像和原始人脸图像作为图像对依次输入掩膜生成网络进行训练,以生成对应各个遮挡子区域的遮挡掩膜字典。在测试时,通过组合相关字典项生成与检测人脸遮挡区域相对应的组合特征掩膜,并将该组合特征掩膜与检测人脸深层特征图相点乘,以屏蔽由局部遮挡引起的人脸特征元素损坏,进而提高遮挡人脸检测精度。在AR 和MAFA 数据集上的实验结果表明,本文方法实现了比MaskNet、RPSM 等遮挡人脸检测方法更高的检测精度。下一步考虑将本文方法扩展为三维遮挡人脸检测方法,以解决深度图像遮挡人脸检测问题。

猜你喜欢
掩膜字典人脸
利用掩膜和单应矩阵提高LK光流追踪效果
有特点的人脸
一起学画人脸
宽周期掩膜法HVPE侧向外延自支撑GaN的研究
字典的由来
三国漫——人脸解锁
大头熊的字典
光纤激光掩膜微细电解复合加工装置研发
正版字典
长得象人脸的十种动物