張亮亮,張明艷,程凡永,周 鵬
(安徽工程大學安徽省電氣傳動與控制重點實驗室,安徽蕪湖 241000)
人臉部年齡的準確預測具有很高的利用價值,在智能推薦、電子商務廣告推送、圖像信息檢索與圖像理解[1]等人機交互任務中具有廣闊的應用前景。目前使用較廣泛的年齡預測系統由特征提取和年齡預測兩個部分組成。前者涉及到人體測量學模型[2]、柔性模型[3]及流形學習模型[4]等。人體測量學模型在對人臉器官信息測量的基礎上結合數學建模方法,可有效描述輪廓變化和年齡增長之間的關系。柔性模型關鍵是將人臉部形狀和灰度或紋理相聯系,并進行相應的訓練獲取人臉的特征信息,進而獲得相應的人臉模型。流形學習模型通過使用流形嵌入技術對不同年齡的人臉圖像進行訓練學習,進而獲取到相應的年齡變化趨勢,該算法的優勢在于不需要大量的個體樣本,甚至在某些特殊情況下單個個體僅需要一個樣本即可。年齡預測部分主要包括回歸模型[5]和分類模型[6]?;貧w模型依據人類年齡值的連續特點,使用相應的回歸函數實現對年齡值的擬合計算,進而能夠有效實現對年齡的預測。文獻[5]用二次回歸函數表示臉部圖像的年齡變化規律,該方法在局部年齡段可取得較好的預測結果,但對于該年齡段之外的臉部圖像年齡預測效果欠佳。分類模型在對年齡進行預測時,通常是按照提前劃分好的年齡段實現對年齡的準確預測,并且最終計算出的預測結果也不是與真實年齡值相似的值,而是一個一定大小的預測范圍。文獻[6]借助EM 算法在低維2DLDA+LDA 空間中構建了11 種高斯模型,由此能夠對各段年齡區間進行明確劃分。
上述方法都難以有效提取人臉的復雜特征并挖掘出人臉的年齡變化規律。針對這兩個方面的問題,本文結合卷積神經網絡(Convolutional Neural Network,CNN)和遞歸神經網絡(Recursive Neural Network,RNN)的優點對臉部圖像進行分割,并得到臉部圖像的左眼、右眼、鼻子和嘴巴四個部分的局部圖像,再通過Inception V4 模型[7]提取人臉面部圖像多尺度局部特征,并將這四個部分的局部特征使用串聯的方式得到融合特征。通過將不同年齡的融合特征輸入雙向長短期記憶(Long Short-Time Memory,LSTM)[8]中學習不同年齡的特征關聯性,以實現對不同年齡的準確預測。
卷積神經網絡[9]是一種深度學習模型,利用該模型可快速有效地提取圖像特征。目前卷積神經網絡已廣泛應用于圖像識別和分析等領域。如圖1 所示,CNN 的層級結構有以下5 層構成:第1層是輸入層(Input Layer),該層的主要作用是預處理原始圖像;第2 層是卷積層(Convolution Layer),該層可完成卷積運算;第3 層是池化層(Pooling Layer),該層可實現對圖像的壓縮處理;第4 層是全連接層(Fully Connected Layer),該層可實現特征轉換處理;第5 層是輸出層(Output Layer),該層的作用是將分類結果輸出。卷積運算的過程如式(1)所示:

其中,l為卷積層數,為第l層的第j個特征圖,Mj為感受野,K為卷積核,b為偏置,∫為激勵函數。

圖1 CNN 結構Fig.1 Structure of CNN
當網絡結構較深時,傳統的CNN 模型提取的特征主要為抽象特征,缺少人臉的多尺度信息,而年齡預測不僅需要人臉的抽象特征,而且還需要注重細節特征。因此,直接使用傳統的CNN 模型對年齡進行預測的效果欠佳。
針對傳統CNN 模型對年齡預測效果較差的問題,本文將Inception V4用于特征提取中。Inception V4是Google 在以Inception 網絡結構構成的前三代分類器的基礎上,經過升級得到的第四代卷積神經網絡分類器。該網絡分類器的結構如圖2 所示。Inception V4 網絡對于構成Inception 塊的每個深度網絡網格大小都進行設計和統一,并通過在每一層中引入多尺度卷積核來實現多尺度特征的提取,且在圖像分類中取得較高的分類準確率。

圖2 Inception V4 網絡結構Fig.2 Network structure of Inception V4
本文用Inception V4提取臉部子區域圖像的特征。當臉部圖像經過預處理輸入Inception 網絡后,該模塊會對同一輸入映射上的多個不同變換進行5×5 和3×3的卷積變換以及最大池化,并將相應的結果都傳送到輸出上,其過程如圖3 所示。即該模塊對每個神經網絡層都會進行并行計算,且該模型的下一層會對獲取的特征信息進行判斷以及如何有效利用。

