基于卷积神经网络和SVR的年龄估计
摘要 人脸图像年龄估计已经成为计算机视觉领域中一个重要的研究课题,具有广泛的应用价值。利用在IMDB-WIKI年龄数据库上训练得到的卷积神经网络(CNN)提取特征,并利用主成分分析对特征进行降维,最后利用支持向量机回归的方法进行年龄估计。还讨论了对CNN不同层输出的特征进行融合的结果。在FG-NET标准年龄数据库上对该算法进行了测试,实验结果表明,本文算法平均绝对误差较小,优于传统的年龄估计方法。
关 键 词 计算机视觉;年龄估计;深度学习;卷积神经网络;支持向量回归
中图分类号 TP391.41 文献标志码 A
0 引言
人脸年龄估计就是从人脸图像中提取与年龄相关的面部特征,利用模式识别算法构造数学模型,对待测图像的具体年龄或年龄段进行估计的一种技术[1]。人脸年龄估计在实际生活中具有诸多的应用,例如在安全领域,利用人脸年龄估计技术可以帮助办案人员缩小嫌疑人的范围;在电子商务中,通过分析购物者的年龄可以制定更有针对性的营销策略;可以借助年龄估计技术限制未成年人在自动售货机上购买香烟、酒类;限制未成年人进入网吧等不宜进入的场所。年龄估计技术还可以用于图片分类、检索等方面.因此,近年来人脸年龄估计受到了国内外学者的广泛关注,成为计算机视觉领域的一个研究热点。
人脸年龄估计算法通常是先提取能够反映年龄的面部特征,然后利用分类或回归对年龄进行估计。用于提取年龄特征的模型(或方法)主要有:人体测量学模型[2]、主动外观模型(active appearance models,AAM)[3]、年龄成长模式子空间(aging pattern subspace, AGES)[4]、年龄流形(age manifold)[5]、基于仿生学的模型(bio-inspired features, BIF)[6]等.基于分类的年龄估计方法主要有:特定年龄和外观方法(appearance and age specific, AAS)[7]、支持向量机方法(SVM)[8]、超平面排序(ordinal hyperplane rank, OHRank)[9]、标签分布学习(label distribution learning, LDL)[10]等;基于回归的方法主要有:支持向量机回归(support vector regression, SVR)[11]、线性回归[12]、二次回归[12]、偏线性回归[13]等。
国内对年龄估计的研究起步较晚,但近年来也有许多学者对人脸年龄估计进行了研究,并提出了一些新的算法。例如,2006年,胡斓、夏利民[14]提出了基于人工免疫识别系统的年龄估计。2008年,张宇、周志华[15]提出了基于集成的年龄估计方法。余庆、杜吉祥[16]提出一种基于改进的非负矩阵分解的人脸年龄估计方法。2012年,黄兵、郭继昌[17]提出基于Gabor小波与LBP直方图序列的人脸年龄估计。2014年,瞿中等[18]提出利用典型相关分析融合LBP和HOG特征的人脸年龄估计方法。2015年,李玲芝等[19]提出基于稀疏表示的自动年龄估计。
近年来随着计算机运算能力和神经网络理论的发展,深度学习越来越引起科学界和工业界的关注。深度学习是一种自动学习特征的算法,其中最具代表性的是卷积神经网络( Convolutional Neural Network,CNN) ,它在目标分类、检测和人脸识别等应用中取得了巨大的成功。2016年, Rasmus Rothe等[20]提出了基于卷积神经网络的DEX方法,他们对用于图像分类的VGG网络的最后一层进行修改,使每个神经元对应一个年龄(或年龄段),并采用Softmax激活函数,将每个神经元的输出看成输入图像属于该年龄(或年龄段)的概率,通过求期望值的方法得到年龄的估计值。
本文利用文献[20]作者在网络上公开的在IMDB-WIKI数据集上训练得到的用于年龄估计的VGG-16网络提取特征[20],但采用传统的支持向量机回归(SVR)来进行年龄估计,并在FG-NET数据集上对算法进行验证。实验表明,在不对FG-NET人脸图像进行任何预处理操作的前提下,利用本文所述方法比单纯利用CNN的DEX方法得到的结果更好,而且所得结果由于各种传统的年龄估计方法。
1 卷积神经网络
卷积神经网络(CNN)是一种前馈神经网络。它的底层主要是提取一些与边缘、角度、轮廓相关信息,具有一定的通用性。它的高层逐渐提取出一些图像的结构信息。通常而言,层数越多,提取到的信息越全面。卷积神经网络有3个结构上的特性:局部连接、权重共享以及空间或时间上的下采样。这些特性使得卷积神经网络具有一定程度上的平移、缩放和扭曲不变性,能够有效降低网络模型的学习复杂度,由于具有更少的网络连接数和权值参数,从而更容易训练。卷积神经网络涉及的最重要的前向传播运算是卷积操作和下采样操作。
1.1 卷積层
在全连接前馈神经网络中,如果第[l]层有[nl]个神经元,第[l-1]层有[nl-1]个神经元,连接边有[nl×nl-1]个,也就是权重矩阵有[nl×nl-1]个参数(如图1)。当[m]和[n]都很大时,权重矩阵的参数非常多,训练的效率会非常低。
如果采用卷积来代替全连接,第[l]层的每一个神经元都只和第[l-1]层的一个局部窗口内的神经元相连,构成一个局部连接网(如图2)。
第[l]层的第[i]个神经元的输出定义为
[ali=fj=1mwlj∙al-1i-j+m+bli =fwl∙al-1i+m-1:i+bli],(1)
式中:[wl∈Rm]为[m]维的滤波器;[al-1i+m-1:i=al-1i+m-1,...,al-1iΤ]。这里,[al]的下标从1开始。也可以写为
[al=fwl⊗al-1+bl]。(2)
[wl]对于所有的神经元都是相同的,也就是卷积层的权值共享特性,这样,在卷积层里只需要[m+1]个参数,另外,第[l+1]层的神经元个数不是任意选择的,而是满足[nl+1=nl-m+1]。
图像是以二维矩阵的形式输入到神经网络中,需要二维卷积。可以写为
[Xl=fWl⊗Xl-1+bl]。(3)
为了增强卷积层的表现能力,可以使用K组不同的滤波器来得到K组输出,每一组输出都共享一个滤波器。卷积层的作用是提取一个局部区域的特征,每一个滤波器相当于一个特征提取器。
1.2 下采样层
卷积层虽然可以显著减少连接的个数,但是每一个特征映射的神经元个数并没有显著减少。如果后面接一个分类器,分类器的输入维数依然很高,很容易出现过拟合。为了解决这个问题,在卷积神经网络中一般会在卷积层之后再加上一个池化(Pooling)操作,也就是下采样(Subsampling),构成一个下采样层。下采样层可以大大降低特征的维数,避免过拟合。
对于卷积层得到的一个特征映射[Xl],可以将[Xl]划分为很多区域[Rk],[k=1,…,K],这些区域可以重叠,也可以不重叠。一个下采样函数[down(…)]一般是取区域内所有神经元的最大值(Maximum Pooling)或平均值(Average Pooling):
[poolmax(Rk)=maxi∈Rkai],(4)
[poolavgRk=1Rki∈Rkai]。(5)
下采样的作用还在于可以使得下一层的神经元对一些小的形态改变保持不变性,并拥有更大的感受野。
2 基于深度网络和数学期望的年龄估计
在文献[20]中,提出了基于深度卷积网络和数学期望的年龄估计方法,并称之为DEX(Deep Expectation)方法。他们采用VGG-16卷积神经网络结构,其主要结构如图3。VGG网络结构最初由Simonyan K,Zisserman A[21]提出,用于1 000类物体的分类,在ImageNet大规模图像分类的竞赛中取得了优异的成绩。和经典的卷积神经网络结构——AlexNet相比,VGG-16网络层数更多,共有16层,包括13个卷积层和3个全连接层。在VGG网络中,卷积层全部采用3×3大小的滤波器,卷积操作的间隔(stride)为1,因此,可以捕捉更精细的图像特征。在原始的用于物体分类的VGG网络中,最后一层全连接层的神经元个数是1 000,采用Softmax激活函数。为了利用VGG网络进行年龄估计,文献[20]中对于VGG-16网络的最后一层进行修改,使每个神经元对应一个年龄(或年龄段)。设将年龄范围划分为k个子集[Y1,Y2,...,Yk],其中,[Yi]包含的最小年龄是[Ymini],最大年龄是[Ymaxi],则网络最后一层的神经元个数设置为k。用[x∈Rn+1]表示最后一层(Softmax层)的输入向量,[θi=Rn+1,i=1,2,...,k]表示第i个神经元和输入向量连接的权重,采用Softmax激活函数,则网络的输出是
[o=1j=1keθΤjxeθΤ1xeθΤ2x⋮eθΤkx]。(6)
DEX方法将第i个神经元的输出[oi=eθΤixj=1keθΤjx]看成输入图像的年龄属于[Yi]的概率,通过计算年龄的数学期望
[E(O)=i=1kyi∙oi],(7)
来估计输入图像的年龄,其中,[yi]是年龄值在[Yi]中的所有训练样本(图像)的平均年龄,[oi]是第[i]个神经元的输出。
为了训练用于年龄估计的卷积神经网络,Rothe R,Timofte R,Gool L V. 等人[20]在網络上搜集了大量名人和电影明星的照片,建立了自己的用于年龄估计和性别识别的人脸数据库IMDB-WIKI.在训练用于年龄估计的VGG-16网络时,他们利用了在ImageNet数据集上训练得到的用于图像分类的VGG网络的参数(除最后一层以外)作为初始值,然后利用IMDB-WIKI数据集对网络进行训练,得到了用于年龄估计的卷积网络VGG_ILSVRC_16。
3 基于CNN和SVR的年龄估计
和文献[20]中提到的年龄估计方法DEX不同,本文虽然也利用了文献[20]中在IMDB-WIKI数据集上训练得到的用于年龄估计的VGG-16网络, 但只是用它来提取图像的年龄特征。一般来说,卷积神经网络中前面的各个卷积层提取的是低层的特征,而后面各层提取的是相对高层的更能反映分类信息的特征,因此,本文分别尝试将VGG-16网络中最后2层(即图3中的fc6,fc7这2个全连接层)的输出作为特征。由于它们均是4 096维的特征,维数较高,接下来利用主成份分析(PCA)对特征进行降维,最后训练支持向量机回归(SVR)模型用于年龄估计。本文算法的基本流程如图4所示.
4 实验结果
本文在标准的年龄数据库FG-NET上进行了实验。FG-NET数据库包含82个人在不同表情、姿态和光照条件下的1 002幅图像,年龄范围在0~69岁。本文采用LOPO (Leave One Person Out)协议进行实验,即每次取1个人的图像作为测试样本,其他81个人的图像作为训练样本进行实验,最后计算平均绝对误差(MAE),用来对算法进行评价。
本文利用文献[20]中在IMDB-WIKI数据库上训练得到的卷积神经网络VGG_ILSVRC_16来提取特征。对于输入的图像,经过前向计算,得到网络各层的输出,将fc6和fc7层的输出作为特征,接着利用PCA方法将提取到的特征降到1 000维,最后通过SVR方法进行年龄估计。在SVR模型中,采用高斯核函数,惩罚系数C取为90,高斯核的参数取为0.005。实验结果如表1所示。从中可以看出,和直接使用基于VGG_ILSVRC_16网络的DEX方法相比,本文方法的MAE更小。需要说明是,在文献[20]中,首先要对图像进行人脸检测、对齐、裁剪等预处理操作,然后再将其作为网络输入。而为了处理方便,同时,也为了验证文献[20]中网络的鲁棒性和可迁移性,在本文实验中,并没有对FG-NET数据库中的图像进行人脸检测、对齐和裁剪等操作,而只是简单地将图像缩放为224×224的彩色图像,再利用VGG_ILSVRC_16网络的参数进行归一化操作,然后就将其作为VGG_ILSVRC_16网络的输入。此外,VGG_ILSVRC_16网络在训练过程中没有使用FG-NET中的任何样本,因此,直接利用VGG_ILSVRC_16网络和DEX方法对于FG-NET 中的图像进行年龄估计,其MAE为6.29,误差较大。而表中其它方法都采用了LOPO协议,即每次都利用一部分FG-NET中的图像对模型进行训练,然后预测另一部分图像的年龄.可以看出来,本文算法优于各种常规的年龄估计算法。
除了分别利用卷积神经网络VGG-16中fc6和fc7层的输出作为特征并利用SVR进行年龄估计外,本文还尝试对fc6和fc7层输出的特征进行融合。为了便于计算,本文尝试了2种简单的融合方法。一种是特征级融合,将fc6特征和fc7特征串接后,得到8 192维的特征向量,再利用PCA方法降维,得到1 000维的特征向量,最后,利用SVR进行年龄估计,MAE为3.77,和单独使用fc6或fc7特征相比,误差略有下降。另一种是将利用fc6特征和fc7特征计算得到的年龄值取平均,作为最后的年龄估计值,MAE为3.76,误差进一步减少。
5 结论
年龄估计在刑事侦查、失踪人口追踪、电子商务、智能人机交互、图像检索等领域都有重要的应用,因此,对它的研究具有重要的意义。但由于人的面貌除受年龄变化的影响外,还受到健康、环境、地域、种族等方面的影响,加之年龄数据库采集的不宜,因此,基于图像的年龄估计是一个具有挑战性的问题。文献[20]中提出了基于卷积神经网络和数学期望的年龄估计算法,并且在ICCV 2015举办的关于外观年龄估计挑战赛(The ChaLearn Looking At People ICCV2015 challenge)中获得了第一名。本文利用了文献[20]中训练得到的用于年龄估计的卷积神经网络(VGG_ILSVRC_16),但采用了和文献[20]中不同的处理方法,即只是用它来提取特征,然后再进行PCA降维,最后利用SVR进行年龄估计。实验结果表明,本文方法优于传统的年龄估计方法,并且,通过对CNN不同层输出的特征进行融合,可以进一步减少年龄估计的误差。
参考文献:
[1] 潘思宇,赵雯婷,唐鲲,等. 人脸年龄估计和年龄面貌合成技术研究进展[J]. 刑事技术,2017,42(4):270-276.
[2] KWON YH,LOBO NDV. Age classification from facial images[J]. Computer Vision and Image Understanding,1999,74(1):621-628.
[3] COOTES TF,EDWARDS GJ,TAYLOR CJ. Active appearance models[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2001,23(6):681-685.
[4] GENG X,ZHOU ZH, SMITH-Miles K. Automatic age estimation based on facial aging patterns[J]. IEEE Trans Pattern Anal Mach Intell,2007, 29(12):2234-2240.
[5] FU Y,HUANG TS. Human age estimation with regression on discriminative aging manifold[J]. IEEE Transactions on Multimedia,2008, 10(4):578-584.
[6] GUO GD,MU GW, FU Y,et al. Human age estimation using bio-inspired features[C]//Proc of the IEEE Conf on Computer Vision and Pattern Recognition (CVPR 2009), 2009:112-119.
[7] LANITIS A,DRAGANOVA C,CHRISTODOULOU C. Comparing different classifiers for automatic age estimation[J]. IEEE Trans Syst Man Cybern B Cybern, 2004,34(1):621-628.
[8] GUO G, FU Y, HUANG TS,et al. Locally adjusted robust regression for human age estimation[C]//IEEE Workshop on Applications of Computer Vision IEEE Computer Society,2008:1-6.
[9] CHANG KY,HEN CS, HUNG YP. Ordinal hyperplanes ranker with cost sensitivities for age estimation[C]//EEE Conference on Computer Vision and Pattern Recognition,2011:585-592.
[10] GENG X,YIN C, ZHOU ZH. Facial age estimation by learning from label distributions[J]. IEEE Trans Pattern Anal Mach Intell,2013,35(10):2401-2412.
[11] GUO G,FU Y,DYER CR,et al. Image-based human age estimation manifold learning and locally adjusted robust regression[J]. IEEE Transactions Image Processing,2008,17(7):1178-1188.
[12] LANITIS A,TAYLOR CJ,COOTES TF. Toward automatic simulation of aging effects on face images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(4):442-455.
[13] GUO G,MU G. Simultaneous dimensionality reduction and human age estimation via kernel partial least squares regression[C]//Computer Vision and Pattern Recognition,IEEE,2011:657-664.
[14] 胡斕,夏利民. 基于人工免疫识别系统的年龄估计[J]. 计算机工程与应用,2006,42(26):186-188.
[15] 张宇,周志华. 基于集成的年龄估计方法[J].自动化学报,2008,34(8):997-1000.
[16] 余庆,杜吉祥. 基于一种改进NMF算法的人脸年龄估计方法[J]. 中国图像图形学报,2008,13(10):1865-1868.
[17] 黄兵,郭继昌. 基于Gabor小波与LBP直方图序列的人脸年龄估计[J]. 数据采集与处理,2012,27(3):340-345.
[18] 瞿中,孔令军,冯欣. 典型相关分析融合LBP和HOG特征的人脸年龄估计[J]. 重庆大学学报,2014,37(4):52-57,87.
[19] 李玲芝,梁毅雄,艾玮,等. 基于稀疏表示的自动年龄估计[J]. 中南大学学报(自然科学版),2015,46(3):878-885.
[20] ROTHE R,TIMOFTE R,GOOL L V. Deep expectation of real and apparent age from a single image without facial landmarks[J]. International Journal of Computer Vision,2016:1-14.
[21] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science,2014:1409-1556.
[责任编辑 杨 屹]
版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于卷积神经网络和SVR的年龄估计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
本栏目阅读排行
栏目最新
- 1在农民收入调查工作动员培训会上讲话
- 22024年领导干部政治素质自评材料(完整)
- 3公司党委党建工作总结报告【完整版】
- 42024年主题教育党建调研开展情况总结
- 52024年度区妇联关于党建工作述职报告(完整)
- 6关于加强企业人才队伍建设调研与思考(完整文档)
- 72024县党员干部抓基层党建工作述职报告
- 8第二批主题教育研讨发言:时刻“以民为本”,听“实言实语”,办实事好事
- 92024关于党员干部法治信仰情况调研报告(2024年)
- 10局网络安全工作责任制落实自查报告(全文)
- 11XX国企分管领导关于党建设引领企业高质量发展研讨发言(范文推荐)
- 122024年第二批主题教育专题读书班研讨发言提纲(6)【完整版】