陰紫微,陳淑榮
(上海海事大學信息工程學院,上海 201306)
人臉性別識別是通過人臉圖像信息自動發掘和分析人臉屬性的二分類問題。在廣告定向投放、個性化智能推薦、人臉屬性分析等方面得到廣泛應用。在一些人臉尺度跨度大的應用場景,準確識別出人臉的性別將直接影響到后續的人臉屬性分析。因此研究性別識別具有重要意義。
以卷積神經網絡為代表的深度學習方法被廣泛用于人臉性別識別研究。如Levi 等人[1]將一個三層卷積和兩層全連接的卷積神經網絡(CNN)運用于人臉年齡與性別識別,但是受限于過擬合[2]的問題,對非實驗數據集的圖片識別精度較低;石學超等[3]提出將卷積網絡中的底層卷積層和更高層的卷積層相融合來增強人臉特征的卷積神經網絡(L-MFCNN)模型,取得了較好的識別效果;蔣雨欣等[4]提出一種聯合人臉高層特征學習和低層特征學習的深層網絡模型,利用這種多特征結構進行最終的性別分類。
為進一步提高CNN 對于不同場景下的人臉的性別識別,本文建立了一種雙路卷積神經網絡模型。首先對輸入圖像歸一化處理,雙路CNN[5]分別采用不同深度的網絡層提取圖像特征,且在深層支路中采用Slice層和Eltwise 層,選取并輸出具有最大響應值的特征圖以簡化網絡運算量。再將兩路網絡提取到的特征圖通過concatenate 操作[6]進行融合,增強特征圖的語義信息。最后通過設置AM-Softmax 函數[7]中的角度間隔,更嚴格的約束分類距離,提升性別識別的準確率。
本文網絡模型主要包括提取特征的N1 和N2 網絡;特征篩選模塊G1;特征融合層;分類損失函數。如圖 1 所示,其中 N1 和 N2 分別基于 VGG16[8]和CaffeNet[1]作為骨干網絡提取特征。
圖像中往往包含不同尺度的人臉,經過網絡的卷積層和池化層后,特征圖會變小,提取的特征更加抽象。對于遠景下的小尺寸人臉經過多個卷積層提取特征后,會丟失一些可用特征。為了保證特征語義的多樣、全面性,本文的兩個網絡采用深度不同的卷積神經網絡。其中,N1 部分的 VGG16 為深層網絡,C1_1、C1_2 中都包含 2 個 3×3 的卷積層;C1_3、C1_4、C1_5 中都包含 3 個 3×3 的卷積層,共 13 個卷積層,采用 3×3 的卷積核進行特征提取。N2 部分的CaffeNet 為淺層網絡,由 3 個卷積層、3 個池化層組成,分別采用 7×7、5×5的卷積核進行特征提取。

圖1 雙路卷積神經網絡結構
對采集的人臉圖片,首先歸一化處理成224×224大小的圖片再輸入雙路網絡,經過N1 深層網絡3×3 大小的卷積層提取特征后,得到高層語義信息的特征圖。考慮到深層網絡帶來的計算量,在N1 網絡中的卷積層后都加入Slice 層和Eltwise 層,如圖1 中G1 部分所示。這兩層對卷積層輸出的特征圖進行等分劃分,對比取最大值操作,能篩除低響應的特征圖減少運算量。同時通過N2 淺層網絡5×5、7×7 大小的卷積層提取特征得到低層特征圖。在融合層通過concatenate 操作將具有不同語義信息的特征相融合,融合后的特征經過全連接層,最后由分類函數對特征進行分類。由于網絡的特征圖融合了不同語義強度的特征信息,使得模型在跨度較大的人臉上也能準確識別性別。本文網絡模型的參數設置如表1 所示。

