APP下载

基于深度可分离沙漏网络的快速人脸对齐

2021-08-23贺怀清惠康华

计算机工程与设计 2021年8期
关键词:沙漏关键点人脸

贺怀清,陈 琴,惠康华

(中国民航大学 计算机科学与技术学院,天津 300300)

0 引 言

人脸对齐旨在定位出人脸关键点的位置,一直以来都是计算机视觉领域热门研究方向,被广泛应用于不同的领域,如:人脸识别[1]、人脸跟踪[2]、表情识别[3]。

传统的人脸对齐算法,如:ASM算法[4]、级联回归算法[5],采用表观建模、映射函数等技术直接对人脸图像进行关键点定位,对齐结果受不同的姿态、表情、光照以及遮挡等因素影响较大,而且对齐速度不甚理想。

近年来,卷积神经网络在计算机视觉领域得到迅速的发展,其中最具代表性的工作有ResNet[6]、GoogLeNet[7]、HourglassNet[8]。相比于传统的人脸对齐方法,深度卷积神经网络能提取高层次图像特征,利用坐标回归或者利用回归热图可获得关键点,其更具稳健性。本文基于卷积神经网络,提出了一种提高人脸对齐效率的沙漏网络——深度可分离沙漏网络(depthwise separable hourglass network,DSHN)。

DSHN采用沙漏网络的基础结构、知识蒸馏的思想,训练一个较为复杂,但推理性能良好的大型网络模型,然后利用大型网络诱导目标图像深层次特征,转移潜在知识,构造轻量级网络,且在保证有姿态、表情、光照以及遮挡等多因素影响下可以得到鲁棒性的对齐结果。为了更有效训练轻量级网络,DSHN运用深度可分离卷积(depthwise separable convolutions,DSC),减少输出通道数和卷积核大小之间的相互连接作用,使得网络结构简单化,降低时间复杂度,易于速度提升。

1 相关工作

近年来,卷积神经网络融合不同层次空间尺度特征、提取高层次的图像特征,在解决人脸对齐问题上得到了快速发展。Sun等较早的将卷积神经网络应用到人脸对齐领域[9],通过融合3个阶段的深度级联卷积输出稳健的预测,解决局部最优问题。Fan等在Sun等提出的卷积神经网络基础上,利用多层级联的卷积神经网络的方法来处理模糊或者被遮挡图像[10]。Yang等根据叠层沙漏网络(stacked hourglass network,SHN)的特性[8],采用监督变换和多尺度检测的方法优化复杂环境下存在的遮挡和大的姿态变化问题。Feng等则使用一种基于姿态的数据均衡方法[11],对人脸姿态角度多样而导致的检测精度不高的问题进行改进。SHN经常被用于人脸对齐的领域。比如,Wu等[12]基于SHN的LAB算法应用于人脸对齐取得了很好的效果。

上述方法是依赖训练和部署深度更深、宽度更大的资源密集型的网络来提高人脸对齐的精度,一定程度上限制了它们在机器人、手机这种小型设备中的可扩展性和可部署性[13,14]。Hinton等[13]设计了知识蒸馏的模型,通过知识迁移来实现轻量化的网络,其过程将较为复杂但是推理优越的教师网络用在整体网络的损失中,然后训练出一种简单而且复杂度较为低的学生网络。Howard等[14]为移动端和嵌入式端设计的深度学习网络Mobilenet,虽然检测精度有所下降,但是检测速度明显提高,甚至在小型设备上也能达到理想的速度。Zhang等[15]基于沙漏网络结合知识蒸馏的方法构建一种轻量级、易训练的快速姿态蒸馏模型用于人体姿态检测。

本文提出的DSHN模型,不同于Yang等[8]直接利用SHN提取人脸多层次特征、采用监督变换和多尺度检测进行人脸对齐,而是使用知识蒸馏的思想训练较为复杂、但是推理性能较好的大型教师网络模型,然后利用教师网络提取目标图像深层次特征,转移潜在知识,并且利用深度可分离卷积减少组合特征改进复杂网络,构造轻量级学生沙漏网络。

