APP下载

基于多分支CNN和多尺度特征融合的非受控人脸年龄估计

2022-08-29王新月钟福金

关键词:全局特征提取人脸

王新月,钟福金

(重庆邮电大学 计算机科学与技术学院,重庆 400065)

0 引 言

年龄作为一种重要的生物特征,在人类社会的交互中起着基础性的作用。因此,基于人脸图像的年龄估计成为人工智能领域中的一个活跃的研究课题,被广泛应用于年龄的人机交互系统、安全控制、法医学等多个智能领域[1-4]。早期的人脸年龄估计研究使用手工设计的模型来提取特征从而进行年龄估计,但在非受控环境下,这些方法未能取得满意的结果[5]。随着深度学习的飞速发展,现在的研究大部分采用卷积神经网络(convolutional neural networks,CNN)自动提取图像的特征表示,年龄估计精度得到了极大的提高。然而,提取老化特征极易受到姿态变化、光照程度、化妆、表情、遮挡等因素的影响;其次,现有的方法不能很好地处理相邻年龄人脸图像的显著相似性和细微差异性,非受控人脸年龄估计仍然是一项极具挑战的工作。

近年来,研究者将CNN运用于人脸年龄估计任务中,并获得较好的成果。文献[6]提出一种多尺度CNN网络,有效减少了图像平移和姿势变化对年龄估计性能的影响。此外,文献[6]将面部图像剪裁为多个尺度的局部图像块,将局部图像块剪裁成多尺度图像块输入至并行的CNN中,利用不同部位和尺度之间的互补性提高年龄估计性能。然而该网络未涉及到与年龄变化相关的局部特征的捕获。为了捕获具有判别力的局部特征,文献[7]提出了一种前馈注意力机制网络,该网络由“Where”CNN和“What”CNN串联组成,首先由“Where”CNN发现给定面孔中最有用和最可靠的部分,然后输入到后续CNN中进行年龄估计,该网络仅使用局部特征进行年龄估计。一些研究表明,仅使用面部的整体特征,网络会忽略关键的细节特征(例如皱纹和斑块)、而仅使用对年龄敏感的局部特征,又会丢失面部的结构信息。为了将全局特征和局部特征较好地结合起来,文献[8]通过输入特征模块提取全局特征,在提取全局特征的基础之上使用长短时记忆网络(long short-term memory,LSTM)自动获取年龄敏感区域的局部特征,结合全局年龄预测和局部年龄预测计算输出最终的年龄预测。但该方法仅是将细节区域特征与人脸全局特征进行预测级融合,忽略了全局-局部信息的关联性。为了解决此问题,文献[9]提出了一种深度混合对齐结构(deep hybrid alighed architecture,DHAA),该结构包含全局、局部和全局-局部的网络分支捕获多种类型的特征补充信息,在每个子网中的末端采用循环融合的方式探索不同区域之间的相关性。DHAA较好地探索了全局特征和局部特征的关联性并进行了全局-局部特征融合,但由于在特征提取阶段不同网络分支之间存在结合且分支数多,该网络结构复杂、参数量较大。

为了较好地进行兼顾全局-局部细节的特征表达,本文设计了一种用于非受控人脸年龄估计的基于多分支CNN和多尺度特征融合的网络模型。该方法既能保留面部图像的结构信息,又能有效捕获具有判别力的细粒度特征。具体地,该模型由图像分块模块、多分支CNN特征提取模块和多尺度特征融合模块组成。首先,图像分块模型获得包含人脸的全局特征和包含局部细节的细粒度特征2种类型的图像块;然后,将其输入到多分支CNN特征提取模块中进行深层全局特征和深层局部提取;最后,多尺度特征融合模块融合各局部特征,将融合得到的特征与全局特征进行拼接得到最终的年龄特征。本文的主要工作如下。

