賀懷清,陳 琴,惠康華
(中國民航大學 計算機科學與技術(shù)學院,天津 300300)
人臉對齊旨在定位出人臉關(guān)鍵點的位置,一直以來都是計算機視覺領(lǐng)域熱門研究方向,被廣泛應用于不同的領(lǐng)域,如:人臉識別[1]、人臉跟蹤[2]、表情識別[3]。
傳統(tǒng)的人臉對齊算法,如:ASM算法[4]、級聯(lián)回歸算法[5],采用表觀建模、映射函數(shù)等技術(shù)直接對人臉圖像進行關(guān)鍵點定位,對齊結(jié)果受不同的姿態(tài)、表情、光照以及遮擋等因素影響較大,而且對齊速度不甚理想。
近年來,卷積神經(jīng)網(wǎng)絡在計算機視覺領(lǐng)域得到迅速的發(fā)展,其中最具代表性的工作有ResNet[6]、GoogLeNet[7]、HourglassNet[8]。相比于傳統(tǒng)的人臉對齊方法,深度卷積神經(jīng)網(wǎng)絡能提取高層次圖像特征,利用坐標回歸或者利用回歸熱圖可獲得關(guān)鍵點,其更具穩(wěn)健性。本文基于卷積神經(jīng)網(wǎng)絡,提出了一種提高人臉對齊效率的沙漏網(wǎng)絡——深度可分離沙漏網(wǎng)絡(depthwise separable hourglass network,DSHN)。
DSHN采用沙漏網(wǎng)絡的基礎結(jié)構(gòu)、知識蒸餾的思想,訓練一個較為復雜,但推理性能良好的大型網(wǎng)絡模型,然后利用大型網(wǎng)絡誘導目標圖像深層次特征,轉(zhuǎn)移潛在知識,構(gòu)造輕量級網(wǎng)絡,且在保證有姿態(tài)、表情、光照以及遮擋等多因素影響下可以得到魯棒性的對齊結(jié)果。為了更有效訓練輕量級網(wǎng)絡,DSHN運用深度可分離卷積(depthwise separable convolutions,DSC),減少輸出通道數(shù)和卷積核大小之間的相互連接作用,使得網(wǎng)絡結(jié)構(gòu)簡單化,降低時間復雜度,易于速度提升。
近年來,卷積神經(jīng)網(wǎng)絡融合不同層次空間尺度特征、提取高層次的圖像特征,在解決人臉對齊問題上得到了快速發(fā)展。Sun等較早的將卷積神經(jīng)網(wǎng)絡應用到人臉對齊領(lǐng)域[9],通過融合3個階段的深度級聯(lián)卷積輸出穩(wěn)健的預測,解決局部最優(yōu)問題。Fan等在Sun等提出的卷積神經(jīng)網(wǎng)絡基礎上,利用多層級聯(lián)的卷積神經(jīng)網(wǎng)絡的方法來處理模糊或者被遮擋圖像[10]。Yang等根據(jù)疊層沙漏網(wǎng)絡(stacked hourglass network,SHN)的特性[8],采用監(jiān)督變換和多尺度檢測的方法優(yōu)化復雜環(huán)境下存在的遮擋和大的姿態(tài)變化問題。Feng等則使用一種基于姿態(tài)的數(shù)據(jù)均衡方法[11],對人臉姿態(tài)角度多樣而導致的檢測精度不高的問題進行改進。SHN經(jīng)常被用于人臉對齊的領(lǐng)域。比如,Wu等[12]基于SHN的LAB算法應用于人臉對齊取得了很好的效果。
上述方法是依賴訓練和部署深度更深、寬度更大的資源密集型的網(wǎng)絡來提高人臉對齊的精度,一定程度上限制了它們在機器人、手機這種小型設備中的可擴展性和可部署性[13,14]。Hinton等[13]設計了知識蒸餾的模型,通過知識遷移來實現(xiàn)輕量化的網(wǎng)絡,其過程將較為復雜但是推理優(yōu)越的教師網(wǎng)絡用在整體網(wǎng)絡的損失中,然后訓練出一種簡單而且復雜度較為低的學生網(wǎng)絡。Howard等[14]為移動端和嵌入式端設計的深度學習網(wǎng)絡Mobilenet,雖然檢測精度有所下降,但是檢測速度明顯提高,甚至在小型設備上也能達到理想的速度。Zhang等[15]基于沙漏網(wǎng)絡結(jié)合知識蒸餾的方法構(gòu)建一種輕量級、易訓練的快速姿態(tài)蒸餾模型用于人體姿態(tài)檢測。
本文提出的DSHN模型,不同于Yang等[8]直接利用SHN提取人臉多層次特征、采用監(jiān)督變換和多尺度檢測進行人臉對齊,而是使用知識蒸餾的思想訓練較為復雜、但是推理性能較好的大型教師網(wǎng)絡模型,然后利用教師網(wǎng)絡提取目標圖像深層次特征,轉(zhuǎn)移潛在知識,并且利用深度可分離卷積減少組合特征改進復雜網(wǎng)絡,構(gòu)造輕量級學生沙漏網(wǎng)絡。
人臉對齊,旨在定位出人臉圖像上關(guān)鍵點的位置。DSHN利用知識蒸餾的思想,運用深度可分離沙漏網(wǎng)絡對人臉進行關(guān)鍵點檢測,其模型主要包括兩部分:第一,在知識蒸餾的思想上,利用教師網(wǎng)絡提取深層次特征,成功地誘導目標圖像深層次特征,轉(zhuǎn)移潛在知識,構(gòu)造輕量級的學生沙漏網(wǎng)絡;第二,在沙漏網(wǎng)絡中運用高效的深度可分離卷積,使得網(wǎng)絡結(jié)構(gòu)簡單化,降低時間復雜度。以下從輕量級沙漏網(wǎng)絡、知識蒸餾、深度可分離卷積和算法描述4個方面介紹DSHN模型。
人臉對齊的沙漏網(wǎng)絡中一般都由多個重復的沙漏網(wǎng)絡組成,如果一直增加網(wǎng)絡的深度和寬度,深層次網(wǎng)絡訓練就會出現(xiàn)瓶頸,發(fā)生梯度消失、網(wǎng)絡退化現(xiàn)象[16]。在一定程度上,增加沙漏網(wǎng)絡模塊,會大量增加模型的通道數(shù)進而導致網(wǎng)絡結(jié)構(gòu)復雜[13,14]。因此,選擇降低疊層沙漏網(wǎng)絡框架的開銷,可以實現(xiàn)更快的對齊,更輕量化的網(wǎng)絡框架。如果選擇單個沙漏網(wǎng)絡,網(wǎng)絡結(jié)構(gòu)過于簡單,不足以提取足夠的特征信息,導致準確度不高的現(xiàn)象出現(xiàn);如果逐步增加沙漏網(wǎng)絡的個數(shù),那么訓練的模型會因為特征維度過多導致參數(shù)過多、模型過于復雜以及模型的泛化能力降低,最終出現(xiàn)過擬合的現(xiàn)象[13]。
為了讓DSHN模型能保留SHN中較高的精度,同時獲較快的速度,如圖1所示,本文選擇結(jié)構(gòu)清晰的8個沙漏模塊的神經(jīng)網(wǎng)絡作為教師網(wǎng)絡來獲取空間的深層次特征,完成特征提取,它能夠減少手工標記方法引起的不準確定位,以保證模型精度,教師網(wǎng)絡輸出8個沙漏網(wǎng)絡預測出的熱力圖,然后利用中間監(jiān)督模塊,記錄教師模塊中沙漏網(wǎng)絡所提取的深層次特征,通過轉(zhuǎn)移教師網(wǎng)絡中的有效信息,指導2個沙漏模塊的學生網(wǎng)絡再次學習,減少關(guān)鍵點信息的丟失,最后結(jié)合教師網(wǎng)絡輸出的熱力圖中的有效信息和記錄關(guān)鍵點坐標的標簽得到較為理想、結(jié)構(gòu)簡單、輕量化的模型,通過2個沙漏模塊的學生網(wǎng)絡輸出整個網(wǎng)絡的預測熱力圖,最后將預測的熱力圖轉(zhuǎn)為關(guān)鍵點的位置。學生模型的簡化,有利于構(gòu)造輕量級網(wǎng)絡,減少網(wǎng)絡通道數(shù),易于速度的提升。
知識蒸餾是利用不同大小的神經(jīng)網(wǎng)絡之間的傳遞關(guān)系將知識從復雜但推理性能優(yōu)越的大型教師網(wǎng)絡遷移到緊湊、精簡的學生網(wǎng)絡。如圖1所示,在教師網(wǎng)絡和學生網(wǎng)絡模型中每一個沙漏網(wǎng)絡后設定一個中間監(jiān)督機制,中間監(jiān)督機制用于保留有用的特征信息。在訓練過程中,首先訓練教師網(wǎng)絡,當教師網(wǎng)絡收斂后,得到教師網(wǎng)絡的目標熱力圖輸出;然后利用中間監(jiān)督機制保存有效的特征,在學生網(wǎng)絡訓練的過程中,先對學生網(wǎng)絡進行初始化,并且設定正確的預測標簽,即關(guān)鍵點的坐標和匹配的教師模型的熱圖輸出,運用概率的有效性將教師網(wǎng)絡中有用的信息傳播到學生網(wǎng)絡中,最后輸出雙重目標即結(jié)合了教師網(wǎng)絡信息的學生網(wǎng)絡的熱圖輸出,通過轉(zhuǎn)碼解碼得到最終的定位好的目標圖像,學生網(wǎng)絡最大的優(yōu)勢在于簡單輕量且預測能力接近教師網(wǎng)絡。

