管纾玥,狄 岚,梁久祯
1(江南大学 人工智能与计算机学院,江苏 无锡 214122) 2(常州大学 计算机与人工智能学院,江苏 常州 213164)
人脸特征点定位,又称人脸关键点检测或人脸对齐,是指在人脸图像上找出眼睛、鼻子、嘴巴等特征点的坐标.它是人脸识别、人脸重建、头部姿态估计等计算机视觉任务的重要环节.虽然深度学习技术极大提高了人脸特征点定位的准确性,但在实际应用中姿态、表情、光照、遮挡、模糊等因素仍使得人脸特征点定位面临巨大挑战.由于新冠疫情的发展,遮挡人脸在实际生活中变得越来越普遍,研究遮挡人脸的特征点定位变得更加迫切.
针对人脸特征点定位的遮挡问题,目前已取得了不少的进展.2013年Burgos-Artizzu等人[1]提出RCPR(Robust Cascaded Pose Regression)依赖有遮挡标签的训练集,将人脸分成不同的块,利用遮挡先验预测对应特征点的遮挡概率.在此基础上,2021年Tong等人[2]提出TSCPR(Two-Stage Cascaded Pose Regression)算法,使用原始图像和镜像图像的定位差异来预测特征点是否遮挡.2019年Zhu等人[3]提出ODN(Occlusion-adaptive Deep Networks)算法,使用蒸馏模块生成遮挡概率图作为权重减少遮挡影响,获得干净的人脸特征表示,使用几何感知模块挖掘人脸几何特征辅助低秩模块更好恢复丢失特征.2020年,Wan等人[4]提出CRD(Cascaded Regression and Deocclusion)算法,使用编解码器检测遮挡并逐步恢复遮挡部分图像.同年Kumar等人[5]则在Stracked Dense U-Net[6]的基础上提出了LUVLi损失来评估特征点的位置可信度和可见度.
现有的人脸遮挡定位算法,或依赖大量的遮挡标注区分遮挡点与非遮挡点,或需添加额外模块进行遮挡特征提取或祛除,进而减轻特征点定位过程中遮挡带来的影响.除COFW外,300W、WFLW等人脸特征点定位数据集均未提供特征点的遮挡标签.为特征点定位模块添加遮挡辅助模块则会增加模型的计算成本,辅助模块与整个定位算法高度耦合,移植性较差.
损失函数是深度模型的重要组成部分,热图回归模型通常选用L2损失(也称MSE损失).L2损失使得在训练过程中人脸图像上所有像素具有相同的损失和权重,忽视了遮挡等因素的影响,最终产生较大的定位误差.
对人脸图像进行随机矩形擦除能够模拟遮挡,在一定程度上提升模型的鲁棒性.2018年Dong 等人[7]提出SAN(Style Aggregated Network)算法,将一张人脸图像经由GAN网络生成多张不同风格的图像,有效提升了过亮过暗的人脸图像上特征点定位结果.2021年Yan等人[8]采用在图像上随机位置生成随机大小的椭圆的方式解决遮挡问题.但遮挡是不规则的、随机的和复杂的,人脸的任何部分都可能被任意对象遮挡,上述方法不能有效模拟现实中的遮挡.
特征点定位模型一般仅输入3通道的人脸图像.2018年Wu等人[9]提出LAB(Look At Boundary)算法,使用边界生成器生成边界图,将边界热图与原图融合后输入特征点定位模块,增强特征点之间的几何联系,获得更好的定位效果.2019年Wang等人[10]提出AWing(Adaptive Wing loss)算法输出额外通道预测特征点的边界图.2021年Park H等人[11]所提的ACN(Attentional Combination of heterogeneous regression Networks)算法使用特征金字塔生成注意力掩码,消除遮挡造成的特征中断.以上算法证明了,边热图、掩码图有助于模型更好的提取特征.
以HRNet[12]为基础,本文提出了一种遮挡自适应权重的人脸特征点定位算法occHRNet(occlusion_High-Resolution Network),减轻遮挡对人脸定位的影响,主要贡献包括以下3个方面:
1)设计了一种遮挡自适应权重的损失函数.添加遮挡预测辅助模块,利用主干网络的特征提取结果预测特征点的遮挡度,对遮挡度进行线性变换作为特征点定位的损失权重,减轻遮挡点的影响.
2)提出了一种遮挡人脸生成及标注算法,来解决人脸特征点遮挡标签不足的问题.充分考虑遮挡的复杂性,生成随机大小、形状、纹理、透明度的遮挡物进行人脸遮挡;使用GAN网络生成诸如胡子、眼镜等具有实际意义的不规则遮挡;并对遮挡图进行特征点批量遮挡标注.
3)提出了一种复合特征图生成及融合方案.根据人脸特征点的预测坐标,生成人脸的点特征图、边特征图、区域特征图以及裁剪图,将特征图与原图相融合,从点线面三层次帮助网络更好的提取人脸特征.
本算法在COFW、300W数据集上进行了测试,遮挡人脸特征点定位的精度取得了有效的提升,同时无遮挡人脸的定位效果仍能与HRNet相持平.
人脸特征点定位算法可以分为基于传统的定位算法和基于深度的定位算法.
传统的人脸特征点定位算法包括主动形状模型(Active Shape Model,ASM)[13]和主动表观模型(Active Appearance Model,AAM)[14],主要通过调整模型的参数来不断优化误差函数,进而进行形状估计,但对遮挡人脸往往定位效果不佳.
关于基于深度学习的人脸特征点定位一般分为两种:1) 坐标回归模型(Coordinate-Based Regression,CBR);2) 热图回归模型(Heatmap-Based Regression,HBR).坐标回归模型,是直接输出N维向量作为特征点对应的预测坐标,而热图回归模型则是输出N通道的热图,再将热图按公式(1)映射出特征点的坐标.一般来说热图回归模型的效果优于坐标回归模型.
p(x,y)=arg maxx,yh(x,y)
(1)
其中,h(x,y)为特征点所对应的热图,p(x,y)为特征点所对应的坐标.
热图回归模型最为常用的骨干网络为沙漏网络模型(Hourglass Net)[15]、U-Net.沙漏网络、U-Net网络采用对称的网络架构,前半部分进行下采样,后半部分进行上采样,实现从低分辨率到高分辨率的恢复,但在下采样的过程中往往会损失原始尺度的信息.HRNet始终保持高分辨率,并行连接从高分辨率到低分辨率的多个分辨率的卷积结果,且在并行卷积的过程中多次进行多尺度融合.HRNet共4个阶段;第一阶段为一个单独的分支,其通道为18,分辨率为64×64;其余阶段保留上一阶段已有分支,并添加一个分辨率为上一阶段最低分辨率一半的新分支;第4阶段共4个分支,每个分支生成的特征的通道与分辨率分别为18×64×64、36×32×32、72×16×16、144×8×8;最后对不同分辨率的特征经过上采样输入热图生成模块,生成分辨率为64×64的热图.HRNet在下采样提取特征的同时保留高分辨表征,即避免了高分辨率特征的损失.与沙漏网络、U-Net网络相比,HRNet在人脸回归任务中取得了更好的定位效果,且HRNet输出多种分辨率特征,下采样融合后可以更好的预测特征点遮挡度,故本文选择HRNet作为本算法的骨干网络.
损失函数是深度回归模型的重要组成部分.特征点定位模型常用的损失函数是L2损失,计算过程为:
(2)
2019年Guo等人[16]使用辅助网络预测人脸的偏转角度,将姿态几何信息集成到损失函数中,减轻姿态对特征点定位的影响.2022年Pourramezan等人[17]提出ARC损失(adaptive coordinate-based regression loss)以人脸图像中特征点位置到该点在平均脸位置的距离为该点定位的难度,根据特征点的难度水平自适应地修改损失函数权重,提高特征点定位的准确性.上述损失函数提升了模型的预测效果,但并未将遮挡与损失函数相关联.
为了解决遮挡带来的人脸特征点定位不准确问题,本文提出了一种基于自适应遮挡权重的人脸特征点回归算法occHRNet,occHRNet的框架如图1所示.
图1 occHRNet框架图Fig.1 occHRNet framework
从图1(a)自适应遮挡区域可以看到,本算法添加了一个遮挡预测的辅助模块.将预测的遮挡度经由线性变换后作为热图回归任务的自适应权重,设计了遮挡自适权重损失函数.如图1(b)数据集扩增区域所示,生成具有不同形状、大小、纹理和透明度的遮挡人脸并标注特征点的遮挡度,丰富数据集的遮挡信息.在图1(c)特征生成及融合区域所示,生成人脸点特征图、边特征图、区域特征图以及裁剪图的复合特征图,并于与原图融合后输入主干网络.
假设数据集一共包含N个样本,采用M点标注法,则图像Ia上对应特征点坐标标签Pa为:
Pa=[(xa0,ya0),(xa1,ya1),…,(xa(m-1),ya(m-1))]
(3)
(4)
特征点遮挡标签Oa为:
Oa=[oa0,oa1,…,oa(m-1)]
(5)
(6)
热图回归网络常用的L2损失使得所有的像素具有相同的权重和梯度,未考虑遮挡对于特征点定位的影响.
特征点的遮挡概率Oa与权重wa之间存在线性关系:
(7)
其中,θ为一个偏置量,本文中定为0.5.
遮挡自适应权重损失函数:
(8)
简记为:
Locc=wa×L2
(9)
(10)
遮挡自适应权重损失函数则为:
(11)
简记为:
(12)
如公式(13)所示使用任务权重γ调整特征点定位任务和遮挡预测任务间平衡问题.
(13)
简记为:
(14)
在常用人脸特征点定位数据集300W中缺少特征点的遮挡标签,而COFW数据集仅提供了1345张训练图像,图像数量偏少.经由统计COFW训练集中遮挡图像约占40%,而测试集则达到90%;训练集遮挡点占10%的,测试集中占20%.对训练集进行遮挡生成,来解决COFW中遮挡点与未遮挡点数据分布不均,遮挡预测误差较大的问题.数据擦除仅生成随机大小的灰色矩形块来模拟遮挡对原图像数据的影响,忽略了遮挡的复杂性.实际应用中,遮挡的形状、大小、颜色、纹理、透明度等属性均无法确定.
针对遮挡点不足、遮挡具有复杂性和不确定性的问题,本文提出一中遮挡生成及标注算法,将遮挡的形状、大小、颜色、纹理、透明度纳入考量,保留原数据集的同时,对原数据集进行遮挡生成,根据遮挡区域及其透明度标注特征点的遮挡度.根据遮挡生成的流程细节,将遮挡生成分为随机几何遮挡生成、随机实物遮挡生成和语义遮挡生成,具体流程如图2所示.
3.2.1 随机遮挡生成
随机几何遮挡算法如图2(a)所示.
第1步.随机生成形状掩码m,其中白色部分像素值为1,黑色部分为0,可生成矩形、圆形和多边形.使用python的opencv库绘制矩形、圆形.对于n多边形生成本算法提供两种绘制方案.方案1,随机生成中心点(x,y).对第i个点pi生成半径ri、角度θi,经公式(15)得到边界点pi(xi,yi).方案2,随机生成i个点,调用opencv库的内置多边形绘制函数进行多边形绘制.
(15)
第2步.遮挡元素图If机形变.对掩码m进行轮廓提取,计算轮廓最小外接矩形Rm的长wr、宽hr和最小坐标点pr(xmin,ymin).当遮挡元素图If的长wf>wr或宽hf>hr时,对If进行长宽等比例放大.在遮挡元素图上裁取Rm大小的遮挡内容If-r.I′f与掩码m大小一致,I′f从(xmin,ymin)到(xmin+wr,ymin+hr)为If-r,其余部分像素值为0.
(16)
(17)
(18)
现实中遮挡往往不是简单的几何图形,而是形状不规则纹理各异的实物.语义分割数据集提供了实物掩码,即图2中元素标签图Il.随机实物遮挡算法如图2(b)所示,与随机几何遮挡算法类似.
3.2.2 GAN网络遮挡生成
遮挡具有不可预测性,常见遮挡除了外物遮挡,还有与人脸部位紧密贴合的遮挡类型,如妆容、胡子等.这类遮挡使用传统的图像融合技术不能得到很好的生成图像,在此使用GAN生成妆容、胡子、眼镜等遮挡.如图2(c)所示,人脸特征生成的GAN网络仅对人脸区域进行特征生成,为了得到更好的遮挡图对人脸进行裁剪后输入GAN网络生成器进行遮挡特征生成.
使用BeautyGAN[18]生成妆容遮挡图.StarGAN[19]在Celeba人脸多特征标注数据集提取多种遮挡特征——妆容、胡子、模糊、眼镜,并生成相关特性的遮挡图.其中妆容遮挡仅改变人脸的妆容风格,不改变图像中特征点的遮挡性;胡子遮挡使得嘴部特征点被遮挡;眼镜使得双眼的特征点被遮挡;模糊使得全部特征点均被遮挡.
3.2.3 遮挡标签
COFW数据集标注特征点位置信息的同时标注了每个特征点的遮挡情况,1表示遮挡,0未遮挡.使用公式(19)进行遮挡图像遮挡标注.
(19)
其中,oo为原始图像上特征点的初始遮挡度,oadd为遮挡生成算法对特征点新增的遮挡度,o′为最终特征点所对应的遮挡度.
参考COFW数据集,oadd进行01标注,对遮挡点标注1,未遮挡点标注0.对于随机几何遮挡和随机实物遮挡,对特征点p(x,y)检测掩码m在(x,y)处的值m(x,y)是否为0.若m(x,y)为0,则该点未遮挡,其标签为0;否则其标签为1.GAN遮挡根据遮挡类型进行遮挡标注,眼镜遮挡将眼睛特征点全部标注为1,其余特征点标签为0;胡子遮挡将嘴巴特征点全部标注为1,其余特征点标签为0;妆容遮挡和模糊遮挡所有点均为0.
随机遮挡中遮挡物具有不同的透明度,对特征点使用01标注忽视了遮挡物的透明度,将遮挡物的透明度af作为遮挡度对oadd进行软标注.对于随机几何遮挡和随机实物遮挡,对特征点p(x,y)检测掩码m在(x,y)处的值m(x,y)是否为0.若m(x,y)为0,则该点未遮挡,其标签为0;否则其标签为遮挡物的透明度af.GAN遮挡根据遮挡类型进行遮挡标注,眼镜遮挡将眼睛特征点全部标注为0.7,其余特征点标签为0;胡子遮挡将嘴巴特征点全部标注为0.7,其余特征点标签为0;妆容遮挡和模糊遮挡所有点均为0.3.以0.5为阈值,当o′>0.5则点被遮挡,否则该点未遮挡.
保留COFW训练集原图并增加1倍灰色矩形擦除遮挡图,构成遮挡数据集COFW-Gray(*2).保留COFW训练集原图并增加1倍遮挡图,每张图像的遮挡图从其对应的模糊遮挡图、眼镜遮挡图、妆容遮挡图、胡须遮挡图、局部遮挡图、全局遮挡图中随机挑选一张,构成数据集COFW-EC(*2),增加训练集中的遮挡点,使遮挡点的占比与测试集相持平.
LAB、ACN等验证了人脸边界热图、人脸掩码等特征图对于特征点的定位具有积极作用.基于以上实验方案,本文提出了一种复合特征融合模块,协助模型对原图进行特征提取.考虑到对于测试图已知信息仅有图像,如何得到可靠的特征图、得到何种特征图、如何进行特征融合是值得研究的问题.
Pt=Pt-1+ΔPt
(20)
输入图像为255×255的三通道彩色图像,部分特征图如图3所示.
图3 人脸特征图Fig.3 Features of face
从图3可见,3行为人脸特征点定的3种不同标注方式即29点,68点和98点的预测坐标及对应的特征图.其中,第1行为COFW数据集的29点标注法,第2行为300W数据集的68点标注法,第3行为WFLW数据集的98点标注法.在训练过程中对图像进行随机缩放、旋转、翻转增加模型的鲁棒性,故而图3中的原图具有不同的大小、角度和方向.其中第1列为原图及数据集提供的真实坐标,第2列为预测坐标,第3列为单通道图像,第4~第6列分别为裁剪图、点特征图、总边特征图和总区域特征图.
裁剪特征图(cpk):MTCNN[20]、CRD[4]算法截取特征点周围区域提取局部信息,减少遮挡对未遮挡点的影响.第n张图像的第m特征点pmn(x,y)的裁剪掩码cmknm以该点为中心,2k为边长,将m个特征点的裁剪掩码相加得该图像的裁剪掩码cmkn,其中k选择4和16.k为16的裁剪图(cm16n)如图3中第4列所示.
边特征图(hb):参照LAB将边特征图作为输入信息,为了得到更为准确的预测结果,将边界图拆分为多通道的单边特征图.COFW可拆分成14通道的单边特征图,其中总边特征图(hb_sum)如图3中第6列所示.
区域特征图(ha):ACN使用特征金字塔提取多尺度特征生成人脸未遮挡区域的注意力掩码,过滤非人脸信息和遮挡部分的无用局部特征.根据特征点的语义生成区域特征图,可以将人脸与背景部分分离,减少背景干扰;同时可将眼口鼻与面部区域分离,减少部分遮挡对无遮挡区域影响.COFW可拆分成5通道的单区域特征图,其中总区域特征图(ha_sum)如图3中第7列所示.
特征图融合:COFW数据集原始图像I具有3通道,点线面热图有22通道,裁剪图有2通道.使用公式(21)将3通道原始图像压缩为1通道图像I′,如图3第3列所示.
(21)
将图像I′与裁剪掩码cmk进行点乘可得裁剪图cpk,将图像I′与cpk进行通道拼接,得到μ通道裁剪特征图组crop_zoo(简记为cz).
cpk=cmk⊗I′
(22)
cz=cpk0⊕cpk1⊕I′
(23)
其中,⊗表示面向元素的点积操作,⊕表示面向通道的连接操作.
ν通道热图特征组heatmap_zoo(简记为hz)如公式(24)所示由单通道特征点热图hp、多通道边界热图hb、多通道区域热图ha进行通道拼接而成.
hz=hp⊕hb⊕ha
(24)
将I、cz和hz按公式(26)进行融合拼接得到最终的z通道输入inp.
z=3+μ+μ×ν
(25)
(26)
本文实验环境为64位window10操作系统,GPU为 6G显存的 NVIDIA GeForce GTX 1060s,使用Pytorch框架,在PyCharm上编程实现.
对训练数据集进行随机翻转、旋转、缩放,进行样本扩充.使用HRNet作为主干网络,沿用HRNet参数设置,学习率为0.001,batch_size 为 8,训练60个批次.
本文使用COFW数据集[21]和300W数据集[22]进行实验效果评估,使用WFLW数据集[10]进行人脸特征图生成,使用Celeba数据集[23]、ZJU-Leaper 纺织品瑕疵数据集[24]和VOC2010 语义分割数据集[25]进行遮挡生成.
COFW数据集:使用29个特征点标注,并对每一个特征点进行了遮挡标注.训练集1345张,测试集507张.29点人脸标注包括,眉毛8个点,眼睛10个点(含2个眼中心点),鼻子4个点,嘴巴6点,边缘轮廓1个点.
COFW-68[26]对测试集标注68个点的位置和遮挡情况,其特征点位置标注与300W的标注方式一致.
300W数据集:具有68个特征点标注.训练集3148张,测试集分为普通测试集和挑战集,普通集中主要是正面人脸,而挑战集中涵盖大姿态、遮挡、强光等难度较大的人脸图像.全集由普通集和挑战集一同组成,共689张图像.68点人脸标注包括边缘轮廓16个点,眉毛10个点,鼻子9个点,眼睛12点,嘴巴20点.
Masked 300W[27]数据集是在300W测试集上添加一个口罩遮挡.
为了使定位算法具有更广泛的应用性,根据特征点标签的语义进行跨数据映射.图4展示了COFW(29点)和300W(68点)数据集的特征点定位标签,以及根据特征点的相同语义,进行不同标注方式的映示意图.
(a) 29点映射68点 (b) 68点映射29点图4 人脸特征点标注及映射示意图Fig.4 Label and map of face landmark
如图4(a)为COFW的29点标注映射到300W的68点标注示意图,68点标注图中空心点可由29点标注映射得到,从而更新68点中部分点的预测结果.图4(b)为300W的采用68点标注映射到COFW的29点标注示意图.29点标注图中空心点可由68点标注映射得到,从而更新29点中部分点的预测结果.
为了评价特征点定位的效果,采用归一化平均误差(Normalized Mean Error,NME)、失败率(Failure Rate,FR)和累积误差分布(Cumulative Error Distribution,CED)曲线作为评价指标.使用准确率(accuracy,acc)、精确率(precision,pre)、召回率(recall,rec)作为遮挡检测任务的评价指标.使用与交叉熵类似的自适应权重双任务评价指标,通过赋予两个任务不同权重计算的最终得分,评价两个任务的最终效果.其中NME和FR是occHRNet的核心任务特征点定位的评价指标.
1)归一化平均误差(NME)是主流人脸特征点定位算法的主要的评价指标.NME对每一张图像计算所有点的预测坐标p与真实坐标gt之间的欧式距离,再除以外眼角之间的距离进行归一化,对整个测试集求其平均值.具体运算如公式(27)所示:
(27)
其中,N是样本总量,L是人脸特征点数量,pi和gti分别为第i个样本的特征点位置的预测值和真实值,di是第i个样本双眼中心点或外眼角点之间的欧式距离.NME值越小,特征点定位越准确.
2)失败率(FR),是特征点定位的重要指标.特征点定位失败指当特征点的NME值大于阈值δ,则该点认为特征点定位失败.失败率是指预测失败的特征点数在总预测点数中所占的百分比.FR值越小,说明特征点定位越准确.阈值δ设为0.08和0.10,使用失败率FR0.08和FR0.10对特征点定位进行评价.
3)累积误差分布(CED)曲线,横轴表示NME值,纵轴表示测试样本中对应NME占总样本的比例,NME取值范围为0.00到0.15.
4)准确率(acc)、精确率(pre)、召回率(rec)是分类任务的重要指标,遮挡预测可视为二分类问题.真实值为真且预测值为真,记为TP;真实值为真且预测值为假,记为FN;真实值为假且预测值为真,记为FP;真实值为假且预测值为假,记为TN,具体运算如公式(28)所示.精确率即查准率,召回率即查全率.精确率和召回率在0和1之间,数值越接近1,其分类效果越好.经由数据统计知COFW测试集中77.13%点未遮挡,22.90%的点遮挡,即假设所点未遮挡准确率可达到77.13%.准确率小于77.13%,判定遮挡检测任务失败,仅考虑定位任务结果.
(28)
5)多任务评价
使用公式(29)评价两个任务的最终效果(score,s),本文将特征点定位任务作为主要任务(计为Tm),将遮挡预测视为辅助任务(计为Ta).对主要任务赋予任务权重wtask,则次要任务权重为1-wtask.其中,特征点定位任务的评价指标NME值越小,特征点定位越准确,则Tm的计算见公式(30).
s=wtask×Tm+(1-wtask)×Ta
(29)
Tm=1-NME
(30)
不同的损失函数选择的相关消融实验,均使用COFW-EC(*2)数据集及img+COFW-72特征融合方式,实验结果见表1,表中实验数据分别为均一化平均误差NME(%)、失败率FR0.08(%)和FR0.10(%)、遮挡检测的准确率occAcc(%).
表1 不同损失函数的评估结果Table 1 Evaluation with different loss
图5 定位任务与遮挡预测任务评价统计图Fig.5 Evaluation of facial landmark detection and occlusion prediction
4.3.2 随机遮挡数据集效果评估
1)随机遮挡生成结果
图6展示了遮挡生成的效果.随机几何遮挡和随机实物遮挡的部分效果图见图6(a).
图6 遮挡效果示意图Fig.6 Results of occlusion
图6(a)包含了不同的形状、大小、颜色、纹理、透明度的遮挡物,确保了遮挡的不确定性和复杂性.
图6(b)展示了一张图像所有遮挡效果图,其中第1行第1列为原图.第2行第1列灰色矩形擦除遮挡图,即数据集COFW-Gray(*2)的遮挡示意图.第2列和第3列均为GAN网络生成的紧贴人脸结构的遮挡图;第2列为模糊遮挡图和眼镜遮挡图,第3列为妆容遮挡图和胡子遮挡图.模糊、眼镜和胡子由StarGAN生成,妆容遮挡由BeautyGAN生成.第4列为局部随机遮挡和全局随机遮挡.
2)不同遮挡数集和遮挡标注的评估
表2 不同遮挡数据集评估结果Table 2 Evaluation on different dataset
如表2所示,第1组遮挡标注o′的原始标注oo均使用COFW数据集提供的特征点遮挡标签,其中COFW-h表示对COFW数据集遮挡标注o′采用01标注;COFW-EC(*2)-s表示COFW-EC(*2)的遮挡标注o′采用软标注.对比第1组的实验结果,COFW-Gray(*2)和COFW-EC(*2)对特征点定位效果的提升均有帮助.由表2可知COFW-EC(*2),-s 的NME、FR0.08及FR0.10均取得最小值,其定位效果最佳,且遮挡检测的准确率与COFW-h仅相差0.1%.COFW数据集上的其余实验中均采用COFW-EC(*2)-s.
考虑到300W等常用人脸定位数据集不存在特征点遮挡标签,第2组实验模拟原始标注oo不可知的情况,COFW-EC(*2)-1和COFW-EC(*2)-0-s分别将所有特征点的原始标注oo设为1和0,再对继续进行软标注得到o′;COFW-EC(*2)-nme 则将每个特征点的NME值映射为o′.在第2组所有的occAcc均小于77.13%,判定遮挡检测任务失败,故此仅考虑定位任务.COFW-EC(*2)-1的NME和失败率最小,表明其特征点定位效果最佳.在没有遮挡标注的300W数据集上,将所有特征点均标注为遮挡,提高特征点定位的准确性.
4.3.3 复合特征融合效果评估
表3 不同特征图的评估结果Table 3 Evaluation with different features
如表3所示,第1组实验证明了点线面3种特征图中,边特征图能够帮助网络更好的提取特征点特征.第2组实验,可知采用img+COFW-66-noba-sum,即舍去总边特征图和总区域特征图,可以得到最好的定位效果.第3组可知,使用300W的68点标注法能够更好的提取面部特征,由图3第1和2行对比,可知COFW的29点标注缺乏面部轮廓点,而68点则可以很好的描述人脸的轮廓,进而提升了边特征图组和区域特征图组的准确性.考虑到跨数据集的计算量提升,后续实验仍旧选择img+COFW-66-noba-sum作为COFW数据集的特征融合方案.
本节中将occHRNet与ACR(2022)、LAB(2018)、ODN(2019)等算法在COFW数据集和300W数据集上进行比较,主要是基于深度网络的高斯热图回归算法,实验数据来自算法原文章或相关文章.
4.4.1 COFW数据集上的效果评估
表4 COFW-29数据集上评估结果Table 4 Evaluation on COFW-29
表4中包含3个组,第1组算法仅关注特征点的定位效果,第2组为结合遮挡检测的人脸特征点定位算法,第3组为occHRNet的实验结果.表中实验数据分别为均一化平均误差NME(%)、失败率FR0.10(%)、遮挡检测的精确率和召回率(pre/rec,%/%).
从表4中可以看出,与第1组算法比较,本文算法occHRNet的NME仅次于PIPNet和HRNet,但其失败率低于其他所有算法,包括HRNet.与第2组算法对比,可以发现occHRNet的遮挡检测精确率为80%时召回率达到53.4%,作为辅助任务的遮挡检测结果虽只达到中等水平,但关键性任务特征点定位的评价指标NME和失败率均取得最小值,证明了occHRNet在特征点定位任务上的优越性.为了更好的展示occHRNet对于遮挡点的定位效果,分别对遮挡点和未遮挡点计算NME,实验结果见图7.
图7 COFW数据集上特征点的定位误差统计图Fig.7 NME on the COFW dataset
从图7可知,与 HRNet比较,虽然occHRNet对于未遮挡点定位误差提高了0.01%,但在遮挡点上的NME降低了0.23%,最终使得整体的NME降低了0.04%.由此可知,occHRNet对遮挡特征点具有鲁棒性.
HRNet和occHRNet在COFW测试集上部分图像上的定位结果和遮挡检测结果如图8(a)所示.
图8 COFW数据集测试结果示意图Fig.8 Result on COFW
图8中,各列为测试集中不同图像在各算法上的定位结果.当特征点的遮挡预测结果与数据集提供遮挡标签一致使用黑色,不一致时使用白色,图中白色点越多,则该图的遮挡预测错误越多.黑色圆点表示未遮挡点预测出不遮挡,白色十字表示未遮挡点预测为遮挡,黑色叉号表示遮挡点预测出遮挡,白色三角形表示遮挡点预测为不遮挡.为了更直观的比较方案的优劣,提供了单张图片的的NME和occAcc.NME为该图像的所有特征点均一化平均误差,值越低越好.occAcc为图中特征点的遮挡预测正确所占百分比,值越大越好.
图8(a)中3行可以看到occHRNet在完成定位任务的同时提供了特征点的遮挡信息.通过比较第2、3行图中的occAcc值,occHRNet的遮挡检测结果优于HRNet,证明了occHRNet的遮挡检测任务的有用性,而比较图中的NME值可以直观的看出occHRNet的定位效果优于HRNet.
4.4.2 300W数据集和COFW-68测试集
表5 300W 和 COFW-68上评估结果Table 5 Evaluation on 300W and COFW-68
从表5中,可以看出对于300W的全集和普通集,相较于HRNet,occHRNet并未取得明显的提升效果,但对于300W的挑战集,occHRNet的定位误差降低了 0.08%,而对于存在众多遮挡的COFW的测试集定位误差降低了0.91%,NME值达到最小.HRNet-29在COFW上的实验结果相较于HRNet(复现)误差降低了0.23%,说明了occHRNet在COFW数据集上的训练模型对于遮挡人脸具有鲁棒性.
图9为表5 中部分算法在COFW-68测试集上的CED曲线图.
图9 COFW-68数据集上CED曲线图Fig.9 CED on COFW-68
从图9可以看出 occHRNet 在其他曲线上方,其AUC值最大,由图9可知occHRNet算法NME低于10%的样本占比最高,证明了该算法的失败率较低.
图8(b)展示了在COFW-68测试集上部分图像上的定位结果.图像标注方案与图8(a)一致.从图8(b)定位效果和NME值可以看出occHRNet定位优于其他对比算法.比较HRNet和occHRNet所在行的第3列,可以发现HRNet对于严重遮挡不具有鲁棒性,而occHRNet则能够较为准确的定位出遮挡点.HRNet和HRNet-29比较,可以发现使用29点映射68点,不仅可以获得部分特征点的遮挡预测结果,还提升了特征点的定位结果.occHRNet和occHRNet-29比较发现特征点的定位准确性下降,证明了300W上的occHRNet模型定位性能优于COFW上的occHRNet.再次证明occHRNet在遮挡人脸定位问题上的有效性.
为了进一步验证occHRNet对遮挡特征点的鲁棒,在Masked 300W数据集上进行测试,其NME(%)值如表6所示.
表6 Masked 300W上评估结果Table 6 Evaluation on Masked 300W
表6中,occHRNet-random为无预测坐标,通过随机生成预测坐标的方式构建特征图,旨在模拟特征点定位算法实际应用流程,即仅知人脸图片时进行特征点定位的情况.其在3个测试集上的实验结果仍旧优于HRNet(复现),再次证明了occHRNet 对于遮挡特征点定位的有效性.occHRNet则是利用occHRNet-random的定位结果进行第一次特征图生成,进行循环迭代至定位误差不再减小.occHRNet相较于occHRNet-random在挑战集上NME降低了2.33%.occHRNet-noocc则是使用了对应无遮挡300W数据集的预测结果进行特征图生成,即特征图更贴合标签,得到了最好的定位结果,说明了高质量特征图对特征点定位具有积极作用,如何获得遮挡人脸的高质量特征图是值得研究的.
本文提出了一种针对遮挡人脸的特征点回归算法occHRNet,以HRNet为基础,添加遮挡检测模块,将特征点遮挡度作为定位任务的权重优化损失函数,在进行特征点定位的同时预测特征点的遮挡度.充分考虑遮挡的形状、纹理、透明度等特性,生成遮挡图像及对应的标签进行数据集增强.将点特征图、边特征图、区域特征图和分割图与原图进行融合帮助骨干网络更好的提取特征.本算法在COFW数据集上进行了详细的实验验证了该算法的定位和遮挡检测任务有效性,同时在300W和COFW68数据集上其定位效果同样有所提升.本算法仅修改了骨干网络的输入和输出模块,未添加复杂的遮挡处理模块,降低了网络模型的运算成本,下一步可通过替换更为先进的骨干网络或对现有骨干网络进行结构优化,进一步提升模型的性能.