胥明晨,胡春龍
(江蘇科技大學 計算機學院,江蘇 鎮江 212000)
年齡作為人臉的重要屬性之一,因其在視頻監控、人機交互等實際應用方面[1]有著重要應用價值,近年來得到了相關領域研究人員的廣泛關注。最早的年齡估計工作始于Kwon 等[2]將年齡進行分組研究。第一個用于年齡估計的公開數據集是FG-NET,共包含82 人的1 002 張圖像,年齡范圍為0~69 歲。早期的年齡估計工作主要包含兩大階段:特征提取與分類。2002 年,Hayashi 等[3]提取人臉局部皺紋特征和顏色特征后使用直方圖進行特征均衡化處理,將處理后的特征用于年齡估計。仿生學特征(BIF)方案也被廣泛用于年齡估計[4],該方法受大腦皮層啟發,通過手工制作人臉特征,輸送至S1 層和C1 層,經降維處理后進行分類和回歸以估計年齡。此外,局部鄰域特征也是年齡估計領域中比較常見的選擇[5-6]。
近年來,隨著人工智能越發火熱,深度學習在計算機視覺領域中取得了很多優秀成果,研究人員也將其應用于年齡估計領域。與傳統方法不同,基于深度學習的方法[7-8]可以將特征提取與分類這兩個獨立的階段整合到一個能直接從原始面部圖像估計年齡的端到端模型中。2016 年,Rothe[8]提出一種基于期望值的表觀年齡估計方法DEX,他們在IMDB-WIKI 數據集上訓練了一個基于VGG-16模型的網絡,利用完全連通層(FC)獲取SoftMax 權重,最后使用SoftMax 的權重計算加權平均年齡。Yang等[9]充分利用相近年齡之間的相關性,采用高斯分布生成年齡標簽的分布,將生成的年齡分布作為模型訓練目標,取得了較好結果。此外,Jie 等[10]提出SE 模塊,利用不同通道之間的信息,篩選出針對通道的注意力,其可以自適應地學習不同通道之間的依賴關系,提升模型性能,且易于集成到現有網絡模型中,在深度學習中被廣泛使用。
目前而言,從單個人臉面部圖像估計年齡任一項重大挑戰。首先,人臉的衰老是一個充滿不確定的復雜過程,受到許多內在和外在因素的共同影響。內在因素包括基因遺傳,外在因素包括生活方式、環境等,這意味著不同受試者在同一年齡段的面部外觀可能會有很大差異。而且,衰老是一個緩慢的過程,同一受試者相鄰年齡段之間的容貌差異往往難以察覺[11]。其次,人臉具有結構復雜、變化豐富等特點,如圖1 所示,在相同年齡下,不同性別、種族的臉部外觀差異很大,這會對年齡估計造成干擾[12]。
在當前的年齡估計研究領域,深度學習模型大多是基于單分支的任務網絡模型。本文考慮是否可以采用多任務學習,通過引入一些簡單的輔助任務,探究對年齡估計主任務的影響。鑒于此,本文設計了一個含性別輔助任務的雙分支年齡估計模型,對面部年齡估計進行研究,希望兩個網絡模型能夠學習到更有效的互補特征,以更好地提高網絡表達能力,從而提升年齡估計準確度。
本文設計的基于多任務與標簽分布的雙分支網絡模型主要分為兩部分,級聯的多任務網絡模型CUTResNet50 和標簽分布學習(LDL)。多任務網絡模型CUTResNet50 由基于ResNet50[13]的共享特征參數提取層、性別輔助任務層與年齡主任務層組成,整體網絡結構如圖2 所示。為了充分利用輔助任務提取的低級特征,本文將共享特征層與輔助任務層的特征進行級聯融合,作為年齡主任務層的輸入,用來進行年齡估計。同時,將真實年齡標簽轉換為年齡分布,作為模型訓練目標。
本文設計了一個多任務的網絡模型CUT-ResNet50(見圖2),通過粗粒度的性別分類任務指導細粒度的年齡分類任務,目的是提高年齡估計主任務性能。所設計的整個網絡模型分為3 塊:共享網絡層(Share Net)、性別粗粒度任務層和年齡細粒度任務層,由共享網絡層學習低級特征后,分別輸入到性別層與年齡層中。