圖1 輕量級沙漏網(wǎng)絡基本模型
沙漏網(wǎng)絡含有大量的高級卷積層,在獲取更深層次特征時,會出現(xiàn)網(wǎng)絡復雜性增加、效率較低的現(xiàn)象,為此在沙漏網(wǎng)絡中替換標準卷積,加入深度可分離卷積進行改進。
假設輸入特征圖E為DE×DE×M,得到的輸出特征圖P,其中DE表示E的寬和高,M表示輸入通道數(shù),DP表示P的寬和高,N表示輸出通道數(shù)。
在標準卷積層中,如圖2(a)所示,標準卷積層中卷積核大小為DK×DK×M×N且含k個參數(shù),其中DK×DK為卷積核大小。假設存在步長為1且有填充的標準卷積,那么輸出特征圖計算為

圖2 標準卷積和深度可分離卷積的對比
(1)
在標準卷積中輸出通道數(shù)與卷積核大小之間的相互連接作用使計算量增加的非常快,計算開銷達到DK×DK×M×N×DE×DE[14]。
針對以上問題,本文利用深度可分離卷積將濾波和組合特征通過分解卷積把標準卷積拆分為兩個相對簡單的部分[7],即深度卷積和逐點卷積(一個1×1的簡單卷積),如圖2(b)所示,通過減小輸出通道數(shù)和卷積核大小間的相互作用,達到減少計算量的目的。在深度可分離卷積訓練過程中,深度卷積利用單個濾波器在每一個單一的輸入通道濾波來獲取輸入通道數(shù)的深度,它只對輸入通道進行卷積,而不進行組合產(chǎn)生新特征。當對每一個通道使用卷積時,其計算量為
(2)
其中,深度卷積K’的卷積核的尺寸DK×DK×M,K’>中第M個卷積核應用于E中的第M個通道來產(chǎn)生第M個通道的卷積輸出特征圖P’[14]。
下一層利用逐點卷積來對深度卷積的輸出進行線性組合從而產(chǎn)生新的特征。采用1×1的卷積內(nèi)核的目的是增加或者減少圖像的深度,幫助網(wǎng)絡平衡通道數(shù)。另一方面,運用一個1×1的卷積作為非線性的激活層來擴展模型的可行性,增加深度網(wǎng)絡的優(yōu)勢,幫助網(wǎng)絡提取圖像的有效信息。因此,深度可分離卷積的計算量為DK×DK×M×DE×DE+M×N×DE×DE,即深度卷積和1×1的逐點卷積計算量之和。深度可分離卷積實質(zhì)是將卷積分為濾波和組合的過程,最后到深度可分離卷積的計算量和標準卷積計算量的比值,式(3)如下
(3)

