基于深度残差和特征金字塔网络的实时多人脸关键点定位算法
2019-01-06谢金衡张炎生
谢金衡 张炎生
摘 要:针对人脸关键点定位算法需要分为人脸区域检测与单人脸关键点定位两个步骤,导致处理时间成倍增加的情况,提出一步到位的实时且准确的多人脸关键点定位算法。该算法将人脸关键点坐标生成对应的热度图作为数据标签,利用深度残差网络完成前期的图像特征提取,使用特征金字塔网络融合在不同网络深度中表征不同尺度感受野的信息特征,应用中间监督思想,级联多个预测网络由粗到精地一次性回归图中所有人脸的关键点,而无需人脸检测步骤。在保持高定位精度的同时,该算法完成一次前向传播只需要约0.0075s(约每秒133帧),满足了实时人脸关键点定位的要求,且在WFLW测试集中取得了6.06%的平均误差与11.70%的错误率。
关键词:残差网络;特征金字塔网络;实时人脸关键点定位;中间监督
中图分类号: TP391.4文献标志码:A
Real-time multi-face landmark localization algorithm based on
deep residual and feature pyramid neural network
XIE Jinheng, ZHANG Yansheng*
(College of Electronic and Information Engineering, Guangdong Ocean University, Zhanjiang Guangdong 524088, China)
Abstract: Most face landmark detection algorithms include two steps: face detection and face landmark localization, increasing the processing time. Aiming at the problem, a one-step and real-time algorithm for multi-face landmark localization was proposed. The corresponding heatmaps were generated as data labels by the face landmark coordinates. Deep residual network was used to realize the early feature extraction of image and feature pyramid network was used to fuse the information features representing receptive fields with different scales in different network depths. And then based on intermediate supervision, multiple landmark prediction networks were cascaded to realize the one-step coarse-to-fine facial landmark regression without face detection. With high accuracy localization, a forward propagation of the proposed algorithm only takes about 0.0075s (133 frames per second), satisfying the requirement of real-time facial landmark localization. And the proposed algorithm has achieved the mean error of 6.06% and failure rate of 11.70% on Wider Facial Landmarks in-the-Wild (WFLW) dataset.
Key words: residual network; feature pyramid network; real-time face landmark localization; intermediate supervision
0 引言
人臉在视觉信息传达中有着重要的作用,通过人脸信息可以获得许多非语言信息,例如人的身份、年龄、表情和意图。为准确获取这些信息,人脸关键点定位通常是许多人脸应用中一个首要且非常关键的步骤,例如人脸识别[1-2]、人脸验证[3-4]、表情分析。但由于人脸常常伴随着丰富的表情变化、外界光照程度、妆容以及物体遮挡等随机因素,同时实际应用中需要得到快速的响应,使得快速且精准定位人脸关键点仍是计算机视觉中一个非常具有挑战性的任务。
目前,绝大多数人脸关键点定位算法直接使用数据集中提供的人脸区域坐标,着重针对单张人脸关键点定位,对多人脸情况未作充分考虑,使得实际应用中需要定位图中多个人脸的关键点时,首先需要额外使用人脸检测网络获得图片中的人脸区域坐标,然后将检测得到的人脸区域依次送入关键点定位网络,最后获得人脸关键点坐标。图片中人脸数量增多时会直接导致处理时间成本成倍增加,同时,人脸检测效果的好坏也会直接影响人脸关键点定位的准确性。因此,本文提出算法一次性定位图中所有人脸的关键点,解除了人脸检测步骤与关键点定位步骤的耦合性,在更短时间内检测更多人脸的关键点。
与直接利用坐标回归关键点的方法不同,本文借鉴了人体姿态估计算法[5-10]利用热度图来回归人体关键点的思想,采用一个中间监督网络,由粗到精地回归关键点。本文算法的网络结构使用特征金字塔网络融合不同尺度的感受野信息,从而充分利用卷积神经网络浅层与深层的语义特征,减少关键点预测网络中卷积核的使用来减少参数冗余,使网络完成一次前向传播过程只需要约0.0075s(约每秒133帧),完全满足了实时人脸关键点定位的需求。本文算法的流程如图1所示。
训练与评估数据集中的每张图片中只有部分人脸标注有98个关键点,而本文方法是回归图中所有人脸的关键点,导致图中未被标注的人脸成为了训练过程中的强烈干扰,所以必须首先对数据集作充分的预处理,即为图中未被标注的人脸生成矩形二进制掩码,在计算网络损失前将其与预测网络的输出进行点乘,去除干扰。本文还将人脸标注分为上半脸45个关键点与下半脸53个关键点两部分,如图2(c),分别采用上、下两个并行分支与一级中间监督网络,使其达到更容易、由粗到精地回归人脸关键点的效果。
1 相关工作
目前,基于深度学习的人脸关键点定位方法主要包含两种:一是将关键点坐标向量作为标签,利用神经网络建立输入图片与人脸关键点坐标向量间的映射关系;二是利用人脸关键点坐标生成各类关键点的概率分布热度图,建立输入图片与关键点热度图间的映射关系,将坐标回归问题转化为热度图回归问题。总体而言,基于热度图回归的模型往往更容易训练,并且可以取得更好的效果。
其中关键点坐标回归这种方法将关键点坐标向量作为标签,神经网络直接学习如何将输入图片映射为关键点坐标向量。多任务卷积网络(Multi-Task Convolutional Neural Network, MTCNN)[11]用三个独立的神经网络P-Net、R-Net与O-Net由粗到精地回归人脸关键点,用P-Net网络生成人脸建议框并使用非极大值抑制得到第一阶段的候选窗口,将结果输入到R-Net网络,对得到的输出进一步使用非极大值抑制剔除重复的候选窗口,最后通过O-Net同时输出人脸区域坐标与五个关键点坐标。虽然独立的多阶段网络可以使结果逐渐优化,但是数据预处理复杂,训练过程调试难度高,较难保证获得最优的结果。两步重初始化(Two-Stage Re-initialization, TSR)方法[12]将人脸分为多个部分,分别对每个部分的关键点坐标进行回归,降低了输入图像特征的复杂度,却也忽略了整个人脸区域的全局关系。虽然关键点坐标回归方法直接将坐标作为数据标签,无需作任何的坐标预处理,但是此类方法往往没有基于热度图回归的方法表现优异。
而关键点热度图回归方法对每类关键点生成对应的概率分布热度图,让网络回归关键点热度图。这类方法在人体姿态估计[5-10]、人脸关键点定位等计算机视觉任务中均取得了非常好的成绩。Kowalski等[13]采用级联深度神经网络,将整张人脸作为输入,充分考虑人脸的全局信息,解决了头部姿态变化带来的泛化能力降弱的问题,输出为人脸关键点热度图。Cao等[5]使用图像分类网络提取图像特征,并级联多个7×7大卷积核组成预测网络使其拥有更充足的参数来更准确地拟合人体关键点检测数据集。Wu等[14]不仅采用关键点热度图回归方法,而且考虑到人脸部分关键点间具有一定的几何边界关系,同时生成边界热度图来辅助神经网络对人脸关键点的定位,提升了定位精度。此类方法利用生成的概率分布的关键点热度图,巧妙地将坐标回归转化为学习关键点坐标周围的概率分布,容许一定的偏差,且建立的是图像像素矩阵与热度图矩阵之间的映射关系,更契合在图像识别领域中表现优异的卷积神经网络,使网络更容易拟合数据。
2 本文方法
近年来,深度学习方法在各项计算机视觉任务中表现出色,基于深度学习方法的人脸关键点定位算法在WFLW(Wider Facial Landmarks in-the-Wild)[14]、300-W(300 faces in-the-Wild challenge)[15]、AFLW(Annotated Facial Landmarks in-the-Wild)[16]、COFW(Caltech Occluded Faces in-the-Wild)[17]等数据集中也取得了非常出色的成绩。同时,数据集中标注的人脸关键点个数也日益趋多,CelebA(CelebFaces Attributes dataset) 、300-W[15]和WFLW[14]标注的人脸关键点分别是5、68、98,见图2(a)、(b)。本文采用WFLW[14]数据集作为算法的训练集和测试集,为使网络更容易地学习关键点周围的概率分布,降低单个预测网络拟合数据的难度,将人脸分为上、下两个部分,见图2(c),采用两个并行分支回归人脸关键点,同时采用一个中间监督网络,驱使预测网络由粗到精地回归关键点热度图。
2.1 数据集预处理
WFLW数据集(来源于Wider Face人脸检测数据集)中有7500张标记了98个关键点的人脸作为训练集,2500张人脸作为测试集。本文方法是一次性回归图片中所有人脸的关键点,没有经过人脸检测步骤,导致与WFLW数据集的标注方式中存在这种矛盾——WFLW中一张图片中出现多个人脸时,只有其中的一部分人脸被标注关键点,这使得未被标注的人脸成为网络训练时的强烈噪声,严重影响神经网络的模型学习。为去除这些干扰,本文利用Wider Face数据集中的人脸区域标注,将其与WFLW数据集中已被标注的人脸区域作差集,获得未被标注的人脸区域,利用它生成二进制掩码M∈R384×384×1,掩码M中,在未被标注的人脸区域像素值为0,其余为1,图3为掩码效果。实际操作是在网络计算损失之前将二进制掩码分别与正确的关键点热图和预测的关键点热度图点乘,使噪声区域不参与损失计算和反向传播。通过数据标签格式的改变,将单人脸关键点定位转化为多人脸关键点定位。
2.2 关键点热度图
为将人脸关键点坐标回归转化为关键点热度图回归,首先对每类人脸关键点生成二维关键点热度图C*n,k(p)作为正确标签,即每张热度图像素中的数值代表输入图片中第n个人脸的第k个关键点存在于像素点p∈R2的概率,如图4所示。假设Xn,k为已标注的人脸关键点的坐标,则C*n,k中像素点p∈R2的数值可由以下计算式表示:
在WFLW数据集中,本文对每张样本图片生成了100张48×48分辨率的关键点热度图(其中有两张为其余关键点热度图的叠加,无预测意义,但可形成一定的人脸边界关系,类似于边界热度图辅助关键点回归)作为正确标签,其中每张热度图对应样本图片中全部人脸的其中一類关键点,并将其分成上分支46个与下分支54个分别对应图2(a),上半脸(标号:33~75,96~97)与下半脸(标号:0~32,76~95)。
为更方便代码复现,本文提供训练网络时使用的硬件设备参数。CPU为i7-8700 3.4GHz,内存为16GB RAM,显卡为8GB GTX1080 Graphics。训练时使用Pytorch深度学习框架,Adam优化器,未设置正则化,设置初始学习率为0.0001,Batch size为10,迭代120轮后,将学习率调整为0.00001。大约花费一天时间在WFLW数据集中迭代了200轮,最后的损失在0.00015左右震荡,见图7。从训练损失曲线图看来,最终,fine效果比coarse的效果更好,表明本文使用的中间监督网络对后续预测网络具有一定的优化作用。
3.3 评估结果
在WFLW的2500张人脸测试集中的评估结果见表1,测试集Testset包括6个子集,分別为Pose、Expression、Illumination、Make-up、Occlusion与Blur。表1中:ESR(Explicit Shape Regression)[20]是通过形状回归的方法获得人脸矫正结果;SDM(Supervised Descent Method)[21]利用线性模型与尺度不变特征变换(Scale Invariant Feature Transform, SIFT)特征获得人脸矫正结果;CFSS(Coarse to Fine Shape Regression)[22]也是通过形状回归的方法获得人脸矫正结果;LIIV(Leveraging Intra and Inter-dataset Variations)[23]则是利用数据集内与数据集间的某种变化来获得更好的人脸关键点定位效果。值得说明的是,本文使用的关键点标注格式与其他算法有所不同,大多数算法分为人脸检测与人脸关键点定位两个步骤,而本文是直接检测图中所有人脸的关键点,这使得本文算法在评估时对人脸的裁取方法有些不同,对预测结果有一定影响,但本文算法在多个测试子集中最终取得的平均误差和错误率比表中算法仍均有所降低。
在保持高检测精度的同时,本文一步到位的定位方法与高效的模型相较于其他算法有更快的检测速度,如表2所示。表2中:Size指的是模型的大小,Speed指的是处理单张图片所需时间,Graphics为显卡。其中SAN(Style Aggregated Network)[24]是利用多阶段预测网络检测人脸关键点的方法。本文提出的算法运行在相对较低级的设备中的处理速度却仍能优于表中其他对比算法8倍多(文献[14]算法与SAN均未算上人脸检测时间)。对于图中有多张人脸的情况,本文算法可避免多个人脸区域的多次关键点检测,而是一步到位,在更短的时间内一次性定位更多人脸的关键点,处理时间不受限于人脸数量。
4 结语
通过使用二进制掩码去除干扰,改变了人脸关键点数据集的标注方式,利用残差网络模块与特征金字塔的特征融合、中间监督层建立起网络间的前后紧密联系,以及卷积神经网络习得的细节与高级特征,使得算法在保证高定位精度的同时,一次性快速定位图中所有人脸的关键点。但是缺点也随之而来,本文提出的网络对图片中小区域与妆容非常严重的人脸关键点定位的能力还有待提高。在接下来的研究中会对算法作进一步优化,尝试通过增大关键点热度图的分辨率,数据增强中采用跨度更大的缩放因子,训练时使用在线艰难样本与关键点寻找的技巧,达到更加精确定位小区域与妆容严重的人脸的关键点的效果。尝试运用神经网络结构搜索(Neural architecture search)策略来搜索更优的预测网络结构。
参考文献 (References)
[1]SCHROFF F, KALENICHENKO D, PHILBIN J. FaceNet: a unified embedding for face recognition and clustering [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2015: 815-823.
[2]ZHU Z, LUO P, WANG X, et al. Deep learning identity-preserving face space [C]// Proceedings of the 2013 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2013: 113-120.
[3]SUN Y, WANG X, TANG X. Deep learning face representation from predicting 10000 classes [C]// Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2014: 1891-1898.
[4]SUN Y, WANG X, TANG X. Hybrid deep learning for face verification [C]// Proceedings of the 2013 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2013: 1489-1496.
[5]CAO Z, SIMON T, WEI S E, et al. Realtime multi-person 2D pose estimation using part affinity fields [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 1302-1310.
[6]OSOKIN D. Real-time 2D multi-person pose estimation on CPU: lightweight OpenPose [EB/OL]. [2019-01-02]. https://arxiv.org/pdf/1811.12004.pdf.
[7]FANG H, XIE S, TAI Y W, et al. RMPE: regional multi-person pose estimation [C]// Proceedings of the 2017 IEEE Conference on Computer Vision. Piscataway: IEEE, 2017: 2353-2362.
[8]LI W, WANG Z, YIN B, et al. Rethinking on multi-stage networks for human pose estimation [EB/OL]. [2019-01-02]. https://arxiv.org/pdf/1901.00148.pdf.
[9]CHEN Y, WANG Z, PENG Y, et al. Cascaded pyramid network for multi-person pose estimation [C]// Proceedings of the 2018 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 7103-7112.
[10]WEI S E, RAMAKRISHNA V, KANADE T, et al. Convolutional pose machines [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 4724-4732.
[11]ZHANG K, ZHANG Z, LI Z, et al. Joint face detection and alignment using multi-task cascaded convolutional networks [J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[12]LV J, SHAO X, XING J, et al. A deep regression architecture with two-stage re-initialization for high performance facial landmark detection [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 3691-3700.
[13]KOWALSKI M, NARUNIEC J, TRZCINSKI T. Deep alignment network: a convolutional neural network for robust face alignment [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Piscataway: IEEE, 2017: 2034-2043.
[14]WU W, QIAN C, YANG S, et al. Look at boundary: a boundary-aware face alignment algorithm [C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 2129-2138.
[15]SAGONAS C, TZIMIROPOULOS G, ZAFEIRIOU S, et al. 300 faces in-the-wild challenge: the first facial landmark localization challenge [C]// Proceedings of the 2013 IEEE International Conference on Computer Vision Workshops. Piscataway: IEEE, 2013: 397-403.
[16]KOSTINGER M, WOHLHART P, ROTH P M, et al. Annotated facial landmarks in the wild: a large-scale, real world database for facial landmark localization [C]// Proceedings of the 2011 IEEE International Conference on Computer Vision Workshops. Piscataway: IEEE, 2011: 2144-2151.
[17]BURGOS-ARTIZZU X P, PERONA P, DOLLR P. Robust face landmark estimation under occlusion [C]// Proceedings of the 2013 IEEE International Conference on Computer Vision. Piscataway: IEEE, 2013: 1513-1520.
[18]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2016: 770-778.
[19]LIN T Y, DOLLR P, GIRSHICK R, et al. Feature pyramid networks for object detection [C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2017: 936-944.
[20]CAO X, WEI Y, WEN F, et al. Face alignment by explicit shape regression [J]. International Journal of Computer Vision, 2014, 107(2): 177-190.
[21]XIONG X, DE LA TORRE F. Supervised descent method and its applications to face alignment [C]// Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2013: 532-539.
[22]ZHU S, LI C, LOY C C, et al. Face alignment by coarse-to-fine shape searching [C]// Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2015: 4998-5006.
[23]WU W, YANG S. Leveraging intra and inter-dataset variations for robust face alignment [C]// Proceedings of the 2017 IEEE Conference on computer vision and Pattern Recognition Workshops. Piscataway: IEEE, 2017: 2096-2105.
[24]DONG X, YAN Y, OUYANG W, et al. Style aggregated network for facial landmark detection [C]// Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 379-388.
XIE Jinheng, born in 1998. His research interests include object detection, face detection and recognition, pose estimation, pedestrian reidentification.
ZHANG Yansheng, born in 1962, associate professor. His research interests include information and communication engineering, image processing.
收稿日期:2019-04-11;修回日期:2019-07-04;錄用日期:2019-07-04。
作者简介:谢金衡(1998—),男,广东河源人,主要研究方向:目标检测、人脸检测与识别、姿态估计、行人重检测; 张炎生(1962—),男,湖北天门人,副教授,主要研究方向:信息与通信工程、图像处理。
文章编号:1001-9081(2019)12-3659-06 DOI:10.11772/j.issn.1001-9081.2019040600