①设计一种新颖的年龄特征融合网络,该网络通过多尺度特征融合模块探索不同局部区域特征之间的相关性信息以进行局部特征选择,将融合得到的局部特征与全局特征进行拼接,进一步减少年龄估计误差。

②提出一种基于多分支CNN和多尺度特征融合的人脸年龄估计方法,该方法可以有效捕获与年龄变化高度相关的局部细节,并保留面部的整体结构,从而进行兼顾全局-局部细节的特征表达。

③根据3个常见的人脸年龄数据集(FG-NET[10]、LAP2016[11]和MORPH-Album2[12])上的实验结果表明,本文提出的方法是有效的。

1 相关研究工作

1.1 特征提取

研究表明,当训练数据足够大时,深度卷积神经网络模型可以学习紧凑而有区别的特征表示,因此,越来越多的研究人员使用CNN进行人脸年龄特征提取,尤其是在非受控环境下,人脸年龄估计的准确率显著提高。文献[13]提出3个卷积层、2个池化层和1个全连接层的深度卷积神经网络(deep convolutional neural network,DCNN)提取人脸年龄特征,使用边界费舍尔分析(marginal Fisher analysis,MAF)、局部敏感判别分析(locality sensitive discriminant analysis,LSDA)对年龄特征进行降维,并使用回归方法进行年龄估计。文献[14]提出深度期望算法(deep expectation algorithm,DEX),将VGG-16网络的最后一层神经元改成相应的年龄类别从而进行特征提取及年龄分类。虽然这些网络在年龄估计中取得了较好的效果,但它们庞大的网络和巨大的参数量并不适用于计算资源有限的平台。因此,一些具有较小内存的紧凑型轻量模型被提出,例如DenseNet15]和MobileNet[16]通过深度可分离卷积代替标准卷积来减少参数和计算量,但随着参数量的下降,模型的表示能力被削弱。结合深度卷积神经网络模型良好的特征表达能力和轻量级网络模型参数少的优点,本文提出一种多分支CNN特征提取网络,该网络由VGG-16[17]、ResNet-50[18]和MobileNetV1和MobileNetV2[19]组成,包含1个全局分支、3个局部分支用以提取全局特征及局部特征。该网络具有较好的特征学习能力。

1.2 LSTM网络

作为一种特定的递归神经网络体系结构,LSTM[20]有效克服了传统循环神经网络(recurrent neural network,RNN)容易出现梯度消失或梯度爆炸的弱点,适合处理和预测时间序列中间隔和延迟相对较长的情况。LSTM结构将RNN中的每个隐藏单元换成了具有记忆功能的单元,而门限机制使得它可以维持较长时间的时间储存信息,进而避免了梯度消失的问题。每个单元中设置输入门、遗忘门和输出门,利用sigmoid激活函数控制网络中信息的传递过程,更新当前时刻的信息,再分配下一时刻网络需要的信息。对于人脸年龄估计而言,可将从给定图像中不同位置提取的特征转化为序列的形式,这样可加强图像之间的相互依赖关系,更好地融合局部特征进行局部特征选择。受此启发,本文设计一种多尺度特征融合模块,在每个局部分支末端,采用LSTM网络来探索面部区域特征之间的相关性信息,从而达到局部特征选择的目的。

2 多分支CNN和多尺度特征融合网络

本文设计的基于多分支CNN和多尺度特征融合的网络模型如图1所示。主要包括:图像分块模块、多分支CNN特征提取模块和多尺度特征融合模块。首先将人脸图像输入到图像分块模块中获取多个图像块,将其分别输入到由ResNet-50、VGG-16、MobileNetV1和MobileNetV2组成的多分支CNN网络模型中进行特征提取,得到相应的深层特征表示;然后使用特征融合网络融合3个局部图像块的特征得到最终的局部特征;最后将全局特征和局部特征进行串接。网络既保留了面部的整体结构,又能捕获有效的局部区域进行兼顾全局-局部细节的特征表达,从而提高年龄估计的精度。该文将详细阐述各个模块。