2 DSHN模型结构

人脸对齐,旨在定位出人脸图像上关键点的位置。DSHN利用知识蒸馏的思想,运用深度可分离沙漏网络对人脸进行关键点检测,其模型主要包括两部分:第一,在知识蒸馏的思想上,利用教师网络提取深层次特征,成功地诱导目标图像深层次特征,转移潜在知识,构造轻量级的学生沙漏网络;第二,在沙漏网络中运用高效的深度可分离卷积,使得网络结构简单化,降低时间复杂度。以下从轻量级沙漏网络、知识蒸馏、深度可分离卷积和算法描述4个方面介绍DSHN模型。

2.1 轻量级沙漏网络

人脸对齐的沙漏网络中一般都由多个重复的沙漏网络组成,如果一直增加网络的深度和宽度,深层次网络训练就会出现瓶颈,发生梯度消失、网络退化现象[16]。在一定程度上,增加沙漏网络模块,会大量增加模型的通道数进而导致网络结构复杂[13,14]。因此,选择降低叠层沙漏网络框架的开销,可以实现更快的对齐,更轻量化的网络框架。如果选择单个沙漏网络,网络结构过于简单,不足以提取足够的特征信息,导致准确度不高的现象出现;如果逐步增加沙漏网络的个数,那么训练的模型会因为特征维度过多导致参数过多、模型过于复杂以及模型的泛化能力降低,最终出现过拟合的现象[13]。

为了让DSHN模型能保留SHN中较高的精度,同时获较快的速度,如图1所示,本文选择结构清晰的8个沙漏模块的神经网络作为教师网络来获取空间的深层次特征,完成特征提取,它能够减少手工标记方法引起的不准确定位,以保证模型精度,教师网络输出8个沙漏网络预测出的热力图,然后利用中间监督模块,记录教师模块中沙漏网络所提取的深层次特征,通过转移教师网络中的有效信息,指导2个沙漏模块的学生网络再次学习,减少关键点信息的丢失,最后结合教师网络输出的热力图中的有效信息和记录关键点坐标的标签得到较为理想、结构简单、轻量化的模型,通过2个沙漏模块的学生网络输出整个网络的预测热力图,最后将预测的热力图转为关键点的位置。学生模型的简化,有利于构造轻量级网络,减少网络通道数,易于速度的提升。

2.2 知识蒸馏

知识蒸馏是利用不同大小的神经网络之间的传递关系将知识从复杂但推理性能优越的大型教师网络迁移到紧凑、精简的学生网络。如图1所示,在教师网络和学生网络模型中每一个沙漏网络后设定一个中间监督机制,中间监督机制用于保留有用的特征信息。在训练过程中,首先训练教师网络,当教师网络收敛后,得到教师网络的目标热力图输出;然后利用中间监督机制保存有效的特征,在学生网络训练的过程中,先对学生网络进行初始化,并且设定正确的预测标签,即关键点的坐标和匹配的教师模型的热图输出,运用概率的有效性将教师网络中有用的信息传播到学生网络中,最后输出双重目标即结合了教师网络信息的学生网络的热图输出,通过转码解码得到最终的定位好的目标图像,学生网络最大的优势在于简单轻量且预测能力接近教师网络。

图1 轻量级沙漏网络基本模型

2.3 深度可分离卷积

沙漏网络含有大量的高级卷积层,在获取更深层次特征时,会出现网络复杂性增加、效率较低的现象,为此在沙漏网络中替换标准卷积,加入深度可分离卷积进行改进。

假设输入特征图E为DE×DE×M,得到的输出特征图P,其中DE表示E的宽和高,M表示输入通道数,DP表示P的宽和高,N表示输出通道数。

在标准卷积层中,如图2(a)所示,标准卷积层中卷积核大小为DK×DK×M×N且含k个参数,其中DK×DK为卷积核大小。假设存在步长为1且有填充的标准卷积,那么输出特征图计算为

图2 标准卷积和深度可分离卷积的对比

(1)

