?

基于多層次自注意力網絡的人臉特征點檢測

2024-02-29 04:39徐浩宸劉滿華
計算機工程 2024年2期
關鍵詞:人臉姿態卷積

徐浩宸,劉滿華

(上海交通大學電子信息與電氣工程學院,上海 200240)

0 引言

人臉特征點檢測又稱人臉對齊,指自動定位人臉上的一系列預設基準點(如眼角、嘴角等),是人臉處理的關鍵步驟。人臉特征點檢測是許多人臉相關視覺任務的基本組成部分,被廣泛應用于如人臉識別、表情分析、虛擬人臉重建等領域[1]。

傳統算法在環境受限條件下的人臉特征點檢測可以得到較準確的結果,如主動外觀模型(AAM)[2]、約束局部模型(CLM)[3]等。該領域的挑戰是在非受限環境下的人臉特征點檢測,在非受限環境下,人臉會具有受限環境下所沒有的局部變化及全局變化。局部變化包括表情、遮擋、局部的高光或陰影等,這些局部變化使得一部分人臉特征點偏離正常位置,乃至于消失不見。全局變化包括面部的大姿態旋轉、圖片模糊失焦等,這些全局變化使得大部分人臉姿態點偏離正常位置。這2 個挑戰需要算法模型對人臉特征點的全局和局部分布有良好的表征,對形狀分布有足夠的魯棒性,對人臉的姿態朝向有所估計。

研究人員嘗試使用一些傳統的級聯回歸方法解決在非受限環境下人臉特征點檢測回歸任務,這些方法可以歸納為級聯一系列弱回歸器以訓練組合成1 個強回歸器。然而這些方法在較淺的級聯深度后其性能會達到飽和,精度難以再次提高。

隨著基于卷積神經網絡的發展,在非受限環境下的人臉特征點檢測得到極大改善?,F有基于卷積神經網絡的方法主要分為基于坐標回歸的方法和基于熱圖回歸的方法?;跓釄D回歸的方法通過級聯Hourglass 網絡[4]得到像素級的熱圖估計值,準確率較高,但是由于級聯網絡的結構和預測整個熱圖值,因此參數量較大且推理時間長?;谧鴺嘶貧w的方法利用卷積神經網絡直接回歸出特征點的坐標,參數量較少且推理時間短,實時性較好。特征點坐標精確到像素,需要足夠的空間信息才能保證精度。而基于坐標回歸的方法模型隨著網絡的加深和降采樣,在特征語義信息加深的同時也會丟失空間結構信息,缺乏細粒度表征能力,精度會有所降低。

本文針對人臉特征點檢測坐標回歸方法提出一種多層次自注意力網絡(HSN)模型,構建一種基于自注意力機制的多層次特征融合模塊,實現網絡的跨層次特征融合,提升用于回歸特征的空間結構信息,彌補細粒度表征能力不足。此外,設計一種多任務同時學習特征點檢測定位及人臉姿態角估計的訓練方式,提升模型對人臉姿態朝向的表征,從而提升模型的準確性。

1 相關研究

1.1 傳統的人臉特征點檢測方法

傳統人臉特征點檢測以傳統算法為主,通過多訓練級聯回歸器來構建算法。COOTES 等[2]提出AAM 算法,該算法根據人臉的整體外觀、形狀、紋理參數化建立模型,通過迭代搜索特征點位置,并應用平均人臉修正結果,最大化圖像中局部區域的置信度以完成置信度檢測。CRISTINACCE 等[3]在AAM算法的基礎上,棄用全局紋理建模方法,利用一系列特征點周圍局部紋理約束模型,構建CLM 算法[3]。DOLLAR 等[5]提出級聯姿態回歸器(CPR),通過級聯一系列回歸器實現預測值的不斷修正細化,以得到最終預測值。

1.2 基于深度學習的人臉特征點檢測方法