在DSHN模型結(jié)構(gòu)中,不管是教師網(wǎng)絡還是學生網(wǎng)絡都是基于輕量級沙漏模塊組成,這個輕量級網(wǎng)絡在保證有姿態(tài)、表情、光照以及遮擋等多因素影響下可以得到魯棒性的對齊結(jié)果,同時有效減小網(wǎng)絡的通道數(shù),易于速度提升。為了更有效訓練輕量級網(wǎng)絡,DSHN運用深度可分離卷積,減少輸出通道數(shù)和卷積核大小之間的相互連接作用,使得網(wǎng)絡結(jié)構(gòu)簡單化,降低時間復雜度。所以本節(jié)對一個輕量級沙漏網(wǎng)絡做一個簡單的描述。
對于圖像經(jīng)過一個輕量級的沙漏的處理過程如下:
(1)提前采取降采樣處理步驟:
1)輸入尺寸為128×128人臉圖像;
2)預先通過一個卷積模塊;
3)利用殘差模塊進行特征學習;
4)為了使人臉圖像尺寸變?yōu)?2×32來降低計算復雜度,利用最大池化層來進行下采樣;
5)最后的特征學習仍采取殘差網(wǎng)絡學習得到。
(2)輕量級沙漏網(wǎng)絡步驟:
1)對上一步中獲得的特征圖,進一步降采樣和升采樣操作,并融合多尺度特征;
2)獲得融合后多尺度的特征輸出。
(3)升采樣步驟:
1)為了獲得與輸入特征圖相同大小的熱圖,對于特征學習仍然采用殘差網(wǎng)絡進行;
2)經(jīng)過升采樣后通過一層深度可分離卷積輸出與輸出圖像一樣大小的熱圖,其尺寸為128×128。
單個輕量級沙漏各層結(jié)構(gòu)詳細情況見表1。