Fig.1 Female and male face images of subjects in the MORPH-II dataset圖1 女性與男性在MORPH-II數據集中的受試者臉部圖像
通常,卷積神經網絡先利用一定尺寸的卷積核按從左往右、由上而下的順序掃描輸入圖像,獲取淺層特征,而后不斷地疊加卷積層以加深網絡,從而通過擴大感受野捕獲更深層的語義特征,但網絡層數的不斷加深,會出現梯度爆炸或者梯度消失等網絡退化問題。而ResNet[13]通過短路鏈接的方式在卷積神經網絡的基礎上引入了恒等映射,在一定程度上能夠緩解網絡退化問題。基于其優秀性能,本文采用ResNet50 作為網絡主干,截取其前22 層結構,組成多任務的共享參數層。將人臉圖像預處理為224×224的尺寸輸入到共享參數層,經卷積與池化后,由3 組[1×1,64|3×3,64|1×1,256]與4組[1×1,128|3×3,128|1×1,512]的殘差塊處理,輸出尺寸為28×28×512的特征圖,這些低級特征將分別輸入到性別任務層與年齡任務層,并作進一步處理。

Fig.2 Structure of cascaded network CUT-ResNet50圖 2 級聯網絡CUT-ResNet50結構
性別任務層由3組殘差塊和兩個全連接層構成,網絡的輸入尺寸為28×28×512,堆疊殘差塊輸出的特征尺寸為14×14×1024,第一個全連接層的輸出為1×1×512,第二個全連接層的輸出為1×1×2,最后由SoftMax輸出男女的概率分布。
在深度學習的發展歷程中,特征融合是提高模型性能的一種重要方法[14],本文將粗粒度性別任務層輸出的特征與共享網絡層輸出的低級特征進行融合,通過級聯將性別任務網絡與年齡任務網絡連接,采用reshape 方法,對性別任務網絡第一個全連接層的特征尺寸作重新調整,使其與共享網絡層的輸出尺寸一致后,再與共享網絡的特征進行疊加融合,作為年齡任務網絡的輸入。
年齡主任務網絡采用殘差塊堆疊而成,考慮到年齡分類是一個細粒度的分類任務,本文引入了易于集成的SE 模塊[10],組成SE-ResNet,利用SE模塊的注意力機制,進一步提取出有助于年齡分類的特征。SE模塊結構如圖3所示,輸入圖像尺寸為H×W×C,經全局池化層加全連接層,將尺寸拉伸成1×1×C后再與原圖像相乘,通過賦予每個通道權重,從而學習不同通道之間的依賴關系。如圖4所示,SE模塊在ResNet的BottleNeck 結構之后加入。年齡任務網絡的主干為SEResNet,含兩個全連接層,殘差塊輸出的特征尺寸為14×14×1024,第一個全連接層的輸出為1×1×512,第二個全連接層的輸出為1×1×100,最后由SoftMax輸出年齡估計的概率分布。

Fig.3 SE(Squeeze-and-Excitation)module圖3 SE(Squeeze-and-Excitation)模塊