近年來,基于深度學習的人臉特征點檢測方法表現出了遠優于傳統算法的性能,大致可以分為基于坐標回歸的方法與基于熱圖回歸的方法?;谧鴺嘶貧w的方法使用卷積神經網絡直接從圖片輸入中回歸出特征點坐標值。SUN 等[6]提出一種三級級聯的卷積神經網絡,從粗到細地定位人臉特征點。GUO 等[7]基于MobileNet 結構做進一步的輕量縮減,提出一種可以在移動設備上也能實時運行的網絡結構,且針對不同的特殊數據類別自適應地加權訓練。FENG 等[8]針對面部特征點檢測這一特定任務,設計一種WingLoss 損失函數,使得損失函數在大誤差時的梯度為常數,在小誤差時得到比L1 與L2 更大的誤差值。ZHANG 等[9]提出一種多任務學習框架,同時優化人臉特征點定位及姿態、表情、性別等面部屬性分類?;跓釄D回歸的方法為每個特征點預測1張熱圖,得到每個像素位置的概率置信度值,然后從熱圖中估計得到坐標值。受Hourglass 在人體姿態估計方面的啟發,Hourglass 網絡成為很多業界使用熱圖回歸法的主干網絡。YANG 等[10]使用有監督的面部變換歸一化人臉,然后使用Hourglass 回歸熱圖。DENG 等[11]提 出JMFA 網 絡,通過堆 疊Hourglass 網絡,在多視角人臉特征點檢測上達到較高的精度。文獻[12]提出LAB 網絡,利用額外的邊界線描述人臉圖像的幾何結構,從而提升特征點檢測的準確性。熱圖中背景像素會逐漸收斂于零值,而WingLoss 函數在零點不連續,導致無法收斂。針對該問題,WANG 等[13]提出一種改進的自適應WingLoss 函數,使其能適應真實值熱圖不同的像素強度,當損失函數在零值附近時接近于L2 Loss,因此可支持熱圖回歸訓練。

1.3 卷積神經網絡中的特征融合方法

卷積神經網絡的底層特征包含大量的空間結構信息而缺乏語義信息,隨著網絡的加深和降采樣,高層特征具備豐富的語義信息而丟失空間結構信息。運用單獨的高層卷積網絡特征對于精細任務來說是不足的。學界也有一些工作探索在1 個卷積神經網絡中運用不同卷積層的有效性,如特征金字塔網絡(FPN)通過融合低層次的高分辨率特征與上采樣后的高層次高語義特征得到不同分辨率的特征,以支持不同尺度的目標檢測任務[14]。HARIHARAN 等[15]嘗試使用卷積神經網絡中的所有特征,以提升網絡在定位任務中的精度。LONG 等[16]在分割任務中結合不同深度間更高層及更精細的特征。XIE 等[17]在邊緣檢測任務中設計1 個整體嵌套的網絡框架,網絡的旁路輸出被加到較底層的卷積層后,以提供深層監督訓練。

簡單級聯不同卷積層特征會增加大量的參數量,同時將較多中間卷積層相結合時不能捕捉層間的交互關系。受Transformer 網絡[18]中自注意力機制的啟發,本文將每個網絡塊的特征視為不同的網絡特征提取器,并運用自注意力機制建模層與層之間的交互融合。

2 本文方法

本文所提基于多層次自注意力網絡HSN 的人臉特征點檢測算法的總體流程如圖1 所示。其中實線框為訓練與測試時的通用流程與數據,虛線框為僅在訓練過程中所使用的流程及數據。在算法測試時流程分為數據預處理及HSN 模型計算2 個階段。對于輸入圖像,首先人臉識別后進行歸一化處理。在模型訓練階段,對于沒有人臉姿態角真值的數據集須額外計算1 個擬真值,并在數據增強后用于網絡訓練。對于有遮擋、表情、局部高光或陰影等細分類的數據集,其分類真值將用于損失函數的計算。

圖1 基于多層次自注意力網絡的人臉特征點檢測算法流程Fig.1 Procedure of facial landmark detection algorithm based on hierarchical self-attention network

人臉特征點示意圖如圖2 所示。針對未提供人臉姿態角真值的數據集,本文提出計算1 個擬真值用于網絡訓練,方法如下:將該數據集和訓練集的所有正臉圖像經由雙眼外側2 點旋轉至水平矯正后,選取如圖2 圓點所示的14 個點作為基準點,統計訓練集全部平均點作為該數據集的標準人臉。將人臉大致視為剛體,將每張圖像的14 個基準點相對標準人臉計算其旋轉矩陣,然后計算3 個歐拉角作為該數據集的人臉姿態角擬真值。由于訓練數據涉及坐標及姿態角,因此本文數據增強僅使用了圖像翻轉方法。

圖2 人臉特征點示意圖Fig.2 Schematic diagram of facial landmark

2.1 數據預處理

大多數現有人臉特征點檢測方法建立在人臉識別技術的基礎上,算法在經人臉識別后的輸入圖像局部區域上檢測人臉特征點。部分數據集提供人臉區域坐標框或直接提供人臉區域局部圖像。針對未提供該部分數據的數據集,本文直接采用MTCNN 算法[19]進行人臉識別,在檢測人臉區域上繼續后處理。

