人脸图像包含很多信息,如身份、表情、姿态、性别和年龄, 其中,年龄是人的重要生物特征,可以应用于多种场景:如基于年龄的人机交互系统,根据用户的不同年龄,提供不同的交互界面,更好地为用户服务;基于年龄的访问控制,如禁止未成年人访问色情网站、购买烟酒等;电子商务中个性营销,针对不同年龄段的用户采用不同的营销手段;刑事案件侦查中的年龄过滤等[1]。然而在这些应用中,人脸图像往往受到面部姿态、光线、化妆和背景等影响[2],极大地限制了人脸年龄估计准确性,所以非受限条件下的人脸图像年龄分类问题面临巨大挑战。
自20世纪70年代以来,许多学者在人脸图像年龄估计方面作了大量研究[2-8],并取得了丰硕的研究成果:早期,文献[9]基于面部特征之间的不同比率将年龄分为婴儿、青年、老年三类; 文献[10]采用Hough变换提取人脸的纹理特征,将人脸图像按照10岁一个年龄段进行分类; 文献[11]使用Sobel算子进行面部和颈部皱纹边缘检测,实现了较高精度的年龄分类; 文献[12]提出用主动外观模型(Active Appearance Model,AAM)[13]提取特征进行人脸年龄分类,并在AAM特征的基础上,使用二次回归函数来拟合年龄函数模型[14]; 文献[15]结合生物启发特征(Biologically Inspired Feature,BIF)和流行学方法对年龄分类,较好地提升了分类效果; 文献[16]提出基于全局和局部面部特征的分层分类器,使用Gabor和局部二值模式(Local Binary Pattern,LBP)[17]提取特征实现了更好的年龄分类。文献[2]采用LBP及dropout-SVM方法,获得了较好的年龄分类效果。但这些方法只适用于受限条件下的人脸年龄分类,在非受限条件下效果较差。
21世纪以来,深度卷积神经网络(Deep Convolutional Neural Network, DCNN)为计算机视觉领域带来了革命性的发展,在计算机视觉各项任务中都取得了显著成果。越来越多的学者开始采用卷积神经网络进行人脸图像年龄分类。文献[18]首次把DCNN应用于非受限的人脸图像年龄分类,在非受限Adience数据集[2]上进行年龄分类,获得了较好的年龄分类效果。文献[19]提出使用二次光滑自适应激活函数(Smooth Adaptive Activation Function,SAAF)的方法,采用近似VGG(Visual Geometry Group)的网络,在Adience数据集上获得了更高的准确度。文献[20]提出一种链式性别及年龄的分类方法Chained Net,进一步提高了Adience数据集的年龄分类准确度。文献[21]提出深度期望模型,采用IMDB-WIKI数据集微调VGG-16网络,并在Adience数据集上获得了最高的分类准确度。文献[22]提出陆地移动距离(squared Earth Mover’s Distance, EMD2)损失函数代替传统交叉熵函数,获得较好的年龄分类效果。文献[23]利用Sighthound的新型深度神经网络架构,并结合大数据集训练,进而获得较好的分类结果。尽管卷积神经网络大幅提高了非受限条件下的人脸年龄分类准确度,但仍难以达到人的年龄分类水平,有待于进一步提高。
通过分析现有人脸年龄分类方法可知,目前人脸年龄分类研究具有以下特点:1)基于深度卷积神经网络的人脸年龄分类方法较以往方法更适用于非受限条件下的人脸年龄分类;2)通过增加卷积神经网络的参数或模型复杂度提高网络的学习能力,可提高人脸年龄分类的准确度;3)当用于训练的人脸年龄图像数据集较小,训练网络容易出现过拟合问题,可以采用较大规模数据集对网络进行预训练,抑制过拟合、提升网络性能并提高年龄分类准确度。
根据以上特点,本文提出了一种基于深度残差网络(Residual Networks,ResNets)和大数据集微调的非受限条件下人脸年龄分类方法。首先,为提高网络模型学习能力,采用深度残差网络作为基础网络模型;其次,为了实现一般物体图像到人脸年龄图像分类的迁移学习,采用ImageNet数据集对ResNets进行预训练;进而在IMDB-WIKI-8大规模人脸年龄图像数据集上对网络进行微调;最后,采用微调的ResNets网络模型在非受限的Adience人脸图像数据集上训练,并获得了目前Adience数据集上最好的年龄分类结果。
1 非受限人脸图像年龄分类 1.1 深度残差网络模型20世纪90年代以来,卷积神经网络一直是计算机视觉领域研究的热点,从5层的LeNet[24],到8层的AlexNet[25],再到19层的VGG[26]和22层的GoogleNet[27],直到上千层的ResNets[28],无论是网络的学习能力还是深度都得到显著提高。DCNN整合了低中高层的特征,并且卷积层的增加使得卷积层得到的特征更加丰富,文献[26-28]证明了网络的深度在图像分类中具有至关重要的作用。
然而,随着网络的深度增加会产生梯度消失以及网络退化问题,影响网络性能。为了提升深度网络的性能,He等[28]提出了深度残差网络,该网络采用残差块作为网络的基本组成部分,可以很大程度上解决DCNN随着深度增加而带来的网络退化问题。如图 1所示,ResNets在原始卷积层外部加入越层连接支路shortcut构成基本残差块,使原始的映射H(x)被表示为H(x)=F(x)+x。ResNets通过残差块结构将网络对H(x)的学习转化为对F(x)的学习,而对F(x)的学习较H(x)更为简单。基于残差块更易学习的特性,ResNets通过顺序累加残差块成功地缓解了DCNN的退化问题,提高了网络性能。
ResNets结构如图 2所示,RB表示残差块。残差块的具体表达式如下,函数F(x)表示残差映射,x和y分别代表残差块的输入和输出。当x和F维数相同时,采用式(1),此时越层连接既没有增加额外参数也没有增加计算复杂度。当x和F维数不同时,即输入输出通道数不同,采用式(2),通过越层连接执行1×1卷积映射G(x)以匹配维数。
$y = F\left( {x,\{ {W_i}\} } \right) + x$ | (1) |
$y = F\left( {x,\{ {W_i}\} } \right) + G\left( {x,\left\{ {{W_S}} \right\}} \right)$ | (2) |
如图 2所示,ResNet-34与ResNet-50/101/152具有不同残差块结构。其中,ResNet-34残差块首先经过3×3的卷积层后采用批标准化(Batch Normalization, BN)和修正线性单元(Rectified Linear Unit,ReLU),再通过3×3的卷积层采用BN,然后通过越层连接后再采用ReLU;而ResNet-52/101/152对残差块进行计算优化,首先经过1×1的卷积层后采用BN和ReLU,再经过3×3的卷积层后采用BN和ReLU,然后经过1×1的卷积层后采用BN,最后通过越层连接后再采用ReLU。
ResNets网络输入图像为彩色图像,图像首先被调整为256×256,经过随机裁剪为224×224输入网络, 并采用随机梯度下降方法。具体网络结构如下:
首先经过卷积层,卷积核大小为7×7,步长为2,输出特征图大小为112×112。再经过最大池化层,卷积核为3×3,步长为2。
其次经过第一组残差块(RB1),4种网络残差块数量均为3。ResNet-34输入输出通道均为64,其余网络输入输出通道分别为64和256。输出特征图大小为56×56。
接着经过第二组残差块(RB2),残差块数量分别为4、4、4和8。ResNet-34输入输出通道均为128,其余网络输入输出通道分别为128和512。输出特征图大小为28×28。
然后经过第三组残差块(RB3),残差块数量分别为6、6、23和36。ResNet-34输入输出通道均为256,其余网络输入输出通道分别为256和1024。输出特征图大小为14×14。
再经过第四组残差块(RB4),残差块数量均为3。ResNet-34输入输出通道都为512,其余网络输入输出通道分别为512和2048。输出特征图大小为7×7。
最后经过平均池化(Average pooling)层和全连接(Full Connection, FC)层,通过Softmax分类器,输出分类结果。
1.2 非受限人脸图像年龄分类方法本文提出的深度年龄分类方法流程如图 3所示。首先采用ResNets作为基础模型,其次利用ImageNet数据集对模型预训练,然后用IMDB-WIKI-8数据集微调深度模型,最后在Adience数据集上训练并测试,得出年龄分类准确度。
具体过程如下:
首先,鉴于ResNets网络在图像分类和物体检测中表现出的良好性能,同样可提高人脸年龄分类效果,且经ImageNet数据集预训练的ResNets模型[29]已公开,所以本文使用ResNets网络作为基础网络模型构建年龄分类DCNN。
其次,由于Adience数据集图像规模较小,直接采用ResNets网络训练易产生过拟合,所以借鉴迁移学习的思想,从一般物体图像过渡到人脸年龄图像分类,使用ImageNet数据集对ResNets网络进行预训练,学习基本图像特征表达。
然后,对大规模人脸图像数据集IMDB-WIKI[21]进行数据清洗,并根据Adience数据集的8个年龄段构建IMDB-WIKI-8数据集;进而使用IMDB-WIKI-8数据集微调ResNets网络,使网络模型适应Adience数据集8个年龄段的分布和年龄分类目标,实现一般图像分类到人脸年龄图像分类的过渡。
IMDB-WIKI是目前最大的非受限人脸年龄图像数据集,共523051张图像,每张图像都具有精确的年龄和性别标注,年龄范围为0~100岁。图像来源于互联网电影资料库(IMDB)以及维基百科(Wikipedia),其中IMDB包含20284位名人的460723张图像,Wikipedia包含62328张图像。由于IMDB-WIKI数据集的图像由人脸识别技术得到,导致IMDB-WIKI数据集内包含许多低质量图像,如图 4所示,包括:人物漫画图像、素描图像、面部遮挡严重、全身照、多人照以及空白图像等;此外部分人脸图像的标记年龄与真实年龄相差较大,1~10岁的图像尤为严重。这些问题严重影响网络学习效果,因此,本文对IMDB-WIKI数据集进行数据清洗,经四人花费一周时间手动删除了存在问题的图像,最终清洗后的IMDB-WIKI数据集剩余440607张图像,随机选取27万张图像,按年龄分为101类,记为IMDB-WIKI-101数据集。为了使网络模型适应Adience数据集的分布及年龄分类目标,同时减小数据集规模降低训练时间,本文将清洗后的IMDB-WIKI数据集按照Adience数据集的8个年龄段进行划分,构建IMDB-WIKI-8数据集,共包含276341张图像,年龄分布如表 1所示。
最后,采用微调后的ResNets网络模型在Adience数据集上进行训练和测试,通过交叉验证的方法得到年龄分类的结果。
2 实验细节本文使用文献[29]中已在ImageNet数据集上训练好的ResNets网络模型作为预训练模型。当用IMDB-WIKI-8微调网络时,随机选取90%用于训练,10%用于验证,Softmax分类器的输出单元由1000改为8。训练时所有动量值为0.9,权重衰减为0.0001。由于显存的限制,当网络为34层时,批处理(batch)大小设为64;当网络为50、101和152层时,batch大小设为32。训练轮数(epoch)设为60,初始学习率为0.001,30个epoch之后学习率降为0.0001。
当采用Adience数据集进行训练时,当网络为34层时,batch大小设为64;当网络为50、101和152层时,batch大小设为32。epoch设为160,初始学习率为0.0001,80个epoch之后学习率降为0.00001。
本文所有实验模型采用Nvidia Titan X GPU训练,运行环境为torch7。
3 实验 3.1 评价指标 3.1.1 准确度当预测结果仅为真实年龄段时,记为测试正确,此时预测成功的概率用准确度表示。
3.1.2 1-off值当预测结果为真实年龄段或与其相邻的年龄段时,都记为测试正确, 此时预测成功的概率用1-off值表示。与准确度相比,1-off值降低了预测的难度,可以满足低精度人脸年龄估计应用的需要,比如成年人准入认证等。
3.2 数据集Adience数据集来自人们从智能手机设备自动上传到网络相册的图像。这些图像在上传之前并没有经过人工过滤,且这些图像都是在非受限条件下拍摄的, 这些图像在头部姿势、面部表情和光线条件质量等方面都存在很大差异,所以在Adience数据集下的人脸图像年龄分类任务面临巨大的挑战。
Adience包含2284个人的26580张人脸图像,年龄范围为0~100岁,共8个年龄段(0~2, 4~6, 8~13, 15~20, 25~32, 38~43, 48~53, 60~100),年龄分布如表 1所示。本文在训练和测试中采用文献[18]中的交叉验证方法,将Adience数据集分成5组不同图像(fold-0、fold-1、fold-2、fold-3、fold-4),令其中1组图像作为测试集,其余4组图像作为训练集,共构成5种检测方式。分别对每种检测方式进行训练和测试,然后计算5次测试结果的平均准确度和均方差作为最终的人脸年龄分类结果。
3.3 实验结果与分析为了验证本文方法的有效性,首先采用34层的ResNet-34网络通过以下五种方法进行实验:1)仅使用Adience训练网络(A-ResNet-34);2)仅使用ImageNet微调网络(Ⅰ-ResNet-34);3)仅使用IMDB-WIKI-8数据集微调(A8-ResNet-34);4)首先用ImageNet预训练,然后用IMDB-WIKI-101微调网络(Ft-101-ResNet-34);5)首先用ImageNet预训练,然后用IMDB-WIKI-8微调网络(Ft-A8-ResNet-34)。通过在fold-4检测方式上进行实验,结果如表 2所示,可以看出本文方法的年龄分类准确度最高。
图 5为上述5种方法在fold-4上训练过程中测试准确度的变化曲线图。A-ResNet-34学习率从0.1开始,Ⅰ-ResNet-34学习率从0.01开始,A8-ResNet-34、Ft-101-ResNet-34和Ft-A8-ResNet-34学习率从0.0001开始,epoch设为160,学习率在80和120epoch时按因子10下降。可以看出Ⅰ-ResNet-34的曲线较A-ResNet-34的曲线收敛快、准确度高,这是由于ImageNet预训练获得了基本的图像特征表达,可以抑制Adience训练过程中的过拟合问题;A8-ResNet-34的曲线明显优于Ⅰ-ResNet-34曲线,说明IMDB-WIKI-8数据集的图像与Adience数据集同为非受限的人脸年龄图像构成的,采用IMDB-WIKI-8数据集进行预训练可以提高年龄分类准确度;Ft-101-ResNet-34和Ft-A8-ResNet-34的曲线明显优于Ⅰ-ResNet-34和A8-ResNet-34的曲线,说明网络首先经过ImageNet预训练实现迁移学习后,再通过IMDB-WIKI数据集微调网络,较仅采用其中一种数据集进行预训练的效果好;Ft-A8-ResNet-34的曲线最高点优于与Ft-101-ResNet-34的曲线,说明虽然Ft-A8-ResNet-34采用的IMDB-WIKI-8数据集与IMDB-WIKI-101大小相近,但其更符合Adience数据集的年龄分布,所以获得较好年龄分类准确率。通过以上分析可知,本文所提方法每个步骤的必要性,这些步骤共同组成了最优的人脸图像年龄分类方法。
为了进一步提升网络的人脸年龄图像分类性能,本文逐步加深ResNets网络,分别采用34层、50层、101层和152层四种ResNets网络作为基础网络模型,首先经过ImageNet预训练,再用IMDB-WIKI-8数据集微调网络,最后在Adience数据集上进行训练和测试。4种ResNets网络的人脸年龄分类结果如表 3所示。从表 3中可知,随着网络深度增加,网络的学习能力提升,不仅在IMDB-WIKI-8上的测试集分类准确度呈上升趋势,而且在Adience数据集上的年龄分类准确度也逐渐提高,尤其是Ft-A8-ResNet-152达到了65.01%的年龄分类准确度。
最后,为了验证本文方法相比现有方法的优势,将在现有Adience数据集上的年龄分类方法与本文方法进行对比,人脸年龄分类结果如表 4所示。由表 4可以看出本文提出的Ft-A8-ResNet-152年龄分类准确度高于其他各种方法,并且获得了目前Adience数据集上最好的年龄分类准确度65.01%,验证了本文方法较其他方法更有优势。
针对非受限条件下人脸图像年龄分类估计准确度低的问题,本文提出了一种基于深度残差网络和大数据集微调的非受限条件下人脸年龄分类方法。首先, 采用ResNets网络作为基础网络模型,提高网络学习能力;其次, 在ImageNet数据集上对网络预训练,有效地抑制小规模数据集带来的过拟合问题;然后, 采用IMDB-WIKI-8数据集微调网络,进一步抑制过拟合,实现一般物体图像到人脸年龄图像的迁移学习;最后, 在非受限条件下的Adience数据集上进行训练和测试。实验表明本文方法能有效提高人脸年龄分类准确度,并取得了目前Adience数据集下最好的年龄分类结果。
[1] | 王先梅, 梁玲燕, 王志良, 等. 人脸图像的年龄估计技术研究[J]. 中国图象图形学报, 2012, 17(6): 603-618. (WANG X M, LIANG L Y, WANG Z L, et al. Age estimation by facial image:a survey[J]. Journal of Image and Graphics, 2012, 17(6): 603-618. DOI:10.11834/jig.20120601) |
[2] | EIDINGER E, ENBAR R, HASSNER T. Age and gender estimation of unfiltered faces[J]. IEEE Transactions on Information Forensics & Security, 2014, 9(12): 2170-2179. |
[3] | PANIS G, LANITIS A, TSAPATSOULIS N, et al. Overview of research on facial ageing using the FG-NET ageing database[J]. IET Biometrics, 2016, 5(2): 37-46. DOI:10.1049/iet-bmt.2014.0053 |
[4] | CHEN B C, CHEN C S, HSU W H. Face recognition and retrieval using cross-age reference coding with cross-age celebrity dataset[J]. IEEE Transactions on Multimedia, 2015, 17(6): 804-815. DOI:10.1109/TMM.2015.2420374 |
[5] | GUO G. Human Age Estimation and Sex Classification[M]. Berlin: Springer, 2012: 101-131. |
[6] | HAN H, OTTO C, JAIN A K. Age estimation from face images:human vs. machine performance[C]//Proceedings of the 2013 International Conference on Biometrics. Piscataway, NJ:IEEE, 2013:1-8. |
[7] | 王俊艳, 苏光大, 林行刚. 人脸图像年龄估计[J]. 清华大学学报(自然科学版), 2007, 47(4): 526-529. (WANG J Y, SU G D, LIN X G. Face age image estimation[J]. Journal of Tsinghua University (Science and Technology), 2007, 47(4): 526-529.) |
[8] | 林时苗, 毛晓蛟, 杨育彬. 基于人脸图像的年龄估计[J]. 计算机科学, 2015, 42(6): 32-36. (LIN S M, MAO X J, YANG Y B. Age estimation based on facial image[J]. Computer Science, 2015, 42(6): 32-36. DOI:10.11896/j.issn.1002-137X.2015.06.007) |
[9] | KWON Y H. Age classification from facial images[C]//Proceedings of the 1994 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 1994:762-767. |
[10] | HAYASHI J, YASUMOTO M, ITO H, et al. Age and gender estimation based on wrinkle texture and color of facial images[C]//Proceedings of the 16th International Conference on Pattern Recognition. Piscataway, NJ:IEEE, 2002:405-408. |
[11] | NAKANO M, YASUKATA F, FUKUMI M. Age classification from face images focusing on edge information[C]//Proceedings of the 8th International Conference on Knowledge-Based and Intelligent Information and Engineering Systems. Berlin:Springer, 2004:898-904. |
[12] | LANITIS A, DRAGANOVA C, CHRISTODOULOU C. Comparing different classifiers for automatic age estimation[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2004, 34(1): 621-628. DOI:10.1109/TSMCB.2003.817091 |
[13] | COOTES T F, EDWARDS G J, TAYLOR C J. Active appearance models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2001, 23(6): 681-685. DOI:10.1109/34.927467 |
[14] | LANITIS A. Comparative evaluation of automatic age-progression methodologies[J]. Journal on Advances in Signal Processing, 2008, 2008(1): Article No. 101. |
[15] | GUO G, MU G, FU Y, et al. A study on automatic age estimation using a large database[C]//Proceedings of the 2009 IEEE 12th International Conference on Computer Vision. Piscataway, NJ:IEEE, 2009:1986-1991. |
[16] | CHOI S E, LEE Y J, LEE S J, et al. Age estimation using a hierarchical classifier based on global and local facial features[J]. Pattern Recognition, 2011, 44(6): 1262-1281. DOI:10.1016/j.patcog.2010.12.005 |
[17] | GUNAY A, NABIYEV V V. Automatic age classification with LBP[C]//Proceedings of the 23rd International Symposium on Computer and Information Sciences. Piscataway, NJ:IEEE, 2008:1-4. |
[18] | LEVI G, HASSNCER T. Age and gender classification using convolutional neural networks[C]//Proceedings of the 2015 Computer Vision and Pattern Recognition Workshops. Piscataway, NJ:IEEE, 2015:34-42. |
[19] | HOU L, SAMARAS D, KURC T M, et al. Neural networks with smooth adaptive activation functions for regression[DB/OL].[2016-11-16]. https://arxiv.org/abs/1608.06557. |
[20] | EKMEKJI A. Convolutional neural networks for age and gender classification[EB/OL].[2016-11-28]. http://cs231n.stanford.edu/reports/2016/pdfs/003_Report.pdf. |
[21] | ROTHE R, TIMOFTE R, VAN GOOL L. Deep expectation of real and apparent age from a single image without facial landmarks[EB/OL].[2017-05-10].http://homes.esat.kuleuven.be/~konijn/publications/2016/DEEP-EXP.pdf. |
[22] | HOU L, YU C P, SAMARAS D. Squared earth mover's distance-based loss for training deep neural networks[EB/OL].[2017-05-10].https://arxiv.org/pdf/1611.05916.pdf. |
[23] | DEHGHAN A, ORTIZ E G, SHU G, et al. DAGER:Deep age, gender and emotion recognition using convolutional neural network[EB/OL].[2017-03-16].https://arxiv.org/pdf/1702.04280.pdf. |
[24] | LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791 |
[25] | KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada:Curran Associates Inc., 2012:1097-1105. |
[26] | SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL].[2016-12-21]. https://arxiv.org/abs/1409.1556. |
[27] | SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of the 2015 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ:IEEE, 2015:1-9. |
[28] | 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, NJ:IEEE, 2016:770-778. |
[29] | CUBBEE, GROSS S. ResNet models trained on ImageNet[EB/OL].[2016-12-10]. https://github.com/facebook/fb.resnet.torch/tree/master/pretrained. |