表1 單個輕量級沙漏網(wǎng)絡各層結(jié)構(gòu)
模型的時間復雜度決定了整個模型訓練或者預測的時間。卷積神經(jīng)網(wǎng)絡整體的時間復雜度如下
(4)
神經(jīng)網(wǎng)絡整體的空間復雜度有兩部分組成,包括模型所有帶參數(shù)的層的權(quán)重參數(shù)總和稱謂總參數(shù)量和模型在實際運行過程中每一層所計算出的輸出特征圖大小稱為各層輸出特征圖,計算公式為式(5)
(5)

本節(jié)利用300w數(shù)據(jù)集和WFLW數(shù)據(jù)集進行實驗,驗證DSHN模型的有效性。首先利用知識蒸餾在教師網(wǎng)絡的指導下,訓練出簡單易于訓練且效率較高的具有深度可分離卷積的學生沙漏網(wǎng)絡,然后深度可分離卷積逐步替換標準卷積,驗證深度可分離卷積能使網(wǎng)絡簡單化同時降低時間復雜度達到輕量化的效果,最后將DSHN網(wǎng)絡的結(jié)果與近年主流的人臉對齊算法進行比較,結(jié)果表明,DSHN網(wǎng)絡用于人臉對齊的精度和主流人臉對齊精度基本一致。
300w數(shù)據(jù)集,包含AFW、Helen、IBUG、LFPW等數(shù)據(jù)集,由3837張自然場景下的人臉圖像共同組成的一個人臉數(shù)據(jù)庫[17],其中每張圖像只標注一張人臉,每張圖像有68個關(guān)鍵點被標注。WFLW數(shù)據(jù)集,包含10 000張自然場景下的人臉圖像,其中每張圖像有98個關(guān)鍵點被標注[12]。如圖3所示,是68個關(guān)鍵點和98個關(guān)鍵點的平均形狀。

