賀懷清,陳 琴,惠康華
(中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300)
人臉對(duì)齊旨在定位出人臉關(guān)鍵點(diǎn)的位置,一直以來都是計(jì)算機(jī)視覺領(lǐng)域熱門研究方向,被廣泛應(yīng)用于不同的領(lǐng)域,如:人臉識(shí)別[1]、人臉跟蹤[2]、表情識(shí)別[3]。
傳統(tǒng)的人臉對(duì)齊算法,如:ASM算法[4]、級(jí)聯(lián)回歸算法[5],采用表觀建模、映射函數(shù)等技術(shù)直接對(duì)人臉圖像進(jìn)行關(guān)鍵點(diǎn)定位,對(duì)齊結(jié)果受不同的姿態(tài)、表情、光照以及遮擋等因素影響較大,而且對(duì)齊速度不甚理想。
近年來,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺領(lǐng)域得到迅速的發(fā)展,其中最具代表性的工作有ResNet[6]、GoogLeNet[7]、HourglassNet[8]。相比于傳統(tǒng)的人臉對(duì)齊方法,深度卷積神經(jīng)網(wǎng)絡(luò)能提取高層次圖像特征,利用坐標(biāo)回歸或者利用回歸熱圖可獲得關(guān)鍵點(diǎn),其更具穩(wěn)健性。本文基于卷積神經(jīng)網(wǎng)絡(luò),提出了一種提高人臉對(duì)齊效率的沙漏網(wǎng)絡(luò)——深度可分離沙漏網(wǎng)絡(luò)(depthwise separable hourglass network,DSHN)。
DSHN采用沙漏網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)、知識(shí)蒸餾的思想,訓(xùn)練一個(gè)較為復(fù)雜,但推理性能良好的大型網(wǎng)絡(luò)模型,然后利用大型網(wǎng)絡(luò)誘導(dǎo)目標(biāo)圖像深層次特征,轉(zhuǎn)移潛在知識(shí),構(gòu)造輕量級(jí)網(wǎng)絡(luò),且在保證有姿態(tài)、表情、光照以及遮擋等多因素影響下可以得到魯棒性的對(duì)齊結(jié)果。為了更有效訓(xùn)練輕量級(jí)網(wǎng)絡(luò),DSHN運(yùn)用深度可分離卷積(depthwise separable convolutions,DSC),減少輸出通道數(shù)和卷積核大小之間的相互連接作用,使得網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單化,降低時(shí)間復(fù)雜度,易于速度提升。
近年來,卷積神經(jīng)網(wǎng)絡(luò)融合不同層次空間尺度特征、提取高層次的圖像特征,在解決人臉對(duì)齊問題上得到了快速發(fā)展。Sun等較早的將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到人臉對(duì)齊領(lǐng)域[9],通過融合3個(gè)階段的深度級(jí)聯(lián)卷積輸出穩(wěn)健的預(yù)測(cè),解決局部最優(yōu)問題。Fan等在Sun等提出的卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上,利用多層級(jí)聯(lián)的卷積神經(jīng)網(wǎng)絡(luò)的方法來處理模糊或者被遮擋圖像[10]。Yang等根據(jù)疊層沙漏網(wǎng)絡(luò)(stacked hourglass network,SHN)的特性[8],采用監(jiān)督變換和多尺度檢測(cè)的方法優(yōu)化復(fù)雜環(huán)境下存在的遮擋和大的姿態(tài)變化問題。Feng等則使用一種基于姿態(tài)的數(shù)據(jù)均衡方法[11],對(duì)人臉姿態(tài)角度多樣而導(dǎo)致的檢測(cè)精度不高的問題進(jìn)行改進(jìn)。SHN經(jīng)常被用于人臉對(duì)齊的領(lǐng)域。比如,Wu等[12]基于SHN的LAB算法應(yīng)用于人臉對(duì)齊取得了很好的效果。
上述方法是依賴訓(xùn)練和部署深度更深、寬度更大的資源密集型的網(wǎng)絡(luò)來提高人臉對(duì)齊的精度,一定程度上限制了它們?cè)跈C(jī)器人、手機(jī)這種小型設(shè)備中的可擴(kuò)展性和可部署性[13,14]。Hinton等[13]設(shè)計(jì)了知識(shí)蒸餾的模型,通過知識(shí)遷移來實(shí)現(xiàn)輕量化的網(wǎng)絡(luò),其過程將較為復(fù)雜但是推理優(yōu)越的教師網(wǎng)絡(luò)用在整體網(wǎng)絡(luò)的損失中,然后訓(xùn)練出一種簡(jiǎn)單而且復(fù)雜度較為低的學(xué)生網(wǎng)絡(luò)。Howard等[14]為移動(dòng)端和嵌入式端設(shè)計(jì)的深度學(xué)習(xí)網(wǎng)絡(luò)Mobilenet,雖然檢測(cè)精度有所下降,但是檢測(cè)速度明顯提高,甚至在小型設(shè)備上也能達(dá)到理想的速度。Zhang等[15]基于沙漏網(wǎng)絡(luò)結(jié)合知識(shí)蒸餾的方法構(gòu)建一種輕量級(jí)、易訓(xùn)練的快速姿態(tài)蒸餾模型用于人體姿態(tài)檢測(cè)。
本文提出的DSHN模型,不同于Yang等[8]直接利用SHN提取人臉多層次特征、采用監(jiān)督變換和多尺度檢測(cè)進(jìn)行人臉對(duì)齊,而是使用知識(shí)蒸餾的思想訓(xùn)練較為復(fù)雜、但是推理性能較好的大型教師網(wǎng)絡(luò)模型,然后利用教師網(wǎng)絡(luò)提取目標(biāo)圖像深層次特征,轉(zhuǎn)移潛在知識(shí),并且利用深度可分離卷積減少組合特征改進(jìn)復(fù)雜網(wǎng)絡(luò),構(gòu)造輕量級(jí)學(xué)生沙漏網(wǎng)絡(luò)。
人臉對(duì)齊,旨在定位出人臉圖像上關(guān)鍵點(diǎn)的位置。DSHN利用知識(shí)蒸餾的思想,運(yùn)用深度可分離沙漏網(wǎng)絡(luò)對(duì)人臉進(jìn)行關(guān)鍵點(diǎn)檢測(cè),其模型主要包括兩部分:第一,在知識(shí)蒸餾的思想上,利用教師網(wǎng)絡(luò)提取深層次特征,成功地誘導(dǎo)目標(biāo)圖像深層次特征,轉(zhuǎn)移潛在知識(shí),構(gòu)造輕量級(jí)的學(xué)生沙漏網(wǎng)絡(luò);第二,在沙漏網(wǎng)絡(luò)中運(yùn)用高效的深度可分離卷積,使得網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單化,降低時(shí)間復(fù)雜度。以下從輕量級(jí)沙漏網(wǎng)絡(luò)、知識(shí)蒸餾、深度可分離卷積和算法描述4個(gè)方面介紹DSHN模型。
人臉對(duì)齊的沙漏網(wǎng)絡(luò)中一般都由多個(gè)重復(fù)的沙漏網(wǎng)絡(luò)組成,如果一直增加網(wǎng)絡(luò)的深度和寬度,深層次網(wǎng)絡(luò)訓(xùn)練就會(huì)出現(xiàn)瓶頸,發(fā)生梯度消失、網(wǎng)絡(luò)退化現(xiàn)象[16]。在一定程度上,增加沙漏網(wǎng)絡(luò)模塊,會(huì)大量增加模型的通道數(shù)進(jìn)而導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜[13,14]。因此,選擇降低疊層沙漏網(wǎng)絡(luò)框架的開銷,可以實(shí)現(xiàn)更快的對(duì)齊,更輕量化的網(wǎng)絡(luò)框架。如果選擇單個(gè)沙漏網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)過于簡(jiǎn)單,不足以提取足夠的特征信息,導(dǎo)致準(zhǔn)確度不高的現(xiàn)象出現(xiàn);如果逐步增加沙漏網(wǎng)絡(luò)的個(gè)數(shù),那么訓(xùn)練的模型會(huì)因?yàn)樘卣骶S度過多導(dǎo)致參數(shù)過多、模型過于復(fù)雜以及模型的泛化能力降低,最終出現(xiàn)過擬合的現(xiàn)象[13]。
為了讓DSHN模型能保留SHN中較高的精度,同時(shí)獲較快的速度,如圖1所示,本文選擇結(jié)構(gòu)清晰的8個(gè)沙漏模塊的神經(jīng)網(wǎng)絡(luò)作為教師網(wǎng)絡(luò)來獲取空間的深層次特征,完成特征提取,它能夠減少手工標(biāo)記方法引起的不準(zhǔn)確定位,以保證模型精度,教師網(wǎng)絡(luò)輸出8個(gè)沙漏網(wǎng)絡(luò)預(yù)測(cè)出的熱力圖,然后利用中間監(jiān)督模塊,記錄教師模塊中沙漏網(wǎng)絡(luò)所提取的深層次特征,通過轉(zhuǎn)移教師網(wǎng)絡(luò)中的有效信息,指導(dǎo)2個(gè)沙漏模塊的學(xué)生網(wǎng)絡(luò)再次學(xué)習(xí),減少關(guān)鍵點(diǎn)信息的丟失,最后結(jié)合教師網(wǎng)絡(luò)輸出的熱力圖中的有效信息和記錄關(guān)鍵點(diǎn)坐標(biāo)的標(biāo)簽得到較為理想、結(jié)構(gòu)簡(jiǎn)單、輕量化的模型,通過2個(gè)沙漏模塊的學(xué)生網(wǎng)絡(luò)輸出整個(gè)網(wǎng)絡(luò)的預(yù)測(cè)熱力圖,最后將預(yù)測(cè)的熱力圖轉(zhuǎn)為關(guān)鍵點(diǎn)的位置。學(xué)生模型的簡(jiǎn)化,有利于構(gòu)造輕量級(jí)網(wǎng)絡(luò),減少網(wǎng)絡(luò)通道數(shù),易于速度的提升。
知識(shí)蒸餾是利用不同大小的神經(jīng)網(wǎng)絡(luò)之間的傳遞關(guān)系將知識(shí)從復(fù)雜但推理性能優(yōu)越的大型教師網(wǎng)絡(luò)遷移到緊湊、精簡(jiǎn)的學(xué)生網(wǎng)絡(luò)。如圖1所示,在教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)模型中每一個(gè)沙漏網(wǎng)絡(luò)后設(shè)定一個(gè)中間監(jiān)督機(jī)制,中間監(jiān)督機(jī)制用于保留有用的特征信息。在訓(xùn)練過程中,首先訓(xùn)練教師網(wǎng)絡(luò),當(dāng)教師網(wǎng)絡(luò)收斂后,得到教師網(wǎng)絡(luò)的目標(biāo)熱力圖輸出;然后利用中間監(jiān)督機(jī)制保存有效的特征,在學(xué)生網(wǎng)絡(luò)訓(xùn)練的過程中,先對(duì)學(xué)生網(wǎng)絡(luò)進(jìn)行初始化,并且設(shè)定正確的預(yù)測(cè)標(biāo)簽,即關(guān)鍵點(diǎn)的坐標(biāo)和匹配的教師模型的熱圖輸出,運(yùn)用概率的有效性將教師網(wǎng)絡(luò)中有用的信息傳播到學(xué)生網(wǎng)絡(luò)中,最后輸出雙重目標(biāo)即結(jié)合了教師網(wǎng)絡(luò)信息的學(xué)生網(wǎng)絡(luò)的熱圖輸出,通過轉(zhuǎn)碼解碼得到最終的定位好的目標(biāo)圖像,學(xué)生網(wǎng)絡(luò)最大的優(yōu)勢(shì)在于簡(jiǎn)單輕量且預(yù)測(cè)能力接近教師網(wǎng)絡(luò)。
圖1 輕量級(jí)沙漏網(wǎng)絡(luò)基本模型
沙漏網(wǎng)絡(luò)含有大量的高級(jí)卷積層,在獲取更深層次特征時(shí),會(huì)出現(xiàn)網(wǎng)絡(luò)復(fù)雜性增加、效率較低的現(xiàn)象,為此在沙漏網(wǎng)絡(luò)中替換標(biāo)準(zhǔn)卷積,加入深度可分離卷積進(jìn)行改進(jìn)。
假設(shè)輸入特征圖E為DE×DE×M,得到的輸出特征圖P,其中DE表示E的寬和高,M表示輸入通道數(shù),DP表示P的寬和高,N表示輸出通道數(shù)。
在標(biāo)準(zhǔn)卷積層中,如圖2(a)所示,標(biāo)準(zhǔn)卷積層中卷積核大小為DK×DK×M×N且含k個(gè)參數(shù),其中DK×DK為卷積核大小。假設(shè)存在步長(zhǎng)為1且有填充的標(biāo)準(zhǔn)卷積,那么輸出特征圖計(jì)算為
圖2 標(biāo)準(zhǔn)卷積和深度可分離卷積的對(duì)比
(1)
在標(biāo)準(zhǔn)卷積中輸出通道數(shù)與卷積核大小之間的相互連接作用使計(jì)算量增加的非???,計(jì)算開銷達(dá)到DK×DK×M×N×DE×DE[14]。
針對(duì)以上問題,本文利用深度可分離卷積將濾波和組合特征通過分解卷積把標(biāo)準(zhǔn)卷積拆分為兩個(gè)相對(duì)簡(jiǎn)單的部分[7],即深度卷積和逐點(diǎn)卷積(一個(gè)1×1的簡(jiǎn)單卷積),如圖2(b)所示,通過減小輸出通道數(shù)和卷積核大小間的相互作用,達(dá)到減少計(jì)算量的目的。在深度可分離卷積訓(xùn)練過程中,深度卷積利用單個(gè)濾波器在每一個(gè)單一的輸入通道濾波來獲取輸入通道數(shù)的深度,它只對(duì)輸入通道進(jìn)行卷積,而不進(jìn)行組合產(chǎn)生新特征。當(dāng)對(duì)每一個(gè)通道使用卷積時(shí),其計(jì)算量為
(2)
其中,深度卷積K’的卷積核的尺寸DK×DK×M,K’>中第M個(gè)卷積核應(yīng)用于E中的第M個(gè)通道來產(chǎn)生第M個(gè)通道的卷積輸出特征圖P’[14]。
下一層利用逐點(diǎn)卷積來對(duì)深度卷積的輸出進(jìn)行線性組合從而產(chǎn)生新的特征。采用1×1的卷積內(nèi)核的目的是增加或者減少圖像的深度,幫助網(wǎng)絡(luò)平衡通道數(shù)。另一方面,運(yùn)用一個(gè)1×1的卷積作為非線性的激活層來擴(kuò)展模型的可行性,增加深度網(wǎng)絡(luò)的優(yōu)勢(shì),幫助網(wǎng)絡(luò)提取圖像的有效信息。因此,深度可分離卷積的計(jì)算量為DK×DK×M×DE×DE+M×N×DE×DE,即深度卷積和1×1的逐點(diǎn)卷積計(jì)算量之和。深度可分離卷積實(shí)質(zhì)是將卷積分為濾波和組合的過程,最后到深度可分離卷積的計(jì)算量和標(biāo)準(zhǔn)卷積計(jì)算量的比值,式(3)如下
(3)
在DSHN模型結(jié)構(gòu)中,不管是教師網(wǎng)絡(luò)還是學(xué)生網(wǎng)絡(luò)都是基于輕量級(jí)沙漏模塊組成,這個(gè)輕量級(jí)網(wǎng)絡(luò)在保證有姿態(tài)、表情、光照以及遮擋等多因素影響下可以得到魯棒性的對(duì)齊結(jié)果,同時(shí)有效減小網(wǎng)絡(luò)的通道數(shù),易于速度提升。為了更有效訓(xùn)練輕量級(jí)網(wǎng)絡(luò),DSHN運(yùn)用深度可分離卷積,減少輸出通道數(shù)和卷積核大小之間的相互連接作用,使得網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單化,降低時(shí)間復(fù)雜度。所以本節(jié)對(duì)一個(gè)輕量級(jí)沙漏網(wǎng)絡(luò)做一個(gè)簡(jiǎn)單的描述。
對(duì)于圖像經(jīng)過一個(gè)輕量級(jí)的沙漏的處理過程如下:
(1)提前采取降采樣處理步驟:
1)輸入尺寸為128×128人臉圖像;
2)預(yù)先通過一個(gè)卷積模塊;
3)利用殘差模塊進(jìn)行特征學(xué)習(xí);
4)為了使人臉圖像尺寸變?yōu)?2×32來降低計(jì)算復(fù)雜度,利用最大池化層來進(jìn)行下采樣;
5)最后的特征學(xué)習(xí)仍采取殘差網(wǎng)絡(luò)學(xué)習(xí)得到。
(2)輕量級(jí)沙漏網(wǎng)絡(luò)步驟:
1)對(duì)上一步中獲得的特征圖,進(jìn)一步降采樣和升采樣操作,并融合多尺度特征;
2)獲得融合后多尺度的特征輸出。
(3)升采樣步驟:
1)為了獲得與輸入特征圖相同大小的熱圖,對(duì)于特征學(xué)習(xí)仍然采用殘差網(wǎng)絡(luò)進(jìn)行;
2)經(jīng)過升采樣后通過一層深度可分離卷積輸出與輸出圖像一樣大小的熱圖,其尺寸為128×128。
單個(gè)輕量級(jí)沙漏各層結(jié)構(gòu)詳細(xì)情況見表1。
表1 單個(gè)輕量級(jí)沙漏網(wǎng)絡(luò)各層結(jié)構(gòu)
模型的時(shí)間復(fù)雜度決定了整個(gè)模型訓(xùn)練或者預(yù)測(cè)的時(shí)間。卷積神經(jīng)網(wǎng)絡(luò)整體的時(shí)間復(fù)雜度如下
(4)
神經(jīng)網(wǎng)絡(luò)整體的空間復(fù)雜度有兩部分組成,包括模型所有帶參數(shù)的層的權(quán)重參數(shù)總和稱謂總參數(shù)量和模型在實(shí)際運(yùn)行過程中每一層所計(jì)算出的輸出特征圖大小稱為各層輸出特征圖,計(jì)算公式為式(5)
(5)
本節(jié)利用300w數(shù)據(jù)集和WFLW數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),驗(yàn)證DSHN模型的有效性。首先利用知識(shí)蒸餾在教師網(wǎng)絡(luò)的指導(dǎo)下,訓(xùn)練出簡(jiǎn)單易于訓(xùn)練且效率較高的具有深度可分離卷積的學(xué)生沙漏網(wǎng)絡(luò),然后深度可分離卷積逐步替換標(biāo)準(zhǔn)卷積,驗(yàn)證深度可分離卷積能使網(wǎng)絡(luò)簡(jiǎn)單化同時(shí)降低時(shí)間復(fù)雜度達(dá)到輕量化的效果,最后將DSHN網(wǎng)絡(luò)的結(jié)果與近年主流的人臉對(duì)齊算法進(jìn)行比較,結(jié)果表明,DSHN網(wǎng)絡(luò)用于人臉對(duì)齊的精度和主流人臉對(duì)齊精度基本一致。
300w數(shù)據(jù)集,包含AFW、Helen、IBUG、LFPW等數(shù)據(jù)集,由3837張自然場(chǎng)景下的人臉圖像共同組成的一個(gè)人臉數(shù)據(jù)庫(kù)[17],其中每張圖像只標(biāo)注一張人臉,每張圖像有68個(gè)關(guān)鍵點(diǎn)被標(biāo)注。WFLW數(shù)據(jù)集,包含10 000張自然場(chǎng)景下的人臉圖像,其中每張圖像有98個(gè)關(guān)鍵點(diǎn)被標(biāo)注[12]。如圖3所示,是68個(gè)關(guān)鍵點(diǎn)和98個(gè)關(guān)鍵點(diǎn)的平均形狀。
圖3 不同關(guān)鍵點(diǎn)的平均形狀
相對(duì)于300w數(shù)據(jù)集而言,WFLW數(shù)據(jù)集包含遮擋、姿勢(shì)變換、光照變化、夸張表情、妝容差別和模糊變化等更大的差距,更能客觀評(píng)估在復(fù)雜情況下人臉對(duì)齊的相關(guān)性能。但是300w數(shù)據(jù)集和WFLW數(shù)據(jù)集存在一個(gè)共同的問題:人臉圖像的總數(shù)偏少。為了避免出現(xiàn)數(shù)據(jù)過擬合現(xiàn)象,對(duì)圖像進(jìn)行旋轉(zhuǎn)變換、尺度放縮、翻轉(zhuǎn)和顏色干擾等數(shù)據(jù)增強(qiáng)[12]。雖然回歸熱圖在檢測(cè)和關(guān)鍵點(diǎn)預(yù)測(cè)中有著魯棒性高和性能好的優(yōu)勢(shì),但是全卷積中存在的損失是真實(shí)的熱力圖和預(yù)測(cè)的熱力圖之間的差異,同時(shí)全卷積網(wǎng)絡(luò)在進(jìn)行卷積操作時(shí)計(jì)算量會(huì)隨著特征圖的尺寸變大而增加;另一方面,如果熱力圖與預(yù)測(cè)圖像的尺寸不相同會(huì)引起量化的誤差。綜合以上因素,實(shí)驗(yàn)中數(shù)據(jù)的輸入采用尺寸為128×128圖像,輸出采用尺寸為128×128的熱力圖。為了實(shí)驗(yàn)計(jì)算方便網(wǎng)絡(luò)批尺寸(batch-size)設(shè)置為10。一般而言,較小的學(xué)習(xí)率是需要更多訓(xùn)練時(shí)期,為了避免誤差,批尺寸較小的更適合于較小的學(xué)習(xí)率。結(jié)合疊層沙漏網(wǎng)絡(luò)在人臉對(duì)齊的實(shí)驗(yàn),初始網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)置為2.5e-4,訓(xùn)練總迭代數(shù)為100 000個(gè),當(dāng)選擇迭代總數(shù)量為40 000個(gè)時(shí),學(xué)習(xí)率將變?yōu)槌跏紝W(xué)習(xí)率的一半,網(wǎng)絡(luò)中選擇Adam作為優(yōu)化器,其中一個(gè)優(yōu)化器參數(shù)設(shè)置為0.5,另一個(gè)優(yōu)化器參數(shù)設(shè)置為0.999。在實(shí)驗(yàn)過程中,為了更具有一般性,對(duì)訓(xùn)練的樣本采取翻轉(zhuǎn)的措施,獲得兩倍的人臉形狀,然后利用k-means算法對(duì)人臉樣本聚類,聚類后可獲得500類,為了更具有準(zhǔn)確性,在后續(xù)實(shí)驗(yàn)中選取最相似的50類進(jìn)行實(shí)驗(yàn)[18]。
在訓(xùn)練階段,需要準(zhǔn)備輸入的圖像和對(duì)應(yīng)的熱力圖,為了避免實(shí)驗(yàn)中產(chǎn)生量化誤差,熱力圖和輸入圖像將采用相同的尺寸。假設(shè)人臉有n個(gè)關(guān)鍵點(diǎn),那么將對(duì)應(yīng)n個(gè)二維的熱力圖。實(shí)驗(yàn)中,二值交叉熵?fù)p失(binary cross entropy,BCE)和均方誤差(mean-square error,MSE)[15]將作為損失函數(shù)。在測(cè)試時(shí),通過輸入圖像得到的相應(yīng)的熱圖,再對(duì)輸出的熱圖進(jìn)行取最大值操作,其中最大值所在的索引則為關(guān)鍵點(diǎn)的位置。
實(shí)驗(yàn)中樣本間存在的形狀和尺度等差異增加了樣本間的對(duì)齊精度的對(duì)比難度。為了對(duì)樣本間進(jìn)行精度對(duì)比,給定預(yù)測(cè)的關(guān)鍵點(diǎn)和真實(shí)的關(guān)鍵點(diǎn)的坐標(biāo),采用歸一化均方誤差(normalized mean error,NME)[12]來評(píng)估人臉對(duì)齊性能。計(jì)算公式如下表示
(6)
其中,Nt為測(cè)試集中人臉圖像的數(shù)量,i為人臉圖像編號(hào),j為關(guān)鍵點(diǎn)編號(hào),pi,j和gi,j分別表示預(yù)測(cè)的關(guān)鍵點(diǎn)和真實(shí)的關(guān)鍵點(diǎn)相應(yīng)位置。di表示第i張圖像的歸一化的距離。常見的歸一化距離有雙眼中心的歐式距離、雙眼外眼角的歐式距離。為了提高實(shí)驗(yàn)的可靠性,本文采用雙眼中心和雙眼外眼角歐式距離分別對(duì)DSHN網(wǎng)絡(luò)進(jìn)行評(píng)價(jià)。
本文實(shí)驗(yàn)使用的計(jì)算機(jī)配置為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é)合完成。
對(duì)于DSHN模型訓(xùn)練方法包括兩個(gè)階段:①利用8模塊沙漏網(wǎng)絡(luò)為基礎(chǔ)訓(xùn)練一個(gè)人臉對(duì)齊的教師模型;②利用中間監(jiān)督機(jī)制和8模塊沙漏網(wǎng)絡(luò)提取的有效信息為2模塊沙漏網(wǎng)絡(luò)的學(xué)生模型的訓(xùn)練提供參考。從教師網(wǎng)絡(luò)到目標(biāo)模型過程中,知識(shí)蒸餾被用于每個(gè)中間監(jiān)督機(jī)制中,并且貫穿整個(gè)網(wǎng)絡(luò)。在測(cè)試過程,由于目標(biāo)網(wǎng)絡(luò)可以提取大型教師網(wǎng)絡(luò)里面有效的信息,所以利用輕量級(jí)的學(xué)生網(wǎng)絡(luò)進(jìn)行檢測(cè)可以得到較高的效率。
本節(jié)使用300w數(shù)據(jù)集和WFLW數(shù)據(jù)集兩個(gè)人臉對(duì)齊公開數(shù)據(jù)集,分別對(duì)DSHN網(wǎng)絡(luò)進(jìn)行訓(xùn)練和測(cè)試。通過在沙漏網(wǎng)絡(luò)中逐步加入深度可分離卷積,對(duì)模型的速度、對(duì)齊精度進(jìn)行比較;為了讓實(shí)驗(yàn)更具有一般性,與主流的人臉對(duì)齊的精度進(jìn)行比較。實(shí)驗(yàn)結(jié)果表明,對(duì)齊精度在基本保持不變的情況下,能獲得較快的速度,有效克服了網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜導(dǎo)致的效率低的問題。
3.5.1 300w數(shù)據(jù)集實(shí)驗(yàn)對(duì)比結(jié)果與分析
為了驗(yàn)證深度可分離卷積加入沙漏網(wǎng)絡(luò)后的優(yōu)勢(shì),在300w數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)對(duì)比。不失一般性,在訓(xùn)練過程中,利用300w的測(cè)試數(shù)據(jù)集中的AFW數(shù)據(jù)集(337張圖像)、Helen訓(xùn)練集(2000張圖像)和LFPW訓(xùn)練集(881張圖像)進(jìn)行,訓(xùn)練樣本一共包含3148張人臉圖像。在整理網(wǎng)絡(luò)模型測(cè)試時(shí)使用LFPW測(cè)試集(224張圖像)、Helen測(cè)試集(330張圖像)和IBUG數(shù)據(jù)集(135張圖像)進(jìn)行,該測(cè)試樣本一共有689張人臉圖像。由于每一張人臉圖像具有一定的差別,所以測(cè)試集中普通的LFPW測(cè)試集和Helen測(cè)試集共同構(gòu)成普通集(common set),變化較大的IBUG測(cè)試集構(gòu)成挑戰(zhàn)集(challenging set)[12]。
在沙漏網(wǎng)絡(luò)中存在多個(gè)標(biāo)準(zhǔn)卷級(jí)模塊,為了明確深度可分離卷積在DSHN網(wǎng)絡(luò)中起到的重要作用,將標(biāo)準(zhǔn)卷積模塊逐個(gè)更換為深度可分離卷積,并且從眼中心歸一化均方誤差、速度兩個(gè)方面分別在普通集、挑戰(zhàn)集、全集上進(jìn)行對(duì)比,得到速度在不加入深度可分離卷積前的提高比,普通集實(shí)驗(yàn)結(jié)果見表2,挑戰(zhàn)集實(shí)驗(yàn)結(jié)果見表3,全集實(shí)驗(yàn)結(jié)果見表4,其中表格中列出一個(gè)標(biāo)準(zhǔn)卷積模塊更換為DSC模塊、2個(gè)標(biāo)準(zhǔn)卷積模塊更換為DSC模塊和沙漏網(wǎng)絡(luò)中全部的標(biāo)準(zhǔn)卷積模塊更換為DSC模塊。
表2 深度可分離卷積加入沙漏網(wǎng)絡(luò)在300w 普通集結(jié)果對(duì)比
表3 深度可分離卷積加入沙漏網(wǎng)絡(luò)在300w 挑戰(zhàn)集結(jié)果對(duì)比
表4 深度可分離卷積加入沙漏網(wǎng)絡(luò)在300w 全集結(jié)果對(duì)比
對(duì)于深度可分離網(wǎng)絡(luò)在300w普通集上實(shí)驗(yàn)結(jié)果,首先在8模塊沙漏模塊的教師網(wǎng)絡(luò)中,通過提取特征點(diǎn)信息,輸出該圖像的熱力圖,然后通過中間監(jiān)督機(jī)制傳給學(xué)生網(wǎng)絡(luò),學(xué)生網(wǎng)絡(luò)對(duì)最開始的輸入的圖像進(jìn)行訓(xùn)練,結(jié)合教師網(wǎng)絡(luò)的有效信息和記錄關(guān)鍵點(diǎn)坐標(biāo)的標(biāo)簽信息,輸出學(xué)生網(wǎng)絡(luò)的熱力圖,然后對(duì)學(xué)生網(wǎng)絡(luò)的熱力圖進(jìn)行解碼操作,最終獲得目標(biāo)網(wǎng)絡(luò)輸出的預(yù)測(cè)的關(guān)鍵點(diǎn)坐標(biāo)。在300w普通集的預(yù)測(cè)結(jié)果眼中心歸一化均方誤差為3.95%,對(duì)齊速度為0.51張/s。相對(duì)于原基礎(chǔ)網(wǎng)絡(luò),DSHN網(wǎng)絡(luò)精度略有降低,但是速度有較為明顯的提高。原因如下,由于教師網(wǎng)絡(luò)聯(lián)合中間監(jiān)督機(jī)制,為學(xué)生網(wǎng)絡(luò)提供有效完整的信息,因此網(wǎng)絡(luò)模塊的精度基本保持不變;另一方面,沙漏網(wǎng)絡(luò)中存在大量的標(biāo)準(zhǔn)卷積,用DSC逐層替換標(biāo)準(zhǔn)卷積,有效減小輸出通道數(shù)和卷積核間的相互作用,有利于對(duì)齊速度的提高。
3.5.2 多方法300w實(shí)驗(yàn)對(duì)比結(jié)果與分析
表5為主流人臉對(duì)齊算法在300w數(shù)據(jù)集上的雙眼中心的歐式距離的歸一化誤差比較。綜合主流的人臉對(duì)齊算法LBF[19]、MDM[20]、DNA[21]、SHN[8]、LAB[12]來看,加入DSHN網(wǎng)絡(luò)對(duì)齊精度超越了大多數(shù)主流的人臉對(duì)齊算法。其中LAB是2018年人臉對(duì)齊最有優(yōu)勢(shì)的算法。在300w的普通數(shù)據(jù)集上,DSHN算法中眼中心距離的NME比LAB的略高;但是在挑戰(zhàn)集上,DSHN算法眼中心距離的NME比LAB的略低。這也進(jìn)一步驗(yàn)證了300w數(shù)據(jù)集在普通集和挑戰(zhàn)集是有差異的。針對(duì)此效果分析,由于LAB中采用了8個(gè)疊層沙漏網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)于輕量級(jí)的網(wǎng)絡(luò)更復(fù)雜,文本采用DSHN結(jié)構(gòu)是加入深度可分離的2個(gè)輕量級(jí)沙漏網(wǎng)絡(luò),因此對(duì)齊精度會(huì)略有降低,但是輕量級(jí)網(wǎng)絡(luò)達(dá)到了降低網(wǎng)絡(luò)的計(jì)算量和模型的復(fù)雜度的目的,同時(shí)也防止網(wǎng)絡(luò)退化、梯度下降的現(xiàn)象發(fā)生,這樣更加有利于模型的計(jì)算和訓(xùn)練。圖4為300w數(shù)據(jù)集上的測(cè)試結(jié)果,這些人臉圖像包含了人臉表情變換,大量遮擋、夸張表情,都取得了不錯(cuò)的效果。
表5 300w數(shù)據(jù)集上人臉對(duì)齊的結(jié)果對(duì)比(眼中心距離)
圖4 300w數(shù)據(jù)集上對(duì)齊效果
進(jìn)一步地,為了讓實(shí)驗(yàn)具有一般性,給出表6,利用外眼角的歐式距離來作為歸一化目標(biāo)對(duì)比結(jié)果。PCD-CNN[22]、SAN[23]、HRNet[24]、LAB[12]是近兩年的人臉對(duì)齊相關(guān)算法。通過表6可以看出,當(dāng)選擇外眼角的歐式距離來作為歸一化目標(biāo)時(shí),DSHN算法的人臉對(duì)齊精度在300w的普通數(shù)據(jù)集、挑戰(zhàn)集、全集上是最有優(yōu)勢(shì)的,這充分體現(xiàn)沙漏網(wǎng)絡(luò)用于人臉對(duì)齊上是可取的。
表6 300w數(shù)據(jù)集上人臉對(duì)齊的結(jié)果對(duì)比(外眼角距離)
通過對(duì)表5、表6中300w數(shù)據(jù)集在人臉對(duì)齊的實(shí)驗(yàn)結(jié)果分析,本文的DSHN方法用于人臉對(duì)齊上具有一定優(yōu)勢(shì)。但是300w的訓(xùn)練集具有一定的局限性的:一方面,測(cè)試集數(shù)據(jù)量相對(duì)較少,僅有3148張人臉圖像;另一方面,普通集和挑戰(zhàn)集的人臉圖像相對(duì)簡(jiǎn)單。所以為了得到更可靠的實(shí)驗(yàn)結(jié)果,采用數(shù)據(jù)變化更大的數(shù)據(jù)集進(jìn)一步驗(yàn)證。
3.5.3 WFLW數(shù)據(jù)集實(shí)驗(yàn)對(duì)比結(jié)果與分析
為了避免300w數(shù)據(jù)集的局限性對(duì)整體實(shí)驗(yàn)一般性的影響,采用具有多種變化的WFLW數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對(duì)比,進(jìn)一步驗(yàn)證加入DSHN網(wǎng)絡(luò)的性能。這里采用外眼角的歐式距離作為歸一化距離來作為數(shù)據(jù)集的評(píng)價(jià)指標(biāo)。實(shí)驗(yàn)過程中按層次替換沙漏網(wǎng)絡(luò),最終在速度和數(shù)據(jù)規(guī)模兩個(gè)方面進(jìn)行比較,對(duì)比實(shí)驗(yàn)結(jié)果見表7。實(shí)驗(yàn)結(jié)果表明,本文提出的DSHN網(wǎng)絡(luò)在WFLW復(fù)雜的數(shù)據(jù)集上對(duì)齊速度也有較好的提升。
表7 DSHN方法在WFLW全集上對(duì)比結(jié)果
為了客觀評(píng)價(jià)在復(fù)雜情況下DSHN網(wǎng)絡(luò)性能,測(cè)試時(shí),利用表情、妝容、姿態(tài)、光照、遮擋、模糊6個(gè)測(cè)試集進(jìn)行,實(shí)驗(yàn)結(jié)果見表8。與顯式形狀回歸ESR算法對(duì)比,取得明顯的改進(jìn)效果,這也是表明DSHN模型明顯優(yōu)于級(jí)聯(lián)回歸模型。由于WFLW數(shù)據(jù)集是2018年公布的,距離現(xiàn)在時(shí)間比較短,對(duì)比實(shí)驗(yàn)相對(duì)較少,但是LAB算法在WFLW數(shù)據(jù)集上效果非常好,很具有代表性,實(shí)驗(yàn)結(jié)果顯示DSHN方法在模糊和姿態(tài)數(shù)據(jù)集上比LAB算法略好,其它略低于先進(jìn)的LAB算法。原因如下:相對(duì)于含有復(fù)雜網(wǎng)絡(luò)的LAB算法,DSHN模型利用知識(shí)蒸餾保存教師網(wǎng)絡(luò)中多層次特征信息,而且學(xué)生網(wǎng)絡(luò)的輕量化降低時(shí)間復(fù)雜度,減少網(wǎng)絡(luò)復(fù)雜性,這不僅適合相對(duì)簡(jiǎn)單的場(chǎng)景下人臉圖像,也適合環(huán)境多變、情況復(fù)雜的人臉圖像,該算法具有普遍性。
表8 WFLW數(shù)據(jù)集上人臉對(duì)齊的結(jié)果對(duì)比(眼中心距離)
從結(jié)果可以看到,本文DSHN方法在保證人臉對(duì)齊精度和主流的人臉對(duì)齊算法的精度基本一致的情況下,對(duì)齊速度相比于原來沙漏網(wǎng)絡(luò)有著較為明顯的優(yōu)勢(shì)。另外,DSHN模型相比于SHN模型更簡(jiǎn)單輕量化、更易于實(shí)現(xiàn)。
本文基于疊層沙漏網(wǎng)絡(luò)設(shè)計(jì)一種帶有深度可分離卷積的輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu)。通過知識(shí)蒸餾構(gòu)造輕量級(jí)沙漏網(wǎng)絡(luò),實(shí)現(xiàn)了網(wǎng)絡(luò)結(jié)構(gòu)的簡(jiǎn)單化;利用深度可分離卷積,壓縮大型網(wǎng)絡(luò),降低網(wǎng)絡(luò)參數(shù)及其冗余度,增加可擴(kuò)展性。實(shí)驗(yàn)結(jié)果表明,DSHN構(gòu)造了一個(gè)輕量級(jí)網(wǎng)絡(luò),其對(duì)齊精度接近主流的方法,同時(shí)對(duì)齊速度具有明顯的優(yōu)勢(shì),解決了網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、時(shí)間開銷大的問題,這為移動(dòng)端和嵌入式設(shè)備提供了一種有效的參考模型。在今后的研究中將從人臉對(duì)齊精度進(jìn)一步優(yōu)化帶有深度可分離卷積的沙漏網(wǎng)絡(luò)模型,實(shí)現(xiàn)更準(zhǔn)確的人臉對(duì)齊。