在标准卷积中输出通道数与卷积核大小之间的相互连接作用使计算量增加的非常快,计算开销达到DK×DK×M×N×DE×DE[14]。

针对以上问题,本文利用深度可分离卷积将滤波和组合特征通过分解卷积把标准卷积拆分为两个相对简单的部分[7],即深度卷积和逐点卷积(一个1×1的简单卷积),如图2(b)所示,通过减小输出通道数和卷积核大小间的相互作用,达到减少计算量的目的。在深度可分离卷积训练过程中,深度卷积利用单个滤波器在每一个单一的输入通道滤波来获取输入通道数的深度,它只对输入通道进行卷积,而不进行组合产生新特征。当对每一个通道使用卷积时,其计算量为

(2)

其中,深度卷积K’的卷积核的尺寸DK×DK×M,K’>中第M个卷积核应用于E中的第M个通道来产生第M个通道的卷积输出特征图P’[14]。

下一层利用逐点卷积来对深度卷积的输出进行线性组合从而产生新的特征。采用1×1的卷积内核的目的是增加或者减少图像的深度,帮助网络平衡通道数。另一方面,运用一个1×1的卷积作为非线性的激活层来扩展模型的可行性,增加深度网络的优势,帮助网络提取图像的有效信息。因此,深度可分离卷积的计算量为DK×DK×M×DE×DE+M×N×DE×DE,即深度卷积和1×1的逐点卷积计算量之和。深度可分离卷积实质是将卷积分为滤波和组合的过程,最后到深度可分离卷积的计算量和标准卷积计算量的比值,式(3)如下

(3)

2.4 算法描述

在DSHN模型结构中,不管是教师网络还是学生网络都是基于轻量级沙漏模块组成,这个轻量级网络在保证有姿态、表情、光照以及遮挡等多因素影响下可以得到鲁棒性的对齐结果,同时有效减小网络的通道数,易于速度提升。为了更有效训练轻量级网络,DSHN运用深度可分离卷积,减少输出通道数和卷积核大小之间的相互连接作用,使得网络结构简单化,降低时间复杂度。所以本节对一个轻量级沙漏网络做一个简单的描述。

对于图像经过一个轻量级的沙漏的处理过程如下:

(1)提前采取降采样处理步骤:

1)输入尺寸为128×128人脸图像;

2)预先通过一个卷积模块;

3)利用残差模块进行特征学习;

4)为了使人脸图像尺寸变为32×32来降低计算复杂度,利用最大池化层来进行下采样;

5)最后的特征学习仍采取残差网络学习得到。

(2)轻量级沙漏网络步骤:

1)对上一步中获得的特征图,进一步降采样和升采样操作,并融合多尺度特征;

2)获得融合后多尺度的特征输出。

(3)升采样步骤:

1)为了获得与输入特征图相同大小的热图,对于特征学习仍然采用残差网络进行;

2)经过升采样后通过一层深度可分离卷积输出与输出图像一样大小的热图,其尺寸为128×128。

单个轻量级沙漏各层结构详细情况见表1。

表1 单个轻量级沙漏网络各层结构

模型的时间复杂度决定了整个模型训练或者预测的时间。卷积神经网络整体的时间复杂度如下

(4)

神经网络整体的空间复杂度有两部分组成,包括模型所有带参数的层的权重参数总和称谓总参数量和模型在实际运行过程中每一层所计算出的输出特征图大小称为各层输出特征图,计算公式为式(5)

(5)

3 实验结果与分析

本节利用300w数据集和WFLW数据集进行实验,验证DSHN模型的有效性。首先利用知识蒸馏在教师网络的指导下,训练出简单易于训练且效率较高的具有深度可分离卷积的学生沙漏网络,然后深度可分离卷积逐步替换标准卷积,验证深度可分离卷积能使网络简单化同时降低时间复杂度达到轻量化的效果,最后将DSHN网络的结果与近年主流的人脸对齐算法进行比较,结果表明,DSHN网络用于人脸对齐的精度和主流人脸对齐精度基本一致。

3.1 实验数据介绍