圖3 不同關(guān)鍵點的平均形狀
相對于300w數(shù)據(jù)集而言,WFLW數(shù)據(jù)集包含遮擋、姿勢變換、光照變化、夸張表情、妝容差別和模糊變化等更大的差距,更能客觀評估在復雜情況下人臉對齊的相關(guān)性能。但是300w數(shù)據(jù)集和WFLW數(shù)據(jù)集存在一個共同的問題:人臉圖像的總數(shù)偏少。為了避免出現(xiàn)數(shù)據(jù)過擬合現(xiàn)象,對圖像進行旋轉(zhuǎn)變換、尺度放縮、翻轉(zhuǎn)和顏色干擾等數(shù)據(jù)增強[12]。雖然回歸熱圖在檢測和關(guān)鍵點預測中有著魯棒性高和性能好的優(yōu)勢,但是全卷積中存在的損失是真實的熱力圖和預測的熱力圖之間的差異,同時全卷積網(wǎng)絡在進行卷積操作時計算量會隨著特征圖的尺寸變大而增加;另一方面,如果熱力圖與預測圖像的尺寸不相同會引起量化的誤差。綜合以上因素,實驗中數(shù)據(jù)的輸入采用尺寸為128×128圖像,輸出采用尺寸為128×128的熱力圖。為了實驗計算方便網(wǎng)絡批尺寸(batch-size)設置為10。一般而言,較小的學習率是需要更多訓練時期,為了避免誤差,批尺寸較小的更適合于較小的學習率。結(jié)合疊層沙漏網(wǎng)絡在人臉對齊的實驗,初始網(wǎng)絡的學習率設置為2.5e-4,訓練總迭代數(shù)為100 000個,當選擇迭代總數(shù)量為40 000個時,學習率將變?yōu)槌跏紝W習率的一半,網(wǎng)絡中選擇Adam作為優(yōu)化器,其中一個優(yōu)化器參數(shù)設置為0.5,另一個優(yōu)化器參數(shù)設置為0.999。在實驗過程中,為了更具有一般性,對訓練的樣本采取翻轉(zhuǎn)的措施,獲得兩倍的人臉形狀,然后利用k-means算法對人臉樣本聚類,聚類后可獲得500類,為了更具有準確性,在后續(xù)實驗中選取最相似的50類進行實驗[18]。
在訓練階段,需要準備輸入的圖像和對應的熱力圖,為了避免實驗中產(chǎn)生量化誤差,熱力圖和輸入圖像將采用相同的尺寸。假設人臉有n個關(guān)鍵點,那么將對應n個二維的熱力圖。實驗中,二值交叉熵損失(binary cross entropy,BCE)和均方誤差(mean-square error,MSE)[15]將作為損失函數(shù)。在測試時,通過輸入圖像得到的相應的熱圖,再對輸出的熱圖進行取最大值操作,其中最大值所在的索引則為關(guān)鍵點的位置。
實驗中樣本間存在的形狀和尺度等差異增加了樣本間的對齊精度的對比難度。為了對樣本間進行精度對比,給定預測的關(guān)鍵點和真實的關(guān)鍵點的坐標,采用歸一化均方誤差(normalized mean error,NME)[12]來評估人臉對齊性能。計算公式如下表示
(6)
其中,Nt為測試集中人臉圖像的數(shù)量,i為人臉圖像編號,j為關(guān)鍵點編號,pi,j和gi,j分別表示預測的關(guān)鍵點和真實的關(guān)鍵點相應位置。di表示第i張圖像的歸一化的距離。常見的歸一化距離有雙眼中心的歐式距離、雙眼外眼角的歐式距離。為了提高實驗的可靠性,本文采用雙眼中心和雙眼外眼角歐式距離分別對DSHN網(wǎng)絡進行評價。
本文實驗使用的計算機配置為Ubuntu 18.04.3操作系統(tǒng),Intel Core i5 處理器,內(nèi)存為8 GB,顯卡為NVIDIA Tesla k20m,開發(fā)環(huán)境使用的是Pycharm,利用Python3.7.4和pytorch1.0.0結(jié)合完成。
對于DSHN模型訓練方法包括兩個階段:①利用8模塊沙漏網(wǎng)絡為基礎訓練一個人臉對齊的教師模型;②利用中間監(jiān)督機制和8模塊沙漏網(wǎng)絡提取的有效信息為2模塊沙漏網(wǎng)絡的學生模型的訓練提供參考。從教師網(wǎng)絡到目標模型過程中,知識蒸餾被用于每個中間監(jiān)督機制中,并且貫穿整個網(wǎng)絡。在測試過程,由于目標網(wǎng)絡可以提取大型教師網(wǎng)絡里面有效的信息,所以利用輕量級的學生網(wǎng)絡進行檢測可以得到較高的效率。
本節(jié)使用300w數(shù)據(jù)集和WFLW數(shù)據(jù)集兩個人臉對齊公開數(shù)據(jù)集,分別對DSHN網(wǎng)絡進行訓練和測試。通過在沙漏網(wǎng)絡中逐步加入深度可分離卷積,對模型的速度、對齊精度進行比較;為了讓實驗更具有一般性,與主流的人臉對齊的精度進行比較。實驗結(jié)果表明,對齊精度在基本保持不變的情況下,能獲得較快的速度,有效克服了網(wǎng)絡結(jié)構(gòu)復雜導致的效率低的問題。
3.5.1 300w數(shù)據(jù)集實驗對比結(jié)果與分析
為了驗證深度可分離卷積加入沙漏網(wǎng)絡后的優(yōu)勢,在300w數(shù)據(jù)集上進行了實驗對比。不失一般性,在訓練過程中,利用300w的測試數(shù)據(jù)集中的AFW數(shù)據(jù)集(337張圖像)、Helen訓練集(2000張圖像)和LFPW訓練集(881張圖像)進行,訓練樣本一共包含3148張人臉圖像。在整理網(wǎng)絡模型測試時使用LFPW測試集(224張圖像)、Helen測試集(330張圖像)和IBUG數(shù)據(jù)集(135張圖像)進行,該測試樣本一共有689張人臉圖像。由于每一張人臉圖像具有一定的差別,所以測試集中普通的LFPW測試集和Helen測試集共同構(gòu)成普通集(common set),變化較大的IBUG測試集構(gòu)成挑戰(zhàn)集(challenging set)[12]。
在沙漏網(wǎng)絡中存在多個標準卷級模塊,為了明確深度可分離卷積在DSHN網(wǎng)絡中起到的重要作用,將標準卷積模塊逐個更換為深度可分離卷積,并且從眼中心歸一化均方誤差、速度兩個方面分別在普通集、挑戰(zhàn)集、全集上進行對比,得到速度在不加入深度可分離卷積前的提高比,普通集實驗結(jié)果見表2,挑戰(zhàn)集實驗結(jié)果見表3,全集實驗結(jié)果見表4,其中表格中列出一個標準卷積模塊更換為DSC模塊、2個標準卷積模塊更換為DSC模塊和沙漏網(wǎng)絡中全部的標準卷積模塊更換為DSC模塊。