表1 雙路卷積神經網絡參數
表1 中N1 網絡卷積層都采用3×3 大小的卷積核,圖片通過池化層P1_5 后輸出7×7 大小的特征圖。N2中3 個卷積層分別采用7×7 及5×5 的卷積核。且N1網絡經過Slice 層和Eltwise 層篩選特征后,能減少一半卷積層的輸出通道數量,如表1 中框中數據所示。
特征融合層如圖2 所示,本文網絡中采用了拼接的方式來融合特征。經過不同尺度卷積核的雙路網絡提取的特征圖均為7×7 大小,通道數為256,通過Concat 層通道數拼接融合,輸出7×7×512 的特征圖。最終將特征經過全連接層再通過Dropout 方法隨機丟棄神經元,由分類函數輸出最終的分類結果。

圖2 雙路CNN特征融合過程
由于N1 支路采用VGG16 作為深層網絡,經過多層網絡導致提取的特征圖數量較多,為了降低網絡模型的運算量,本文在N1 深層網絡中引入如圖1 所示的G1 特征篩選模塊,即Slice 層和Eltwise 層。
Slice 層的作用是將按照輸入層(bottom)的設置需要分解成多個輸出層。通過設置參數slice_point 來決定輸出層的個數,slice_point 的個數是輸出層個數減1,參數 axis 表示要進行分解的維度,若沒有設置slice_point,則對axis 進行均勻分解。本文方法采用均勻分解,且slice_point 個數均設為1 即只有兩個輸出。將兩個輸出層再輸入Eltwise 層進行對比,最終輸出f( )
z可用式(1)表示:

其中bottom 表示每層網絡的輸入,SUM 是對bottom 層對應的元素進行相加,PRODUCT 是對bottom 層對應的元素進行相乘,MAX 是對bottom 層對應的元素取最大值。本文方法將經過卷積層后提取的特征映射圖輸入Slice 層,取N=2,即將特征映射圖分成兩個輸出層,再輸入Eltwise 層相比較并進行取最大值的操作,選取響應值高的特征映射圖作為最終輸出。

圖3 特征篩選處理過程
圖3 是特征篩選處理的實際效果圖,人臉圖片經過卷積層后生成的特征圖,如(a)所示,有些特征映射圖響應低、不利于性別特征的學習。在Slice 層將(a)均分為兩個等分,得到如(b)的兩部分特征圖,再作為兩個bottom 層輸入到Eltwise 層,然后采用式(1)對比bottom 層取響應最大值,進而篩除響應低的特征映射圖如(c)部分。
Softmax 分類函數在不同類別上的分類效果較好,但在同類別之間的判斷效果并不理想。本文采用的附加間隔函數AM-Softmax[7]針對這個問題引入了更簡單的函數ψ(θ)=cos(θ)-m,并且進一步歸一化了最后一層全連接層的輸入x,AM-Softmax 損失函數的具體計算公式如式(2):

式(2)中 n 為訓練樣本個數,s 為縮放因子,Wi表示權重,fi表示全連接層的輸出向量f 的第i 個元素,cosθ表示權重和輸出向量f 的余弦距離。傳統的Softmax 損失函數學習多個權重向量和偏置bC的目標是:


圖4 AM-Softmax函數分類方式
圖4 中以二分類為例,全連接層得到的特征fi有兩個權重w1和w2,AM-Softmax 函數在分類時中間有塊可移動的固定區域,能將不同類別往兩邊緣擠壓,使得不同類之間的距離加大,而相同類之間的距離更加緊湊,有效解決了Softmax 對區分類內距離不明顯的缺點。在實現過程中,m表示分類區域的大小。特征和權重歸一化后的實際輸入x如(4)式,yi表示第i 個輸出特征Xi的標簽。