图1 多分支CNN和多尺度特征融合网络结构

2.1 图像分块

年龄估计的难点之一在于相邻年龄的面部相似性,本文利用与年龄变化高度相关的局部特征使年龄估计不仅仅局限于基于全局特征,并通过融合局部特征来提高上下文年龄信息的相关性,从而提高年龄估计的精度。现在的大多数研究使用ROI pooling生成局部区域[21],然而这种方式很难处理由于面部姿态变化引起的区域失准问题,为了准确获得与年龄变化高度相关的局部区域特征,本文采用了基于人脸关键点对齐的局部区域剪裁方法,减少所选区域中的未对准情况,有助于网络提取更有效的区域特征。图像分块模块如图2所示,首先利用Dlib库[22]对人脸关键点进行检测定位,根据眼睛、嘴巴、鼻子的关键点坐标计算仿射矩阵,进行仿射变换,进而使人脸对齐。然后根据设定的坐标剪裁出子区域,将其作为不同网络分支的输入。基于Dlib库的人脸关键点定位可得到68个关键点,用序号1-68表示。具体子区域裁剪方式如下。

图2 图像分块模块

1)剪裁整张脸部区域:以点1到17的距离为长,以点25到9为宽切割方形。

2)裁剪眼睛区域:以点18到27的距离为长,点25到30的距离为宽切割方形。

3)剪裁鼻子区域:以点29到34的距离为长,点41到48的距离为宽切割方形。

4)剪裁嘴巴区域:以点49到55的距离为长,点34到6与12之间的线段的距离为宽切割方形。

2.2 多分支CNN特征提取网络

随着深度学习的发展,深度神经网络可以自动提取人脸年龄特征进行年龄估计。一般地,卷积神经网络首先使用一定尺寸的卷积核按从左至右、从上到下的顺序扫描整张图片捕获图像的浅层特征。随着网络层数的加深,卷积层的感受野逐渐扩大用于捕获更深层、语义更丰富的信息;但随着网络层数的加深,会出现梯度消失或者梯度爆炸问题。为了解决深度神经网络的网络退化问题,残差网络通过短路连接方式在一般卷积神经网络的基础上加入身份映射层构成残差块结构,通过多个残差块的堆叠有效解决了网络衰减问题。基于残差网络的优越性能,本文考虑采用ResNet-50作为特征提取模型。本文所提出的方法包括4个分支,4个分支均采用ResNet-50作为特征提取模型,在实验过程中发现网络的训练极为缓慢,且参数量巨大。在已有的研究成果中,文献[14]基于VGG网络提出深度期望(deep expectation, DEX)网络进行表象年龄估计,获得ChaLearn2015人脸表象年龄估计竞赛冠军;文献[16,19]提出轻量级网络,在不降低精度的情况下极大地减少了网络的参数量。受此启发,本文采用ResNet-50、VGG-16、MobileNetV1和MobileNetV2作为4个分支的提取模型。相较于4个分支均采用ResNet-50,该网络的参数量相对较小。

2.2.1 全局支路提取全局特征

图像分块模块根据人脸关键点坐标剪裁得到包含整张人脸的全局图像,重新调整大小后得到224×224×3的全局图像作为ResNet-50的输入,ResNet-50由多个不同残差块(residual block,RB)的堆栈组成,残差块由卷积块(conv block)以及恒等块(identity bock)构成,其中,卷积块中输入维度不等于输出维度,它的作用是改变网络的维度,恒等块中输入维度和输出维度相同,可以串联用于加深网络。该文全局特征由stage1→stage2→stage3→stage4→stage5进行特征提取。