表2 深度可分離卷積加入沙漏網(wǎng)絡在300w 普通集結(jié)果對比

表3 深度可分離卷積加入沙漏網(wǎng)絡在300w 挑戰(zhàn)集結(jié)果對比

表4 深度可分離卷積加入沙漏網(wǎng)絡在300w 全集結(jié)果對比
對于深度可分離網(wǎng)絡在300w普通集上實驗結(jié)果,首先在8模塊沙漏模塊的教師網(wǎng)絡中,通過提取特征點信息,輸出該圖像的熱力圖,然后通過中間監(jiān)督機制傳給學生網(wǎng)絡,學生網(wǎng)絡對最開始的輸入的圖像進行訓練,結(jié)合教師網(wǎng)絡的有效信息和記錄關(guān)鍵點坐標的標簽信息,輸出學生網(wǎng)絡的熱力圖,然后對學生網(wǎng)絡的熱力圖進行解碼操作,最終獲得目標網(wǎng)絡輸出的預測的關(guān)鍵點坐標。在300w普通集的預測結(jié)果眼中心歸一化均方誤差為3.95%,對齊速度為0.51張/s。相對于原基礎網(wǎng)絡,DSHN網(wǎng)絡精度略有降低,但是速度有較為明顯的提高。原因如下,由于教師網(wǎng)絡聯(lián)合中間監(jiān)督機制,為學生網(wǎng)絡提供有效完整的信息,因此網(wǎng)絡模塊的精度基本保持不變;另一方面,沙漏網(wǎng)絡中存在大量的標準卷積,用DSC逐層替換標準卷積,有效減小輸出通道數(shù)和卷積核間的相互作用,有利于對齊速度的提高。
3.5.2 多方法300w實驗對比結(jié)果與分析
表5為主流人臉對齊算法在300w數(shù)據(jù)集上的雙眼中心的歐式距離的歸一化誤差比較。綜合主流的人臉對齊算法LBF[19]、MDM[20]、DNA[21]、SHN[8]、LAB[12]來看,加入DSHN網(wǎng)絡對齊精度超越了大多數(shù)主流的人臉對齊算法。其中LAB是2018年人臉對齊最有優(yōu)勢的算法。在300w的普通數(shù)據(jù)集上,DSHN算法中眼中心距離的NME比LAB的略高;但是在挑戰(zhàn)集上,DSHN算法眼中心距離的NME比LAB的略低。這也進一步驗證了300w數(shù)據(jù)集在普通集和挑戰(zhàn)集是有差異的。針對此效果分析,由于LAB中采用了8個疊層沙漏網(wǎng)絡,網(wǎng)絡結(jié)構(gòu)相對于輕量級的網(wǎng)絡更復雜,文本采用DSHN結(jié)構(gòu)是加入深度可分離的2個輕量級沙漏網(wǎng)絡,因此對齊精度會略有降低,但是輕量級網(wǎng)絡達到了降低網(wǎng)絡的計算量和模型的復雜度的目的,同時也防止網(wǎng)絡退化、梯度下降的現(xiàn)象發(fā)生,這樣更加有利于模型的計算和訓練。圖4為300w數(shù)據(jù)集上的測試結(jié)果,這些人臉圖像包含了人臉表情變換,大量遮擋、夸張表情,都取得了不錯的效果。