圖3 Inception 模塊工作機理Fig.3 Working mechanism of Inception module
上述運算在充分保留信息密度的同時,也會引起計算量激增。為了降低計算量,Inception V4 借助于1×1 卷積對輸入張量進行特征降維和融合,例如圖4 中的Inception-A 塊,利用1×1 卷積和多通道的優勢,能夠有效提取空間信息,并且能夠將提取到的空間信息壓縮到更低維度。通過以上運算操作,不僅可充分保留臉部圖像的信息密度,而且可更有效地提高神經網絡的表征能力。由Inception V4 得到不同年齡的融合特征后,雙向LSTM 將對這些不同年齡的多尺度融合特征進行關聯性分析,以完成年齡預測。
不同個體的人臉老化過程具有個性化和動態性的雙重特點。因此,假如將年齡預測作為一種分類問題,即能夠將不同年齡當作彼此相互獨立問題來處理,但是這樣的做法忽略了不同年齡之間的相關性,將會導致各個年齡區間的主要信息被遺漏。假設將預測年齡看作是回歸分析中的主要問題,并由此展開一系列的具體操作,雖然能夠對不同年齡的相關性加以考慮,但是處理過程卻將人臉年齡的變化作為一個恒速變化對待,而實際上青年人的人臉變化速度相較于中老年人更快[10]。
針對以上問題,本文將Inception V4 與雙向LSTM 聯合用于年齡預測領域,實現了多尺度特征提取和特征關聯性分析的結合,充分挖掘臉部特征變化規律以降低年齡預測誤差。本文所提算法先預處理原始臉部圖像,進而可以得到人臉局部圖像,然后利用Inception V4 模型對臉部局部特征進行分類提取,再將不同局部特征相串聯進而得到融合特征,繼而將不同年齡的融合特征輸入至雙向LSTM 中,以學習不同年齡特征間的相關性,從而完成年齡預測。本文所提年齡預測框架流程如圖5所示。

圖5 年齡預測流程Fig.5 Procedure of age prediction
卷積神經網絡在特征提取方面表現較佳且應用廣泛。然而,通過卷積神經網絡提取的特征通常是靜態特征,特征之間缺少相關性,但現實世界中很多元素之間都是相互聯系的,人臉年齡特征則是如此。因此,在年齡估計階段需挖掘出不同年齡臉部特征的相關性以及變化規律。
針對以上問題,本文將雙向LSTM 應用于算法的年齡預測階段。LSTM 可對時序數據進行合理的處理,并且確保每次輸入中的重要信息都可以得到保留,從理論上來講可以將輸入的所有核心信息都包括在內,繼而通過對所有輸入信息進行綜合考慮來預測輸出。但是這里所包含的所有輸入信息僅對預測內容前面的內容進行考慮,即只對上下文中的“上文”信息進行有效考慮,但是卻忽略了“下文”信息,則該過程有可能導致重要信息丟失的問題。雙向LSTM 正是基于這種思想,不僅從前往后保留預測年齡前面的重要信息,而且從后往前保留預測年齡后面的重要信息,即對各個年齡特征進行關聯性分析。年齡預測框架如圖6 所示。其中,圖片1、圖片2 和圖片3 表示同一人物不同年齡時刻的圖片,將這些人臉圖像經過預處理后,按年齡順序依次輸入Inception V4 中提取臉部圖像多尺度特征,并得到特征向量x0、x1、x2。然后依次將特征向量輸入到雙向LSTM 中,分別用前向和后向LSTM 來學習過去和未來包含的隱藏年齡變化信息,以獲得臉部圖像的老化模式。在雙向LSTM 的最后一層中添加一個全連接層,由全連接層和Softmax 激勵函數輸出預測的年齡分布,進而完成年齡預測。

圖6 年齡預測模型框架Fig.6 Framework of age prediction model
FG-NET[11-12]數據集包含固定約束框架下的1 002 幅彩色和灰度臉部圖像,它是由82 個人的人臉圖像組成的,平均每人有12 幅圖像,這些人的年齡為0~69 歲。FG-NET 中的樣本圖像如圖7 所示。

圖7 FG-NET 數據集示例Fig.7 Examples of FG-NET dataset
受到數據采集總量的影響,FG-NET 借助于留一交叉驗證方法來合理劃分各類訓練集和相應的測試集,該方法的主要操作方式是在所有人中任意選擇其中一人,并將其影像作為測試集,而其他所有圖像均用作訓練集,最終的預測誤差取平均值。
MORPH[13-14]數據集是由北卡羅來納大學研究人員收集到的真實數據,共包括Album 1 和Album 2這2 個部分。對論文的具體引用情況進行分析可知,Album2 數據集是現階段應用較為普遍且較為常見的數據集之一,與預測年齡相關的多數理論資料都在該數據集中展開了實際測評。Album2 也是一個跨時間的數據集,其收錄了同一個人在不同年齡段的圖片。該數據集分為商業和學術版本,學術版本包括了13 000 個人的55 134 張圖片,照片收集時間跨度為2003 年—2007 年,人物年齡為16 歲~77 歲,且平均年齡為33 歲。MORPH 數據集中的示例圖像如圖8 所示。