stage1中,全局图像由7×7的卷积核进行特征提取,并且全局图像的长宽降为原先的二分之一;随后经过一个最大池化层,进一步降低图像分辨率,得到输出为112×112×64的特征图;stage2中的基本组件为1个卷积块及2个恒等块。112×112×64的特征图由1×1、3×3、1×1的卷积核进行特征提取,经过2个串联的恒等块,由1×1、3×3、1×1的卷积核进行特征提取,并以越层连接的方式进行残差映射,得到56×56×256的特征图;stage3中,有1个卷积块及3个恒等块顺次连接。56×56×256的特征图由1×1、3×3、1×1的卷积核进行特征提取,经过2个串联的恒等块进行特征提取及残差映射,得到28×28×512的特征图;stage4中,有1个卷积块及5个恒等块顺次连接。28×28×512的特征图由1×1、3×3、1×1的卷积核进行特征提取,经过5个串联的恒等块进行特征提取及残差映射,得到14×14×1 024的特征图;stage5中,有1个卷积块及5个恒等块顺次连接。14×14×1 024的特征图由1×1、3×3、1×1的卷积核进行特征提取,经过5个串联的恒等块进行特征提取及残差映射,得到7×7×2 048的特征图。为方便后续多尺度融合网络进行特征融合,本文将7×7×2 048的特征图输入至一个平均池化层及Flatten层,得到512维的特征向量,作为后续网络的输入。

2.2.2 局部支路提取局部特征

细粒度年龄估计依赖于精准的定位局部区域。眼睛、鼻子、嘴巴是人脸面部的重要组成,且随着年龄的增大呈现某种规律性的老化过程。例如随着年龄的增大,眼睛会往里凹陷,眼角以及嘴角会出现皱纹等。本文根据眼睛、鼻子、嘴巴在面部中的位置,将人脸图像分为4个尺度的图像块:包含整张人脸特征的全局图像、包含眼睛及其周围的局部图像、包含鼻子及其周围的局部图像、包含嘴巴及其周围的局部图像。为了提取对年龄估计最有效的局部特征,该文使用VGG16、MobileNetV1以及MobileNetV2分别提取上述3个局部图像的特征。

VGG-16网络由5段Block和3个全连接层组成,其中每段Block中的基本组件为卷积及池化,每个卷积层中卷积核的尺寸是3,池化层均采用相同的卷积核参数来缩小图片尺寸。首先,将224×224×3的局部图像输入至Block1,Block1中包含2个卷积层及1个池化层,局部图像由64个3×3的卷积核进行特征提取得到224×224×64的特征图,最大池化层对其进行尺寸缩减得到112×112×64的特征图。然而,该特征图进入到Block2,Block2中包含2个卷积层及1个池化层,同样分别由128个3×3的卷积核进行特征提取得到112×112×128的特征图,对其进行尺寸缩减得到56×56×128的特征图。该特征图顺次经过Block3得到28×28×256的特征图,经过Block4得到的14×14×512特征图,经过Block5后得到7×7×512的特征图。最后,为了方便后续特征融合,本文将其进行尺寸变换得到1×1×512的特征图。MobileNetV1及MobileNetV2提取剩余2个图像块的局部特征,输出均为7×7×512的特征图。同样,为了后续进行特征融合,将其进行尺寸变化得到1×1×512的特征图。

2.3 多尺度特征融合

LSTM的“门”结构(输入门、输出门和遗忘门)可通过隐藏层中的节点捕获序列化数据中的动态信息处理与时间序列相关的问题,例如对视频、语音等序列化数据进行分类。考虑到人脸的老化随着年龄的增大呈现某种规律性变化,相邻的面部衰老与时间顺序有关,本文将相邻年龄的人脸老化视为序列化问题。为了探索3种局部特征的相关性信息以便对局部特征做进一步选择,该文基于LSTM网络构造了一种多尺度特征融合网络,该网络通过融合3个不同的局部特征探索不同年龄的局部图像的相关性信息,对局部特征进行进一步选择。对每张人脸图像,多尺度特征融合网络选择对年龄估计贡献最高的局部特征,从而提高人脸年龄估计的准确率。