300w数据集,包含AFW、Helen、IBUG、LFPW等数据集,由3837张自然场景下的人脸图像共同组成的一个人脸数据库[17],其中每张图像只标注一张人脸,每张图像有68个关键点被标注。WFLW数据集,包含10 000张自然场景下的人脸图像,其中每张图像有98个关键点被标注[12]。如图3所示,是68个关键点和98个关键点的平均形状。

图3 不同关键点的平均形状

相对于300w数据集而言,WFLW数据集包含遮挡、姿势变换、光照变化、夸张表情、妆容差别和模糊变化等更大的差距,更能客观评估在复杂情况下人脸对齐的相关性能。但是300w数据集和WFLW数据集存在一个共同的问题:人脸图像的总数偏少。为了避免出现数据过拟合现象,对图像进行旋转变换、尺度放缩、翻转和颜色干扰等数据增强[12]。虽然回归热图在检测和关键点预测中有着鲁棒性高和性能好的优势,但是全卷积中存在的损失是真实的热力图和预测的热力图之间的差异,同时全卷积网络在进行卷积操作时计算量会随着特征图的尺寸变大而增加;另一方面,如果热力图与预测图像的尺寸不相同会引起量化的误差。综合以上因素,实验中数据的输入采用尺寸为128×128图像,输出采用尺寸为128×128的热力图。为了实验计算方便网络批尺寸(batch-size)设置为10。一般而言,较小的学习率是需要更多训练时期,为了避免误差,批尺寸较小的更适合于较小的学习率。结合叠层沙漏网络在人脸对齐的实验,初始网络的学习率设置为2.5e-4,训练总迭代数为100 000个,当选择迭代总数量为40 000个时,学习率将变为初始学习率的一半,网络中选择Adam作为优化器,其中一个优化器参数设置为0.5,另一个优化器参数设置为0.999。在实验过程中,为了更具有一般性,对训练的样本采取翻转的措施,获得两倍的人脸形状,然后利用k-means算法对人脸样本聚类,聚类后可获得500类,为了更具有准确性,在后续实验中选取最相似的50类进行实验[18]。

在训练阶段,需要准备输入的图像和对应的热力图,为了避免实验中产生量化误差,热力图和输入图像将采用相同的尺寸。假设人脸有n个关键点,那么将对应n个二维的热力图。实验中,二值交叉熵损失(binary cross entropy,BCE)和均方误差(mean-square error,MSE)[15]将作为损失函数。在测试时,通过输入图像得到的相应的热图,再对输出的热图进行取最大值操作,其中最大值所在的索引则为关键点的位置。

3.2 评价指标

实验中样本间存在的形状和尺度等差异增加了样本间的对齐精度的对比难度。为了对样本间进行精度对比,给定预测的关键点和真实的关键点的坐标,采用归一化均方误差(normalized mean error,NME)[12]来评估人脸对齐性能。计算公式如下表示

(6)

其中,Nt为测试集中人脸图像的数量,i为人脸图像编号,j为关键点编号,pi,j和gi,j分别表示预测的关键点和真实的关键点相应位置。di表示第i张图像的归一化的距离。常见的归一化距离有双眼中心的欧式距离、双眼外眼角的欧式距离。为了提高实验的可靠性,本文采用双眼中心和双眼外眼角欧式距离分别对DSHN网络进行评价。

3.3 实验环境

本文实验使用的计算机配置为Ubuntu 18.04.3操作系统,Intel Core i5 处理器,内存为8 GB,显卡为NVIDIA Tesla k20m,开发环境使用的是Pycharm,利用Python3.7.4和pytorch1.0.0结合完成。

3.4 模型训练

对于DSHN模型训练方法包括两个阶段:①利用8模块沙漏网络为基础训练一个人脸对齐的教师模型;②利用中间监督机制和8模块沙漏网络提取的有效信息为2模块沙漏网络的学生模型的训练提供参考。从教师网络到目标模型过程中,知识蒸馏被用于每个中间监督机制中,并且贯穿整个网络。在测试过程,由于目标网络可以提取大型教师网络里面有效的信息,所以利用轻量级的学生网络进行检测可以得到较高的效率。

