激光与光电子学进展, 2020, 57 (21): 210703, 网络出版: 2020-10-27  

高精度轻量级的人脸关键点检测算法 下载: 1111次

High-Precision and Lightweight Facial Landmark Detection Algorithm
作者单位
1 天津大学精密测试技术及仪器国家重点实验室, 天津 300072
2 中国科学院深海科学与工程研究所, 海南 三亚 572000
摘要
针对当前人脸关键点检测算法网络模型复杂度高、在计算资源受限时不利于部署的问题,基于知识蒸馏思想,提出了一种高精度、轻量级的人脸关键点检测算法。通过改进残差网络(ResNet50)中的Bottleneck模块并引入分组反卷积,得到轻量级的学生网络。同时提出逐像素损失函数和逐像素对损失函数,通过对齐教师网络与学生网络的输出特征图与中间特征图,将教师网络的先验知识迁移至学生网络,从而提高学生网络的检测精度。实验结果表明,本算法得到的学生网络参数量为2.81M,模型大小为10.20MB,在GTX1080显卡上的每秒传输帧数为162frame,在300W和WFLW数据集上的平均误差分别为3.60%和5.50%。
Abstract
In view of the high complexity of the current facial landmark detection algorithm network model, which is not conducive to deployment on devices with limited computing resources, this paper proposes a high-precision and lightweight facial landmark detection algorithm based on the idea of knowledge distillation. This algorithm improves the Bottleneck module of residual network(ResNet50) and introduces packet deconvolution to obtain a lightweight student network. At the same time, a pixel-wise loss function and a pair-wise loss function are proposed. By aligning the output feature maps and intermediate feature maps of the teacher network and the student network, the prior knowledge of the teacher network is transferred to the student network, thereby improving the detection accuracy of the student network. Experiments show that the student network obtained by this algorithm has only 2.81M parameter amount and 10.20MB model size, the frames per second on the GTX1080 graphics card is 162frames and the normalized mean error on 300W and WFLW datasets are 3.60% and 5.50%, respectively.

1 引言

人脸关键点检测是人脸识别[1]、人脸属性估计[2]、人脸姿态估计[3]等后续应用的关键步骤,目的是在人脸图像中定位出一组预定义的关键点坐标,如眼睛、眉毛、鼻尖、嘴和下巴。深度学习方法的发展大幅度提升了人脸关键点检测的精度[4-7],但目前高精度的检测算法大多采用大型骨干网络,如沙漏网络[8]和残差网络(ResNet50)[9],无法满足移动设备的需求。因此,本文采用卷积 反卷积编解码结构,设计了一种轻量级网络,用改进的ResNet50的Bottleneck模块[9]作为编码器的基础模块,同时引入分组反卷积[10]和卷积的上采样结构作为解码器。但该轻量级网络的参数过少,检测精度有限。

知识蒸馏(KD)[11-13]通过高精度和高复杂度的教师网络指导学生网络进行训练,可以提升计算量小、参数较少的网络精度。因此,引入KD思想,用Simple Baseline[14]作为教师网络,将上述轻量级网络作为学生网络。为保证学生网络与教师网络的预测结果尽可能一致,通过逐像素损失函数对齐网络的输出特征图;为从教师网络提取结构化信息,通过逐像素对损失函数对齐网络的中间特征图,使人脸关键点之间的相对空间位置更精确。与未引入KD时相比,引入KD思想的学生网络在保持参数量、计算量和网络结构不变的前提下,检测精度得到了一定的提升,为在计算资源不充足的设备上部署该网络成为可能。

2 算法原理

本算法的整体框架如图1所示,主要包括网络结构、损失函数及训练策略,其中,MSE表示均方误差。

图 1. 本算法的整体框架图。(a)教师网络;(b)学生网络

Fig. 1. Overall framework of our algorithm. (a) Teacher network; (b) student network

下载图片 查看所有图片

2.1 网络结构

图1(a)所示,教师网络Simple Baseline由编码器与解码器构成。其中,编码器为移除自适应全局池化层的ResNet50,可用于提取人脸图像的特征。解码器采用三层反卷积层,可将编码器得到的低分辨率特征恢复至高分辨率特征,每层反卷积层有256个卷积核,每个卷积核的大小为2×2,步长为2,每次反卷积操作均会使特征图放大4倍。为了使预测的热图通道数与关键点个数一致,在教师网络的最后一层反卷积层后添加尺寸为1×1的卷积层。