多尺度特征融合的步骤如下:首先,本文将提取得到的3个7×7×512局部特征图变换维度得到局部特征图,将其进行串接得到尺寸为1×1×512的特征图,本文将该图作为多尺度特征融合网络的输入特征图;然后,多尺度特征融合网络对序列化的年龄特征进行融合,通过局部特征间的相关性信息对局部特征做进一步自适应选择;最后,将选择得到的局部特征与全局特征进行拼接得到最终的人脸年龄特征表示。该特征表示既保留了面部图像的整体结构,又捕获了与年龄估计相关的细粒度特征。多尺度特征融合网络结构如图3所示。

图3 多尺度特征融合模块

3 实验结果及分析

3.1 实验设置

实验采用3个常见的人脸年龄数据集(FG-NET,LAP2016,MORPH Album2,)来评估本文提出的方法,人脸示例图如图4所示。FG-NET数据集包含82个人的1 002幅图像,年龄从0岁到69岁,人均约12张人脸图像,人脸示例图见图4a。本文在FG-NET数据上遵循了标准的留一交叉验证协议(leave one out-cross validation,LOO-CV),使用82次分割的平均性能作为实验的最终结果。LAP2016包含7 591幅图像,年龄范围为0到100岁共101类,人脸示例图见图4b。其中,4 113幅图像用于训练,1 500幅图像用于验证,1 979幅图像用于测试。MORPH Album2数据集包含了13 000人的55 132张人脸图像,年龄为16—77岁人脸示例图见图4c。尽管这是一个很好的大型年龄数据集,但性别和种族分布不均匀,其中男女比例约为5.5∶1,白人黑人比例约为4∶1。为了减少跨种族、性别带来的影响,同时与其他对比算法保持一致,本文采用经典的协议S1-S2-S3协议来进行评估。该协议中数据集被拆分为3个互不重叠的子集,每个子集中男女比例为3∶2,黑白比例为1∶1。实验重复2次:使用S1进行训练,S2+S3进行测试;S2进行训练,S1+S3进行测试,最后取2次测试的平均结果作为实验结果。特别地,MORPH Album2数据集中没有验证集,故在该数据集上训练时学习率与另外2个数据集中保持一致。其中,MORPH Album2、FG-NET采用平均绝对误差(mean absolute error,MAE)作为评价指标,LAP2016采用ε-error作为评价指标。

图4 FG-NET、LAP2016和MORPH Album2的示例图

本实验采用深度学习框架Tensorflow(v1.14.0),服务器的各项配置为Ubuntu 16.04,NVIDIA 2080ti GPUs,CUDNN v 7.6.5,CUDA v 10.0,网络学习率为0.01,每次迭代的批处理大小为16,训练模型时采用Adadelta优化算法。在对比实验中采用固定大小的矩形框剪裁图像块,在最终实验中采用haar模块检测面部组件进而剪裁图像块。

3.2 模块分析实验

3.2.1 全局特征与局部特征选择

本文设计的多尺度特征融合模块可有效捕获不同局部区域特征之间的相关性信息,使网络注意到与年龄敏感的局部区域,从而较好地进行兼顾全局-局部细节的特征表达。为从数据层面验证本文提出的方法的有效性,本文在MORPH Album2及LAP2016数据集上,保持各项设置相同,针对全局区域和局部区域的不同结合方式进行对比实验分析。

对比实验结果如表1所示。从表1中第1行(仅使用局部特征)和第2行(仅使用全局特征)结果可知,使用2种类型特征的性能优于使用一种类型特征的性能。从表1中第3、4、5行实验结果可知,使用3种特征的效果优于使用2种特征的效果。综合不同的特征在MORPH Album2以及LAP2016数据集上的表现,本文使用整张人脸结合眼睛、鼻子、嘴巴区域,结果显示其实验效果优于其他3种结合方式,进一步验证了该方法的有效性。

表1 不同特征结合在LAP2016数据集实验对比