圖8 MORPH 數據集示例Fig.8 Examples of MORPH dataset
本文使用TensorFlow[15]平臺進行實驗驗證,TensorFlow 是Google 官方對外公開的一款機器學習框架,由于該框架具有較強的靈活性和可移植性,因此利用該框架可使得計算模型輕易地部署到分布式集群、單主機以及移動設備上。
評價算法的優劣不能缺少一個客觀公正的指標,針對年齡預測算法優劣的評價存在多種指標。而目前針對年齡預測評價,使用較多的指標之一是平均絕對誤差(Mean Absolute Error,MAE)[16]。
MAE 是全部預測值和實際值進行綜合比對后而得出的平均誤差,其相應的數學定義可表示為:

其中,S表示測試圖像的數量,xi表示第i幅圖像的真實值,表示第i幅圖像的預測值。該指標計算結果越小,則表明算法的性能越佳。
為了從不同角度驗證本文算法在年齡預測中的適用性和優越性,本文利用TensorFlow平臺在FG-NET和MORPH 數據集中完成相關算法的驗證。在FGNET 數據集上與文獻[17-19]算法進行對比,結果如表1 所示。從表1 可知,本文算法在FG-NET 數據集上對年齡預測的MAE 均低于其他3 種方法。與本文算法相比,文獻[17]提出的LARR 算法是一種流形學習方法,該算法主要利用支持向量回歸的方法對年齡進行預測,而由對比實驗結果可知,使用卷積神經網絡提取年齡特征對年齡預測更加有效。文獻[18]將年齡預測問題轉換為相應的特征優化問題,在確保圖像局部流形結構不變化的同時也保留了人臉老化圖像的序數信息,而從對比實驗結果來看,通過使用雙向LSTM 學習人臉年齡變化的方式,能夠更好地利用不同年齡間的相關性信息,在對年齡進行預測時,則能夠獲得更佳性能。文獻[19]提出一種新的修正對比損失函數,通過模擬單個樣本之間的成對序數關系來增強算法的魯棒性,而實驗結果表明使用Inception V4 能夠更好地提取人臉面部圖像的細微特征,從而保留多尺度信息,且結合雙向LSTM 能夠取得更佳的預測準確率。

表1 4 種算法在FG-NET 數據集上的MAE 對比Table 1 MAE comparison of four algorithms on FG-NET database
實驗將本文算法和文獻[20-22]算法在MORPH數據集上進行對比,結果如表2 所示。從表2 可以看出,在MORPH 數據上,本文算法相比其他3 種算法對年齡的預測效果更好。文獻[20]將多尺度分析策略從傳統方法引入到CNN 中,實現了多尺度面部年齡特征分析,該算法對人臉進行區域劃分,雖然提取了人臉的多尺度特征,但是不同年齡臉部特征的相關性和變化規律未能充分利用,對比實驗結果表明使用雙向LSTM 可更好地利用不同年齡之間的相關性信息,提高預測準確率。文獻[21]將傳統的年齡回歸問題轉化為一系列二分類的子問題,但是人臉年齡變化是動態過程,不同年齡之間的相關性信息對于年齡預測也是十分重要的,由對比實驗結果可知,使用雙向LSTM 學習人臉老化模式的年齡預測方法,在預測準確率上更有優勢。文獻[22]使用輕量化的模型用于單一圖像的年齡估計,可移植性高,但對于特征提取,輕量化模型難以提取人臉多尺度特征,通過對比實驗可知,使用Inception V4 提取人臉年齡特征,能夠更好地保留人臉多尺度信息,并提高年齡預測準確率。

表2 4 種算法在MORPH 數據集上的MAE 對比Table 2 MAE comparison of four algorithms on MORPH database
由以上對比實驗可知,在FG-NET 和MORPH 數據集中,采用本文算法對年齡進行預測的MAE 均小于其他3 種算法,取得最優年齡預測準確率。這說明與其他算法相比,本文算法綜合了卷積神經網絡和遞歸神經網絡的優點,不僅實現了多尺度特征提取,而且充分利用了臉部年齡特征變化的相關性,并降低了年齡預測的誤差。
針對人臉年齡預測問題,本文提出一種基于深度學習的臉部年齡預測算法。該算法將臉部圖像分為四部分人臉局部圖像,使用Inception V4 分別提取多尺度局部特征,將特征以串聯的方式相融合并輸入雙向LSTM 中,以學習年齡變化的相關性,從而完成臉部年齡的準確預測。實驗結果表明,與其他算法相比,本文算法在利用多尺度卷積神經網絡提取臉部年齡特征后,利用臉部年齡特征變化與時間的相關性,可大幅降低年齡預測誤差。下一步將把實驗測試擴展到工業細分揀、人的身份識別等更多實際應用中,以更好地驗證本文算法的普適性。