何卓騁,李 京
(中國科學(xué)技術(shù)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院 云計算實驗室,合肥 230026)
人臉關(guān)鍵點檢測是標注圖像中人臉的關(guān)鍵部位,如面頰輪廓、五官輪廓的計算機視覺任務(wù).通過人臉關(guān)鍵點的識別,可以獲取到如人臉位置,臉部特征、表情、角度等多方位圖像語義信息.該任務(wù)常被作為先置任務(wù)應(yīng)用于其它復(fù)雜的人臉視覺任務(wù),如人臉識別、人臉3D重構(gòu)等.
近年來,隨著深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練技術(shù)的突破,以及該特定任務(wù)下網(wǎng)絡(luò)結(jié)構(gòu)的逐漸演變優(yōu)化,尤其是堆疊沙漏網(wǎng)絡(luò)(Stackedhourglass)[1]和熱度圖回歸(Heat-map regression)[2]技術(shù)的出現(xiàn),人臉關(guān)鍵點識別的準確度問題得到了很好的解決.另外得益于張量處理器技術(shù)的改進,以及神經(jīng)網(wǎng)絡(luò)壓縮技術(shù)[3]的發(fā)展,在通用計算設(shè)備上實現(xiàn)實時人臉關(guān)鍵點檢測成為了必然趨勢.然而在從圖像處理到視頻流處理的演變過程中產(chǎn)生了關(guān)鍵點抖動的問題,即人臉在視頻圖像中相對平滑運動的情況下,通過神經(jīng)網(wǎng)絡(luò)模型檢測出的人臉關(guān)鍵點會出現(xiàn)不規(guī)則的跳躍現(xiàn)象.這極大地影響了相關(guān)應(yīng)用的用戶體驗.現(xiàn)有工作[4]已驗證,在現(xiàn)有數(shù)據(jù)集上,檢測準確度評價指標的進一步提升并不意味著模型準確性的真實改進,因而無法削弱關(guān)鍵點抖動的現(xiàn)象.我們需要一些額外的技術(shù)手段來使得視頻流中檢測出的人臉關(guān)鍵點的運動軌跡趨于穩(wěn)定.
要使得一個坐標序列代表的點呈現(xiàn)平滑的運動軌跡,一般的做法是對其使用某種低通濾波器,例如卡爾曼濾波[5]進行后處理.該類方案需要在輸出序列的基礎(chǔ)上進行額外計算,在實時應(yīng)用場景下會增加響應(yīng)延時.且此類方案難以把握人臉在視頻中的運動規(guī)律,不能很好地平衡不同的人臉運動速率,往往在快速運動的部分上呈現(xiàn)嚴重的滯后現(xiàn)象,導(dǎo)致人臉關(guān)鍵點檢測失準.針對視頻中的人臉關(guān)鍵點的穩(wěn)定性這一特定問題,目前已知的解決方案主要有基于光流追蹤的SBR[6]和FHR[7].前者對關(guān)鍵點的變化進行約束,要求與光流追蹤所得的結(jié)果相匹配;后者分析出一部分抖動的成因來自熱度圖還原坐標時的浮點數(shù)精度丟失,從而通過局部高斯函數(shù)擬合的方式加以修正.
本文的主要工作如下:
1)在FHR方案的基礎(chǔ)上設(shè)計了從熱度圖到關(guān)鍵點坐標的平滑網(wǎng)格逆變換(Soft Mesh Grid,SMG),不僅能夠保留浮點數(shù)精度信息,防止上采樣過程放大誤差.而且整個過程保持可微,從而使得能夠利用坐標空間的監(jiān)督信號來有效指導(dǎo)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,這為后續(xù)的對抗訓(xùn)練帶來了便利.
2)對于視覺語義信息更加豐富的3D人臉關(guān)鍵點[4],在不存在帶有穩(wěn)定標注的視頻數(shù)據(jù)集的條件下.提出利用參數(shù)化的人臉3D模型[8]模擬生成平穩(wěn)的人臉關(guān)鍵點運動軌跡.在視頻連續(xù)幀數(shù)據(jù)上,通過對抗訓(xùn)練的方式非監(jiān)督地指導(dǎo)模型作出平滑且準確的檢測.
3)針對關(guān)鍵點坐標序列的穩(wěn)定性尚無統(tǒng)一量化評估指標的現(xiàn)狀,率先提出利用近似熵(Approximate Entropy)[9]作為評估手段,并舉例驗證了該量化方案的合理性.
4)通過我們的方案訓(xùn)練所得的模型與只針對靜態(tài)圖像的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)一致,能夠同時應(yīng)用于圖像和視頻中人臉關(guān)鍵點的檢測.在圖像數(shù)據(jù)集AFLW2000-3D[10]上,我們的模型的準確度與基準模型FAN[4]保持一致.在視頻數(shù)據(jù)上,我們的模型預(yù)測結(jié)果對應(yīng)的近似熵要顯著低于現(xiàn)有模型,同時呈現(xiàn)出的關(guān)鍵點軌跡在主觀感受上明顯更為平滑.這意味著,我們的訓(xùn)練方案能夠在不損失檢測準確度的前提下,提升視頻中人臉關(guān)鍵點的穩(wěn)定性.
人臉關(guān)鍵點檢測任務(wù)為典型的人臉校準(Face Alignment)任務(wù),輸入為圖像中帶有人臉的部分,輸出為與之匹配的人臉的關(guān)鍵點形態(tài)模型(Landmark Shape Model).人臉關(guān)鍵點形態(tài)模型的種類繁多,目前應(yīng)用較廣的是Menpo[11]68點的2D模型和3D模型.其中3D模型傳達的信息更為準確且豐富,因此后文中指代的關(guān)鍵點模型,如無特殊說明,均為68點3D人臉關(guān)鍵點模型.2017年,Bulat等人利用在人體關(guān)鍵點檢測領(lǐng)域獲得成功的堆疊沙漏網(wǎng)絡(luò)和熱度圖回歸技術(shù),構(gòu)建了全角度高準確度的人臉關(guān)鍵點檢測模型FAN[4],并討論了現(xiàn)有數(shù)據(jù)集標注本身的誤差問題.于是,后續(xù)的研究重點由追求更低的誤差度量指標轉(zhuǎn)變?yōu)楦黝愻敯粜缘脑鰪?例如Yuen[12]等人在原數(shù)據(jù)集上人為添加遮擋物覆蓋來對數(shù)據(jù)集進行增強,并增加額外的關(guān)鍵點可見性預(yù)測任務(wù),使得網(wǎng)絡(luò)對于非可見關(guān)鍵點的魯棒性大大增強.Dong[13]等人提出了通過風(fēng)格化遷移的方式來增強數(shù)據(jù),使得網(wǎng)絡(luò)對亮度,色彩分布各異的各類風(fēng)格化人臉圖像上都有穩(wěn)定的表現(xiàn).總體上講,靜態(tài)圖像中的人臉關(guān)鍵點檢測任務(wù)已較為成熟,多數(shù)場景下能夠給出準確度接近標注水平的關(guān)鍵點位置信息.
對于視頻流媒體中的人臉關(guān)鍵點實時檢測問題,相較于靜態(tài)圖像的版本,主要有以下3方面的額外挑戰(zhàn):1)消除關(guān)鍵點抖動,還原準確且平穩(wěn)的關(guān)鍵點運動軌跡;2)應(yīng)對劇烈運動帶來的運動模糊;3)平衡準確度與執(zhí)行效率,應(yīng)對實時場景.
針對關(guān)鍵點抖動,主要的工作有前文提及的SBR[6]和FHR[7].SBR通過光流追蹤(Flow Tracking)的方法來輔助指導(dǎo)神經(jīng)網(wǎng)絡(luò)對連貫運動表現(xiàn)出一致性.核心思想在于將經(jīng)典的Lucas-Kanade Tracking操作分解為可微計算,嵌入神經(jīng)網(wǎng)絡(luò)的梯度計算流程中,通過光流信息來約束關(guān)鍵點的變化.顯然,這樣的做法要求每個關(guān)鍵點均可見,因而無法應(yīng)用于3D人臉關(guān)鍵點,以及某些大角度姿態(tài)的場景.FHR除去前文描述的浮點數(shù)精度修復(fù)之外,還設(shè)計了一個時序概率模型來對輸出的坐標序列進行修正,原理上類似卡爾曼濾波一類的后處理方案.本質(zhì)上后處理方案與模型訓(xùn)練方案之間是松散耦合的,不同的訓(xùn)練方案和后處理方案可以自由組合.本文中,我們將關(guān)注的重點放在訓(xùn)練方案上,實驗證明通過我們的方案訓(xùn)練得到的網(wǎng)絡(luò)模型輸出,即便不應(yīng)用后處理,其穩(wěn)定性依然能夠超越現(xiàn)有的帶后處理的整體解決方案.
對于運動模糊,基于參數(shù)化人臉模型的一些經(jīng)典方法,如級聯(lián)回歸(Cascade Regression)[14]往往通過從參數(shù)空間隱變量到坐標空間的還原操作,盡管無法做到準確,但能夠輸出尚且完整的人臉關(guān)鍵點信息.而基于神經(jīng)網(wǎng)絡(luò)和熱度圖回歸的方法,則由于缺乏此類泛化能力,往往會得到極為混亂的結(jié)果,致使此部分預(yù)測完全失效.而后者在常規(guī)情況下的準確度要遠遠超過前者,因此有研究通過整合了業(yè)界前沿的去模糊神經(jīng)網(wǎng)絡(luò)[15],基于光流信息對后者進行修正,所得到的神經(jīng)網(wǎng)絡(luò)模型FAB[16]能夠魯棒地處理多種模糊場景.然而由于該模型的網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜,難以應(yīng)對實時的應(yīng)用場景.事實上,我們的訓(xùn)練方式對于運動模糊也具有一定程度的修正作用,雖無法媲美FAB的效果,但具有網(wǎng)絡(luò)復(fù)雜度方面的優(yōu)勢.
至于實時場景下執(zhí)行效率的提升,原理上來說,通用的網(wǎng)絡(luò)壓縮和加速手段,如知識蒸餾[17]、剪枝[3]、量化[3]、Xnor網(wǎng)絡(luò)[18]等同樣適用于堆疊沙漏網(wǎng)絡(luò)一類的人臉關(guān)鍵點檢測模型.此外一些針對移動平臺上人臉關(guān)鍵點實時檢測需求的特殊網(wǎng)絡(luò)[19]也已出現(xiàn).如何更快速,準確,且穩(wěn)定地應(yīng)對這類場景也是我們后續(xù)研究的重點之一.
人臉關(guān)鍵點形態(tài)模型以及人臉3D模型同屬于常見的人臉模型,人臉關(guān)鍵點檢測以及人臉3D重構(gòu)也都屬于人臉校準(Face Alignment)問題中的一類.一般來說3D重構(gòu)要求的建模粒度更細,準確度尚不理想.但這類模型往往能夠給人臉關(guān)鍵點檢測問題提供更多的信息,促進其準確度和魯棒性的提升.例如3DDA[10]設(shè)計了通過單張人臉圖像擬合3D人臉模型 3DMM[20]參數(shù)的算法.并通過對得到的3D模型進行旋轉(zhuǎn)和重渲染,獲取到各個不同角度下,同一張人臉所呈現(xiàn)出的不同二維圖像.通過這種方式,作者在原數(shù)據(jù)集300W的基礎(chǔ)上,構(gòu)造出了新的數(shù)據(jù)集300W-LP以及 AFLW2000-3D.其中包含了一些帶標注的大角度人臉圖像,同時自動添加了3D人臉關(guān)鍵點的標注.姿態(tài)增強后的數(shù)據(jù)集以及3D人臉關(guān)鍵點檢測逐漸成為了后續(xù)研究的主流.
我們采取的對抗訓(xùn)練過程,同樣采用了3DMM模型進行平滑關(guān)鍵點軌跡序列的生成.從而以非監(jiān)督的方式,將這類隱性特征傳遞給檢測網(wǎng)絡(luò),對其在連續(xù)幀圖像上的關(guān)鍵點輸出的穩(wěn)定性作出一定約束.
圖像中的人臉邊框檢測為人臉關(guān)鍵點檢測的前置任務(wù).關(guān)鍵點檢測網(wǎng)絡(luò)的輸入圖像為原始圖像中對人臉邊框所在區(qū)域進行裁切后的部分像素,而網(wǎng)絡(luò)的輸出也需要對像素坐標進行仿射變換后還原到原始圖像中的準確位置.人臉邊框檢測技術(shù)較為成熟,例如本文實驗部分采取的S3FD[21]模型,在AFW[22]數(shù)據(jù)集上具有高達99.81的平均準確度,因而不會對后續(xù)的關(guān)鍵點檢測任務(wù)產(chǎn)生影響.
我們基于相關(guān)工作的分析,將關(guān)鍵點的抖動成因歸結(jié)為3方面因素的共同作用:
1)泛化誤差導(dǎo)致的關(guān)鍵點偏移.視頻中的人臉圖像相較于標準的圖像測試集要更為復(fù)雜,因此對模型的泛化能力要求更高.對于魯棒性有所欠缺的檢測模型,一旦視頻中出現(xiàn)一些大角度帶遮擋,甚至帶有極端運動模糊的困難幀,模型給出的關(guān)鍵點出現(xiàn)偏移在所難免.
2)后處理不當導(dǎo)致精度丟失.目前精度較高的關(guān)鍵點檢測模型的神經(jīng)網(wǎng)絡(luò)輸出均為熱度圖[2].熱度圖表示為浮點數(shù)矩陣H,維度W× H × 68,分別對應(yīng)輸入圖像的寬,高以及對應(yīng)的關(guān)鍵點標號.Hi,j,k代表了第k個關(guān)鍵點到第i,j個像素中心位置的距離信息.因此神經(jīng)網(wǎng)絡(luò)模型N實際上由兩個映射復(fù)合而成,即從輸入圖像到熱度圖的映射g:NW×H×3→RW×H×68以及從熱度圖還原出關(guān)鍵點坐標的映射T:RW×H×68→R68×2.T通常選取為簡單的argmax函數(shù),這樣會導(dǎo)致輸出的坐標只保留了整數(shù)精度,當原始圖像的清晰度較高時,我們需要乘以一個較大的常數(shù)來將關(guān)鍵點還原到原像素坐標空間,因而會放大丟棄的浮點數(shù)誤差.
3)訓(xùn)練集標注誤差.實驗證明,NME較小的模型上抖動的情況并沒有明顯緩減.導(dǎo)致該現(xiàn)象的一個可能的原因是高準確度模型學(xué)習(xí)到了一部分人工標注的特異性偏差.事實上圖像訓(xùn)練集包含多個不同的來源,不同來源的標注往往帶有不同的誤差傾向.而數(shù)據(jù)集特征分布往往是不均衡的,例如Menpo數(shù)據(jù)集中72.9%的圖像是右側(cè)圖像.高準確度神經(jīng)網(wǎng)絡(luò)模型往往會對細小的輸入差別更加敏感.這樣的敏感度在很多時候匹配到了人工標注的偏差,反而有助于降低NME誤差,卻不利于輸出穩(wěn)定的關(guān)鍵點序列.
目前對關(guān)鍵點穩(wěn)定性的研究尚未提出合理的量化評估手段,通常以300VW視頻數(shù)據(jù)集上較為穩(wěn)定的2D關(guān)鍵點標注為參照,通過NME指標以及定性分析的辦法來說明模型輸出的關(guān)鍵點序列的穩(wěn)定性.這樣的做法有諸多缺陷:1)準確性和穩(wěn)定性是截然不同的兩個指標,更低的NME數(shù)值并不意味著更好的穩(wěn)定性;2)缺乏量化手段意味著方案之間無法單獨就穩(wěn)定性進行比較;3)由于缺乏帶有穩(wěn)定的關(guān)鍵點標注的視頻數(shù)據(jù),3D關(guān)鍵點的檢測模型無法采用類似手段進行穩(wěn)定性評估.
1)固定m∈N用于控制比較子列的長度,此處選取常規(guī)值2;r∈R作為ApEn對變化量的敏感度閾值,我們選取2.0,因為2個像素的抖動幅度人眼便能清晰的感知.
3)選取向量空間上的某種距離度量:d[Ai,Aj]=maxk‖Aik-Ajk‖2即對應(yīng)關(guān)鍵點坐標歐式距離中的最大值.
4)計算與向量序列一一對應(yīng)的計數(shù)值序列.
(1)
5)計算如下數(shù)值,代表了原序列在特定長度上的接近程度.
(2)
6)最終得到近似熵度量ApEn=Φm(r)-Φm+1(r).該數(shù)值越小,序列的穩(wěn)定性越高.
我們給出的基于對抗的模型訓(xùn)練方案主要包含兩個訓(xùn)練階段:1)利用圖像數(shù)據(jù)集進行監(jiān)督預(yù)訓(xùn)練;2)在監(jiān)督訓(xùn)練基礎(chǔ)上穿插利用視頻數(shù)據(jù)以及3DMM人臉模型生成的關(guān)鍵點序列進行對抗調(diào)整.整體的訓(xùn)練計算過程如圖1所示.
圖1 模型訓(xùn)練計算圖Fig. 1 Computation graph of the training procedure
整個過程中,所采用的人臉檢測骨干網(wǎng)為FAN[4],即堆疊沙漏網(wǎng)絡(luò)的結(jié)構(gòu),其中的基本卷積單元采用了Bulat等人[19]設(shè)計的結(jié)構(gòu),相較于普通的殘差單元具有更好的感受野(ReceptiveField),更加適用于關(guān)鍵點檢測一類的視覺任務(wù).對于視頻連續(xù)幀(幀數(shù)取為3)數(shù)據(jù),我們將其放置在同一數(shù)據(jù)批(batch)中,通過重排操作使得網(wǎng)絡(luò)輸入與靜態(tài)圖像數(shù)據(jù)批保持一致,因此監(jiān)督訓(xùn)練和對抗訓(xùn)練能夠交替進行.預(yù)訓(xùn)練階段,我們修改了熱度圖和標注坐標之間的損失函數(shù)計算方式,實驗證明這樣的修改有助于加快模型的收斂,且最終的NME略有降低.對抗訓(xùn)練時,生成器輸出的熱度圖通過特殊設(shè)計的平滑網(wǎng)格逆變換(SMG)還原到像素坐標空間,再通過幀內(nèi)差分以及幀間差分操作獲取對應(yīng)坐標的時空變化量.以此作為判別器的輸入,判別器設(shè)計為簡單的帶Dropout的3層感知器(Multi-Layer Perceptron,MLP)結(jié)構(gòu),內(nèi)部激活64維.判別器試圖區(qū)分來自生成器的關(guān)鍵點坐標序列以及通過3DMM合成的平穩(wěn)序列.生成器和判別器利用經(jīng)典的對抗損失函數(shù)進行訓(xùn)練.
我們設(shè)計的從熱度圖還原出關(guān)鍵點坐標的映射T解決了兩個問題:
1)與FHR一樣,解決了前文中提到的抖動成因之一的浮點數(shù)精度丟失問題;
2)由于保留了可微性,因而像素坐標空間的梯度信號能夠向前傳遞給沙漏網(wǎng)絡(luò),從而簡化了對抗訓(xùn)練中判別器的結(jié)構(gòu).使得“平穩(wěn)性”這一個在坐標空間更容易感知的概念,能夠反向通過熱度圖來指導(dǎo)神經(jīng)網(wǎng)絡(luò)進行微調(diào).
平滑網(wǎng)格逆變換的基本想法為:將熱度圖中的數(shù)值看作是關(guān)鍵點出現(xiàn)在對應(yīng)像素中的概率,因此以熱度圖矩陣中的浮點數(shù)Hi,j,k對各個像素中心位置的坐標進行加權(quán),所得到的坐標數(shù)值可以看作是對第k個關(guān)鍵點所在坐標的估計.
(3)
(4)
生成器,即FAN網(wǎng)絡(luò)的監(jiān)督訓(xùn)練部分,一般的做法是通過高斯核由關(guān)鍵點標注生成熱度圖標注,H*=g(X*)(具體計算過程此處不再贅述).然后定義網(wǎng)絡(luò)的損失函數(shù)為:
(5)
由于我們將熱度圖數(shù)值視作0-1之間的概率,因此在標注轉(zhuǎn)化階段引入歸一化,而后以交叉熵作為損失函數(shù)極為自然.
(6)
同時我們加入了如下的坐標空間的l2距離損失:
(7)
監(jiān)督訓(xùn)練的總體損失函數(shù)定義為以上兩者的加權(quán)和.
lossall=lossbce+0.01 losscoord
(8)
其中后者能夠幫助學(xué)習(xí)整體上的結(jié)構(gòu)信息,主要對應(yīng)沙漏網(wǎng)絡(luò)的中腰部分,有助于前期更快速地進行學(xué)習(xí).實驗證明我們設(shè)計的損失函數(shù)相較于lossmse,監(jiān)督預(yù)訓(xùn)練的收斂速度有顯著的提升.
對抗訓(xùn)練部分,我們采用了原始GAN[24]論文中給出的損失函數(shù).其中的G,D,SeqGen分別對應(yīng)生成器,判別器以及4.4章詳述的擬人臉關(guān)鍵點平穩(wěn)軌跡生成過程.
lossG=EV~Pvideo[log(1-D(G(V))]
(9)
lossD=EZ~Pnoise[log(1-D(SeqGen(Z) )]+
EV~Pvideo)[log D(G(V))]
(10)
我們的目標是通過對抗的方式非監(jiān)督地約束生成器輸出盡可能平滑穩(wěn)定的序列,這要求我們提供大量平穩(wěn)的人臉關(guān)鍵點坐標序列作為對照,即在真實數(shù)據(jù)分布中進行采樣.然而現(xiàn)實的情況是,帶關(guān)鍵點標注的視頻數(shù)據(jù)量非常有限,尤其是3D人臉關(guān)鍵點.而對其進行人工逐幀標注的代價太大,我們需要一個更加合理的數(shù)據(jù)來源.
好在對于關(guān)鍵點抖動問題而言,這個現(xiàn)象普遍存在于連續(xù)幀之間,因此短到長度為3的連續(xù)幀樣本,其平穩(wěn)性差別也足夠判別器進行區(qū)分,亦能指導(dǎo)生成器進行優(yōu)化,而長度較短的真實關(guān)鍵點軌跡則容易通過參數(shù)化的人臉模型,如3DMM[20]進行模擬生成.3DMM通過主成分分析(PCA)將控制人臉外貌差異的隱變量分為個體面貌參數(shù)和表情參數(shù),此外從空間坐標到像素坐標的變換需要考慮尺寸,平移向量和旋轉(zhuǎn)歐拉角等參數(shù).我們認為三幀內(nèi)人臉姿態(tài)的變化在參數(shù)空間內(nèi)近似線性.因此通過3DMM生成關(guān)鍵點平穩(wěn)序列的過程SeqGen如下:1)采樣確定個體面貌;2)采樣確定第一幀內(nèi)人臉的其它參數(shù);3)給定各類參數(shù)在三幀內(nèi)的變化范圍,根據(jù)首幀的數(shù)值采樣末幀數(shù)值;4)對各類參數(shù)進行線性插值得到中間幀上的取值;5)通過模型提供的轉(zhuǎn)換函數(shù),根據(jù)各幀參數(shù)計算得到對應(yīng)的關(guān)鍵點像素坐標.這樣的生成方法基本涵蓋了常規(guī)的人臉運動模式且生成的序列足夠穩(wěn)定.
判別器應(yīng)該盡可能保持簡潔,從而將與直觀的抖動程度相關(guān)的非監(jiān)督信號傳遞給生成器,而不是過多關(guān)注一些過于抽象的坐標空間的特征.我們將自己對于坐標序列穩(wěn)定性判別所需特征的理解編碼進了判別器前端的差分運算過程.我們認為有3類關(guān)鍵特征可以用于穩(wěn)定性判別:
1)幀內(nèi)相鄰關(guān)鍵點的坐標差分,如圖2所示,默認為標號相鄰的關(guān)鍵點坐標之差,對于特殊部位的邊緣起始點,差分的比較對象在圖中用箭頭標注.這類特征有助于分析個別關(guān)鍵點是否偏離其在整體人臉結(jié)構(gòu)約束下的合理區(qū)域,從而能夠準確判別由泛化誤差導(dǎo)致的關(guān)鍵點偏移.
圖2 幀內(nèi)差分方向Fig.2 Inner-frame differ
2)幀間對應(yīng)關(guān)鍵點的差分,此類特征用于把握整體的運動趨勢,同時突出變動劇烈的部分.
3)對2中得到的偏移量再作類似1中的幀內(nèi)差分,這部分特征有助于更加精細地判別坐標變換是否來源于合理的旋轉(zhuǎn)和表情變動.
差分運算如圖3所示,對于輸入維度為F×68×2的序列,差分后的特征張量維度為(3F-2)×68×2.
圖3 3類差分特征Fig.3 Three kinds of differentiator
為了模型能夠更快地收斂,我們對判別器同樣作了預(yù)訓(xùn)練.過程中通過SeqGen生成的序列被標注為真實數(shù)據(jù),而生成器在視頻連續(xù)幀數(shù)據(jù)上的輸出則標注為假數(shù)據(jù).通過比較
是否添加差分預(yù)處理的兩種判別器模型的預(yù)訓(xùn)練收斂速度,我們確認了差分后提取出的特征對判別器的有效性.
圖1中的監(jiān)督預(yù)訓(xùn)練部分與靜態(tài)圖像上的人臉關(guān)鍵點識別模型的訓(xùn)練方法一致,此處不再贅述.下面給出對抗訓(xùn)練與監(jiān)督訓(xùn)練交替進行的算法.其中的函數(shù)Sample,Noise,Reshape,SMG,SeqGen,Diff分別對應(yīng)于隨機采樣,隨機噪聲生成,張量維度變換,4.2章中的平滑網(wǎng)格逆映射,4.4中的平穩(wěn)序列生成以及4.5中的差分變換.
算法1.對抗訓(xùn)練用于提升關(guān)鍵點穩(wěn)定性
結(jié)果:優(yōu)化后的神經(jīng)網(wǎng)絡(luò)參數(shù),生成器ΘG和判別器ΘD
1. 對數(shù)據(jù)進行增強,D*=Aug(D*)
3.whileloss減少do
4.if根據(jù)step數(shù)值選擇做監(jiān)督訓(xùn)練then
5. 圖像批采樣,db←Sample(Dimg,bs·F)
6. 生成熱度圖,Hb←GΘG(db)
9. 更新參數(shù),ΘG←optimizer(loss,ΘG)
10.else選擇做對抗訓(xùn)練
11. 視頻批采樣,db←Reshape° Sample(Dvid,bs)
16. 更新參數(shù),ΘG←optimizerG(lossG,ΘG)
ΘD←optimizerD(lossD,ΘD)
17.end
18. step←step+1
19.end
由于訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)處理視頻數(shù)據(jù)時采取的是簡單的逐幀檢測的方式,而沒有采取任何的后處理平滑追蹤算法,因此模型的準確性可以簡單地通過它在靜態(tài)圖像測試集上的表現(xiàn)加以評估.故而可以將準確度評估和穩(wěn)定性評估分離開,不同于已有工作中難以量化的混合評估手段.對于靜態(tài)圖像上的準確性評估,我們以300W-LP[10]作為訓(xùn)練集,以AFLW2000-3D作為測試集,通過NME誤差進行度量;對于穩(wěn)定性,我們采取前文提到的近似熵ApEn進行量化分析比較.對抗階段用到的視頻數(shù)據(jù)來自300VW[25],但我們在訓(xùn)練過程中沒有使用其2D關(guān)鍵點標注,因此理論上視頻數(shù)據(jù)可以換作是任意單人臉為主體的視頻.300VW包含114段人臉視頻,長度從649幀-3650幀不等.我們隨機選取了其中的100段視頻用于對抗訓(xùn)練,剩余14段作為測試集,用于穩(wěn)定性評估.
我們對于視頻幀以及靜態(tài)圖像都使用了圖像翻轉(zhuǎn),平移縮放,色彩調(diào)整和隨機高斯模糊的數(shù)據(jù)增強手段.對于圖像數(shù)據(jù),我們還額外設(shè)計了平面旋轉(zhuǎn)和添加遮擋物的方式進行增強.
我們通過修改損失函數(shù)的方式極大地提升了檢測網(wǎng)絡(luò)的收斂速度.訓(xùn)練過程中我們通過Tensorboard觀察圖像樣張檢測結(jié)果,部分采樣結(jié)果如圖4所示.圖中的行從上到下分別對應(yīng)了采用lossmse,lossall,losscoord進行訓(xùn)練的過程.從左到右則分別對應(yīng)模型經(jīng)過0.1k,0.5k,1.5k,5k,8k,15k步梯度更新之后的檢測效果.優(yōu)化器選用Adam[26],且學(xué)習(xí)率獨立進行調(diào)優(yōu),因而可以判斷導(dǎo)致收斂速度變化的主要因素為損失函數(shù)的選擇.可以看出lossall,losscoord的收斂速度明顯快于lossmse,后者在5k步更新之前完全無法把握人臉關(guān)鍵點的整體結(jié)構(gòu),預(yù)測結(jié)果集中在極小的鄰域.另外,單獨通過像素坐標空間的監(jiān)督信號losscoord進行訓(xùn)練,能夠獲得這樣的收斂速度以及準確度,說明我們設(shè)計的可微SMG逆變換確實能夠有效地傳遞梯度信息.
圖4 訓(xùn)練過程中的檢測樣張Fig.4 Sample images with predicted landmarks of different stages of the training process
人臉關(guān)鍵點檢測應(yīng)用在實際部署時,相較于差距微弱的NME誤差,更應(yīng)關(guān)注模型在某些困難場景(如大角度帶遮擋、運動模糊等)下的魯棒性表現(xiàn).圖5給出了我們的模型對比基準模型FAN在一些困難幀上的檢測結(jié)果.可以看出通過對抗訓(xùn)練之后,模型的魯棒性有了明顯提升.
圖5 困難幀上的檢測結(jié)果Fig.5 Localization results on difficult frames
由于生成器的訓(xùn)練目標是騙過判別器,這要求生成器在各類情況下輸出的關(guān)鍵點坐標經(jīng)過幀內(nèi)差分后的特征與真實的人臉結(jié)構(gòu)接近.因此這樣的提升符合預(yù)期,后續(xù)研究中,我們將考慮主動獲取大量的此類高難度視頻數(shù)據(jù)用于對抗訓(xùn)練,以期獲得更好的魯棒性表現(xiàn).
AFWL2000-3D測試集上的NME測試結(jié)果見表1,包含了各個側(cè)角區(qū)間子集上的NME誤差以及總體平均值.可以看出在網(wǎng)絡(luò)結(jié)構(gòu)足夠復(fù)雜時,如使用4個沙漏網(wǎng)絡(luò)結(jié)構(gòu)進行堆疊時(S4HG),我們模型的整體準確性略好于基準模型FAN.考慮到實時檢測的場景,我們在后續(xù)實驗中采取的是單沙漏網(wǎng)絡(luò)的結(jié)構(gòu)(S1HG),即便該模型的復(fù)雜度遠小于表中其它模型,依然能夠取得接近FAN的準確度.而通過對抗訓(xùn)練修正后的最終模型,其準確性僅有略微下降,側(cè)角度范圍較小時準確度甚至有所提升.大側(cè)角下的準確度劣化可能與SeqGen生成過程中的角度范圍采樣偏差有關(guān),有待后續(xù)優(yōu)化.總體來看,通過我們的訓(xùn)練方案得到的檢測模型,其準確度與基準方案相當.
表1 模型NME對比表Table 1 NME on AFWL2000-3D
我們對300VW中選取的14個測試視頻分別進行穩(wěn)定性分析.測試時,我們先用模型逐幀的對視頻進行關(guān)鍵點檢測,而后采取窗口長度為10的滑動窗口對關(guān)鍵點坐標序列進行分割,同時將68個關(guān)鍵點拆分成至獨立序列.對每個長度為10,僅含單點坐標的子序列計算其ApEn數(shù)值.對所有與該視頻相關(guān)的ApEn數(shù)值分布利用CDF(CumulativeDistributionFunction)曲線進行比較,曲線下的面積越大說明模型輸出序列的穩(wěn)定性越高.鑒于篇幅限制,隨機給出部分測試視頻上的比較結(jié)果,見圖6,圖6(a)-圖6(h)下標表示視頻編號.容易看出,我們的模型給出的預(yù)測序列的近似熵(實線CDF)整體略低于現(xiàn)有最優(yōu)模型FHR[7],且后者帶有后處理平滑算法.相比較不進行SMG修正以及對抗訓(xùn)練的基準模型FAN,ApEn的數(shù)值差距尤為明顯,說明我們提出的兩個主要的改進方案確實能夠顯著地提升模型輸出序列的穩(wěn)定性.
圖6 300VW測試視頻上的近似熵數(shù)值分布圖Fig.6 Distributions of ApEn values on 300VW test videos
此外,為了說明我們提出的近似熵ApEn的量化評估手段的合理性,圖7給出了3個模型在這些視頻上預(yù)測出的個別關(guān)鍵點的整體軌跡,圖中3行分別對應(yīng)FHR,F(xiàn)AN以及我們的模型.列標則給出了視頻標號和對應(yīng)的關(guān)鍵點序號(序號含義見圖4).可以看出FAN的軌跡具有明顯的鋸齒,此為關(guān)鍵點抖動現(xiàn)象的體現(xiàn).另外兩組軌跡的平滑度相近,仔細比較可知我們的軌跡要略優(yōu)于FHR.以上定性分析的結(jié)果與前文通過ApEn指標定量分析的結(jié)論完美匹配,且主觀感受差距越大,對應(yīng)的ApEn數(shù)值的差距也越大.說明了我們將ApEn值作為人臉關(guān)鍵點序列的穩(wěn)定性度量這一做法的合理性.
圖7 測試視頻上單關(guān)鍵點軌跡樣例Fig.7 Single landmark trajectory samples of test videos
針對人臉關(guān)鍵點實時檢測中的關(guān)鍵點抖動問題,我們設(shè)計了平滑網(wǎng)格逆變換和對抗訓(xùn)練兩種技術(shù)來優(yōu)化基于堆疊沙漏網(wǎng)絡(luò)和熱度圖回歸的神經(jīng)網(wǎng)絡(luò)訓(xùn)練方案.實驗證明這兩種技術(shù)能夠在準確度基本不變的情況下顯著增加關(guān)鍵點序列的穩(wěn)定性.最終得到的S1HG網(wǎng)絡(luò)模型能夠利用GTX1080顯卡達到25fps的處理速度,較好地平衡了準確度,穩(wěn)定性,魯棒性和實時性的需求沖突.