表5 300w數(shù)據(jù)集上人臉對齊的結(jié)果對比(眼中心距離)

圖4 300w數(shù)據(jù)集上對齊效果
進一步地,為了讓實驗具有一般性,給出表6,利用外眼角的歐式距離來作為歸一化目標對比結(jié)果。PCD-CNN[22]、SAN[23]、HRNet[24]、LAB[12]是近兩年的人臉對齊相關(guān)算法。通過表6可以看出,當選擇外眼角的歐式距離來作為歸一化目標時,DSHN算法的人臉對齊精度在300w的普通數(shù)據(jù)集、挑戰(zhàn)集、全集上是最有優(yōu)勢的,這充分體現(xiàn)沙漏網(wǎng)絡用于人臉對齊上是可取的。

表6 300w數(shù)據(jù)集上人臉對齊的結(jié)果對比(外眼角距離)
通過對表5、表6中300w數(shù)據(jù)集在人臉對齊的實驗結(jié)果分析,本文的DSHN方法用于人臉對齊上具有一定優(yōu)勢。但是300w的訓練集具有一定的局限性的:一方面,測試集數(shù)據(jù)量相對較少,僅有3148張人臉圖像;另一方面,普通集和挑戰(zhàn)集的人臉圖像相對簡單。所以為了得到更可靠的實驗結(jié)果,采用數(shù)據(jù)變化更大的數(shù)據(jù)集進一步驗證。
3.5.3 WFLW數(shù)據(jù)集實驗對比結(jié)果與分析
為了避免300w數(shù)據(jù)集的局限性對整體實驗一般性的影響,采用具有多種變化的WFLW數(shù)據(jù)集進行實驗對比,進一步驗證加入DSHN網(wǎng)絡的性能。這里采用外眼角的歐式距離作為歸一化距離來作為數(shù)據(jù)集的評價指標。實驗過程中按層次替換沙漏網(wǎng)絡,最終在速度和數(shù)據(jù)規(guī)模兩個方面進行比較,對比實驗結(jié)果見表7。實驗結(jié)果表明,本文提出的DSHN網(wǎng)絡在WFLW復雜的數(shù)據(jù)集上對齊速度也有較好的提升。

