陰紫微,陳淑榮
(上海海事大學(xué)信息工程學(xué)院,上海 201306)
人臉性別識別是通過人臉圖像信息自動發(fā)掘和分析人臉屬性的二分類問題。在廣告定向投放、個性化智能推薦、人臉屬性分析等方面得到廣泛應(yīng)用。在一些人臉尺度跨度大的應(yīng)用場景,準(zhǔn)確識別出人臉的性別將直接影響到后續(xù)的人臉屬性分析。因此研究性別識別具有重要意義。
以卷積神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)方法被廣泛用于人臉性別識別研究。如Levi 等人[1]將一個三層卷積和兩層全連接的卷積神經(jīng)網(wǎng)絡(luò)(CNN)運(yùn)用于人臉年齡與性別識別,但是受限于過擬合[2]的問題,對非實(shí)驗(yàn)數(shù)據(jù)集的圖片識別精度較低;石學(xué)超等[3]提出將卷積網(wǎng)絡(luò)中的底層卷積層和更高層的卷積層相融合來增強(qiáng)人臉特征的卷積神經(jīng)網(wǎng)絡(luò)(L-MFCNN)模型,取得了較好的識別效果;蔣雨欣等[4]提出一種聯(lián)合人臉高層特征學(xué)習(xí)和低層特征學(xué)習(xí)的深層網(wǎng)絡(luò)模型,利用這種多特征結(jié)構(gòu)進(jìn)行最終的性別分類。
為進(jìn)一步提高CNN 對于不同場景下的人臉的性別識別,本文建立了一種雙路卷積神經(jīng)網(wǎng)絡(luò)模型。首先對輸入圖像歸一化處理,雙路CNN[5]分別采用不同深度的網(wǎng)絡(luò)層提取圖像特征,且在深層支路中采用Slice層和Eltwise 層,選取并輸出具有最大響應(yīng)值的特征圖以簡化網(wǎng)絡(luò)運(yùn)算量。再將兩路網(wǎng)絡(luò)提取到的特征圖通過concatenate 操作[6]進(jìn)行融合,增強(qiáng)特征圖的語義信息。最后通過設(shè)置AM-Softmax 函數(shù)[7]中的角度間隔,更嚴(yán)格的約束分類距離,提升性別識別的準(zhǔn)確率。
本文網(wǎng)絡(luò)模型主要包括提取特征的N1 和N2 網(wǎng)絡(luò);特征篩選模塊G1;特征融合層;分類損失函數(shù)。如圖 1 所示,其中 N1 和 N2 分別基于 VGG16[8]和CaffeNet[1]作為骨干網(wǎng)絡(luò)提取特征。
圖像中往往包含不同尺度的人臉,經(jīng)過網(wǎng)絡(luò)的卷積層和池化層后,特征圖會變小,提取的特征更加抽象。對于遠(yuǎn)景下的小尺寸人臉經(jīng)過多個卷積層提取特征后,會丟失一些可用特征。為了保證特征語義的多樣、全面性,本文的兩個網(wǎng)絡(luò)采用深度不同的卷積神經(jīng)網(wǎng)絡(luò)。其中,N1 部分的 VGG16 為深層網(wǎng)絡(luò),C1_1、C1_2 中都包含 2 個 3×3 的卷積層;C1_3、C1_4、C1_5 中都包含 3 個 3×3 的卷積層,共 13 個卷積層,采用 3×3 的卷積核進(jìn)行特征提取。N2 部分的CaffeNet 為淺層網(wǎng)絡(luò),由 3 個卷積層、3 個池化層組成,分別采用 7×7、5×5的卷積核進(jìn)行特征提取。
圖1 雙路卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
對采集的人臉圖片,首先歸一化處理成224×224大小的圖片再輸入雙路網(wǎng)絡(luò),經(jīng)過N1 深層網(wǎng)絡(luò)3×3 大小的卷積層提取特征后,得到高層語義信息的特征圖??紤]到深層網(wǎng)絡(luò)帶來的計(jì)算量,在N1 網(wǎng)絡(luò)中的卷積層后都加入Slice 層和Eltwise 層,如圖1 中G1 部分所示。這兩層對卷積層輸出的特征圖進(jìn)行等分劃分,對比取最大值操作,能篩除低響應(yīng)的特征圖減少運(yùn)算量。同時通過N2 淺層網(wǎng)絡(luò)5×5、7×7 大小的卷積層提取特征得到低層特征圖。在融合層通過concatenate 操作將具有不同語義信息的特征相融合,融合后的特征經(jīng)過全連接層,最后由分類函數(shù)對特征進(jìn)行分類。由于網(wǎng)絡(luò)的特征圖融合了不同語義強(qiáng)度的特征信息,使得模型在跨度較大的人臉上也能準(zhǔn)確識別性別。本文網(wǎng)絡(luò)模型的參數(shù)設(shè)置如表1 所示。
表1 雙路卷積神經(jīng)網(wǎng)絡(luò)參數(shù)
表1 中N1 網(wǎng)絡(luò)卷積層都采用3×3 大小的卷積核,圖片通過池化層P1_5 后輸出7×7 大小的特征圖。N2中3 個卷積層分別采用7×7 及5×5 的卷積核。且N1網(wǎng)絡(luò)經(jīng)過Slice 層和Eltwise 層篩選特征后,能減少一半卷積層的輸出通道數(shù)量,如表1 中框中數(shù)據(jù)所示。
特征融合層如圖2 所示,本文網(wǎng)絡(luò)中采用了拼接的方式來融合特征。經(jīng)過不同尺度卷積核的雙路網(wǎng)絡(luò)提取的特征圖均為7×7 大小,通道數(shù)為256,通過Concat 層通道數(shù)拼接融合,輸出7×7×512 的特征圖。最終將特征經(jīng)過全連接層再通過Dropout 方法隨機(jī)丟棄神經(jīng)元,由分類函數(shù)輸出最終的分類結(jié)果。
圖2 雙路CNN特征融合過程
由于N1 支路采用VGG16 作為深層網(wǎng)絡(luò),經(jīng)過多層網(wǎng)絡(luò)導(dǎo)致提取的特征圖數(shù)量較多,為了降低網(wǎng)絡(luò)模型的運(yùn)算量,本文在N1 深層網(wǎng)絡(luò)中引入如圖1 所示的G1 特征篩選模塊,即Slice 層和Eltwise 層。
Slice 層的作用是將按照輸入層(bottom)的設(shè)置需要分解成多個輸出層。通過設(shè)置參數(shù)slice_point 來決定輸出層的個數(shù),slice_point 的個數(shù)是輸出層個數(shù)減1,參數(shù) axis 表示要進(jìn)行分解的維度,若沒有設(shè)置slice_point,則對axis 進(jìn)行均勻分解。本文方法采用均勻分解,且slice_point 個數(shù)均設(shè)為1 即只有兩個輸出。將兩個輸出層再輸入Eltwise 層進(jìn)行對比,最終輸出f( )
z可用式(1)表示:
其中bottom 表示每層網(wǎng)絡(luò)的輸入,SUM 是對bottom 層對應(yīng)的元素進(jìn)行相加,PRODUCT 是對bottom 層對應(yīng)的元素進(jìn)行相乘,MAX 是對bottom 層對應(yīng)的元素取最大值。本文方法將經(jīng)過卷積層后提取的特征映射圖輸入Slice 層,取N=2,即將特征映射圖分成兩個輸出層,再輸入Eltwise 層相比較并進(jìn)行取最大值的操作,選取響應(yīng)值高的特征映射圖作為最終輸出。
圖3 特征篩選處理過程
圖3 是特征篩選處理的實(shí)際效果圖,人臉圖片經(jīng)過卷積層后生成的特征圖,如(a)所示,有些特征映射圖響應(yīng)低、不利于性別特征的學(xué)習(xí)。在Slice 層將(a)均分為兩個等分,得到如(b)的兩部分特征圖,再作為兩個bottom 層輸入到Eltwise 層,然后采用式(1)對比bottom 層取響應(yīng)最大值,進(jìn)而篩除響應(yīng)低的特征映射圖如(c)部分。
Softmax 分類函數(shù)在不同類別上的分類效果較好,但在同類別之間的判斷效果并不理想。本文采用的附加間隔函數(shù)AM-Softmax[7]針對這個問題引入了更簡單的函數(shù)ψ(θ)=cos(θ)-m,并且進(jìn)一步歸一化了最后一層全連接層的輸入x,AM-Softmax 損失函數(shù)的具體計(jì)算公式如式(2):
式(2)中 n 為訓(xùn)練樣本個數(shù),s 為縮放因子,Wi表示權(quán)重,fi表示全連接層的輸出向量f 的第i 個元素,cosθ表示權(quán)重和輸出向量f 的余弦距離。傳統(tǒng)的Softmax 損失函數(shù)學(xué)習(xí)多個權(quán)重向量和偏置bC的目標(biāo)是:
圖4 AM-Softmax函數(shù)分類方式
圖4 中以二分類為例,全連接層得到的特征fi有兩個權(quán)重w1和w2,AM-Softmax 函數(shù)在分類時中間有塊可移動的固定區(qū)域,能將不同類別往兩邊緣擠壓,使得不同類之間的距離加大,而相同類之間的距離更加緊湊,有效解決了Softmax 對區(qū)分類內(nèi)距離不明顯的缺點(diǎn)。在實(shí)現(xiàn)過程中,m表示分類區(qū)域的大小。特征和權(quán)重歸一化后的實(shí)際輸入x如(4)式,yi表示第i 個輸出特征Xi的標(biāo)簽。
此外 AM-Softmax 中前項(xiàng)計(jì)算公式為ψ(x)=x-m且ψ'(x)=1,即不需要考慮反向傳播的梯度,極大程度減少了計(jì)算量。將間隔引入損失函數(shù)后,通過網(wǎng)絡(luò)的學(xué)習(xí)s 不會增加而且網(wǎng)絡(luò)收斂很慢,因此將s 定為一個足夠大的值設(shè)為30[7]以加速和穩(wěn)定優(yōu)化。
本文實(shí)驗(yàn)采用了3 個人臉數(shù)據(jù)集,Adience 數(shù)據(jù)集包含了大約26K 張2284 名受試者的圖像且人臉姿態(tài)、光照條件均存在差異,能真實(shí)反映現(xiàn)實(shí)中人臉狀態(tài);Wiki 是一個將近46 萬張的尺寸為250×300 大小的圖像數(shù)據(jù)集,且每張圖片都標(biāo)注了年齡、性別信息;以及只有1400 幅尺寸為80×80 大小人臉圖像的FERET 數(shù)據(jù)集。針對Adience 以及FERET 數(shù)據(jù)集人臉圖像較少的情況,本文采用了隨機(jī)裁剪以及翻轉(zhuǎn)、鏡像等操作對Adience 以及FERET 數(shù)據(jù)集擴(kuò)充。
實(shí)驗(yàn)在Win10 操作系統(tǒng)下進(jìn)行,計(jì)算機(jī)配置為NVIDIA GeForce GTX 1060 顯卡,采用 Caffe[9]深度學(xué)習(xí)框架,動量項(xiàng)系數(shù)設(shè)置為0.9,網(wǎng)絡(luò)初始學(xué)習(xí)率lr 為0.0001。Adience、FERET 數(shù)據(jù)集的最大迭代次數(shù)設(shè)為50000 次,在Wiki 數(shù)據(jù)集上最大迭代次數(shù)設(shè)為10 萬次且每1 萬次保存一個模型model。
為了驗(yàn)證本文方法的有效性,在Adience 數(shù)據(jù)集上分別進(jìn)行3 個實(shí)驗(yàn)。其中實(shí)驗(yàn)1 在采用Softmax 損失函數(shù)的VGG16 網(wǎng)絡(luò)上進(jìn)行;實(shí)驗(yàn)2 在雙路卷積神經(jīng)網(wǎng)絡(luò)中加入Slice 層和Eltwise 層后仍采用Softmax 損失函數(shù)進(jìn)行;本文方法是在實(shí)驗(yàn)2 的基礎(chǔ)上,采用AMSoftmax 損失函數(shù)進(jìn)行的第3 個實(shí)驗(yàn)。結(jié)果如圖5 和圖6 所示,分別為測試準(zhǔn)確率及訓(xùn)練損失對比圖。圖5中橫坐標(biāo)表示網(wǎng)絡(luò)的迭代次數(shù),縱坐標(biāo)表示三組實(shí)驗(yàn)的性別識別準(zhǔn)確率,圖6 中縱坐標(biāo)表示網(wǎng)絡(luò)訓(xùn)練時的loss 值。由曲線走勢可以得出,實(shí)驗(yàn)2 通過篩選、融合特征豐富特征圖語義信息使得特征更有區(qū)分度,提高了識別準(zhǔn)確率,降低了訓(xùn)練時的loss 值。本文方法采用AM-Softmax 損失函數(shù)要比采用Softmax 損失函數(shù)的實(shí)驗(yàn)2 識別準(zhǔn)確率高出2.8%,驗(yàn)證了通過改進(jìn)損失函數(shù)提高性別識別準(zhǔn)確率的有效性。
圖5 性別識別準(zhǔn)確率對比圖
圖6 性別識別loss曲線對比圖
為了進(jìn)一步檢驗(yàn)本文模型對性別識別的效果,將本文方法和其他方法如傳統(tǒng)的AlexNet[10];文獻(xiàn)[1]中提出的CaffeNet;文獻(xiàn)[11]中將池化層和全連接層相融合的模型;張婷[12]等人提出的CCNN 性別分類模型在相同數(shù)據(jù)集下進(jìn)行了對比。
表2 不同方法結(jié)果對比
由表2 可見,對比在Adience 數(shù)據(jù)集上的方法,本文在綜合了深淺層網(wǎng)絡(luò)提取的特征后提升了性別識別準(zhǔn)確率。說明融合了多特征的雙路CNN 比傳統(tǒng)的CNN 識別率高。針對在FERET 數(shù)據(jù)集上提出的CCNN 模型,由于本文方法的分類函數(shù)AM-Softmax 設(shè)置了更嚴(yán)格的分類區(qū)域,有效提升了分類效率。針對Wiki 數(shù)據(jù)集分別使用了CaffeNet 和本文網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明在大數(shù)據(jù)集上本文方法依舊能取得良好的識別效果。
圖7 為本文方法與CaffeNet 的識別結(jié)果對比,(a)部分由于人臉尺度大小差異以及近、遠(yuǎn)景下的圖片人臉信息量相差較大,CaffeNet 模型并不能很好識別。本文模型通過深淺層網(wǎng)絡(luò)融合多特征豐富圖像語義信息,有效解決了該問題,最終識別效果如(b)部分所示。
為了增強(qiáng)特征的表達(dá)能力,建立了一種雙路卷積神經(jīng)網(wǎng)絡(luò)模型,雙路CNN 分別使用深度不同的卷積層進(jìn)行特征提取再融合,豐富了特征語義信息;并在深層網(wǎng)絡(luò)中加入Slice 層和Eltwise 層,篩除響應(yīng)低的特征映射圖,有效減少了模型的運(yùn)算量;最后通過AM-Softmax 損失函數(shù)角度間隔約束特征分類。實(shí)驗(yàn)結(jié)果表明,本文方法對在近遠(yuǎn)景下的人臉均能取得較好的識別效果。