趙 慧,景麗萍,2+,于 劍,2
1.北京交通大學 計算機與信息技術學院,北京 100044
2.交通數據分析與挖掘重點實驗室(北京交通大學),北京 100044
人臉對齊也即人臉關鍵點定位,目標是自動定位面部關鍵點,目前被應用在許多主流的人臉分析任務中:表情識別[1]、人臉驗證與識別[2]、人臉動作捕捉[3]以及人臉屬性分析[4]等。盡管人臉對齊已經研究了多年,但仍然是一個艱巨的任務,因為實際場景中,攝像機拍攝到的人臉會出現各種光照、姿態、視角,當人臉圖片的差異很大時,會給人臉對齊算法帶來難度。
近年來,大量人臉對齊方法涌現。在眾多方法中,級聯回歸[5-9]方法實現了很好的人臉對齊結果。級聯回歸的方法是通過回歸關鍵點位置處提取的特征逐步逼近真實關鍵點位置。監督下降方法(supervised descent method,SDM[9])是眾多級聯回歸方法中最有效的方法之一。SDM 基于關鍵點位置索引特征[7],使用級聯線性回歸來輸出關鍵點位置,省去了復雜的Jacobian 和Hessian 矩陣的計算,模型簡單高效且易于理解。位置索引特征是在每個關鍵點周圍提取的,這些特征提取的好壞直接影響了定位的效果。如果在每個階段都使用固定大小的特征提取框提取特征,會得到不利于關鍵點檢測的無用特征,不利于關鍵點準確定位。盡管SDM 是一種有效的人臉對齊算法,但是當選取的初始關鍵點位置遠離真實位置時,回歸的結果會很差[10]。

Fig.1 Pose-robust face alignment model圖1 姿態魯棒的人臉對齊模型
為此,提出一種自適應SDM 模型的姿態魯棒人臉對齊方法,主要結構如圖1 所示。考慮到人臉圖片存在較大的姿態差異,訓練一個統一的模型不能很好地解決姿態差異帶來的影響。因此使用分治的策略將一個困難的問題劃分成多個比較容易的子問題。對人臉姿態進行劃分,首先利用仿射變換將所有圖片做一個姿態矯正,矯正后的人臉姿態僅存在正臉、左側臉、右側臉三種姿態,然后使用K-means 聚類算法將人臉分成三類。在每一個類別中,圖片姿態相似,更容易實現準確的關鍵點定位。人臉對齊是一個由粗到細的回歸過程,關鍵點的位置會越來越接近真實位置。為了提取更具判別性的特征,特征提取框的大小應隨著迭代次數增加而減小。在每個類別下,采用自適應SDM 模型,即使用自適應的特征提取框代替之前固定的特征框來提取判別性特征。
人臉對齊的結果依賴于初始位置x0的選取,當x0遠離真實位置時,回歸過程就會變復雜。通常情況下,x0是訓練集中所有人臉關鍵點位置的平均值。文獻[6]提出使用不同的初始位置運行多次并將所有結果的平均值作為最終的結果。本文則是針對每一個姿態類別采用不同的x0,如圖2 所示。在LFPW、HELEN 和300W 數據集上的實驗結果表明該方法能很好地對復雜姿態的圖片進行關鍵點定位。
本文的主要貢獻如下:
(1)提出了一種姿態魯棒的人臉關鍵點定位方法,能夠對復雜姿態的人臉圖片進行更加準確的關鍵點定位。