2.2 多層次自注意力網絡

本文提到針對非受限環境下的人臉特征點檢測算法模型對全局形狀應具備足夠的魯棒性,在局部分布上應具備細粒度的表征能力,對人臉位姿朝向應有所估計。針對以上問題,本文提出一種基于多層次自注意力的特征融合網絡,網絡結構如圖3 所示。輸入圖像經由主干網絡、多層次自注意力特征融合模塊后輸出預測特征點坐標及預測人臉位姿角。

圖3 多層次自注意力網絡結構Fig.3 Structure of hierarchical self-attention network

2.2.1 主干網絡

HSN 模型采用ResNet 50[20-21]作為主干網絡,其結構如圖4 所示,由卷積層、池化層及瓶頸卷積塊組成。主干網絡分為5 個階段來分層學習特征,每個階段之間采用步長為2×2 的池化層或卷積層進行降采樣。第1 個階段由7×7 的卷積層、BN 層及ReLU激活函數組成。其他4 個階段均由連續的瓶頸卷積塊組成,每個瓶頸卷積塊由2 個用于升降維的1×1卷積核,1 個3×3 的卷積核、BN 層和ReLU 激活函數構成。5 個階段的通道數設置為64、256、512、1 024和2 048。

圖4 主干網絡結構Fig.4 Structure of backbone network

2.2.2 多層次自注意力特征融合模塊

現有基于坐標回歸的方法多直接基于主干網絡頂層特征全局平均池化后回歸,雖然該特征因其共享特性具有全局形狀的魯棒性,但是丟失空間結構信息,在局部細粒度方面表征不足,不足以描述局部細節的語義信息。這些方法忽略了中間層的激活,導致細粒度判別信息損失。本文將主干網絡層中每個階段的網絡塊都視為不同的特征提取器,將各個特征塊的激活視為不同特性的響應,并通過自注意力機制捕捉層間關系,以提升模型細粒度表征能力。

假定輸入圖像I,經由主干網絡后第s階段輸出高度為h,寬度為w,通道數為c的特征Xs∈Rh×w×c。定義特征Xs中高度為i,寬度為j位置處的特征向量為網絡階段數為L,網絡在不同階段間經過步長為2的下采樣,故Xs前t階段對應位置的特征向 量以最后階段的輸出特征圖相對位置為準,組合m個階段對應位置的對應特征向量作為該位置的多層次特征向量維數為,f1×1為1×1 的卷積核及相應的BN層,用于統一不同特征塊的通道數至則

本文所提的多層次自注意力特征融合模塊如圖3 所示。3 個1×1 的卷積核分別用于將輸入特征轉換成查詢向量、索引向量、內容向量并組合為矩陣形式然后利用自注意力層對 多層次特征向量建模,計算查詢向量和索引向量間的內積并歸一化作為相關系數,經Softmax 激活后加權內容向量,獲得表征

輸出表征展平并經過2 層前饋神經網絡后連接得到最終輸出特征。自注意力層及前饋神經網絡均有跳躍連接結構。上述結構在不同位置處共享權重,輸出特征經由全局平均池化后連接輸出層。

2.2.3 損失函數

為優化網絡對人臉整體朝向姿態的估計,以提升特征點定位的準確性,本文網絡在輸出預測特征點坐標的同時輸出預測人臉姿態角,并將其加入到損失函數中以優化訓練。損失函數由特征點坐標的損失函數與位姿角的損失函數加權得到:

其中:N為每次迭代訓練圖像數;U為圖像細分類類別數量;ωu為各細分類權重,本文采用各類別圖像占比的倒數加權,以增加模型對稀少數據的敏感性,即ωu=Nt/Nu,Nt為訓練集圖像總數,Nu為訓練集第u類圖像總數;Lθ和Ld分別為位姿角和特征點坐標的損失函數;α為平衡2 項損失函數的超參數。本文中位姿角損失函數Lθ定義如下:

其中:Δθz為人臉的3 個姿態角預測值與真值的差值,z∈{1,2,3}。

本文特征點損失函數Ld選用WingLoss[8]:

其中:P為預測特征點數;為特征點p坐標預測值與真值的L2 距離;σ,?為超參數;?為保證曲線連續的常數,

3 實驗結果與分析

