高精度轻量级的人脸关键点检测算法 下载: 1111次
1 引言
人脸关键点检测是人脸识别[1]、人脸属性估计[2]、人脸姿态估计[3]等后续应用的关键步骤,目的是在人脸图像中定位出一组预定义的关键点坐标,如眼睛、眉毛、鼻尖、嘴和下巴。深度学习方法的发展大幅度提升了人脸关键点检测的精度[4-7],但目前高精度的检测算法大多采用大型骨干网络,如沙漏网络[8]和残差网络(ResNet50)[9],无法满足移动设备的需求。因此,本文采用卷积
知识蒸馏(KD)[11-13]通过高精度和高复杂度的教师网络指导学生网络进行训练,可以提升计算量小、参数较少的网络精度。因此,引入KD思想,用Simple Baseline[14]作为教师网络,将上述轻量级网络作为学生网络。为保证学生网络与教师网络的预测结果尽可能一致,通过逐像素损失函数对齐网络的输出特征图;为从教师网络提取结构化信息,通过逐像素对损失函数对齐网络的中间特征图,使人脸关键点之间的相对空间位置更精确。与未引入KD时相比,引入KD思想的学生网络在保持参数量、计算量和网络结构不变的前提下,检测精度得到了一定的提升,为在计算资源不充足的设备上部署该网络成为可能。
2 算法原理
本算法的整体框架如
图 1. 本算法的整体框架图。(a)教师网络;(b)学生网络
Fig. 1. Overall framework of our algorithm. (a) Teacher network; (b) student network
2.1 网络结构
如
编码器的基础模块如
图 2. 编码器的基础模块。(a) Bottleneck;(b)轻量级Bottleneck
Fig. 2. Basic module of the encoder. (a) Bottleneck; (b) lightweight Bottleneck
并将改进后的轻量级Bottleneck模块作为学生网络编码器的基础模块,如
2.2 损失函数
在深度学习中,主要利用损失函数衡量网络预测结果的好坏,即预测结果与实际数据的差异程度。损失函数越小,网络的鲁棒性就越好。因此,设计合理的损失函数至关重要。与文献[ 5]类似,实验用MSE损失函数作为标准损失函数,用来对比学生网络预测的热图Hs与真实关键点生成的热图H之间的偏差,可将每个样本的MSE表示为
Lstd(Hs,H)=
式中,L为关键点的个数,
Hl(p)=exp
为了将教师网络学到的知识迁移到学生网络中,将关键点检测问题看作一系列像素分类问题的集合,提出了一种逐像素损失(pixel-wise loss)函数。将教师网络的输出Ht作为软目标,与学生网络中产生的像素概率对齐,逐像素损失函数可表示为
Lpixel(Hs,Ht)=
式中,
为将人脸结构化信息从教师网络迁移到学生网络,使人脸关键点之间的相对空间位置更精确,在文献[ 13]的基础上,提出了一种逐像素对损失函数。对于维度为H×W的空间,第i个与第j个空间位置的结构相似度aij可表示为
aij=
式中,fi为特征图上第i个位置的特征矢量。分别计算学生网络与教师网络中间特征图上各个位置的结构相似度,得到对应的结构相似度矩阵;再通过逐像素对损失函数最小化两结构相似度矩阵之间的偏差,实现人脸结构信息的传递。设
Lpair=
式中,K={1,2,…,H×W}为特征图中所有的空间位置。
为将不同尺度的结构信息从教师网络传输到学生网络,将逐像素对损失函数扩展到三个反卷积层,从而使学生网络学习到更丰富的面部细节。学生网络训练优化的总损失函数可表示为
Ltotal=Lstd(Hs,H)+λ1Lpixel(Hs,Ht)+ λ2
式中,
2.3 训练策略
为了更好地训练学生网络,首先,使用标准损失函数对教师网络进行优化,得到高精度的教师网络。然后,固定教师网络的参数,利用标准损失函数、逐像素损失函数和逐像素对损失函数进行监督,在教师网络的指导下,对学生网络进行训练,使总损失最小。
3 实验与结果分析
3.1 实验数据集
为验证本算法的有效性,在主流的300W[15]和WFLW[16]数据集上进行实验。300W数据集由HELEN、LFPW、AFW和IBUG数据集组成,广泛应用于人脸关键点检测中。由于HELEN、LFPW和AFW数据集的图像在野外环境中采集,可能存在姿态变化、表情变化和部分遮挡的情况。在300W数据集中,每张人脸图像有68个标注的人脸关键点。实验按照文献[ 4]的规定,采用3148张图像进行训练。其中,2000张图像来自HELEN数据集的训练子集,811张图像来自LFPW数据集的训练子集,337张图像来自AFW数据集。完整的测试集Full有689张图像,包括Common和Challenging两个子集。其中Common子集由HELEN测试子集和LFPW测试子集组成,Challenging子集则为IBUG数据集。
WFLW数据集是在非受限条件下采集的数据集,图像中存在较大的姿态变化、夸张的表情和严重的遮挡。包括7500张训练图像和2500张测试图像,并标注有98个人脸关键点。为验证不同情况下算法的鲁棒性,将WFLW数据集的测试集细分为large pose、expression、illumination、make-up、occlusion和blur数据集。
3.2 评价指标
归一化平均误差(NME)是人脸关键点检测任务中常用的评价指标,可表示为
XNME=
式中,pi和gi分别为第i个预测关键点和真实关键点的坐标,d为两个外眼角关键点的欧氏距离。XNME越小,表明算法的检测效果越好。
3.3 实验设置
实验环境:软件框架为Pytorch,处理器为6核Intel Core i5-9600,显卡为GTX 1080(进行加速计算)。
为了扩充样本数据的规模,防止过拟合,对训练样本进行数据增强。首先根据标注的人脸边界框对人脸进行裁剪并缩放成分辨率为256pixel×256 pixel的图像,再将给定的训练图像在-30°~30°范围内随机旋转,在缩放因子为0.8~1.2范围内进行随机缩放,最后以50%的概率对图像进行随机水平镜像,如
图 4. 数据增强的效果图。(a)水平镜像;(b)缩放;(c)旋转
Fig. 4. Effect image of data augmentation. (a) Horizontal mirror; (b) scale; (c) rotation
训练过程中,采用Adam优化器更新参数,设置批量大小为8,初始学习率为0.001,一共训练80个epoch,当训练到第50个epoch和第70个epoch时,学习率均衰减为初始学习率的10倍。
3.4 实验结果分析
表 1. 不同算法在300W数据集的NME
Table 1. NME of different algorithms in 300W dataset unit:%
|
表 2. 不同算法在WFLW数据集的NME
Table 2. NME of different algorithms in WFLW dataset unit:%
|
表 3. 不同算法的网络结构、参数量和速度
Table 3. Network structure, parameter amount and speed of different algorithms
|
图 5. 不同数据集的可视化结果。(a) 300W数据集;(b) WFLW数据集
Fig. 5. Visualization results of different datasets. (a) 300W dataset; (b) WFLW dataset
为验证逐像素损失函数和逐像素对损失函数的有效性,利用两种损失函数在300W数据集的Full验证集上进行对比实验,结果如
表 4. 不同损失函数在300W数据集上的精度
Table 4. Accuracy of different loss functions on 300W dataset unit:%
|
4 结论
以改进的ResNet50为编码器,以三层分组反卷积为解码器,提出了一种轻量级人脸关键点检测算法。为提高算法的检测精度,引入KD思想并设计了两种损失函数,将教师网络编码的精细结构信息迁移到轻量级的学生网络中,在不增加计算量的前提下,进一步提高了本算法的性能。实验结果表明,本算法在300W数据集和WFLW数据集的平均误差分别为3.60%和5.50%,且参数量仅有2.81M,在实现高精度的同时,极大减少了计算资源的消耗,具有很大的实用价值。
[1] MasiI, RawlsS, MedioniG, et al. Pose-aware face recognition in the wild[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 4838- 4846.
[2] Zhuang N, Yan Y, Chen S, et al. Multi-label learning based deep transfer neural network for facial attribute classification[J]. Pattern Recognition, 2018, 80: 225-240.
[4] KowalskiM, NaruniecJ, TrzcinskiT. Deep alignment network: a convolutional neural network for robust face alignment[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 2034- 2043.
[5] KumarA, ChellappaR. Disentangling 3D pose in a dendritic CNN for unconstrained 2D face alignment[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 430- 439.
[6] Wu Y, Ji Q. Facial landmark detection: a literature survey[J]. International Journal of Computer Vision, 2019, 127(2): 115-142.
[7] Dong XY, Yu SI, Weng XS, et al. Supervision-by-registration: an unsupervised approach to improve the precision of facial landmark detectors[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 360- 368.
[8] NewellA, Yang KY, DengJ. Stacked hourglass networks for human pose estimation[M] //Leibe B, Matas J, Sebe N, et al. Computer Vision-ECCV 2016. Lecture Notes in Computer Science. Cham: Springer, 2016, 9912: 483- 499.
[9] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[10] ZhangT, Qi GJ, XiaoB, et al. Interleaved group convolutions[C]//2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 4383- 4392.
[12] ZagoruykoS, KomodakisN. Paying more attention to attention: improving the performance of convolutional neural networks via attention transfer [EB/OL]. [2019-12-25].https://arxiv.org/abs/1612. 03928.
[13] Liu YF, ChenK, LiuC, et al. Structured knowledge distillation for semantic segmentation[C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 15-20, 2019, Long Beach, CA, USA. New York: IEEE, 2019: 2599- 2608.
[14] XiaoB, Wu HP, Wei YC. Simple baselines for human pose estimation and tracking[M] //Ferrari V, Hebert M, Sminchisescu C, et al. Computer Vision-ECCV 2018. Lecture Notes in Computer Science. Cham: Springer, 2018, 11210: 472- 487.
[15] SagonasC, TzimiropoulosG, ZafeiriouS, et al. 300 faces in-the-wild challenge: the first facial landmark localization challenge[C]//2013 IEEE International Conference on Computer Vision Workshops, December 2-8, 2013, Sydney, NSW, Australia. New York: IEEE, 2013: 397- 403.
[16] Burgos-Artizzu XP, PeronaP, DollárP. Robust face landmark estimation under occlusion[C]//2013 IEEE International Conference on Computer Vision, December 1-8, 2013, Sydney, NSW, Australia. New York: IEEE, 2013: 1513- 1520.
[17] MiaoX, Zhen XT, Liu XL, et al. Direct shape regression networks for end-to-end face alignment[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 5040- 5049.
[18] Wu WY, YangS. Leveraging intra and inter-dataset variations for robust face alignment[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), July 21-26, 2017, Honolulu, HI, USA.New York: IEEE Press, 2017: 2096- 2105.
[19] Dong XY, YanY, Ouyang WL, et al. Style aggregated network for facial landmark detection[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 379- 388.
[20] Wu WY, QianC, YangS, et al. Look at boundary: a boundary-aware face alignment algorithm[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 2129- 2138.
[21] ZhuS, LiC, Loy CC, et al. Face alignment by coarse-to-fine shape searching[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 4998- 5006.
[22] LiuX, Wang HB, ChengR, et al. Multi-attention network for 2D face alignment in the wild[M] //Wang Y, Huang Q, Peng Y, et al. Image and Graphics Technologies and Applications. IGTA 2019. Communications in Computer and Information Science. Singapore: Springer, 2019, 1043: 246- 255.
徐礼淮, 李哲, 蒋佳佳, 段发阶, 傅骁. 高精度轻量级的人脸关键点检测算法[J]. 激光与光电子学进展, 2020, 57(21): 210703. Xu Lihuai, Li Zhe, Jiang Jiajia, Duan Fajie, Fu Xiao. High-Precision and Lightweight Facial Landmark Detection Algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(21): 210703.