Fig.2 Initial shape in each cluster圖2 每個類別下的初始關鍵點位置
(2)遵循由粗到細的準則,采用自適應特征提取框代替固定大小的特征提取框,獲得更具判別性的特征。
(3)針對不同的姿態類別采用不同的初始位置,使得初始位置更接近于真實位置,簡化回歸過程。
(4)在LFPW、HELEN 和300W 數據集上的實驗結果表明了本文模型的有效性。
人臉對齊方法可以被分成三類,包括參數化方法、級聯回歸方法以及深度學習方法。參數化的方法起源于主動形狀模型(active shape model,ASM)[11-13]。該方法是典型的人臉輪廓特征提取方法,從標注好的人臉訓練數據中,通過主分量分析(principal components analysis,PCA)得到位置模型,但只保留了對應較大特征值的特征向量,因此在應用到新樣本上時會產生一些偏差。之后的主動外觀模型(active appearance model,AAM)[14-16]在ASM 的基礎上加入了全局紋理模型,提高了人臉對齊的準確度,但這種參數化方法需要優化大量的參數。
基于深度學習模型的人臉對齊取得了顯著的成功,源于深度網絡較強的非線性映射和特征提取的能力。文獻[17]提出自編碼深度網絡(coarse-to-fine auto-encoder networks,CFAN)來進行關鍵點定位,多級自編碼網絡采用由低到高的分辨率進行由粗到細的定位。文獻[18]提出一種循環神經網絡(mnemonic descent method,MDM),將特征提取與回歸過程融合在一起進行端到端的訓練,增加了記憶機制,允許在相鄰迭代之間傳遞信息。
級聯回歸[5-9]方法廣泛應用。級聯回歸方法好的原因在于利用位置索引特征能夠加強關鍵點之間的位置約束,能從訓練數據中獲得強的學習能力。這種方法并不是顯式地建立全局紋理和位置模型,相反是直接學習從特征到關鍵點位置的映射函數。由于人臉剛性與非剛性的變化,通常僅通過一個階段不能獲得準確的位置。因此這種方法基于給定的初始位置x0,經過多個階段,每個階段產生一個位置增量Δx,不斷逼近真實位置。每個階段的位置由xk+1=xk+Rk(Φ(I,xk))決定。其中,xk是k階段關鍵點的位置,Rk是回歸函數,該函數基于圖片I在xk處提取的特征Φ產生位置增量Δx。兩種代表性的方法是顯式形狀回歸(explicit shape regression,ESR[6])和SDM。ESR 采用兩層提升回歸結構,利用位置索引特征以及相關性特征的選取,學習多個弱回歸器,多個弱回歸器級聯成一個強回歸器,再將多個強回歸器級聯來預測關鍵點。SDM 則是通過線性回歸直接得到每個階段產生的位置增量。魯棒的級聯回歸方法(robust cascaded pose regression,RCPR)[5]通過檢測遮擋以及更加魯棒的索引特征的提出,減小了遮擋對人臉對齊的影響。但是文獻[5-9]都將所有樣本放到一個統一的訓練模型中訓練,沒有考慮樣本之間存在的姿態等差異,對于一些復雜姿態的樣本定位效果不好。
自然界中的圖片由于復雜的姿態問題對關鍵點定位帶來巨大的挑戰。為此,對人臉圖片進行姿態聚類,然后將不同類別的圖片單獨訓練。對于一張圖片I,人臉對齊的目標就是學習一個從特征到關鍵點位置的非線性映射函數D。由于姿態的差異性較大,D的學習過程復雜,因此依據人臉姿態將D分成幾個簡單的子任務{D1,D2,…,Dn}。這樣,在每個子任務Dk中,人臉具有相似的姿態,簡化了D的學習。
由于姿態多樣,在進行聚類之前先利用仿射變換對人臉姿態進行調整。仿射變換矩陣M如式(1)。仿射變換只需要利用兩組三點坐標就可以求得矩陣M。三點坐標分別是兩眼坐標以及嘴巴中間位置的坐標。對于每張圖片,一個是源坐標系下的坐標(x,y,1)T,一個是目標坐標系下的坐標(u,v,1)T。注意,目標坐標系下的兩眼的位置在同一條水平線上。得到變換矩陣M之后,就可以利用M將整張圖片進行仿射變換。結果如圖3 所示,第一行是仿射變換前,第二行是變換后。矯正后的人臉姿態僅存在正臉、左側臉、右側臉三類姿態。

Fig.3 Face pose before and after affine transformation圖3 仿射變換前后的人臉姿態