表2 不同特征结合在MORPH Album2数据集实验对比

3.2.2 融合特征选择

本文设计的多尺度特征融合模块可有效探索人脸区域间的相关性信息。模型训练时,网络根据相关性信息进行局部特征选择,进而使网络注意到与年龄敏感的局部区域,从而较好地进行兼顾全局-局部细节的特征表达。为验证该模块的有效性,本文在LAP2016数据集上进行以下对比实验。

1)融合眼睛、鼻子、嘴巴区域,再与整张人脸特征拼接(本文方法)。

2)融合整张人脸、眼睛、嘴巴区域,再与鼻子区域特征拼接。

3)融合整张人脸、鼻子、嘴巴区域,再与眼睛区域特征拼接。

4)融合整张人脸、鼻子、眼睛区域,再与嘴巴区域特征拼接。

不同融合方式在LAP2016上验证集上的性能如图5所示。图5中,黄色曲线表示本文所采用的特征融合方法,其他3种曲线为上述不同的融合方法,从图5中可知,相比其他3种特征融合方式,本文的特征融合方式所取得的ε-error最小,即在LAP2016中的验证集上表现最优,进一步验证了本文所使用的多尺度特征融合网络的有效性。

图5 不同融合方式在LAP2016上验证集上的ε-error值变化

3.2.3 可视化分析

为从图像层面更直观地证明多尺度特征提取网络的有效性,本文对网络的高层卷积层求导,获取网络的输出对该卷积层的特征响应图,可视化结果如图6所示。从图6可看出,仅使用局部特征无法使网络突出年龄敏感区域(例如头、眼、嘴角和皱纹),相反会使网络注意到一些与年龄变化无关的信息,不利于网络进行人脸年龄估计,例如图6b中的第一幅图。而从图6c中的可视化结果可知,该文提出的多尺度特征融合网络可有效消除一些与年龄无关的信息,很好地学习利用年龄敏感区域中的信息,然后强调这些区域中的特征。

图6 可视化结果图

3.3 对比实验分析

为了验证本文方法的有效性,将其与近几年几种典型的年龄估计方法进行了对比,实验结果如表3、表4所示。

表3 各先进方法在MORPH Album2和FG-NET上的性能

表4 各先进方法在LAP2016数据集的性能

从表3可知,该文在FG-NET数据集中获得2.35的MAE,优于其他3种算法。在MORPH Album2数据集上获得的MAE为2.98,AL-RoR-34算法使用一个大型人脸数据集IMDB-WIKI-101对训练好的模型进行微调获得当时最优结果,而本文并未使用该数据集对模型进行微调,提出的方法在MORPH Album2数据集上与AL-RoR-34仅相差0.62。从表4中可知,该文在LAP2016数据集中取得的ε-error为0.270 8,优于其他2种算法,进一步证明该文提出的基于多分支CNN和多尺度特征融合的非受控人脸年龄估计的有效性。

4 结 论

本文设计了一种新颖的特征融合网络,该网络可有效融合3种局部特征加强对局部特征的关注,构造了一种用于人脸年龄估计的多分支CNN和多尺度特征融合网络结构。通过人脸关键点的局部区域剪裁得到3种局部区域,使用一个多分支CNN特征提取网络提取对应的全局和局部特征,在3个局部分支的末端使用多尺度特征融合网络探索不同局部特征间的相关性信息从而进行局部特征选择,将融合得到的局部特征与全局特征进行拼接得到兼顾全局-局部细节的年龄特征。实验结果表明,在3个常用的年龄数据集MORPH Album2、FG-NET及LAP2016上,相较于近几年的几种人脸年龄估计方法,本文提出的方法是有效的。

猜你喜欢

全局特征提取人脸
基于改进空间通道信息的全局烟雾注意网络
有特点的人脸
一起学画人脸
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取
三国漫——人脸解锁
落子山东,意在全局
记忆型非经典扩散方程在中的全局吸引子