3.5 对比实验结果与分析

本节使用300w数据集和WFLW数据集两个人脸对齐公开数据集,分别对DSHN网络进行训练和测试。通过在沙漏网络中逐步加入深度可分离卷积,对模型的速度、对齐精度进行比较;为了让实验更具有一般性,与主流的人脸对齐的精度进行比较。实验结果表明,对齐精度在基本保持不变的情况下,能获得较快的速度,有效克服了网络结构复杂导致的效率低的问题。

3.5.1 300w数据集实验对比结果与分析

为了验证深度可分离卷积加入沙漏网络后的优势,在300w数据集上进行了实验对比。不失一般性,在训练过程中,利用300w的测试数据集中的AFW数据集(337张图像)、Helen训练集(2000张图像)和LFPW训练集(881张图像)进行,训练样本一共包含3148张人脸图像。在整理网络模型测试时使用LFPW测试集(224张图像)、Helen测试集(330张图像)和IBUG数据集(135张图像)进行,该测试样本一共有689张人脸图像。由于每一张人脸图像具有一定的差别,所以测试集中普通的LFPW测试集和Helen测试集共同构成普通集(common set),变化较大的IBUG测试集构成挑战集(challenging set)[12]。

在沙漏网络中存在多个标准卷级模块,为了明确深度可分离卷积在DSHN网络中起到的重要作用,将标准卷积模块逐个更换为深度可分离卷积,并且从眼中心归一化均方误差、速度两个方面分别在普通集、挑战集、全集上进行对比,得到速度在不加入深度可分离卷积前的提高比,普通集实验结果见表2,挑战集实验结果见表3,全集实验结果见表4,其中表格中列出一个标准卷积模块更换为DSC模块、2个标准卷积模块更换为DSC模块和沙漏网络中全部的标准卷积模块更换为DSC模块。

表2 深度可分离卷积加入沙漏网络在300w 普通集结果对比

表3 深度可分离卷积加入沙漏网络在300w 挑战集结果对比

表4 深度可分离卷积加入沙漏网络在300w 全集结果对比

对于深度可分离网络在300w普通集上实验结果,首先在8模块沙漏模块的教师网络中,通过提取特征点信息,输出该图像的热力图,然后通过中间监督机制传给学生网络,学生网络对最开始的输入的图像进行训练,结合教师网络的有效信息和记录关键点坐标的标签信息,输出学生网络的热力图,然后对学生网络的热力图进行解码操作,最终获得目标网络输出的预测的关键点坐标。在300w普通集的预测结果眼中心归一化均方误差为3.95%,对齐速度为0.51张/s。相对于原基础网络,DSHN网络精度略有降低,但是速度有较为明显的提高。原因如下,由于教师网络联合中间监督机制,为学生网络提供有效完整的信息,因此网络模块的精度基本保持不变;另一方面,沙漏网络中存在大量的标准卷积,用DSC逐层替换标准卷积,有效减小输出通道数和卷积核间的相互作用,有利于对齐速度的提高。

3.5.2 多方法300w实验对比结果与分析

表5为主流人脸对齐算法在300w数据集上的双眼中心的欧式距离的归一化误差比较。综合主流的人脸对齐算法LBF[19]、MDM[20]、DNA[21]、SHN[8]、LAB[12]来看,加入DSHN网络对齐精度超越了大多数主流的人脸对齐算法。其中LAB是2018年人脸对齐最有优势的算法。在300w的普通数据集上,DSHN算法中眼中心距离的NME比LAB的略高;但是在挑战集上,DSHN算法眼中心距离的NME比LAB的略低。这也进一步验证了300w数据集在普通集和挑战集是有差异的。针对此效果分析,由于LAB中采用了8个叠层沙漏网络,网络结构相对于轻量级的网络更复杂,文本采用DSHN结构是加入深度可分离的2个轻量级沙漏网络,因此对齐精度会略有降低,但是轻量级网络达到了降低网络的计算量和模型的复杂度的目的,同时也防止网络退化、梯度下降的现象发生,这样更加有利于模型的计算和训练。图4为300w数据集上的测试结果,这些人脸图像包含了人脸表情变换,大量遮挡、夸张表情,都取得了不错的效果。