考慮到數據集中沒有提供關于姿態的真實標簽,采用K-means 無監督的聚類算法實現姿態聚類。聚類后每個類別的平均臉如圖4 所示。為每個類中的所有樣本提供一個更加接近真實位置的更好的初始位置,如圖2,利用自適應SDM 模型提取判別性特征,每個類別單獨訓練,得到三個不同的訓練模型。由于利用仿射變換對關鍵點位置進行了矯正,最終輸出的關鍵點位置需要做一個逆變換轉換到源坐標系下,如式(2)所示,是仿射變換后的坐標系下的位置坐標,xt是源坐標系下關鍵點位置的坐標。


Fig.4 Average face in each cluster after pose clustering圖4 姿態聚類后每個類下的平均臉
人臉對齊通過學習一個回歸函數來預測當前位置與真實位置之間的位置增量。考慮到回歸函數是一個復雜的非線性映射函數,SDM 使用了一種線性回歸的方式代替復雜的非線性回歸來預測位置。目標函數如式(3):

對于一幅m個像素的圖片d∈Rm×1,d(x)∈Rp×1為圖片上p個關鍵點,x0∈Rp×2代表初始位置,h是一個非線性的特征提取函數,本文實驗中使用的是HOG特征。Φ*=h(d(x*))代表了基于真實位置提取的特征。對于每個樣本,有一個初始位置x0,根據牛頓梯度下降準則,只需反復對式(1)進行迭代,得到一個Δx的序列{Δx1,Δx2,…,Δxk},并且在每次迭代后,修正xk=xk-1+Δxk,經過若干次迭代,xk就會收斂于最優位置x*。
將式(3)進行Taylor 展開并對Δx求導,且令導數為0,可以得到式(4):


R0被看作是下降的方向。一系列的下降方向Rk以及bk需要計算,表示為式(6)。每個階段提取的特征構成一個集合Φ={Φ1,Φ2,…,Φk}。

自適應的特征提取體現在Φk上。如圖5 所示:這里以5 個關鍵點為例,其中紅點代表每個階段得到的位置,綠點代表真實位置,紅色圓圈代表了特征提取框半徑r的大小。圖5(a)為SDM 模型的半徑r的變換趨勢,可以看出r的大小是不變的。這樣會提取到影響關鍵點定位的無用特征。

Fig.5 Trend of feature extraction block size with the number of stage圖5 特征提取框大小隨迭代次數的改變
人臉對齊是一個由粗到細的過程,特征提取框半徑r的大小與每個階段產生的位置增量Δx有關。當訓練樣本中Δx分布廣泛時,更偏向于使用大的r提取特征。遵循由粗到細的準則,采用自適應地改變r的大小來獲取判別性特征。如圖5(b)所示,在初始階段,得到的位置xk遠離真實位置x*,Δx分布廣泛,在關鍵點附近采用大的特征框來提取更有用的信息,這有利于處理較大的人臉形狀差異并且保證魯棒性。隨著階段增加,xk與x*的距離越來越小,采用逐漸減小的特征提取框可以有效地獲得判別性的特征。尤其是在后面的階段,小的特征提取框能減少噪音的產生,確保準確性。式(7)表達了自適應特征提取框半徑rk的獲取過程,表示k階段第i個樣本的第j個關鍵點的位置。

在文獻[19]中,rk雖然也是逐漸減小,但策略強硬,沒有考慮到訓練樣本每個階段產生的位置增量Δx的分布。在本文的實驗中,依據每個階段產生的Δx自適應地獲取特征提取框的半徑rk。在每個階段,每個樣本都會產生一個Δx,維度是p×2,計算每個關鍵點的當前位置與真實位置的距離,得到p個距離。N個樣本會產生N×p個距離。在N×p個距離中選取最大距離當作是該階段所有樣本每個關鍵點的特征提取框r的大小。選取最大的原因是為了提取到真實關鍵點周圍的有用特征。這樣,每個階段選取的特征提取框的大小充分考慮了樣本現階段位置與真實位置的分布,隨著階段增加會逐漸減小,提取的特征能極大限度地在真實位置處提取,同時也減少了冗余特征的干擾。
通過自適應特征提取框半徑r的獲得,得到了判別性特征Φ={Φ1,Φ2,…,Φk},Rk和bk的值可以通過最小化當前位置增量與真實位置增量的差值計算得到。如式(8)所示。