Fig.4 SE-ResNet structure圖4 SE-ResNet結構
為了驗證本文所提出方法的有效性,另設計了4 種基礎模型進行對比實驗,網絡結構圖5 所示。其中,圖5(a)、(b)分別是直接基于ResNet18、ResNet50 接入全連接層的模型,(c)s 是單任務的CUT-ResNet50-NoAuxiliary 模型(CUT-ResNet50 下移除輔助任務),(d)是多任務未融合特征的CUT-ResNet50-NoFusion 模型(CUT-ResNet50 下輔助任務層未進行特征融合)。
年齡增長是一個緩慢的過程,同一個體在相近年齡其人臉外觀變化難以察覺,例如一個人29 歲時的照片與30歲時的照片看起來會十分相似,因此可以利用人臉衰老規律,將人臉年齡從單一值轉換為年齡的分布信息。本文采用式(1)的高斯分布函數將人臉對應的年齡值轉換為年齡分布,作為對年齡的分布描述,年齡分布如圖6 所示。可以看出,越接近真實年齡,其描述程度值越高,這反映了相近年齡之間的相關性,且在真實年齡處達到最大值。此外,合適的年齡分布有助于真實年齡的學習,同時更有助于鄰近年齡的學習,從而在一定程度上彌補數據集樣本分布不均的問題。

Fig.5 Structure of four basic comparison models圖5 4種基礎對比模型結構

Fig.6 Example of age distribution圖 6 年齡分布示例
將深度學習與標簽分布結合起來,將年齡分布作為網絡訓練目標,采用Kullback-Leibler(KL)散度作為損失函數,要盡量減少KL 的發散。
其中,yj是真值分布的第j個值,pj是預測分布的第j個值。關于多任務的損失占比,不同分類任務的損失存在較大差異,學者們通常會采用加權求和方式尋找最佳損失占比[15],本文不探討損失比例問題,在性別為0-1 分布的情況下,如式(3)所示,直接疊加作為總損失。
此外,最終年齡的計算方式為概率分布對應的年齡累加,通過生成一個年齡范圍為1~100 的元組,與分布對應的索引下標相乘后相加作為估計年齡。
MORPH-II 數據集[16]作為目前最大的公開真實年齡數據集之一,其包含了約1 300 個不同性別、不同種族人物的超過55 000 張面部圖像。這些圖片拍攝于2003-2007年,年齡范圍為16~77 歲,雖然其覆蓋年齡廣,但也存在著各年齡段和各種族圖像數量不均衡的問題,圖像年齡主要集中在20~40 歲,且超過96%的人臉是非洲和歐洲人。在本文實驗中,將實驗數據隨機打亂,采用8-2 原則[17-18],將其中的80%用于訓練,20%用于測試。
UTKFace 數據集是一個年齡跨度大的人臉數據集,包含了不同性別、種族、人物約23 700 張面部圖像,年齡范圍為0~116 歲,但其分布不均衡問題更為嚴重,1~25 歲的圖像最多,且包含了不同姿勢、光照、遮擋、分辨率等外在因素影響的圖像,訓練難度較大。在實驗中,同樣將實驗數據隨機打亂,將其中的80%用于訓練,20%用于測試。
此外,為了提升模型性能,保證數據多樣性,避免過擬合,需要對訓練數據進行增強。對于每個訓練圖像,以50%的概率將其翻轉,放大為256×256 尺寸,并隨機切出224×224 尺寸的圖像,隨機旋轉±10°,以0.3 的概率隨機擦除圖像的一部分,最后進行平均標準化后作為訓練網絡的輸入。
本文采用年齡估計領域中常用的平均絕對誤差MAE與累計指數CS 作為評價指標(以下簡稱MAE 與CS)。MAE 是計算真實年齡與估計年齡之間的絕對值誤差,其計算方式如下:
其中,N為測試集圖像總數,Ne≤j表示估計年齡與標簽年齡的絕對誤差在j范圍內的圖像數,CS值越高,模型性能越好。
本文實驗在Windows10 系統下完成,深度學習架構基于開源的Pytorch1.7 框架,硬件環境為Intel Core i7-7700,GPU 為NVIDIA GeForce GTX 1060。
網絡使用Pytorch 提供的預訓練ResNet 網絡。神經網絡優化算法采用隨機梯度下降法(SGD),初始學習率設為0.001,動量0.9,權值衰減2x10-4。在MORPH-II、UFTFace數據集上各迭代90 次,批處理大小為32,在第70 次與第80次迭代時學習率降低10倍。
在MORPH-II 數據集下,對本文提出的CUT-ResNet50模型與其他4 種模型在參數量、MAE、CS 3 個方面進行比較,具體實驗數據如表1 所示。其中,CS5、CS3 分別表示估計年齡與真實標簽年齡的絕對誤差在5 歲和3 歲范圍內的圖像占比。
與ResNet18、ResNet50 模型相比,本文提出的CUTResNet50,在參數量僅為ResNet50 參數量2/5 的情況下,MAE 提升10%,與ResNet18 相比,參數量低于前者,MAE提升 13.5%。將 CUT-ResNet50-NoAuxiliary 與 CUTResNet50-NoFusion 相比,發現增加了輔助任務后,即使未進行特征融合,模型MAE 也提升近3%,且將進行特征融合后的多任務CUT-ResNet50 與單年齡任務CUTResNet50-NoAuxiliary 進行比較,模型MAE 提升13.8%,這說明與單個年齡任務網絡相比,添加性別任務的多任務網絡,進一步提高了網絡表達能力,提升了年齡主任務的性能。
在上述實驗基礎上,引入標簽分布學習,在生成分布函數中,標準差σ 作為統計分布程度的測量,反映組內個體間的離散程度,在本文代表可以學習的相鄰年齡特征程度。本文研究了在MORPH-II 上多種標準差σ 取值下的實驗結果,MAE 變化趨勢如圖7 所示??梢钥吹?,隨著σ 的增大,MAE 提升后又回落,當σ 為0.6時,模型性能最佳。
利用標簽分布學習,取生成的分布函數的最佳標準差σ 為0.6,重新在MORPH-II 與UTKFace 數據集上訓練了表1 中的各網絡模型,實驗結果數據如表2、表3 所示。本文級聯網絡在MORPH-II 數據集下MAE 為2.1,與未引入標簽分布學習的CUT-ResNet50 相比,MAE 提升13%,在UTKFace 數據集下MAE 為4.91,都優于直接基于ResNet-18、ResNet-50的網絡模型。

