陳文兵,李育霖,陳允杰
(1.南京信息工程大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,江蘇 南京 210044;2.中國氣象局交通重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210009)
目前,人臉識(shí)別尤其是基于人臉圖像的性別及年齡識(shí)別已經(jīng)受到研究人員的極大關(guān)注。
針對年齡分類問題,F(xiàn)u等人[1]詳細(xì)評述了年齡分類方法。Kwon等人[2]通過計(jì)算皺紋出現(xiàn)的概率來建立特征與年齡之間的關(guān)系,提出了基于人類面部圖像的年齡分類模型。Geng等人[3]提出了一種用于自動(dòng)估計(jì)年齡的老化模式子空間(Aging Pattern Subspace)方法,同時(shí)提出了年齡流形學(xué)習(xí)方案,以提取面部老化特征,并設(shè)計(jì)局部調(diào)整的穩(wěn)定回歸量來預(yù)測人類年齡。Chang等人[4]引入一種依據(jù)面部圖像成本敏感序數(shù)超平面排序方法來估計(jì)人類年齡,提出了一種分組估計(jì)融合多階段學(xué)習(xí)系統(tǒng)的人類年齡分類模型。Li等人[5]使用一種新的特征選擇方法進(jìn)行年齡估計(jì),也取得了較好的分類效果。盡管以上提到的這些模型和方法表現(xiàn)出了很多優(yōu)點(diǎn),但由于它們嚴(yán)重依賴諸如FG-NET[6]、MORPH[7]和FACES[8]等約束圖像數(shù)據(jù)集,因此,盡管它們已經(jīng)在用于年齡分類的約束數(shù)據(jù)集上得到了有效的驗(yàn)證,但不適于實(shí)際應(yīng)用中的無約束圖像。
針對性別分類問題,初期模型包括:Golomb等人[9]使用神經(jīng)網(wǎng)絡(luò)訓(xùn)練一小組面部圖像數(shù)據(jù)集來對性別進(jìn)行分類;Moghaddam等人[10]使用SVM對面部圖像中的性別進(jìn)行分類;Baluja等人[11]采用AdaBoost從面部圖像中識(shí)別人類性別。中期模型包括:Toews等人[12]提出了一種視點(diǎn)不變的外觀模型,用于對年齡和性別進(jìn)行分類;Yu等人[13]提出了基于人體步態(tài)的性別分類研究和分析,同時(shí)重新使用線性判別技術(shù)對性別進(jìn)行分類;Eidinger等人[14]不僅提供了新穎的數(shù)據(jù)集和多個(gè)評價(jià)基準(zhǔn)來研究年齡和性別分類,而且還設(shè)計(jì)了一個(gè)分類管道,以充分利用可用的小數(shù)據(jù);Khan等人[15]提出了一個(gè)用于性別和行動(dòng)識(shí)別的語義金字塔,并且該方法是完全自動(dòng)的,它不要求對人的上半身和面部進(jìn)行任何注釋;Chen等人[16]使用名字作為面部屬性,并模擬了名字和面孔之間的關(guān)系,與其他方法相比,該方法利用名字-面孔關(guān)系提升了性別分類的精度;Han等人[17]使用通用結(jié)構(gòu)來估計(jì)年齡、性別和種族。
近年來,許多研究人員利用DNN解決年齡及性別識(shí)別問題。Chen等人[18]提出一種由粗到細(xì)的方法并使用級聯(lián)卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)無約束人臉圖像的年齡估計(jì)。Duan等人[19]提出基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)與極限學(xué)習(xí)機(jī)(ELM)檢測人臉圖像進(jìn)行年齡-性別分類的混合模型。韓眾和等人[20]提出一種使用Highway網(wǎng)絡(luò)進(jìn)行特征優(yōu)化的卷積神經(jīng)網(wǎng)絡(luò)和極限學(xué)習(xí)機(jī)(ELM)的混合短文本分類模型。Hu等人[21]提出一種SENet(Squeeze-and-Excitation Networks)網(wǎng)絡(luò)架構(gòu),該網(wǎng)絡(luò)顯式地建立特征通道之間的相互依賴關(guān)系模型,通過所謂的“特征重標(biāo)定策略”,即利用Squeeze 和 Excitation 2個(gè)關(guān)鍵操作去學(xué)習(xí)特征權(quán)重,使得有效的特征圖權(quán)重大,無效或效果小的特征圖權(quán)重小,從而達(dá)到更好的結(jié)果。
雖然上面提到的大多數(shù)方法在年齡分類方面取得了較大的進(jìn)展,但一方面,由于它們都約束于成像條件或者是非自動(dòng)分類方法;另一方面,CNN-ELM模型對人臉圖像能夠?qū)崿F(xiàn)基本的年齡和性別分類[13],但其分類或識(shí)別效果并不理想。本文提出的CNN-SE-ELM的混合分類模型,不僅適用于處理非約束人臉圖像,還能夠根據(jù)面部圖像自動(dòng)分類年齡和性別。在多種人臉數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該模型既提高了基于人臉圖像的年齡和性別分類的精度,又有效地提升了計(jì)算速度。
受到Hubel等人[22]對貓視覺皮層電生理研究的啟發(fā),卷積神經(jīng)網(wǎng)絡(luò)(CNN)被提出。而LeCun等人[23]建立了第1個(gè)將CNN用于手寫數(shù)字識(shí)別的模型。近年來,卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)領(lǐng)域均得到了廣泛應(yīng)用,如語音識(shí)別、人臉識(shí)別、通用物體識(shí)別、運(yùn)動(dòng)分析、自然語言處理和腦電波分析等。
卷積神經(jīng)網(wǎng)絡(luò)與普通神經(jīng)網(wǎng)絡(luò)的區(qū)別在于,卷積神經(jīng)網(wǎng)絡(luò)包含了一個(gè)由卷積層和子采樣層構(gòu)成的特征抽取器。在卷積神經(jīng)網(wǎng)絡(luò)的卷積層中,一個(gè)神經(jīng)元只與部分鄰層神經(jīng)元連接。在CNN的一個(gè)卷積層中,通常包含若干幅特征圖(Feature Map),每幅特征圖由一些矩形排列的神經(jīng)元組成,同一幅特征圖的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核。卷積核一般以隨機(jī)生成的較小數(shù)的矩陣形式進(jìn)行初始化,在網(wǎng)絡(luò)的訓(xùn)練過程中卷積核通過學(xué)習(xí)得到合理的權(quán)值。卷積核帶來的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時(shí)又降低了過擬合的風(fēng)險(xiǎn)。子采樣也叫做池化(Pooling),可以看作一種特殊的卷積過程,通常有均值子采樣(Mean Pooling)和最大值子采樣(Max Pooling)2種形式。卷積和子采樣大大降低了模型復(fù)雜度,減少了模型的參數(shù)。
SENet[21]的核心思想在于對CNN中的特征通道(Feature Channel)依賴性的充分使用和創(chuàng)新。它從卷積或者池化得到的特征圖間的關(guān)系出發(fā),即建立特征通道間的相互依賴關(guān)系模型,模型并未添加多余的空間維度來對特征通道進(jìn)行融合,而是采用一種對特征權(quán)重重新分配的方法,即“特征重標(biāo)定”。網(wǎng)絡(luò)模型通過自我學(xué)習(xí)不斷調(diào)整,可以得到每個(gè)特征圖對應(yīng)特征通道的重要程度,接著通過重要程度來提升有用特征的權(quán)重,并抑制對當(dāng)前任務(wù)相關(guān)性較小或者無關(guān)特征的權(quán)重??傮w而言,SENet網(wǎng)絡(luò)可以根據(jù)全局信息有選擇地增強(qiáng)有益特征通道,同時(shí)抑制無用特征通道,最終能夠?qū)崿F(xiàn)特征通道的自適應(yīng)校準(zhǔn)。
SENet網(wǎng)絡(luò)主要包含擠壓(Squeeze)、激勵(lì)(Excitation)和點(diǎn)積(Scale)3個(gè)重要操作,圖1所示為SENet網(wǎng)絡(luò)基本結(jié)構(gòu)圖。
Figure 1 Basic structure of the SENet network圖1 SENet網(wǎng)絡(luò)基本結(jié)構(gòu)圖
式(1)是X→U的實(shí)現(xiàn)過程,F(xiàn)tr為轉(zhuǎn)換操作,它是CNN的常見操作。
Ftr:X→U,X∈RH′×W′×C′,U∈RH×W×C
(1)
其中,H′,W′,C′,H,W和C分別表示X和U的高度、寬度和通道數(shù)。
Ftr的計(jì)算如式(2)所示,其實(shí)質(zhì)為卷積操作:
(2)
其中,vc表示第c個(gè)卷積核,xs表示第s個(gè)輸入,uc表示U中第c個(gè)二維矩陣。
通過Ftr轉(zhuǎn)換操作后得到U是一個(gè)三維矩陣,即C個(gè)大小為H×W的特征圖。
2.2.1 擠壓(Squeeze)
Squeeze操作,即網(wǎng)絡(luò)通過多個(gè)卷積核運(yùn)算后輸出特征映射U(多個(gè)特征圖),再利用全局平均池化操作對U的每個(gè)特征圖進(jìn)行壓縮,將每個(gè)特征圖大小變換成1×1的特征圖,由此,C個(gè)特征圖被映射為1×1×C的實(shí)數(shù)數(shù)列,圖像被變換為一維特征數(shù)組。
(3)
多特征圖U相當(dāng)于圖像的多個(gè)局部描述子,其統(tǒng)計(jì)信息描述了一幅圖像的表現(xiàn)力,通過全局平均池化運(yùn)算能夠簡單、快速地生成圖像的全局感受野。
2.2.2 激勵(lì)(Excitation)
Excitation操作,實(shí)質(zhì)上是遞歸神經(jīng)網(wǎng)絡(luò)RNN中的門機(jī)制(Gating Mechanism),通過參數(shù)學(xué)習(xí)建立特征通道間的相關(guān)性,通過參數(shù)更新每一個(gè)特征通道相應(yīng)的權(quán)重。利用Excitation操作能夠全面地捕獲通道間的依賴性。
為了捕獲通道間的依賴性,使用式(4)定義門機(jī)制:
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(4)
(5)
其中,激活函數(shù)采用Sigmoid函數(shù),δ為ReLU激活函數(shù)。W1z為全連接操作,W1的維度為(C/r)×C,W2的維度為C×(C/r),r是一個(gè)縮放參數(shù),s表示U中C個(gè)特征圖的權(quán)重。
模型采用2個(gè)全連接層,也可以理解為1×1的卷積層,降維層參數(shù)為W1,降維比例為r,其目的是為了減少通道個(gè)數(shù)以降低計(jì)算量,經(jīng)過一個(gè)ReLU激活函數(shù)及其后的參數(shù)為W2的升維層,即先降維再升維,不僅能夠降低模型的復(fù)雜度,同時(shí)還能夠發(fā)揮輔助泛化的作用。
2.2.3 點(diǎn)積(Scale)
Scale操作是將Excitation運(yùn)算后得到的一維實(shí)數(shù)數(shù)列與特征映射U通過式(6)進(jìn)行對應(yīng)通道的點(diǎn)積運(yùn)算:
(6)
其中,X=[x1,x2,…,xc]和Fscale(uc,sc)分別表示特征映射uc∈RW×H與標(biāo)量sc之間的對應(yīng)通道乘積,sc·uc即uc矩陣中的每個(gè)值都乘以其權(quán)重。通過Scale操作以實(shí)現(xiàn)有選擇增強(qiáng)有益特征通道并抑制無用特征通道權(quán)重的目的。
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)算法網(wǎng)絡(luò)節(jié)點(diǎn)的大多數(shù)參數(shù)均通過迭代算法即所謂的訓(xùn)練計(jì)算而得,迭代是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的最大時(shí)間開銷。Huang等人[24]提出一種ELM神經(jīng)網(wǎng)絡(luò)架構(gòu),該架構(gòu)由1個(gè)輸入層、1個(gè)單隱藏層和1個(gè)輸出層組成,由于網(wǎng)絡(luò)結(jié)構(gòu)簡單故網(wǎng)絡(luò)的計(jì)算十分高效。
ELM神經(jīng)網(wǎng)絡(luò)具有很多優(yōu)點(diǎn):首先,它和BP神經(jīng)網(wǎng)絡(luò)算法有很大區(qū)別,BP神經(jīng)網(wǎng)絡(luò)通過后向傳播來更新網(wǎng)絡(luò)模型的參數(shù),ELM神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中,可以選擇不可微函數(shù)作為激活函數(shù);其次,基于梯度的學(xué)習(xí)算法有非常多的不足之處,比如學(xué)習(xí)速率大小不容易選擇,易陷于局部網(wǎng)絡(luò)最小化等,ELM神經(jīng)網(wǎng)絡(luò)明顯地改進(jìn)了這些缺陷,在分類任務(wù)中取得了更好的效果;同時(shí),ELM神經(jīng)網(wǎng)絡(luò)在求取網(wǎng)絡(luò)輸出權(quán)值時(shí)僅僅需要計(jì)算一個(gè)廣義逆,因此訓(xùn)練速度比基于梯度的學(xué)習(xí)算法快很多;最后,ELM的訓(xùn)練過程并不復(fù)雜,ELM只需要3步就可以完成整個(gè)學(xué)習(xí)過程。
對于單隱藏層前饋神經(jīng)網(wǎng)絡(luò),本文給出極限學(xué)習(xí)機(jī)(ELM)算法。為方便描述,引入以下符號:
在數(shù)學(xué)上,標(biāo)準(zhǔn)的單隱藏層前饋神經(jīng)網(wǎng)絡(luò)模型為:
oj,j=1,2,…,N
(7)
其中,ωi·xj表示向量ωi和xj的內(nèi)積。
(8)
表示式(7)模型能夠零誤差地逼近上述N個(gè)樣本,即存在ω,β和b,使得:
(9)
利用矩陣表示,式(9)可以寫成:
Hβ=T
(10)
其中,
(11)
(12)
極限學(xué)習(xí)機(jī)(ELM)的單隱藏層前饋神經(jīng)網(wǎng)絡(luò)簡單學(xué)習(xí)方法概括如下:
(2)計(jì)算隱藏層單元矩陣H;
(3)計(jì)算輸出權(quán)矩陣β=H+T。
為了解決CNN-ELM應(yīng)用于人臉圖像年齡及性別識(shí)別時(shí),識(shí)別率低、速度慢,同時(shí)受數(shù)據(jù)集約束等問題,通過研究分析CNN、ELM和SENet的結(jié)構(gòu)及其特點(diǎn),本文提出一種CNN-SE-ELM混合分類模型。該混合模型將人臉圖像作為輸入變量,利用CNN層提取人臉圖像的基本特征;再利用SENet網(wǎng)絡(luò)強(qiáng)化面部圖像中能夠最有效標(biāo)識(shí)年齡及性別的那部分特征的提取能力;最后,利用誤差最小化-極限學(xué)習(xí)機(jī)(EM-ELM) 作為分類器完成人臉圖像年齡及性別分類。CNN-SE-ELM混合分類模型結(jié)構(gòu)如圖2所示,模型參數(shù)如表1所示。
如圖2所示,模型結(jié)構(gòu)組成及處理機(jī)制可描述如下:
輸入:人臉圖像的尺寸為112×92×3。
(1)CNN子網(wǎng)。
Figure 2 Structure of CNN-SE-ELM model 圖2 CNN-SE-ELM模型結(jié)構(gòu)
Table 1 Parameter description of CNN-SE-ELM model
主要由卷積層和池化層2部分組成,非線性激活函數(shù)為ReLU函數(shù)。
Conv1:第1層卷積層的卷積核大小為3×3,卷積核個(gè)數(shù)為16,卷積核移動(dòng)步長為1,激活函數(shù)為ReLU,padding方式為same,像素點(diǎn)周圍補(bǔ)一圈0,人臉圖像尺寸變?yōu)?12×92×16。
Pool1:池化層1對Conv1進(jìn)行最大池化,尺寸為2×2,步長為2,核數(shù)不變,人臉圖像尺寸變?yōu)?6×46×16。
Conv2:第2層卷積層的卷積核大小為3×3,卷積核個(gè)數(shù)為32,卷積核移動(dòng)步長為1,激活函數(shù)為ReLU,padding方式為same,像素點(diǎn)周圍補(bǔ)一圈0,人臉圖像尺寸變?yōu)?6×46×32。
Pool2:池化層2對Conv2進(jìn)行最大池化,尺寸為2×2,步長為2,核數(shù)不變,人臉圖像尺寸變?yōu)?8×23×32。
Conv3:第3層卷積層的卷積核大小為3×3,卷積核個(gè)數(shù)為64,卷積核移動(dòng)步長為1,激活函數(shù)為ReLU,padding方式為same,像素點(diǎn)周圍補(bǔ)一圈0,人臉圖像尺寸變?yōu)?8×23×64。
(2)SENet子網(wǎng)。
Squeeze:對Conv3后的人臉圖像進(jìn)行壓縮,即對Conv3進(jìn)行全局平均池化,尺寸為28×23,核數(shù)不變,人臉圖像尺寸變?yōu)?×1×64,此時(shí)圖像變?yōu)橐痪S實(shí)數(shù)列,含有64個(gè)實(shí)數(shù)。
Excitation:對壓縮后的人臉圖像降維,大小變?yōu)?×1×4,核數(shù)為4,此時(shí)圖像同為一維實(shí)數(shù)列,含有4個(gè)實(shí)數(shù);對降維后的人臉圖像升維,大小變?yōu)?×1×64,核數(shù)為64,此時(shí)圖像同為一維實(shí)數(shù)列,實(shí)數(shù)個(gè)數(shù)變?yōu)?4(此步驟即為每個(gè)特征通道生成權(quán)重,激活函數(shù)為Sigmoid函數(shù);為降低計(jì)算復(fù)雜度,限制模型復(fù)雜度,先降維后升維,激活函數(shù)為ReLU函數(shù))。
Scale:一維實(shí)數(shù)列與Conv3后的多個(gè)特征圖進(jìn)行對應(yīng)通道乘積,核數(shù)為64,人臉圖像尺寸變?yōu)?8×23×64。
(3)EM-ELM分類器。
Input:把Scale輸出的特征向量作為EM-ELM分類器的輸入。
Hidden:通過分類訓(xùn)練測試,設(shè)置最小誤差和最大隱藏層神經(jīng)單元數(shù),激活函數(shù)為Softmax函數(shù)。
Output:對于性別,輸出層連接2個(gè)神經(jīng)元;對于年齡,輸出層連接8個(gè)神經(jīng)元。
輸出:對于性別輸出2個(gè)分類,對于年齡輸出8個(gè)分類。
CNN-SE-ELM混合模型流程描述如下:
(1)對人臉圖像進(jìn)行預(yù)處理。
Step 1從人臉圖像中檢測出人臉,并將其裁剪下來。
Step 2對剪裁下來的人臉圖像進(jìn)行大小格式歸一化處理。
Step 3對數(shù)據(jù)進(jìn)行編碼分類。
(2)訓(xùn)練CNN網(wǎng)絡(luò)模型。
Step 1對網(wǎng)絡(luò)模型進(jìn)行初始化,權(quán)值和偏置隨機(jī)賦值。
Step 2獲得輸入樣本xi和相對應(yīng)的輸出標(biāo)簽ti。
Step 3輸入的樣本xi經(jīng)過卷積層以及下采樣層的處理,然后采用ReLU激活函數(shù)對其結(jié)果進(jìn)行非線性化處理。
(3)嵌入SENet網(wǎng)絡(luò)模型。
Step 1將CNN層的輸出作為SE網(wǎng)絡(luò)的輸入,通過Squeeze操作(式(13))對zc進(jìn)行平均池化壓縮為一維實(shí)數(shù)列。
(13)
Step 2通過Excitation操作(式(14))為每個(gè)特征通道生成權(quán)重,激活函數(shù)為Sigmoid函數(shù);為降低復(fù)雜度,先降維后升維,激活函數(shù)為ReLU函數(shù)。
s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))
(14)
(15)
其中,W1z為全連接操作,W1的維度為(C/16)×C,W2的維度為C×(C/16),s表示U中C個(gè)特征圖的權(quán)重。
Step 3然后通過Scale操作(式(16))即特征映射uc∈RW×H和標(biāo)量sc之間的對應(yīng)通道乘積得到輸出。
(16)
最后通過全連接層得到輸出層的分類結(jié)果yi。
Step 4根據(jù)網(wǎng)絡(luò)的輸出yi和ti目標(biāo)的輸出誤差Et,利用AdamOptimizer調(diào)整網(wǎng)絡(luò)參數(shù)。
(17)
Step 5迭代訓(xùn)練,然后通過反向傳播重復(fù)以上所有步驟,直到網(wǎng)絡(luò)收斂后停止。
經(jīng)過以上步驟的訓(xùn)練,最終得到了一個(gè)收斂狀態(tài)的CNN+SENet網(wǎng)絡(luò)。
(4)將SENet網(wǎng)絡(luò)的輸出作為EM-ELM分類器的輸入,從而得到分類結(jié)果。
Step 1初始化一個(gè)含有L0個(gè)隱藏層節(jié)點(diǎn)的SLFN,L0為人為設(shè)定的小正整數(shù)。
Step 2選定隱藏層的激活函數(shù),對于性別采用Sigmoid激活函數(shù),對于年齡采用Softmax激活函數(shù),并計(jì)算輸出矩陣H1。
Step 3計(jì)算相應(yīng)的殘差e(H1):
(18)
Step 4令k=k+1;
Step 5隨機(jī)增加δLk-1個(gè)隱藏層節(jié)點(diǎn),δ為一個(gè)常量,那么總的隱藏層節(jié)點(diǎn)數(shù)變?yōu)長k:
Lk=Lk-1+δLk-1
(19)
相應(yīng)的隱藏層輸出矩陣Hk+1為:
Hk+1=[Hk,δHk]
(20)
Step 6計(jì)算相應(yīng)殘差e(Hk+1)。
循環(huán)Step 4~Step 6,直到不滿足給定條件,停止學(xué)習(xí)。
綜上,CNN-SE-ELM模型首先進(jìn)行人臉圖像的預(yù)處理,即:(1)對輸入的人臉圖像進(jìn)行檢查并裁剪提取人臉區(qū)域;(2)對人臉區(qū)域圖像進(jìn)行歸一化處理。接著,通過CNN層卷積操作對人臉區(qū)域圖像進(jìn)行特征提取。然后,進(jìn)入SENet網(wǎng)絡(luò)層,其中,Squeeze操作采用全局平均池化操作使其具有全局的感受野,壓縮圖像變?yōu)橐痪S。Excitation操作采用門機(jī)制,同時(shí)限制模型復(fù)雜度,輔助泛化先進(jìn)行降維再進(jìn)行升維。最后,通過EM-ELM分類器對人臉圖像進(jìn)行分類。
本文實(shí)驗(yàn)在Windows 10環(huán)境中實(shí)施,處理器為Intel Core i5-7300HQ CPU 4核處理器,內(nèi)存為32 GB。編程語言為Python 3.6,深度網(wǎng)絡(luò)結(jié)構(gòu)基于Tensorflow-gpu 1.0.0,圖像處理采用OpenCV 3.4.3。實(shí)驗(yàn)擬從基準(zhǔn)數(shù)據(jù)集、評價(jià)指標(biāo)、模型訓(xùn)練與測試、模型結(jié)構(gòu)的變化分析、與近期流行方法對比等多角度展開。
實(shí)驗(yàn)所用數(shù)據(jù)集為IMDB-WIKI人臉數(shù)據(jù)集和Adience人臉數(shù)據(jù)集。IMDB-WIKI人臉數(shù)據(jù)集由IMDB數(shù)據(jù)集和Wikipedia數(shù)據(jù)集組成,其中IMDB人臉數(shù)據(jù)集包含了460 723幅人臉圖像,而Wikipedia人臉數(shù)據(jù)集包含了62 328幅人臉圖像,總共523 051幅人臉圖像,IMDB-WIKI人臉數(shù)據(jù)集中的每幅圖像都被標(biāo)注了人的年齡和性別,是迄今為止最大的年齡預(yù)測公共數(shù)據(jù)集。Adience數(shù)據(jù)集是根據(jù)志愿者通過智能手機(jī)拍攝后上傳的照片進(jìn)行整合得到的,其圖像受到光照、噪聲、姿態(tài)和遮擋等方面的影響。Adience人臉數(shù)據(jù)集總共有26 580幅圖像,包含對象共2 284個(gè),對于年齡和性別分類的研究有著重要的意義。
本文從IMDB-WIKI人臉數(shù)據(jù)集中選取數(shù)量相等的男女人臉圖像,先將男女人臉圖像分開,再進(jìn)行各年齡段的劃分,最終選出共16 000幅圖像,其中男性人臉圖像8 000幅,女性人臉圖像8 000幅,將年齡段分為8類,分別為:0~2,4~6,8~13,15~20,25~32,38~43,48~53,60~100,即每個(gè)年齡段男女人臉圖像各1 000幅。從Adience人臉數(shù)據(jù)集中共選出19 487幅人臉圖像,將性別分為2類,即男、女,其中男性人臉圖像共8 192幅,女性人臉圖像共9 411幅。將年齡段分為8類,分別為:0~2,共1 427幅;4~6,共2 162幅;8~13,共2 294幅;15~20,共1 653幅;25~32,共4 897幅;38~43,共2 350幅;48~53,共825幅;60~100,共869幅。2個(gè)數(shù)據(jù)集均通過10折交叉驗(yàn)證法(10-Fold Cross Validation)進(jìn)行訓(xùn)練集和測試集的劃分,即將所有數(shù)據(jù)隨機(jī)劃分為10個(gè)子集,其中9個(gè)為訓(xùn)練集,1個(gè)為測試集,進(jìn)行輪流實(shí)驗(yàn),取結(jié)果的平均值進(jìn)行評判。
本文采用準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall)和綜合評價(jià)指標(biāo)F1-score來評價(jià)在多種人臉數(shù)據(jù)集上CNN-SE-ELM混合模型對年齡性別分類的性能。
(1)準(zhǔn)確率(accuracy),即分類模型所有判斷正確的結(jié)果占所有結(jié)果的比重:
(21)
其中,TP為被判定為正類的正樣本數(shù)量,TN為被判定為負(fù)類的負(fù)樣本數(shù)量,F(xiàn)P為被判定為正類的負(fù)樣本數(shù)量,F(xiàn)N為被判定為負(fù)類的正樣本數(shù)量。
(2)精確率(precision),又名查準(zhǔn)率:
(22)
(3)召回率(recall),即查全率:
(23)
(4)F1-score值。F1-score值對精確率和召回率全部進(jìn)行了加權(quán),F(xiàn)1-score的取值為0~1,1代表模型的輸出效果最好,0代表模型的輸出效果最差。
(24)
公式進(jìn)行轉(zhuǎn)化后為:
(25)
本文首先對人臉圖像進(jìn)行預(yù)處理,通過OpenCV自帶的人臉級聯(lián)分類器Haar來識(shí)別圖像中的人臉并裁剪下來,為防止圖像變形將裁剪下來的人臉圖像補(bǔ)成相應(yīng)比例之后壓縮成112×92大小,將圖像格式由.jpg轉(zhuǎn)換為.bmp,如圖3所示。
Figure 3 Face image圖3 人臉圖像
將預(yù)處理之后的圖像以數(shù)組形式加載到內(nèi)存,并為每一類樣本數(shù)據(jù)標(biāo)注標(biāo)簽值。采用One-Hot編碼的方式對樣本進(jìn)行編碼,性別標(biāo)簽為:0和1,即為男(1,0)和女(0,1),年齡標(biāo)簽為:0,1,2,3,4,5,6,7,如果輸出人臉圖像年齡段為第3段,即為(0,0,1,0,0,0,0)。歸一化圖像數(shù)據(jù)即對數(shù)據(jù)集先進(jìn)行浮點(diǎn)化再進(jìn)行歸一化。
對卷積神經(jīng)網(wǎng)絡(luò)主要參數(shù)進(jìn)行初始化,訓(xùn)練步數(shù)train-epochs置為30;批次訓(xùn)練數(shù)據(jù)大小batch-size取256;加入批數(shù)據(jù)標(biāo)準(zhǔn)化層,提升網(wǎng)絡(luò)收斂速度。為了防止過擬合,將drop-out的屬性drop-prob置為0.3。網(wǎng)絡(luò)模型優(yōu)化采用交叉熵?fù)p失函數(shù),利用TensorFlow 的AdamOptimizer優(yōu)化器對其進(jìn)行優(yōu)化。
針對SENet網(wǎng)絡(luò)層,激活函數(shù)采用Sigmoid函數(shù),為每個(gè)特征通道生成權(quán)重;為了降低計(jì)算復(fù)雜度、限制模型規(guī)模,先降維后升維,激活函數(shù)采用ReLU函數(shù)。
對于EM-ELM分類器,性別分類采用激活函數(shù)Sigmoid,年齡分類采用激活函數(shù)Softmax。對IMDB-WIKI人臉數(shù)據(jù)集,EM-ELM的最大隱藏層節(jié)點(diǎn)數(shù)設(shè)置為16 000;對Adience人臉數(shù)據(jù)集,EM-ELM最大隱藏層節(jié)點(diǎn)數(shù)設(shè)置為19 000。如表2所示,期望學(xué)習(xí)誤差設(shè)為0.1,初始隱藏層節(jié)點(diǎn)數(shù)初始個(gè)數(shù)為1, 即每次遞增前一節(jié)點(diǎn)數(shù)。圖4和表2給出了ELM隨機(jī)設(shè)置神經(jīng)元個(gè)數(shù)和EM-ELM自動(dòng)取得最優(yōu)隱藏層節(jié)點(diǎn)個(gè)數(shù)的對比,顯示ELM對神經(jīng)元的變化其分類準(zhǔn)確率呈現(xiàn)不規(guī)則的波動(dòng),無法準(zhǔn)確地設(shè)置一個(gè)最優(yōu)的隱藏層節(jié)點(diǎn)數(shù),而EM-ELM需要較少人工干預(yù),能夠自動(dòng)取得最優(yōu)的隱藏層節(jié)點(diǎn)個(gè)數(shù),從而使得網(wǎng)絡(luò)分類結(jié)果更加準(zhǔn)確。表2顯示了各數(shù)據(jù)集最大隱藏層節(jié)點(diǎn)數(shù)。
Table 2 Dataset size and EM-ELM maximum hidden layer node settings表2 數(shù)據(jù)集大小和EM-ELM最大隱藏層節(jié)點(diǎn)設(shè)置
Figure 4 Effect of the number of ELM hidden layer neurons on classification performance圖4 ELM隱藏層神經(jīng)元個(gè)數(shù)對分類性能的影響
圖5和圖6所示分別是IMDB-WIKI和Adience人臉數(shù)據(jù)集上的交叉熵?fù)p失函數(shù)曲線和準(zhǔn)確率曲線,曲線顯示經(jīng)過多個(gè)迭代步后,交叉熵?fù)p失函數(shù)趨于0,準(zhǔn)確率逐漸提高。
Figure 5 Cost function curve of CNN-SE-ELM model after 3 000 epochs 圖5 CNN-SE-ELM模型迭代3 000次成本函數(shù)變化曲線
Figure 6 accuracy curve of CNN-SE-ELM model after 3 000 epochs 圖6 CNN-SE-ELM模型迭代3 000次準(zhǔn)確率曲線
圖7顯示了年齡預(yù)測部分分類結(jié)果。從圖7中可以看出,第1幅圖像應(yīng)裁剪女性人臉,卻錯(cuò)誤地將男性人臉裁剪下來,導(dǎo)致分類錯(cuò)誤。原因是:(1)一幅人臉圖像中含有多個(gè)人臉;(2)多個(gè)人物年齡存在差異性;(3)裁剪過程中未將對應(yīng)人臉裁剪下來。
圖8顯示了性別錯(cuò)分類結(jié)果,錯(cuò)誤集中在對嬰兒及兒童的性別分類。而圖9顯示了年齡錯(cuò)分類結(jié)果,錯(cuò)誤結(jié)果主要是由于圖像本身模糊、分辨率較低及遮擋等因素。
混合模型結(jié)果如表3和表4所示。
表3和表4表明,CNN-SE-ELM模型在不同數(shù)據(jù)集上對性別有著良好的分類性能,但對于年齡分類性能一般,盡管其對年齡分類結(jié)果并不理想,但與其他網(wǎng)絡(luò)模型對比,訓(xùn)練時(shí)長大大縮短。為了比較CNN-SE-ELM模型與近期最受歡迎的VGG-Face-SVM[25]、CNN+SVM[26]和VGG16-DEX-IMDB[27]的性能,在數(shù)據(jù)集上分別對3種模型進(jìn)行實(shí)驗(yàn),表5和表6分別是各模型在Adience人臉數(shù)據(jù)集上對性別、年齡分類的訓(xùn)練時(shí)長、訓(xùn)練準(zhǔn)確率、測試時(shí)長和測試準(zhǔn)確率的對比。
Figure 7 Comparison of actual and predicted values of face images圖7 隨機(jī)人臉圖像真實(shí)值與預(yù)測值對比
Figure 8 Comparison of actual and predicted gender values of face images圖8 人臉圖像性別真實(shí)值與預(yù)測值對比
Figure 9 Comparison of actual and predicted age values of face images圖9 人臉圖像年齡真實(shí)值與預(yù)測值對比
Table 3 Comparison of gender classification indicators of CNN-SE-ELM model on two face datasets表3 CNN-SE-ELM模型在2個(gè)人臉數(shù)據(jù)集上性別分類指標(biāo)對比
Table 4 Comparison of age classification indicators of CNN-SE-ELM model on two face datasets表4 CNN-SE-ELM模型在2個(gè)人臉數(shù)據(jù)集上年齡分類指標(biāo)對比
Table 5 Comparison of gender classification of different models on Adience face dataset表5 Adience人臉數(shù)據(jù)集上不同模型對性別分類性能對比
Table 6 Age classification comparison of different models on Adience face dataset表6 Adience人臉數(shù)據(jù)集上不同模型對年齡分類性能對比
表7和表8為采用不同結(jié)構(gòu)模型對分類結(jié)果的影響,本文模型組合CNN和SENet網(wǎng)絡(luò)架構(gòu),并在FCN層采用ELM進(jìn)行分類,通過對CNN、CNN-ELM和CNN-SE-ELM 結(jié)構(gòu)進(jìn)行對比,結(jié)果表明CNN-SE-ELM結(jié)構(gòu)分類顯示了更高的可靠性和分類準(zhǔn)確率。
Table 7 Comparison of gender classification accuracy results of different structures of the proposed model表7 本文模型不同結(jié)構(gòu)的性別分類準(zhǔn)確率結(jié)果對比
通過多角度評估本文提出的CNN-SE-ELM模型,即在2個(gè)人臉基準(zhǔn)數(shù)據(jù)集IMDB-WIKI和Adience上,對采用不同結(jié)構(gòu)的模型進(jìn)行實(shí)驗(yàn)觀察與分析,實(shí)驗(yàn)結(jié)果表明,CNN-SE-ELM模型在2個(gè)基準(zhǔn)數(shù)據(jù)集上對人臉性別及年齡分類表現(xiàn)穩(wěn)定;而在同一人臉數(shù)據(jù)集,如Adience人臉基準(zhǔn)數(shù)據(jù)集上,通過與近期流行的模型VGG-Face-SVM、VGG16-DEX-IMDB進(jìn)行對比,結(jié)果表明在人臉圖像性別和年齡分類問題上,CNN-SE-ELM模型在識(shí)別精度和識(shí)別速度上均優(yōu)于以上對比模型。
Table 8 Comparison of age classification accuracy results of different structures of this model表8 本文模型不同結(jié)構(gòu)的年齡分類準(zhǔn)確率結(jié)果對比
本文提出一種CNN-SE-ELM混合模型,與其他2種當(dāng)前最流行的網(wǎng)絡(luò)結(jié)構(gòu)相比,本文模型在訓(xùn)練過程中不僅能夠有效地提取更具代表性且最優(yōu)的特征映射,而且還能夠極大地提高模型訓(xùn)練和識(shí)別的速度。在2個(gè)基準(zhǔn)人臉數(shù)據(jù)集IMDB-WIKI和Adience上對3個(gè)模型進(jìn)行多角度評估,實(shí)驗(yàn)結(jié)果表明本文模型具有更高的識(shí)別精度和效率。
未來擬在以下2個(gè)方面進(jìn)一步開展研究工作,(1)研究新的深度學(xué)習(xí)模型以期更好地改進(jìn)人臉圖像識(shí)別年齡及性別模型;(2)將對人臉識(shí)別與其他研究領(lǐng)域進(jìn)行融合,如加入人物表情及種族等因素,以建立基于人臉圖像識(shí)別更加多樣化的智能識(shí)別模型。