劉教民,劉艷暉,朱 葉
(河北工業(yè)大學(xué) 人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401)
人臉圖像包含很多信息,如身份、表情、性別、年齡等。年齡是人類重要生物特征,人臉年齡估計(jì)因?qū)Σ煌I(lǐng)域的研究起到的巨大推動(dòng)作用而得到了廣泛關(guān)注,如:基于年齡的人機(jī)交互系統(tǒng)、基于年齡的訪問控制、電子商務(wù)中個(gè)性營銷、刑事案件偵察中的年齡過濾等。人臉年齡分析算法是利用計(jì)算機(jī)技術(shù)根據(jù)人臉圖像隨年齡變化的規(guī)律進(jìn)行建模,從而使機(jī)器能夠根據(jù)人臉圖像計(jì)算出人的大致年齡或所屬年齡范圍。然而這卻是一個(gè)難題,它不僅與健康狀況、生活方式、工作性質(zhì)、生活壓力、健康狀況和社會(huì)影響等多種因素有關(guān),同時(shí)還受到遺傳基因的影響,具有多樣性和不確定性。
傳統(tǒng)的年齡估計(jì)算法大致可分為3類:1)對年齡按整數(shù)取值,將其視作非負(fù)離散變量,則年齡估計(jì)問題被視為回歸問題,如流形分析法[1-3]與序數(shù)判別特征學(xué)習(xí)法[4],然而將高位空間的數(shù)據(jù)映射到低維空間,被消除的信息會(huì)影響最終的準(zhǔn)確度。2)把年齡標(biāo)簽當(dāng)成不同類別,將年齡識別問題視為一種特殊分類問題,如自動(dòng)年齡估計(jì)方法(AGing pattErn Subspace,AGES)[5]和AdaBoost[6]模型,但這忽略了年齡的連續(xù)性。3)將分類與回歸結(jié)合,如將主動(dòng)外觀模型(Active Appearance Model,AAM)和年齡估計(jì)分類器集合的方法[7],但實(shí)現(xiàn)具有一定難度。
隨著深度學(xué)習(xí)(Deep Learning)的發(fā)展,這種能自動(dòng)學(xué)習(xí)和提取人臉年齡特征的方法,可以有效避免人為提取年齡特征主觀性而得到廣泛應(yīng)用。而提出的眾多框架,如三層散射網(wǎng)絡(luò)(Scattering Network,ScatNet)[8]、群體感知深度特征學(xué)習(xí)方法(Group-Aware Deep Feature Learning,GA-DFL)[9]和標(biāo)簽敏感深度量度學(xué)習(xí)方法(Label-Sensitive Deep Metric Learning,LSDML)[10]等,只使用了網(wǎng)絡(luò)最高層提取的語義信息,忽略了底層的紋理信息。Wang等[11]使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)提取特征,用流形學(xué)習(xí)方法降維后進(jìn)行回歸或者分類,實(shí)驗(yàn)結(jié)果證明提取的單層特征或多層特征,性能較其他算法更優(yōu),這是第一次引入深度學(xué)習(xí)技術(shù)解決年齡估計(jì)問題,但沒給出深入的解釋。
CNN包含輸入層、隱含層和輸出層,其隱含層多由卷積層和池化層交替構(gòu)成。其中,卷積層用來提取圖像特征,池化層用來精簡信息[12]。網(wǎng)絡(luò)往往采用反向傳播的算法進(jìn)行訓(xùn)練,包括正向傳播和誤差反向傳播。正向傳播時(shí),數(shù)據(jù)樣本從輸入層傳入,經(jīng)過網(wǎng)絡(luò),將輸出的結(jié)果與期望輸出比較獲得誤差,再將該誤差用于入反向傳播。反向傳播時(shí),誤差從輸出層依次向前傳遞至輸入層,在每一層求出當(dāng)前層的誤差,并使用該誤差對各單元的權(quán)值進(jìn)行修改,循環(huán)往復(fù)直至網(wǎng)絡(luò)達(dá)到一定的精度。
若將卷積層和池化層等操作視為將原始數(shù)據(jù)映射到隱層特征空間,全連接層(Fully Connected Layers,F(xiàn)c)則是將學(xué)到的特征表示映射到樣本的標(biāo)記空間。目前由于Fc參數(shù)冗余,近期一些性能優(yōu)異的網(wǎng)絡(luò)模型(ResNet和GoogLeNet等)均用全局平均池化(Global Average Pooling,GAP)取代Fc。Zhang等[13]認(rèn)為完全連接的層對于實(shí)現(xiàn)高精度是必不可少的。而本文為改善參數(shù)冗余情況而構(gòu)造的框架簡單,自身冗余情況并不嚴(yán)重,因此保留Fc。
生物研究學(xué)表明,人腦是通過不斷補(bǔ)充信息的方式來對物體進(jìn)行識別的,這說明綜合利用不同級別的特征對最開始提取的特征進(jìn)行補(bǔ)充強(qiáng)化可以幫助視覺系統(tǒng)提高準(zhǔn)確率。因此越來越多的研究者將關(guān)注點(diǎn)放在了模型的融合上。
Yi等[14]首次將CNN應(yīng)用于年齡估計(jì)后,孫寧等[15]提出由多個(gè)CNN和一個(gè)深度信念網(wǎng)絡(luò)(Deep Belief Nets,DBN)堆疊而成深度融合網(wǎng)絡(luò)(Deep Fusion Network,DFN)模型,使用多個(gè)并聯(lián)的CNN提取人臉圖像多個(gè)區(qū)域的外觀特征,將得到的特征進(jìn)行串接輸入一個(gè)DBN網(wǎng)絡(luò)進(jìn)行非線性融合;為了實(shí)現(xiàn)DFN的端到端的整體訓(xùn)練和降低過擬合效應(yīng),提出逐網(wǎng)絡(luò)迭代訓(xùn)練的機(jī)制并對應(yīng)人臉局部圖像的CNN經(jīng)過多次迭代遷移學(xué)習(xí)實(shí)現(xiàn)面向人臉年齡估計(jì)任務(wù)的訓(xùn)練;完成對DFN的預(yù)訓(xùn)練后,再進(jìn)行全網(wǎng)絡(luò)端到端的整體精調(diào)。Rothe等[16-17]將年齡的回歸問題轉(zhuǎn)化為分類問題,用ImageNet數(shù)據(jù)集訓(xùn)練好的VGG-16網(wǎng)絡(luò)進(jìn)行初始化并集成20個(gè)VGG-16進(jìn)行年齡估計(jì),對IMDB-WIKI數(shù)據(jù)集進(jìn)行優(yōu)化,最后用LAP數(shù)據(jù)集再次進(jìn)行優(yōu)化。然而上述文獻(xiàn)都是對精準(zhǔn)年齡進(jìn)行研究,且訓(xùn)練時(shí)間較長。
Angulu等[18]在2018年提出了比較區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Comparative Region Convolutional Neural Network,CRCNN),將年齡估計(jì)任務(wù)分為幾個(gè)比較階段,比直接計(jì)算人的年齡更簡單,并且明確的輔助信息可以減少不正確的比較對結(jié)果的準(zhǔn)確性產(chǎn)生的影響,使結(jié)果更加準(zhǔn)確穩(wěn)健。馬文娟等[19]提出基于集成卷積神經(jīng)網(wǎng)絡(luò)的人臉年齡分類算法,首先分別訓(xùn)練3個(gè)獨(dú)立的卷積神經(jīng)網(wǎng)絡(luò),然后對這3個(gè)網(wǎng)絡(luò)的輸出結(jié)果進(jìn)行集成,取得的完全匹配(An Exact Match,AEM)值為55.67%。Dong等[20]也采用了卷積神經(jīng)網(wǎng)絡(luò)的方法,并且運(yùn)用遷移學(xué)習(xí)進(jìn)行模型的訓(xùn)練,有效地提高了分類的準(zhǔn)確率,取得的AEM平均值為56%,然而對多個(gè)獨(dú)立網(wǎng)絡(luò)進(jìn)行訓(xùn)練又將消耗大量時(shí)間與資源。
因此,本文提出基于單模型集成的年齡估計(jì)框架AEF-SMI,對單個(gè)框架模型的多層特征進(jìn)行融合操作。深度卷積神經(jīng)網(wǎng)絡(luò)特征具有層次性,不同層的特征信息可以相互補(bǔ)充,使用AEF-SMI時(shí)將不同層的網(wǎng)絡(luò)特征級聯(lián),框架不僅能獲取高層的語義信息,還能獲取低層邊緣紋理信息,有利于提取更豐富的年齡特征,改善特征冗余及其不能被充分利用問題。
2.1.1 網(wǎng)絡(luò)架構(gòu)
本文提出的AEF-SMI框架共有6個(gè)模塊組成,分別為卷積模塊Conv、最大池化層M-P、歸一化層BL、融合層Con、Dropout層Dr-L和全連接層Fc。網(wǎng)絡(luò)架構(gòu)如圖1所示。

