曹檑 莫雅婷 黃晨 魏子涵
摘 要:作為一種新興的生物特征識(shí)別技術(shù),基于人臉圖像的年齡估計(jì)技術(shù)在目前已經(jīng)成為計(jì)算機(jī)視覺(jué)、人機(jī)交互等領(lǐng)域的一個(gè)重要研究課題。2006年以來(lái),深度卷積網(wǎng)絡(luò)在圖像識(shí)別、語(yǔ)音識(shí)別和自然語(yǔ)言處理等領(lǐng)域廣泛使用,取得了很好的效果。本文基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法,構(gòu)建一個(gè)多層卷積神經(jīng)網(wǎng)絡(luò),通過(guò)卷積神經(jīng)網(wǎng)絡(luò)獲取深度卷積激活特征,作為人臉年齡估計(jì)的特征,并利用支持向量機(jī)(SVM)的方法訓(xùn)練年齡估計(jì)模型,得到年齡估計(jì)結(jié)果,在人臉識(shí)別權(quán)威數(shù)據(jù)集Morph上獲得了91.3%的正確率,同時(shí)也對(duì)比在了不同條件下對(duì)實(shí)驗(yàn)結(jié)果的影響。
關(guān)鍵詞:深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);年齡估計(jì)
中圖分類號(hào):TP301 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:As an emerging biometric technology,the age estimation based on facial images has become an important research topic in the field of computer vision,human computer interaction,etc.Since 2006,Deep Convolutional Neural Network has been widely used and obtained good effects in the field of image recognition,speech recognition,natural language processing,etc..In age estimation algorithm based on Deep Convolutional Neural Network,the paper constructs a multilayered convolutional neural network.Taking the deep convolutional activation features as the facial distinctions of age estimation, the paper applies Support Vector Machine(SVM) to train the age estimation model and acquire estimation results.The algorithm has obtained 91.3% accuracy in Morph,the authoritative facial recognition dataset.Meanwhile,the experiment results in different conditions have been compared.
Keywords:deep learning;convolutional neural network;age estimation
1 引言(Introduction)
人臉年齡分析算法是利用計(jì)算機(jī)技術(shù)根據(jù)人臉圖像隨年齡變化的規(guī)律進(jìn)行建模,從而使機(jī)器能夠根據(jù)人臉圖像計(jì)算出人的大致年齡或所屬的年齡范圍。在很多領(lǐng)域,年齡信息作為人體的一種重要生物特征有著巨大的應(yīng)用潛力[1-3]?;谌四槇D像的年齡估計(jì)技術(shù)作為一種新興的生物特征識(shí)別技術(shù),目前已經(jīng)成為計(jì)算機(jī)視覺(jué)、人機(jī)交互等領(lǐng)域的一個(gè)重要研究課題,近幾年關(guān)注年齡估計(jì)的研究越來(lái)越多。
深度卷積網(wǎng)絡(luò)作為一種有效的方法,將局部連接、權(quán)值共享和空間下采樣結(jié)合起來(lái),可以簡(jiǎn)化人臉特征提取流程,但是由于各種干擾條件,可能使得實(shí)驗(yàn)結(jié)果不是很理想,本文實(shí)驗(yàn)重點(diǎn)是探究側(cè)臉,圖像分辨率等因素對(duì)于實(shí)驗(yàn)結(jié)果的干擾情況。
2 人臉圖像預(yù)處理與特征提?。‵ace image pretreatment
and characteristic picking-up)
基于人臉圖像的年齡估計(jì)系統(tǒng)是一種非常典型的機(jī)器學(xué)習(xí)系統(tǒng),其流程如圖1所示。
2.1 預(yù)處理
獲取圖像的第一個(gè)步驟是人臉圖像預(yù)處理,其主要目的是消除圖像中的冗余信息,濾除各種干擾、噪聲,提高有關(guān)信息的可檢測(cè)性,從而提高識(shí)別的可靠性。這一過(guò)程采用的方法有五種:①灰度化;②旋轉(zhuǎn)圖片使兩眼連線處于水平位置;③將圖片按兩種方式進(jìn)行裁剪(包括嘴和不包括嘴);④尺度歸一化,固定兩眼之間的距離及眼睛與鼻尖(包括嘴時(shí))或眼睛與鼻子下端(不包括嘴)時(shí)的距離;⑤直方圖均衡化。
2.1.1 裁剪
裁剪包括嘴時(shí):分別以雙眼連線中點(diǎn)、鼻尖的位置坐標(biāo)作為參照中心,以兩眼連線距離及眼睛與鼻尖之間的距離作為參照大小,裁剪出一定大小的人臉圖像,裁剪示意圖如圖2所示。
裁剪不包括嘴時(shí):分別以兩眼連線中點(diǎn)、鼻子下端坐標(biāo)作為參照中心,以兩眼連線距離及眼睛與鼻子下端之間的距離作為參照大小,裁剪出一定大小的人臉圖像,裁剪示意圖如圖3所示。
2.1.2 灰度化
彩色圖像中的每個(gè)像素的值由紅、綠、藍(lán)三個(gè)通道上的值來(lái)決定,而灰度圖像的每個(gè)像素的值為亮度信息,存儲(chǔ)空間僅為彩色圖像的三分之一?;叶然梢詫⒉噬珗D片每個(gè)像素的RGB值轉(zhuǎn)化為灰度值,轉(zhuǎn)化公式如下:
其中,分別表示輸入的彩色圖像的紅、綠、藍(lán)三通道上的值,為輸出的灰度圖像對(duì)應(yīng)的灰度值。
2.2 特征提取
面部特征提取大致分為三個(gè)步驟:
(1)特征點(diǎn)定位
采用多尺度總和評(píng)估ASM方法,在采用一系列的特征點(diǎn)來(lái)描述之前,首先針對(duì)特定目標(biāo)建立形狀模型之后,這稱為點(diǎn)分布模型,然后對(duì)形狀模型中的每個(gè)特征點(diǎn),建立特征點(diǎn)附近的灰度模型,即建立模型和特征點(diǎn)匹配的過(guò)程。
(2)獲取形狀信息向量
對(duì)由上述過(guò)程得到的一組訓(xùn)練樣本的特征點(diǎn)位置做主分量分析,得到的由前m維特征向量組成的矩陣,通過(guò)任意人臉形狀在特征空間的投影,即該測(cè)試樣本通過(guò)特征點(diǎn)的坐標(biāo)向量在這m維主元空間上的投影,即可得到一組m維的表征形狀信息的向量。
(3)獲取紋理信息向量
通過(guò)將訓(xùn)練樣本的特征點(diǎn)位置拉伸到平均位置,可去除形狀信息,此時(shí),圖像的灰度信息只包含了訓(xùn)練樣本的紋理信息,再對(duì)它做主向量分析,可以得到的由前維特征向量組成的矩陣,之后通過(guò)該測(cè)試樣本通過(guò)特征點(diǎn)的坐標(biāo)向量在這維主元空間上的投影,即可得到一組維的表征紋理信息的向量。
3 深度卷積網(wǎng)絡(luò)(Convolutional neural network)
1989年Yan Lecun等人提出可以將BP成功用于訓(xùn)練深度網(wǎng)絡(luò)的結(jié)構(gòu)——CNN(Convolutional Neural Network)。2012年A.Krizhevsky[4-6]等將CNN構(gòu)造成深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Network,DCNN)。在這個(gè)結(jié)構(gòu)中,并不需要傳統(tǒng)的顯式特征提取,原始圖像的像素可以直接作為輸入數(shù)據(jù),避免了在淺層學(xué)習(xí)結(jié)構(gòu)人工提取圖像特征時(shí)帶來(lái)的局限性問(wèn)題,這有利于分類的準(zhǔn)確性的提高和模型的泛化能力的增強(qiáng)[7]。
3.1 卷積
3.1.1 定義
設(shè)、是上的兩個(gè)可積函數(shù),作積分:
易證,對(duì)于所有的實(shí)數(shù),上述積分是存在的。隨著的不同取值,我們定義一個(gè)新函數(shù),稱為函數(shù)與的卷積,記為。
因?yàn)榫矸e與傅里葉變換之間有密切的關(guān)系,所以利用一點(diǎn)性質(zhì),即兩函數(shù)的傅里葉變換的乘積等于它們卷積后的傅里葉變換,可以使得傅里葉分析中許多問(wèn)題的處理得到簡(jiǎn)化。
利用由卷積得到的函數(shù)一般要比和都光滑這個(gè)性質(zhì)。對(duì)于任意的可積函數(shù),都可以簡(jiǎn)單地構(gòu)造出一列逼近于的光滑函數(shù)列,這種方法稱為函數(shù)的光滑化或正則化。
在數(shù)列、廣義函數(shù)以及測(cè)度中,卷積都有很好的應(yīng)用。
已知兩個(gè)給定的數(shù)列和,其卷積就是數(shù)列,易得,數(shù)列的卷積與他們的生成函數(shù)的乘積相對(duì)應(yīng),這個(gè)事實(shí)使得許多和式變得易于計(jì)算,如果不是卷積,這些和式是很難處理的。
3.1.2 卷積定理
函數(shù)傅里葉變換的乘積是函數(shù)卷積的傅里葉變換。即,一個(gè)域中的乘積相當(dāng)于另一個(gè)域中的卷積,例如時(shí)域中的乘積就對(duì)應(yīng)于頻域中的卷積。
其中,F(xiàn)表示的是傅里葉變換,星號(hào)*表示卷積。
3.2 深度卷積網(wǎng)絡(luò)的基本理論
一個(gè)簡(jiǎn)單的深度卷積網(wǎng)絡(luò)結(jié)構(gòu)[7]如圖4所示。
在這個(gè)網(wǎng)絡(luò)中,第一層是輸入層,其后是若干個(gè)卷積層和下采樣層,最后所有匯到一個(gè)分類器。通常一個(gè)卷積層后面跟一個(gè)下采樣層。在深度卷積網(wǎng)絡(luò)中,局部連接和權(quán)值共享是一個(gè)可以降低計(jì)算的復(fù)雜性、減少網(wǎng)絡(luò)的訓(xùn)練參數(shù)的重要特征。卷積運(yùn)算得到的結(jié)果通過(guò)Sigmoid等激活函數(shù)的輸出達(dá)到這一層的特征圖,作為下一層的輸入。在下采樣層,將前一層對(duì)應(yīng)的特征圖中相鄰若干個(gè)特征通過(guò)池化操作合并成一個(gè)特征,以減小特征的分辨率,從而實(shí)現(xiàn)對(duì)平移、縮放、扭曲的不變性。
3.2.1 卷積層和下采樣層
在上面描述的結(jié)構(gòu)細(xì)節(jié)中,卷積神經(jīng)網(wǎng)絡(luò)涉及的最重要的前向傳播運(yùn)算是卷積層操作和下采樣[8]層操作,其詳細(xì)過(guò)程如下:
(1)卷積層操作
在一個(gè)卷積層中,可學(xué)習(xí)的卷積核將上一層的特征圖進(jìn)行卷積,組合這些卷積運(yùn)算,然后通過(guò)一個(gè)激勵(lì)函數(shù)就可以得到一個(gè)輸出特征圖,公式表達(dá)如下:
其中,表示第層的第個(gè)特征圖,表示激活函數(shù),“*”表示卷積運(yùn)算,代表選擇的輸入圖的集合,表示第層第個(gè)特征圖與第層第個(gè)特征圖連接之間的卷積核,表示第個(gè)特征圖對(duì)應(yīng)的偏置項(xiàng)。
(2)下采樣層操作
在下采樣層,有個(gè)輸入圖,每個(gè)輸出圖都變小,也有個(gè)輸出圖,只是每個(gè)輸出圖都變小了,公式表達(dá)為:
其中,如表示下采樣函數(shù),典型的操作就是對(duì)輸入圖像的不同大小的區(qū)域內(nèi)的所有像素進(jìn)行求和。表示第層第個(gè)特征圖對(duì)應(yīng)的系數(shù),為其對(duì)應(yīng)的偏置項(xiàng)。
3.2.2 卷積神經(jīng)網(wǎng)絡(luò)的反向傳播
卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)求解形式同經(jīng)典神經(jīng)網(wǎng)絡(luò)一樣,采用梯度下降原則去更新參數(shù),同樣,最關(guān)鍵的是求出代價(jià)函數(shù)對(duì)每個(gè)參數(shù)的偏導(dǎo),然而經(jīng)典神經(jīng)網(wǎng)絡(luò)不一樣的是,卷積神經(jīng)網(wǎng)絡(luò)涉及的連接個(gè)數(shù)是多于權(quán)值個(gè)數(shù)的,所以不能按經(jīng)典神經(jīng)網(wǎng)路的反向傳播算法計(jì)算每層的殘差及所需要的偏導(dǎo),而這個(gè)區(qū)別主要是網(wǎng)絡(luò)的卷積層和下采樣層引起的,所以重點(diǎn)是研究卷積層和下采樣層的梯度計(jì)算過(guò)程。
(1)卷積層的梯度計(jì)算
假定每個(gè)卷積層后面都跟一個(gè)下采樣層,根據(jù)經(jīng)典神經(jīng)網(wǎng)絡(luò)的反向傳播算法,要想得到第層的每個(gè)神經(jīng)元對(duì)應(yīng)權(quán)值的梯度,就必須要首先求第層中每一個(gè)神經(jīng)節(jié)點(diǎn)的殘差。
為了求這個(gè)殘差,必須先對(duì)下一層的節(jié)點(diǎn)(連接到當(dāng)前層的感興趣節(jié)點(diǎn)的第層節(jié)點(diǎn))的殘差求和(得到),然后乘以這些連接對(duì)應(yīng)的權(quán)值(連接層第層節(jié)點(diǎn)和第層節(jié)點(diǎn)的權(quán)值),再乘以當(dāng)前層的該神經(jīng)元節(jié)點(diǎn)的輸入的激勵(lì)函數(shù)的導(dǎo)數(shù)值(也就是反向傳播公式中的求解),這樣也就可以得到當(dāng)前層每個(gè)神經(jīng)節(jié)點(diǎn)對(duì)應(yīng)的殘差。
由于下采樣的存在,采樣層的一個(gè)神經(jīng)元節(jié)點(diǎn)對(duì)應(yīng)的殘差對(duì)應(yīng)于上一層的輸出特征圖的一塊區(qū)域(下采樣窗口大?。R虼?,層中每個(gè)特征圖的每個(gè)節(jié)點(diǎn)只與層中的一個(gè)節(jié)點(diǎn)連接。上述的殘差其實(shí)是代價(jià)函數(shù)對(duì)每個(gè)神經(jīng)元的偏導(dǎo),所以特征圖中每個(gè)像素都有一個(gè)對(duì)應(yīng)的殘差,也就組成了特征圖對(duì)應(yīng)的殘差圖。為了有效計(jì)算層的殘差,需要上采樣下采樣層對(duì)應(yīng)的殘差圖,然后將這個(gè)上采樣得到的殘差圖與當(dāng)前層的特征圖的激勵(lì)值的偏導(dǎo)數(shù)逐元相乘。下采樣層特征圖的權(quán)值都取一個(gè)相同值,所以將上一步驟得到的結(jié)果乘就完成了第層殘差的計(jì)算。這個(gè)過(guò)程用公式描述為:
(2)下采樣層的梯度計(jì)算
下采樣的前向過(guò)程涉及的參數(shù)是每個(gè)特征圖對(duì)應(yīng)的一個(gè)乘性參數(shù)和一個(gè)偏置項(xiàng),若是求得此層的殘差圖,這兩個(gè)參數(shù)的梯度就很容易求得。在計(jì)算卷積核的梯度時(shí)需要找到輸入圖中哪個(gè)區(qū)域?qū)?yīng)輸出圖中哪個(gè)像素,這里需要找到當(dāng)前層的殘差圖中哪個(gè)區(qū)域?qū)?yīng)下一層的殘差圖中的給定像素,這樣便能將殘差反向傳播回去,另外,需要乘以輸入?yún)^(qū)域與輸出像素之間的權(quán)值,公式表達(dá)為:
3.3 基于深度卷積網(wǎng)絡(luò)的人臉年齡估計(jì)算法
現(xiàn)在在人臉年齡估計(jì)中,主流的分類方式大部分都是基于統(tǒng)計(jì)特征[9]的,這就意味著在進(jìn)行分辨前必須首先提取某些特征。然而,顯式的特征提取并不容易在一些應(yīng)用問(wèn)題中也并非總是可靠的。
基于深度卷積網(wǎng)絡(luò)的人臉年齡估計(jì)算法創(chuàng)新點(diǎn)主要著眼于特征提取部分,通過(guò)構(gòu)建卷積網(wǎng)絡(luò)提取出一種新的更有效的隱式年齡估計(jì)特征——深度卷積激活特征,并在該特征的基礎(chǔ)上采用分類的方法利用支持向量機(jī)實(shí)現(xiàn)人臉的年齡估計(jì)。該算法具體的系統(tǒng)框架流程圖[10]如圖5所示。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 數(shù)據(jù)庫(kù)
年齡數(shù)據(jù)庫(kù)是年齡估計(jì)的基礎(chǔ),是年齡估計(jì)性能評(píng)價(jià)的一個(gè)基準(zhǔn)。作為年齡估計(jì)圖片庫(kù),需要滿足三點(diǎn)要求:其一,覆蓋盡可能大的年齡區(qū)間,通常需要0到80歲;其二,對(duì)于各個(gè)年齡段的圖片數(shù)量要基本均等;其三,圖片質(zhì)量盡量高。
4.1.1 FG-NET數(shù)據(jù)庫(kù)
FG-NET數(shù)據(jù)庫(kù)[11]的圖像年齡分布如表1所示。從表中可以看出,該數(shù)據(jù)庫(kù)覆蓋的年齡范圍較大,但各年齡段的圖片數(shù)量相差較大。并且由于圖片是通過(guò)掃描得到的,圖片質(zhì)量不高。
4.1.2 Morph數(shù)據(jù)庫(kù)
Morph數(shù)據(jù)庫(kù)[7]包含Album1和Album2兩部分,其中Album2是目前為止公開的最大的人臉年齡估計(jì)數(shù)據(jù)庫(kù),其年齡分布如表2所示。
4.1.3 其他主流數(shù)據(jù)庫(kù)
除了FG-NET和Morph兩大常用數(shù)據(jù)庫(kù),還有很多其他的用于人臉年齡估計(jì)的數(shù)據(jù)庫(kù)。
(1)WebFace數(shù)據(jù)庫(kù),是B.Ni等人在2009年再進(jìn)行有關(guān)用圖像挖掘的方法進(jìn)行人臉年齡估計(jì)的實(shí)驗(yàn)是構(gòu)建的。該數(shù)據(jù)庫(kù)的資源來(lái)自于網(wǎng)絡(luò),利用了一系列有關(guān)于年齡的提問(wèn)在Flicker和Google上采集的。該數(shù)據(jù)庫(kù)包含了77021張圖像,年齡跨度為1—80歲,是一個(gè)比較完備的數(shù)據(jù)庫(kù)。
(2)YGA數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)是Y.Gu等人構(gòu)建的,包含八千張高分辨率的戶外人臉圖像,共涉及1600個(gè)亞洲對(duì)象,其中有男性800名,女性800名,年齡跨度為0—93歲,每一個(gè)人在同一個(gè)年齡段有約五張正臉圖像,雖然這個(gè)數(shù)據(jù)庫(kù)數(shù)量并不龐大,但是圖像的質(zhì)量都非常好,有利于人臉年齡估計(jì)算法的研究。
(3)WIT-DB數(shù)據(jù)庫(kù),即早稻田人機(jī)交互數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)由K.Ueki等人在2006年為研究人機(jī)交互技術(shù)所構(gòu)建的人臉數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)一共包含26222張圖片,其中男性為14214張,女性為12008張,涉及5500個(gè)不同的日本對(duì)象。這些人臉圖像基本上都是自然表情,并且是在較為廣泛的光照條件下獲得,年齡范圍包括3—85歲。這個(gè)數(shù)據(jù)庫(kù)年齡跨度大,圖片質(zhì)量好,是人臉年齡估計(jì)的較好數(shù)據(jù)庫(kù)之一。
4.2 實(shí)驗(yàn)環(huán)境配置
實(shí)驗(yàn)中硬件配置為Intel i7-6700處理器,主頻2.60 GHz,
8 GB內(nèi)存,顯卡Nvidia GTX960。軟件配置為L(zhǎng)inux Mint 17.3
(類似Ubuntu 14.04),Cuda6.5 GPU并行計(jì)算庫(kù),網(wǎng)絡(luò)訓(xùn)練工具采用Tensorflow。
4.3 在數(shù)據(jù)庫(kù)下的評(píng)測(cè)結(jié)果
本文主要是針對(duì)FG-NET和Morph兩大常用數(shù)據(jù)庫(kù)進(jìn)行測(cè)試,從表3可知影響識(shí)別精度的各項(xiàng)因素。預(yù)處理操作十分重要,在正確率上提高巨大。其中側(cè)臉的影響最大,灰度和正確率影響較小。采用Morph數(shù)據(jù)集訓(xùn)練后,精度上也有20%的提升。
5 結(jié)論(Conclusion)
本文對(duì)人臉年齡估計(jì)領(lǐng)域做了一個(gè)綜述,之后實(shí)現(xiàn)出一種簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)比在不同的條件下的正確率。實(shí)驗(yàn)結(jié)果顯示,即使在有限的數(shù)據(jù)支持下,本文方法依然能夠在實(shí)際場(chǎng)景中取得不錯(cuò)的性能,同時(shí),側(cè)臉圖片灰度不
同,圖片分辨率不同等條件對(duì)于年齡估計(jì)的正確率有重大影響,其中側(cè)臉對(duì)于正確率影響最大。
參考文獻(xiàn)(References)
[1] D Zhang,JJP Tsai.Machine Learning and Software Engineering[J].
Software Quality Journal,2014,11(2):87-119.
[2] BK Natarajan.Machine Learning[J].Machine Learning,2014:
207-214.
[3] MI Jordan,TM Mitchell.Machine Learning:Trends,Perspectives,and Prospects[J].Science,2015,349(6245):255-260.
[4] 張建明,等.深度學(xué)習(xí)的研究與發(fā)展[J].江蘇大學(xué)學(xué)報(bào):自然科學(xué)版,2015,36(2):191-200.
[5] Abel-Rahnan E M,et al.Detecting Sirex Noctilio Grey-attacked and Lightning-struck Pine Trees Using Airborne Hyperspectral Data,Random Forest and Support Vector Machines Classifiers[J].IS-PRS Journal of Photogrammetry and Remote Sensing,2014,88:48-59.
[6] 孫志軍,等.深度學(xué)習(xí)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,29
(8):2806-2810.
[7] Krizhevsky A,Sutskever I,Hinton G E.Image Net Classification with Deep Concolutional Neural Networks[C].NIPS,2012,1(2):4.
[8] 葉浪.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別研究[D].東南大學(xué),
2015.
[9] 孫寧.人臉檢測(cè)綜述[J].電路與系統(tǒng)學(xué)報(bào),2006,11(6):
104-108.
[10] 閆陳靜.人臉年齡估計(jì)算法的設(shè)計(jì)與實(shí)現(xiàn)[D].北京交通大學(xué),2016.
[11] Bengio Y,et al.Greedy Layerwise Training of Deep Networks[C].Proceedings of 20th Annual Conference on Neural Information Processing Systems.Vancouver:Neural Information Processing System Foundation,2007:153-160.
作者簡(jiǎn)介:
曹 檑(1995-),男,本科生.研究領(lǐng)域:軟件開發(fā).
莫雅婷(1994-),女,本科生.研究領(lǐng)域:軟件開發(fā).
黃 晨(1995-),男,本科生.研究領(lǐng)域:軟件開發(fā).
魏子涵(1994-),女,本科生.研究領(lǐng)域:軟件開發(fā).