為測試本文所提出方法的性能,采用人臉特征點檢測領域最常用的2 個數據集300W 數據集[22]以及WFLW 數據集[12]上進行包括消融實驗在內的一系列實驗。

3.1 數據集

300W數據集重新標定了包括XM2VTS、FRGC Ver.2、LFPW、HELEN、AFW、iBUG 6 個人臉數據集的人臉特征點數據,提供68 個人臉特征點坐標,在其分支數據集300W-LP 中提供人臉位姿角數據。本文遵照前人方法的實驗設置[12],取用來自LFPW、HELEN、AFW 數據集總共3 148 張圖像作為訓練集,來自LFPW 和HELEN 的測試集以及iBUG 總共689 張圖像作為測試集圖像。測試圖像包含普通圖像及有挑戰圖像2 大類。由于300W 數據集不包含細分類數據,因此損失函數中細分類權重統一為1。

WFLW 數據集包括7 500 張圖像的訓練集及2 500 張圖像的測試集,提供98 個人臉特征點坐標以及包括大姿態角、夸張表情、極端光照、化妝、遮擋、模糊6 項細分類數據。在本文方法中增加第7 類普通類,包含所有不在其他所有類中的數據,以便細分類權重的計算。

3.2 實驗設置與測試指標

本文模型的搭建與訓練,數據集的測試均在PyTorch 框架下進行。本文中特征融合模塊選擇融合最后3 個階段的特征,損失函數平衡項α取值為1,特征點損失函數WingLoss中σ取值為10,?取值為2。本文訓練與測試時Batch_size設置為96,使用AdamW 優化器優化訓練,學習率設置遵照5×10-7~1×10-5的余弦退火策略,模型訓練迭代次數Epoch設為300。

為方便與現有方法進行對比,本文使用標準化平均誤差(NME,計算中用NNME)以及錯誤率(FR,計算中用FFR)衡量性能。本文的NME 指標按照雙眼外眼角間距離進行歸一化。NME 和FR 如式(5)和式(6)所示:

其中:N為測試圖像數;P為預測特征點數;Yp和分別為人臉特征點坐標的真值以及預測值;d為歸一化因子;NNMEn為具體每張測試圖像的NME 值。

3.3 與現有方法的比較

在300W 數據集上測試本文所提方法HSN 的性能,并與現有方法進行對比,實驗結果如表1 所示,加粗表 示最優數據。表1 中AnchorFace[23]、Wing、PFLD 為基于 坐標回 歸的方 法,LAB[12]、MobileFAN[24]、HRNetV2[25]為基于熱圖回歸的方法,LDDMM-Face[26]是基于形狀模型的其他方法。從表1 可以看出,本文所提的HSN 模型在基于坐標回歸方法中表現出優異的性能,NME 降至3.23%。在有挑戰圖像大類中,本文模型的NME 降至5.12%,驗證HSN 模型補充坐標回歸方法特征細粒度表征不足的假設。在與HRNetV2 等熱圖回歸方法、LDDMM-Face 等形狀模型對比時,本文模型在各指標對比上也具有一定的優越性。

表1 在300W 數據集上不同模型的標準化平均誤差對比Table 1 Normalized mean error comparison among different models on the 300W dataset %

同樣地,在WFLW 數據集上本文模型與現有模型進行一系列對比,結果如表2 所示。從表2 可以看出,本文模型HSN 在NME 及FR 2 個指標上均取得更高精度,分別為4.55%和3.56%。在各個困難細分類中,本文模型在大姿態角及模糊2 類上的NME 分別降到了7.76%和5.17%,驗證本文所提的加入姿態角預測輔助訓練以及跨層融合方法的有效性和先進性。

表2 在WFLW 數據集上不同模型的評價指標Table 2 Evaluation indicators among different models on the WFLW dataset %

3.4 消融實驗

為進一步驗證HSN 的有效性,本文在WFLW 數據集上進行一系列消融實驗。

本文基于提升模型對人臉整體姿態朝向的表征能力來提高特征點定位精度的假設,設計多任務學習特征點定位及人臉姿態角的訓練方式,并對細分類的困難項增加了相應的權重。損失函數消融實驗結果如表3 所示。該部分消融實驗所用的網絡均為僅使用主干網絡的基準網絡,不加權且僅預測特征點坐標作為基線對比。從表3 可以看出,分別添加位姿角預測損失項(Lθ)和細分類權重(ωu)后,HSN在特征點定位的NME 及FR 指標均得到有效優化,NME 分別下 降0.21 和0.09 個百分 點,FR 分別下 降0.87 及0.44 個百分點。在兩者綜合作用下,NME 和FR 分別下降0.26 和1.29 個百分點。