式(8)是典型的線性最小二乘法問題,可以求得解析解。然后根據式(6),可以得到第k個階段的位置增量Δxk,進而求得第k個階段的關鍵點位置xk。在迭代完成后,將每個階段得到的Rk和bk保存下來。
對于一張測試樣本,首先確定該人臉圖片所屬的姿態,給予相應的初始位置x0,利用訓練階段得到的一系列Rk和bk,預測關鍵點位置。
在三個數據集LFPW、HELEN 和300W 上評估本文的模型。
LFPW[20](49 點):該數據集原本有1 100 個訓練樣本和300 個測試樣本,由于無效的網址,僅僅獲得811 個訓練樣本和224 個測試樣本。
HELEN[21](194 點):該數據集包含2 300 張高分辨率的圖片。其中,2 000 張作為訓練集,剩下的300張作為測試集。高分辨率有利于精準定位關鍵點。
300W[22](68 點):該數據集是一個合成的人臉對齊數據集,含AFW[13]、LFPW[20]、HELEN[21]和XM2VTS[15]數據集。這些數據集都被統一標為68 個關鍵點。此外,還包含135 張更具挑戰性(challenge)的IBUG 數據集。為了與其他方法比較,300W 訓練集包含LFPW 和HELEN 數據集的訓練集部分以及AFW 整個數據集(共3 148 個訓練樣本)。測試集分為三部分:LFPW 和HELEN 數據集的測試集構成300W 數據集的普通(common)測試集;135 張IBUG 數據集作為300W 的具有挑戰性(challenge)的測試集;該部分測試集樣本姿態表情復雜,兩部分結合在一起就是整個(full)測試集(共689 個測試樣本)。上述3 個數據集的訓練樣本主要存在姿態差異,這也是進行姿態劃分的原因。
考慮到LFPW 數據集比較小,通過擾動產生10個人臉邊界框,再將初始位置對齊到10 個邊界框上產生10 個初始值來提高模型的泛化性。HELEN 和300W 數據集不進行擾動處理。所有的圖片依據人臉邊界框裁剪并歸一化到400×400 的大小。人臉邊界框由OpenCV 人臉檢測器得到。通過手動獲取人臉的三點坐標,對所有樣本進行仿射變換,再基于相似姿態的人臉具有相似的特征,使用K-means 聚類算法實現姿態聚類。在300W 數據集上每個類的平均臉如圖4 所示,不同類別下的圖片有著不同的姿態,但同一類別下的人臉圖片姿態相似,這樣每個類別下的樣本依據每個階段位置增量的分布,使用自適應的SDM 模型獲得特征提取框的大小,來提取判別性特征,迭代5 次即可收斂。使用與文獻[20]相同的歸一化的均方根誤差(normalized mean error,NME)來評價關鍵點定位的好壞。如式(9):dipd是兩眼間的距離;xt是輸出的關鍵點位置;x*是真實關鍵點位置;p是關鍵點個數。由于采用兩眼間的距離來歸一化,為了清晰可見,所有實驗結果都省略了%。

在LFPW 和300W 數據集上分析姿態劃分以及自適應特征提取對關鍵點定位準確度提升的有效性。
圖6 展示了姿態劃分以及自適應策略與SDM 模型在LFPW 數據集上平均誤差隨迭代次數的變換。可以看出,模型5 步達到收斂。姿態劃分與自適應判別性特征的提取對于關鍵點定位平均誤差的減小有顯著作用。姿態聚類較自適應特征提取更能提升關鍵點定位準確度。原因是聚類后每個類別下圖片的姿態緊致,差異變小,對應關鍵點周圍提取的特征更具有相似性,會簡化訓練過程,姿態聚類在一定程度上輔助了判別性特征的提取。