表5 300w数据集上人脸对齐的结果对比(眼中心距离)

图4 300w数据集上对齐效果

进一步地,为了让实验具有一般性,给出表6,利用外眼角的欧式距离来作为归一化目标对比结果。PCD-CNN[22]、SAN[23]、HRNet[24]、LAB[12]是近两年的人脸对齐相关算法。通过表6可以看出,当选择外眼角的欧式距离来作为归一化目标时,DSHN算法的人脸对齐精度在300w的普通数据集、挑战集、全集上是最有优势的,这充分体现沙漏网络用于人脸对齐上是可取的。

表6 300w数据集上人脸对齐的结果对比(外眼角距离)

通过对表5、表6中300w数据集在人脸对齐的实验结果分析,本文的DSHN方法用于人脸对齐上具有一定优势。但是300w的训练集具有一定的局限性的:一方面,测试集数据量相对较少,仅有3148张人脸图像;另一方面,普通集和挑战集的人脸图像相对简单。所以为了得到更可靠的实验结果,采用数据变化更大的数据集进一步验证。

3.5.3 WFLW数据集实验对比结果与分析

为了避免300w数据集的局限性对整体实验一般性的影响,采用具有多种变化的WFLW数据集进行实验对比,进一步验证加入DSHN网络的性能。这里采用外眼角的欧式距离作为归一化距离来作为数据集的评价指标。实验过程中按层次替换沙漏网络,最终在速度和数据规模两个方面进行比较,对比实验结果见表7。实验结果表明,本文提出的DSHN网络在WFLW复杂的数据集上对齐速度也有较好的提升。

表7 DSHN方法在WFLW全集上对比结果

为了客观评价在复杂情况下DSHN网络性能,测试时,利用表情、妆容、姿态、光照、遮挡、模糊6个测试集进行,实验结果见表8。与显式形状回归ESR算法对比,取得明显的改进效果,这也是表明DSHN模型明显优于级联回归模型。由于WFLW数据集是2018年公布的,距离现在时间比较短,对比实验相对较少,但是LAB算法在WFLW数据集上效果非常好,很具有代表性,实验结果显示DSHN方法在模糊和姿态数据集上比LAB算法略好,其它略低于先进的LAB算法。原因如下:相对于含有复杂网络的LAB算法,DSHN模型利用知识蒸馏保存教师网络中多层次特征信息,而且学生网络的轻量化降低时间复杂度,减少网络复杂性,这不仅适合相对简单的场景下人脸图像,也适合环境多变、情况复杂的人脸图像,该算法具有普遍性。

表8 WFLW数据集上人脸对齐的结果对比(眼中心距离)

从结果可以看到,本文DSHN方法在保证人脸对齐精度和主流的人脸对齐算法的精度基本一致的情况下,对齐速度相比于原来沙漏网络有着较为明显的优势。另外,DSHN模型相比于SHN模型更简单轻量化、更易于实现。

4 结束语

本文基于叠层沙漏网络设计一种带有深度可分离卷积的轻量级网络结构。通过知识蒸馏构造轻量级沙漏网络,实现了网络结构的简单化;利用深度可分离卷积,压缩大型网络,降低网络参数及其冗余度,增加可扩展性。实验结果表明,DSHN构造了一个轻量级网络,其对齐精度接近主流的方法,同时对齐速度具有明显的优势,解决了网络结构复杂、时间开销大的问题,这为移动端和嵌入式设备提供了一种有效的参考模型。在今后的研究中将从人脸对齐精度进一步优化带有深度可分离卷积的沙漏网络模型,实现更准确的人脸对齐。

猜你喜欢

沙漏关键点人脸
聚焦金属关键点
肉兔育肥抓好七个关键点
有特点的人脸
一起学画人脸
三国漫——人脸解锁
有趣的沙漏
DIY装饰沙漏
DIY装饰沙漏
回忆的沙漏
医联体要把握三个关键点