此外 AM-Softmax 中前項計算公式為ψ(x)=x-m且ψ'(x)=1,即不需要考慮反向傳播的梯度,極大程度減少了計算量。將間隔引入損失函數后,通過網絡的學習s 不會增加而且網絡收斂很慢,因此將s 定為一個足夠大的值設為30[7]以加速和穩定優化。
本文實驗采用了3 個人臉數據集,Adience 數據集包含了大約26K 張2284 名受試者的圖像且人臉姿態、光照條件均存在差異,能真實反映現實中人臉狀態;Wiki 是一個將近46 萬張的尺寸為250×300 大小的圖像數據集,且每張圖片都標注了年齡、性別信息;以及只有1400 幅尺寸為80×80 大小人臉圖像的FERET 數據集。針對Adience 以及FERET 數據集人臉圖像較少的情況,本文采用了隨機裁剪以及翻轉、鏡像等操作對Adience 以及FERET 數據集擴充。
實驗在Win10 操作系統下進行,計算機配置為NVIDIA GeForce GTX 1060 顯卡,采用 Caffe[9]深度學習框架,動量項系數設置為0.9,網絡初始學習率lr 為0.0001。Adience、FERET 數據集的最大迭代次數設為50000 次,在Wiki 數據集上最大迭代次數設為10 萬次且每1 萬次保存一個模型model。
為了驗證本文方法的有效性,在Adience 數據集上分別進行3 個實驗。其中實驗1 在采用Softmax 損失函數的VGG16 網絡上進行;實驗2 在雙路卷積神經網絡中加入Slice 層和Eltwise 層后仍采用Softmax 損失函數進行;本文方法是在實驗2 的基礎上,采用AMSoftmax 損失函數進行的第3 個實驗。結果如圖5 和圖6 所示,分別為測試準確率及訓練損失對比圖。圖5中橫坐標表示網絡的迭代次數,縱坐標表示三組實驗的性別識別準確率,圖6 中縱坐標表示網絡訓練時的loss 值。由曲線走勢可以得出,實驗2 通過篩選、融合特征豐富特征圖語義信息使得特征更有區分度,提高了識別準確率,降低了訓練時的loss 值。本文方法采用AM-Softmax 損失函數要比采用Softmax 損失函數的實驗2 識別準確率高出2.8%,驗證了通過改進損失函數提高性別識別準確率的有效性。

圖5 性別識別準確率對比圖

圖6 性別識別loss曲線對比圖
為了進一步檢驗本文模型對性別識別的效果,將本文方法和其他方法如傳統的AlexNet[10];文獻[1]中提出的CaffeNet;文獻[11]中將池化層和全連接層相融合的模型;張婷[12]等人提出的CCNN 性別分類模型在相同數據集下進行了對比。

表2 不同方法結果對比
由表2 可見,對比在Adience 數據集上的方法,本文在綜合了深淺層網絡提取的特征后提升了性別識別準確率。說明融合了多特征的雙路CNN 比傳統的CNN 識別率高。針對在FERET 數據集上提出的CCNN 模型,由于本文方法的分類函數AM-Softmax 設置了更嚴格的分類區域,有效提升了分類效率。針對Wiki 數據集分別使用了CaffeNet 和本文網絡模型進行實驗,實驗結果表明在大數據集上本文方法依舊能取得良好的識別效果。
圖7 為本文方法與CaffeNet 的識別結果對比,(a)部分由于人臉尺度大小差異以及近、遠景下的圖片人臉信息量相差較大,CaffeNet 模型并不能很好識別。本文模型通過深淺層網絡融合多特征豐富圖像語義信息,有效解決了該問題,最終識別效果如(b)部分所示。
為了增強特征的表達能力,建立了一種雙路卷積神經網絡模型,雙路CNN 分別使用深度不同的卷積層進行特征提取再融合,豐富了特征語義信息;并在深層網絡中加入Slice 層和Eltwise 層,篩除響應低的特征映射圖,有效減少了模型的運算量;最后通過AM-Softmax 損失函數角度間隔約束特征分類。實驗結果表明,本文方法對在近遠景下的人臉均能取得較好的識別效果。