圖1 網(wǎng)絡(luò)架構(gòu)圖Fig.1 Network architecture framework
1)卷集模塊Conv1、Conv2和Conv3構(gòu)成,其中:Conv1為2個(gè)5×5的卷積層;Conv2為1個(gè)3×3的卷積層;Conv3為兩個(gè)2×2的卷積層。分別使用不同大小的卷積核,以提取更豐富的空間結(jié)構(gòu)信息和更豐富的人臉紋理信息,提高識別精度。
2)最大池化層M-P1、M-P2和M-P3,大小均為2×2,最大池化層能減小卷積層參數(shù)誤差造成估計(jì)均值的偏移,更多的保留紋理信息,而對紋理信息進(jìn)行分析是年齡估計(jì)的最廣泛用法。
3)融合層Con,將不同通道提取的特征——最具體的淺層特征FL、較低層特征F1、較高層特征Fh、最高層語義特征FH進(jìn)行融合。
4)加入歸一化層B-L和Dropout層Dr-L,有效提高訓(xùn)練的收斂速度,防止過擬合。
2.1.2 單模型集成
張婷等[21]提出基于跨連卷積實(shí)現(xiàn)性別分類的方法,將第2個(gè)池化層跨過隨后的1個(gè)卷積層和池化層,連接到最后的特征融合層,最后的分類效果并沒有太顯著的提升,這可能是由池化過程的損失導(dǎo)致。故本文在選擇不同通道時(shí),直接對卷積層進(jìn)行連接,略去池化和歸一化層以減少損失。在同一個(gè)架構(gòu)下,即單模型中,將不同層進(jìn)行連接組成不同通道:
1)通道1為Input→Conv1→M-P1→B-L→Conv2→M-P2→B-L→Conv3→M-P3→B-L→Con,這一通道經(jīng)過3個(gè)卷積塊,獲取的是FH。
2)通道2為Input→Conv1→Conv2→M-P2→BL→Conv3→M-P3→B-L→Con,與通道1相比只略去了一個(gè)池化層與歸一化層,所提取的特征亦為FH。
3)通道3為輸入層Input→Conv1→Conv3→M-P3→B-L→Con,原始圖片通過兩個(gè)卷積模塊即4個(gè)卷積層,所提取的特征為Fh。
4)通道4為Input→Conv1→Con,這時(shí)原始圖片僅經(jīng)過第一個(gè)卷積模塊后直接接到融合層,所提取的特征為FL。
5)通道5為Input→Conv1→M-P1→B-L→Conv2→Con,原始圖片通過兩個(gè)卷積模塊即3個(gè)卷積層,所提取的特征為F1。
各道圖如圖2所示,之后將不同通道取得的不同特征連接到融合層,得到最終的年齡特征。
分類問題的優(yōu)化過程是一個(gè)損失函數(shù)最小化的過程。由于年齡特征受性別影響,故本文構(gòu)建一個(gè)受性別影響的年齡損失函數(shù)。
假設(shè)年齡分類任務(wù)訓(xùn)練N個(gè)樣本,針對網(wǎng)絡(luò)分類層Output的第i個(gè)樣本的輸入特征為xi,其對應(yīng)的真實(shí)標(biāo)記為yi∈{1 ,2,...,C},令h=(h1,h2,...,hc)T為網(wǎng)絡(luò)的最終輸出,即樣本i的預(yù)測結(jié)果,其中C為年齡分類任務(wù)類別數(shù)。
中心損失函數(shù)(center loss function)在考慮類間距離的同時(shí)減小類內(nèi)差異,因此,為減小同一性別內(nèi)的差異,本文選擇將中心損失函數(shù)作為性別損失函數(shù),如式(1)所示:

式中,cyi為第yi類所有深度特征的均值交叉熵(cross entory)。

圖2 各通道展示圖Fig.2 Display of individual channel
損失函數(shù)又稱Softmax損失函數(shù),將邏輯回歸分類器(二類)泛化到多類,是目前卷積神經(jīng)網(wǎng)絡(luò)中最常用的分類目標(biāo)函數(shù),即通過指數(shù)化變換使網(wǎng)絡(luò)輸出h轉(zhuǎn)換為概率形式。本文將它作為年齡損失函數(shù),如式(2)所示:

最終的損失函數(shù)Lfinal如式(3)所示:

本文在兩個(gè)數(shù)據(jù)集上用不同通道特征融合后的分類結(jié)果驗(yàn)證本文所提框架AEF-SMI的有效性。首先選取的數(shù)據(jù)庫是IMDB-WIKI數(shù)據(jù)集[16],它由IMDB數(shù)據(jù)集和Wikipedia數(shù)據(jù)集組成,其中IMDB人臉數(shù)據(jù)集包含了460 723張人臉圖片,Wikipedia人臉數(shù)據(jù)集包含了62 328張人臉圖片,總共523 051張人臉圖片,年齡分布如表1所示。
其次選取的Group數(shù)據(jù)集[22]是1個(gè)包含28 000張帶有性別和年齡標(biāo)記的圖片的數(shù)據(jù)集,年齡分布如表2所示。
在年齡分類任務(wù)中,常用的算法評價(jià)指標(biāo)為AEM,如式(4)所示:

式中:N是測試集的樣本總數(shù);Nm是測試集中預(yù)測正確的樣本數(shù)。

表1 IMDB-WIKI數(shù)據(jù)庫年齡分布Tab.1 Age distribution of IMDB-WIKI database

表2 Group數(shù)據(jù)庫年齡分布Tab.2 Age distribution of Group database
3.2.1 雙通道融合分析
將IMDB和WIKI數(shù)據(jù)集包含的年齡段分為9段:(0,10),(11,20),…,(71,80),(81,100),在IMDB數(shù)據(jù)庫上進(jìn)行訓(xùn)練,在WIKI數(shù)據(jù)庫上進(jìn)行測試。將通道1在測試集WIKI數(shù)據(jù)庫上的結(jié)果分別與通道1+2、通道1+3、通道1+4、通道1+5的結(jié)果進(jìn)行比較,結(jié)果如圖3所示。其中x軸為epoch次數(shù),y軸為值。實(shí)驗(yàn)結(jié)果表明,在IMDB-WIKI數(shù)據(jù)庫中,epoch15次后值趨于穩(wěn)定,并且除通道1+4的值下降外,其余通道提取的特征融合后值均提升。在Group數(shù)據(jù)集上,將通道1、通道1+2、通道1+3、通道1+4、通道1+5的運(yùn)行結(jié)果進(jìn)行比較,如圖4所示。

圖3 WIKI測試集實(shí)驗(yàn)對比結(jié)果Fig.3 Experimental comparison results on the WIKI test set