编码器的基础模块如图2所示,其中,ReLU为线性整流函数,MN均为卷积核的个数。为了增强本框架的重构性,学生网络采用与教师网络一样的编解码结构。同时将教师网络编码器Bottleneck模块中的标准3×3卷积替换为3×3深度卷积,如图2(a)所示。标准卷积的参数量为DK×DK×CIn×COut,深度卷积的参数量为DK×DK×CIn,其中,DK为卷积核的大小,CInCOut分别为卷积操作的输入、输出通道数。将Bottleneck模块输出通道的倍乘因子expansion由4调整为1,

图 2. 编码器的基础模块。(a) Bottleneck;(b)轻量级Bottleneck

Fig. 2. Basic module of the encoder. (a) Bottleneck; (b) lightweight Bottleneck

下载图片 查看所有图片

并将改进后的轻量级Bottleneck模块作为学生网络编码器的基础模块,如图2(b)所示。为了减少解码器的参数量,将教师网络解码器的反卷积层替换为分组反卷积层,使参数量减少为原来的 1G,其中,G为分组反卷积的组数。最后在每层分组反卷积层后添加尺寸为1×1的卷积,以增加通道间的信息融合。

2.2 损失函数

在深度学习中,主要利用损失函数衡量网络预测结果的好坏,即预测结果与实际数据的差异程度。损失函数越小,网络的鲁棒性就越好。因此,设计合理的损失函数至关重要。与文献[ 5]类似,实验用MSE损失函数作为标准损失函数,用来对比学生网络预测的热图Hs与真实关键点生成的热图H之间的偏差,可将每个样本的MSE表示为

Lstd(Hs,H)= 1Ll=1LHsl-Hl22,(1)

式中,L为关键点的个数, Hsl为学生网络预测的第l个关键点热图,‖‖2为2范数。用xl表示第l个真实人脸关键点的坐标,Hl表示以xl为中心,σ为方差生成的二维高斯概率分布的热图,如图3所示,其中,各个像素点p的概率可表示为

Hl(p)=exp -p-xl22σ2。(2)

图 3. 真实图像关键点的热图

Fig. 3. Heatmap of key points of real image

下载图片 查看所有图片

为了将教师网络学到的知识迁移到学生网络中,将关键点检测问题看作一系列像素分类问题的集合,提出了一种逐像素损失(pixel-wise loss)函数。将教师网络的输出Ht作为软目标,与学生网络中产生的像素概率对齐,逐像素损失函数可表示为

Lpixel(Hs,Ht)= 1Ll=1LHsl-Htl22,(3)

式中, Htl为教师网络预测的第l个热度图。通过最小化HsHt之间的偏差,可使学生网络的输出结果更接近教师网络。

为将人脸结构化信息从教师网络迁移到学生网络,使人脸关键点之间的相对空间位置更精确,在文献[ 13]的基础上,提出了一种逐像素对损失函数。对于维度为H×W的空间,第i个与第j个空间位置的结构相似度aij可表示为

aij= fi·fjfifj,(4)

式中,fi为特征图上第i个位置的特征矢量。分别计算学生网络与教师网络中间特征图上各个位置的结构相似度,得到对应的结构相似度矩阵;再通过逐像素对损失函数最小化两结构相似度矩阵之间的偏差,实现人脸结构信息的传递。设 asijatij分别为学生网络和教师网络在中间特征图上第i和第j个位置的结构相似度,则逐像素对损失函数可表示为

Lpair= iKjK(asij-atij)2(H×W)2,(5)

式中,K={1,2,…,H×W}为特征图中所有的空间位置。

为将不同尺度的结构信息从教师网络传输到学生网络,将逐像素对损失函数扩展到三个反卷积层,从而使学生网络学习到更丰富的面部细节。学生网络训练优化的总损失函数可表示为

Ltotal=Lstd(Hs,H)+λ1Lpixel(Hs,Ht)+ λ2r=13Lpairr,(6)

式中, Lpairr为第r层反卷层的逐像素对损失,λ1λ2为可调参数,用于平衡标准损失、逐像素损失和逐像素对损失,实验将两参数均设置为0.1。

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= 1Li=1Lpi-gi22d,(7)

式中,pigi分别为第i个预测关键点和真实关键点的坐标,d为两个外眼角关键点的欧氏距离。XNME越小,表明算法的检测效果越好。

3.3 实验设置

实验环境:软件框架为Pytorch,处理器为6核Intel Core i5-9600,显卡为GTX 1080(进行加速计算)。

为了扩充样本数据的规模,防止过拟合,对训练样本进行数据增强。首先根据标注的人脸边界框对人脸进行裁剪并缩放成分辨率为256pixel×256 pixel的图像,再将给定的训练图像在-30°~30°范围内随机旋转,在缩放因子为0.8~1.2范围内进行随机缩放,最后以50%的概率对图像进行随机水平镜像,如图4所示。