表3 損失函數消融實驗結果Table 3 Results of loss function ablation experiment %

為驗證該特征融合模塊的有效性,本文選取主干網絡作為基準,融合實驗結果如表4 所示。首先與最常用的特征融合方法拼接法(Concatenate)與加和法(Addition)進行對比,同樣是在融合第4 個和第5 個階段特征的情況下,本文方法能有效改善NME 值,加和法的性能不增反降,而相較于拼接法,本文方法在NME 和FR 2 個指標上分別下降0.11 和0.55 個百分點。而后對特征融合的階段數進行實驗,其中融合第3~5 個階段的模型表現出最優性能。融合第2~5 個階段的實驗可能是由于第2 個階段的特征缺乏足夠的語義信息而給融合后的特征帶來無效噪聲,導致性能略遜于第3~5 個階段的特征融合網絡。

表4 特征融合消融實驗結果Table 4 Results of feature fusion ablation experiment %

3.5 可視化結果與討論

為進一步直觀展示HSN 的有效性,本文將HSN和其他方法在WFLW 數據集中的不同困難細分類測試集上的測試結果可視化,結果如圖5 所示。

圖5 不同算法的人臉特征點檢測結果可視化對比Fig.5 Visual results comparison of facial landmark detection using different algorithms

其中,Wing 和PFLD 是基于坐標回歸方法,HRNetV2 是基于熱圖回歸方法。從圖5 可以看出,Wing、PFLD 等坐標回歸方法雖然保持整體形狀的魯棒性,但是在細節位置仍有較大偏差。Wing 僅能預測大致形狀,在大姿態角偏轉等各種復雜情況下預測結果均不理想。PFLD 對各個圖中人臉整體外輪廓變化等全局變化以及眉毛走向、瞇眼程度等局部變化反饋不到位。HRNetV2 等基于熱圖回歸方法采用熱圖逐點預測保證了各點的精度,但丟失全局整體形狀的魯棒性,如圖5 中面部外輪廓均存在一定幅度的扭曲,第2 列夸張表情示意圖中將舌尖預測為嘴部特征點,第7 列模糊2 示意圖中各器官扭曲等。因此,本文方法既保證整體形狀的連續性,對大姿態偏轉有良好的反饋性能,又能捕捉到各點局部細節,保證局部各點預測精度。

本文方法也存在一定的局限性。本文所提的多層次特征融合模塊在優化特征點定位精度的同時,使得推理時間從原本的13 ms 增加到17 ms。該模塊使用Transformer 框架中的自注意力機制,當前各種芯片對該框架相關模型優化不足,使得在實際應用中所需推理時間可能進一步增加,這一點有待相關算子開發優化。此外,本文所提的多任務同時學習人臉特征點定位與姿態角的學習方式依賴數據集有角度上的多樣性及姿態角數據,而大部分數據集缺乏該部分數據。雖然本文提出當數據集缺乏姿態角數據時的替代姿態計算算法,但此算法包含將平均人臉作為基準正臉和將人臉視為剛體的假設,在夸張表情等人臉數據與平均人臉相差較大時計算出的姿態角擬真值可能與實際值相差較大,影響模型擬合從而影響精度進一步提升,這一點有待包含姿態角數據的數據集擴充或姿態計算算法的進一步優化。

4 結束語

針對人臉特征點檢測的基于坐標回歸方法特征缺乏局部結構的細粒度表征能力、精度較低等問題,本文提出一種基于自注意力特征融合模塊的網絡算法。采用自注意力機制實現多層次特征融合,以實現不同階段具有不同空間結構語義信息的特征層間交互,使得回歸特征在全局形狀具有魯棒性的同時優化局部細粒度表征能力。提出一種多任務學習特征點檢測定位及人臉姿態角估計的訓練方式,提升算法對人臉整體姿態朝向的估計以提升特征點定位精度。下一步將優化姿態計算算法以適配更多數據集,研究網絡的跨數據集泛化能力,提升網絡的泛用性。

猜你喜歡
人臉姿態卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
有特點的人臉
攀爬的姿態
從濾波器理解卷積
三國漫——人臉解鎖
全新一代宋的新姿態
跑與走的姿態
基于傅里葉域卷積表示的目標跟蹤算法
馬面部與人臉相似度驚人
長得象人臉的十種動物
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合