表7 DSHN方法在WFLW全集上對比結(jié)果
為了客觀評價在復雜情況下DSHN網(wǎng)絡性能,測試時,利用表情、妝容、姿態(tài)、光照、遮擋、模糊6個測試集進行,實驗結(jié)果見表8。與顯式形狀回歸ESR算法對比,取得明顯的改進效果,這也是表明DSHN模型明顯優(yōu)于級聯(lián)回歸模型。由于WFLW數(shù)據(jù)集是2018年公布的,距離現(xiàn)在時間比較短,對比實驗相對較少,但是LAB算法在WFLW數(shù)據(jù)集上效果非常好,很具有代表性,實驗結(jié)果顯示DSHN方法在模糊和姿態(tài)數(shù)據(jù)集上比LAB算法略好,其它略低于先進的LAB算法。原因如下:相對于含有復雜網(wǎng)絡的LAB算法,DSHN模型利用知識蒸餾保存教師網(wǎng)絡中多層次特征信息,而且學生網(wǎng)絡的輕量化降低時間復雜度,減少網(wǎng)絡復雜性,這不僅適合相對簡單的場景下人臉圖像,也適合環(huán)境多變、情況復雜的人臉圖像,該算法具有普遍性。

表8 WFLW數(shù)據(jù)集上人臉對齊的結(jié)果對比(眼中心距離)
從結(jié)果可以看到,本文DSHN方法在保證人臉對齊精度和主流的人臉對齊算法的精度基本一致的情況下,對齊速度相比于原來沙漏網(wǎng)絡有著較為明顯的優(yōu)勢。另外,DSHN模型相比于SHN模型更簡單輕量化、更易于實現(xiàn)。
本文基于疊層沙漏網(wǎng)絡設計一種帶有深度可分離卷積的輕量級網(wǎng)絡結(jié)構(gòu)。通過知識蒸餾構(gòu)造輕量級沙漏網(wǎng)絡,實現(xiàn)了網(wǎng)絡結(jié)構(gòu)的簡單化;利用深度可分離卷積,壓縮大型網(wǎng)絡,降低網(wǎng)絡參數(shù)及其冗余度,增加可擴展性。實驗結(jié)果表明,DSHN構(gòu)造了一個輕量級網(wǎng)絡,其對齊精度接近主流的方法,同時對齊速度具有明顯的優(yōu)勢,解決了網(wǎng)絡結(jié)構(gòu)復雜、時間開銷大的問題,這為移動端和嵌入式設備提供了一種有效的參考模型。在今后的研究中將從人臉對齊精度進一步優(yōu)化帶有深度可分離卷積的沙漏網(wǎng)絡模型,實現(xiàn)更準確的人臉對齊。