Fig.6 Mean error with the number of iterations on LFPW圖6 LFPW 上平均誤差隨迭代次數的變化圖
表1 展示了兩種策略在LFPW 和300W 數據集上的平均誤差。自適應特征提取策略在LFPW 和300W full 數據集上定位準確度分別提升5.4%、3.6%。相比而言,姿態劃分策略在LFPW 和300W full 數據集上準確度分別提升7.1%、4.3%。同時考慮姿態聚類以及判別性特征的提取,本文模型相比SDM 模型,在LFPW 數據集上準確度提升10.5%,在300W challenge 數據集上提升14.1%,common 數據集上提升10.0%,full 數據集上提升13.2%,說明本文模型對準確度提升有重要作用,特別是在challenge 數據集上。同時可以看出,在LFPW 數據集上的準確度大于300W 數據集,原因是LFPW 僅包含49 個內部關鍵點,不包含較難定位的輪廓點。

Table 1 Comparison of mean error on LFPW and 300W datasets表1 LFPW 和300W 數據集上平均誤差的比較
為了評估本文模型,在HELEN 和300W 數據集上與現有的5 種方法進行了比較。其中包含參數化方法基于擴展ASM 的關鍵點定位算法(locating facial features with an extended active shape model,STASM[11]);級聯回歸方法RCPR[5]、ESR[6];深度學習的方法CFAN[17]、MDM[18]。使用與文獻[20]相同的歸一化的均方根誤差作為評價指標。
從表2 可以看出,本文模型在兩個數據集上的結果要好于其他模型。各種模型在HELEN 數據集上的平均誤差要高于300W common 數據集,原因在于HELEN 數據集有194 個關鍵點,相對68 個關鍵點,定位難度大。STASM 平均誤差最高,效果最差,特別是在300W challenge 數據集上。因為該模型是基于ASM 這種參數化的方法,該方法基于PCA 線性模型,特征空間的表達能力受限,對于訓練集沒出現過的圖片或者差異較大的圖片不能表現出令人滿意的結果。深度的方法MDM 要優于ESR[6]、CFAN[17]等方法,在HELEN 和300W common 數據集上,平均誤差低于本文模型,原因在于MDM 增加了記憶機制,可以在相鄰的級聯回歸迭代之間傳遞信息以及受益于深度網絡較強的非線性映射能力。以上的方法都是將樣本送入統一的框架,沒有考慮姿態差異對模型訓練帶來的困難,本文模型考慮了姿態差異對人臉對齊的影響,將不同姿態的人臉送入不同的模型下進行訓練,效果好于其他模型,尤其在300W challenge數據集上,準確度相比STASM 提升47.3%,比MDM提升3.21%。

Table 2 Mean error of face alignment models on HELEN and 300W datasets表2 HELEN 和300W 數據集上人臉對齊模型平均誤差比較
圖7 展示了MDM 模型與本文模型在300W 數據集上關鍵點定位的效果圖,綠點代表MDM 模型結果,紅點代表本文的結果。可以看出,本文模型相比于MDM 模型,能更加準確地定位關鍵點,尤其是姿態復雜的人臉圖片。

Fig.7 300W results of MDM and proposed model圖7 MDM 與本文模型在300W 上的結果圖
本文提出了一種基于自適應SDM 模型的姿態魯棒的人臉對齊算法。為了解決復雜姿態對人臉關鍵點定位帶來的困難,先利用仿射變換矯正人臉姿態,再通過聚類算法實現姿態的劃分。遵循由粗到細的級聯回歸的準則,采用自適應特征提取框來提取判別性特征。在每一種姿態下,給予更貼近真實關鍵點位置的初始位置,采用自適應特征提取的SDM 模型進行訓練。在LFPW、HELEN 和300W 數據集上的實驗結果表明,本文模型優于SDM 模型以及其他人臉對齊模型,尤其在復雜姿態的人臉圖片上。