图 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表2分别为本算法与现有人脸关键点检测算法在300W和WFLW数据集上的评估结果。其中,RCPR为鲁棒级联姿态回归算法[16],DSRN为直接形状回归网络[17],DVLN为利用数据变化实现的算法[18],PCD-CNN为姿态条件树突算法[5],CPM为监督配准算法[7],SAN为风格迁移算法[19],LAB为引入边界信息的算法[20],CFSS为由粗至细的搜索算法[21],MANet为基于多注意力网络的算法[22]。可以看出,本算法在两个公开数据集上的检测效果均优于表中绝大部分算法,原因是相比基于卷积神经网络直接回归关键点坐标的方法和传统建模方法,本算法采用基于热图间接回归关键点坐标的方法为每个人脸关键点生成所有位置的概率热图,空间泛化能力更好。对学生网络进行KD后,本算法在300W的Common、Challenging及Full三个测试集上的精度分别提升了4.18%、6.40%和5.01%,在WFLW测试集上的XNME为5.50%,与未采用KD的方法相比,精度提升了8.94%。

表 1. 不同算法在300W数据集的NME

Table 1. NME of different algorithms in 300W dataset unit:%

MethodCommonChallengingFull
RCPR6.1817.268.35
DSRN4.129.685.21
DVLN3.797.154.45
PCD-CNN3.677.624.44
CPM3.398.144.36
SAN3.346.603.98
LAB2.985.193.49
Teacher(our)3.035.263.51
Student(our)3.355.783.79
Student+KD (our)3.215.413.60

查看所有表

表 2. 不同算法在WFLW数据集的NME

Table 2. NME of different algorithms in WFLW dataset unit:%

MethodTestPoseExpressionIlluminationMake-upOcclusionBlur
CFSS9.0721.3610.098.308.7411.769.96
DVLN6.0811.546.785.735.987.336.88
MANet5.4110.035.565.546.037.006.25
LAB5.2710.245.515.235.156.796.32
Teacher(our)5.209.015.365.275.456.376.22
Student(our)6.0411.526.765.705.947.306.87
Student+KD (our)5.509.835.895.405.486.886.81

查看所有表

表3为不同算法的网络结构、参数量和速度,其中,FPS为每秒传输帧数,M表示百万个参数。可以发现,虽然本算法与加入边界信息的LAB算法和教师网络相比,精度略低,但本算法在学生网络中引入深度卷积和分组反卷积,并调整其卷积的输出通道数倍乘因子,相比LAB算法和教师网络,参数量分别减少了88.84%和88.80%,处理速度更快。综合分析算法的精度与网络的模型大小,基于KD的人脸关键点检测算法在保持高精度的同时,参数量更少,运行速度更快,更适用于在移动设备上进行部署。图5为本文算法的可视化结果,可以看出,本算法能准确定位到人脸的关键点。

表 3. 不同算法的网络结构、参数量和速度

Table 3. Network structure, parameter amount and speed of different algorithms

MethodBackboneParams /MFPS/frame
LABHouglass25.16
Teacher(our)ResNet5025126
Student+KD (our)Light-ResNet502.8162

查看所有表

图 5. 不同数据集的可视化结果。(a) 300W数据集;(b) WFLW数据集

Fig. 5. Visualization results of different datasets. (a) 300W dataset; (b) WFLW dataset

下载图片 查看所有图片

为验证逐像素损失函数和逐像素对损失函数的有效性,利用两种损失函数在300W数据集的Full验证集上进行对比实验,结果如表4所示。可以发现,相比未使用KD的方法,在仅采用逐像素损失函数、仅采用逐像素对损失函数和两者相结合三种情况下进行KD,算法的精度分别提升了3.2%、4.5%和5.0%。这表明逐像素损失函数和逐像素对损失函数都能将教师网络学到的知识迁移到学生网络中,而将两种损失函数相结合时,教师网络能提供更多的监督信息,最大程度地提高本算法的性能。

表 4. 不同损失函数在300W数据集上的精度

Table 4. Accuracy of different loss functions on 300W dataset unit:%

MethodNME
Student3.79
Student+Pixel3.67
Student+Pair3.62
Student+Pixel+Pair3.60

查看所有表

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.

[3] Hong C Q, Yu J. Multi-modal face pose estimation with multi-task manifold deep learning[EB/OL]. [ 2019- 12- 28]. . http://arxiv.org/abs/1712.06467

[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.

[11] Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[EB/OL]. [ 2019- 12- 25]. . http://arxiv.org/abs/1503.02531

[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.

引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!