圖4 Group數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對比Fig.4 Experimental comparison results on the Group test set
將測試集WIKI上運(yùn)行30次的AEM值和Group數(shù)據(jù)庫上運(yùn)行的最后200次的AEM值分別取平均值,結(jié)果如表3所示。
對比發(fā)現(xiàn),WIKI和Group數(shù)據(jù)集上,通道1+4的AEM值低于通道1的,而通道1+3的AEM值高于其他的。為此在Group數(shù)據(jù)庫中隨機(jī)選取1張圖片,再將各集成通路對其采取的特征圖可視化后做對比,如圖5所示。在前幾層中,人的面部仍然可以被識別,然而,隨著更深入CNN,表示變?yōu)楦橄螅y解釋。出現(xiàn)這一現(xiàn)象可能是由于通道4所提取的最具體的淺層特征FL,對年齡分類產(chǎn)生消極影響。通道3所提取的較高層特征Fh,既補(bǔ)充了語義信息又避免淺層特征的消極影響。通道2和5提取的特征分別為最高層特征FH和較低層特征F1,未能最好地補(bǔ)充語義信息或避免淺層特征的影響。

表3 IMDB-WIKI與Group數(shù)據(jù)庫上不同通道AEMTab.3 Different channels AEM on IMDB-WIKI and Group database
3.2.2 多通道融合分析
為驗(yàn)證卷積各層對年齡估計(jì)結(jié)果的影響,在Group數(shù)據(jù)庫上對3個(gè)及以上通道進(jìn)行融合,并與1和3這兩個(gè)通道融合后的AEM進(jìn)行比較,結(jié)果分別如圖6和圖7所示。

圖5 通道融合后主要層的特征圖Fig.5 Feature map of the main layer after channel fusion

圖6 3通道融合比較Fig.6 Triple channel fusion

圖7 3個(gè)以上通道融合比較Fig.7 More than three channels fusion
對比結(jié)果發(fā)現(xiàn),將不同通道集成后得到的AEM均高于之前提出的算法,通道1+2+3和通道1+2+5集成后得到的AEM值略高于通道1+3融合的結(jié)果,這可能是通道2提取的邊緣紋理特征起到了積極作用,但訓(xùn)練的時(shí)間是通道1+3融合的1.5倍;3個(gè)以上通道集成時(shí)只有通道1+2+3和通道1+2+5融合后的結(jié)果略高于通道1+3融合的結(jié)果,但太多通道融合降低效率;此外,將通道1-5全部融合后得到的AEM值卻沒什么優(yōu)勢,這可能是提取到的特點(diǎn)太多,對分類操作產(chǎn)生了消極影響。因此我們選擇通道1+3集成的最優(yōu)結(jié)構(gòu)。
3.2.3 綜合對比
為綜合驗(yàn)證本文提出的AEF-SMI框架,將其與一些現(xiàn)有的算法進(jìn)行比較,表4列出了在同一個(gè)數(shù)據(jù)集Group數(shù)據(jù)集上各種算法的比較結(jié)果。通過實(shí)驗(yàn)可以看出,AEF-SMI框架在分類正確率上均優(yōu)于其他算法,并且使用的訓(xùn)練時(shí)間更少。

表4 在Group數(shù)據(jù)集上與其他方法的對比結(jié)果Tab.4 Comparison with other methods in Group database
本文提出了一個(gè)新的年齡估計(jì)架構(gòu),將不同通道提取的特征進(jìn)行融合,實(shí)驗(yàn)結(jié)果表明,在使用較淺的卷積神經(jīng)網(wǎng)絡(luò)時(shí),將卷積神經(jīng)網(wǎng)絡(luò)不同層提取到的特征進(jìn)行融合后分類效果高于其他未進(jìn)行單模型集成的網(wǎng)絡(luò)架構(gòu),甚至達(dá)到的正確率比其他層數(shù)更多的網(wǎng)絡(luò)架構(gòu)(如VGG16)的正確率更高,而使用的時(shí)間更少。在接下來的計(jì)劃中,將探究單模型集成網(wǎng)絡(luò)在精準(zhǔn)年齡估計(jì)方面的應(yīng)用,并嘗試將更多通道進(jìn)行融合,分析不同層對最終結(jié)果的影響,得到更加具有代表性的特征。本文在構(gòu)建損失函數(shù)時(shí)只考慮了性別對年齡估計(jì)的影響,在以后的工作中還將把種族、職業(yè)等因素考慮在內(nèi),以得到更準(zhǔn)確的估計(jì)值。