Fig.7 Validation MAE changes with different standard deviations during training圖 7 訓練時不同標準差的驗證MAE變化
在年齡主任務網絡結構中引入SE 模塊,為了驗證SE模塊的有效性,引入消融實驗,CUT-ResNet50-NoSE 在CUT-ResNet50 的模型下移除SE 模塊,如表4 所示。結果表明,年齡主任務網絡結構通過引入SE 模塊,模型性能可提高4%。
本文在公開的MORPH-II 與UTKFace 人臉數據集上,將深度學習神經網絡與多任務學習結合,設計了一個帶有共享網絡的雙分支多任務網絡模型CUT-ResNet50,通過人臉的性別屬性輔助人臉年齡估計,同時引入標簽分布學習,將離散的年齡值轉換為連續的概率分布,解決了單標簽信息量不足的問題。實驗結果表明,添加了性別任務的多任務學習與標簽分布學習可以提升年齡估計準確度,證明了本文新設計模型的有效性。

Table 1 Comparison of parameters,MAE and CS of different methods under the MORPH-II dataset表1 在MORPH-II數據集下不同方法的參數量、MAE與CS的比較

Table 2 Comparison of different method parameter quantities,MAE,and CS after introducing label distribution learning in the MORPH II dataset表2 在MORPH-II數據集下引入標簽分布學習后不同方法的參數量、MAE與CS的比較

Table 3 Comparison of different method parameter quantities,MAE,and CS after introducing label distribution learning in the UTKFace dataset表3 在UTKFace數據集下引入標簽分布學習后不同方法的參數量、MAE與CS的比較

Table 4 Comparative experimental results of SE modules表4 SE模塊對比實驗結果