付文博,何 欣,于俊洋
(1.河南大學(xué)軟件學(xué)院,河南 開(kāi)封 475000;2.河南省智能數(shù)據(jù)處理工程研究中心,河南 開(kāi)封 475000)
面部多特征點(diǎn)定位是計(jì)算機(jī)視覺(jué)領(lǐng)域的重要問(wèn)題,許多任務(wù)都依賴(lài)于面部特征點(diǎn)定位的結(jié)果,如面部表情分析、面部識(shí)別等。雖然面部特征點(diǎn)定位在近幾年來(lái)被廣泛研究,并且取得了巨大的成功,但是在處理復(fù)雜環(huán)境中的定位問(wèn)題時(shí)(Semantic ambiguity)[1],由于受到各種干擾因素的影響,圖像具有復(fù)雜多樣性,因此面部特征點(diǎn)定位仍面臨巨大的挑戰(zhàn)。卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Netowrk)已被證實(shí)是一種可行的解決方案,CNN通過(guò)對(duì)面部圖像進(jìn)行旋轉(zhuǎn)、平移、縮放,使得模型對(duì)姿態(tài)旋轉(zhuǎn)更具魯棒性。然而,在處理遮擋、光線不足等面部輪廓難以區(qū)分的圖像時(shí)[2,3],因其無(wú)法識(shí)別面部區(qū)域,CNN表現(xiàn)卻不好。為解決上述問(wèn)題,本文設(shè)計(jì)了一種單層VGG(Visual Geometry Group)神經(jīng)網(wǎng)絡(luò)[4 - 7]與Canny算法相結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu),能夠在預(yù)測(cè)階段對(duì)面部區(qū)域進(jìn)行重定位,在消除面部噪聲區(qū)域干擾的同時(shí),提升特征點(diǎn)定位的準(zhǔn)確性,在ibug提供的300-w[5]與300-vw[6]開(kāi)源數(shù)據(jù)集上取得了較好的預(yù)測(cè)結(jié)果。
面部特征點(diǎn)定位大致分為2個(gè)方向:傳統(tǒng)方法與深度學(xué)習(xí)的方法。其中,典型的傳統(tǒng)方法包括基于模型的方法和基于回歸的方法。
基于傳統(tǒng)方法的面部特征點(diǎn)定位主要分為基于模型的方法與基于回歸的方法2類(lèi)。其中,基于模型的方法主要是由Le等[8]提出的ASM(Active Appearance Model)、AAM(Active Appearance Model)模型。該模型對(duì)人臉、手、心臟等幾何形狀的物體,通過(guò)若干關(guān)鍵特征點(diǎn)的坐標(biāo)依次串聯(lián),形成1個(gè)形狀向量進(jìn)行后期預(yù)測(cè)。然而ASM和AAM也存在一些不足,如處理多樣性較強(qiáng)的面部表情時(shí),單一的線性模型難以擬合現(xiàn)實(shí)場(chǎng)景數(shù)據(jù)中的復(fù)雜非線性變化,使得這類(lèi)基于模型的方法魯棒性較差?;诨貧w的方法主要是由Kazemi等[9]提出的基于ERT(Ensemble of Regression Trees)回歸方法下的面部特征點(diǎn)定位,目前DLIB框架使用的正是此方法。這種方法通過(guò)建立殘差回歸樹(shù)來(lái)使人臉形狀從初始隨機(jī)定位點(diǎn)集逐步回歸到真實(shí)形狀,并通過(guò)各關(guān)鍵點(diǎn)附近的隨機(jī)森林來(lái)學(xué)習(xí),最終得出LBF(Local Binary Feature)特征。雖然這種基于回歸的方法能夠有效定位特征點(diǎn),但是判定結(jié)果的準(zhǔn)確性高度依賴(lài)于前期的人工初始化定位工作。
在深度學(xué)習(xí)方式下的面部特征點(diǎn)定位,目前聚焦于基于2D卷積核下的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)與基于3D卷積核下的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)。基于2D卷積核的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),典型的有由Liu等[1]提出的基于VGG神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與Sun等[2]提出的Cascade級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。這類(lèi)基于2D卷積核的網(wǎng)絡(luò)結(jié)構(gòu)可以定位多角度下的面部特征點(diǎn),但是在處理有遮擋、像素不高的圖像時(shí),定位結(jié)果較差?;?D卷積核的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),典型的有由Sagonas等[5]提出的3DMM(3D Morphable Models)網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)結(jié)構(gòu)對(duì)2D面部圖像進(jìn)行3D建模,并將3D空間的坐標(biāo)軸分別定義為XT、YT和ZT,通過(guò)學(xué)習(xí)圖像中的非可見(jiàn)面部信息,提升特征點(diǎn)定位的準(zhǔn)確性。但是,這種3DMM網(wǎng)絡(luò)結(jié)構(gòu)遭到Tran等[10]的質(zhì)疑:當(dāng)圖像向高維度轉(zhuǎn)換時(shí),圖像會(huì)大概率地出現(xiàn)病態(tài)變異。雖然3D卷積的準(zhǔn)確性已得到了業(yè)界認(rèn)可,但是過(guò)高的病態(tài)圖像比例也會(huì)大幅降低網(wǎng)絡(luò)的預(yù)測(cè)效率。
由此可得,上述幾種神經(jīng)網(wǎng)絡(luò)在面部特征點(diǎn)定位方面都有著可改進(jìn)的空間。因此,本文設(shè)計(jì)了一種基于2D卷積核的單層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)經(jīng)過(guò)大量的訓(xùn)練與調(diào)參,在面部特征點(diǎn)定位方面與上述一些基于深度學(xué)習(xí)的網(wǎng)絡(luò)模型[1,3,4]相比有了較大的提升。
本文設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)除輸入輸出層之外還包含7個(gè)卷積層、4個(gè)池化層和1個(gè)全連接層,在1次或2次卷積操作以后緊跟1個(gè)池化層進(jìn)行特征提取。本文設(shè)計(jì)的CNN結(jié)構(gòu)參數(shù)如表1所示,結(jié)構(gòu)圖如圖1所示。
Table 1 Neural network parameter表1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
Figure 1 Convolutional neural network structure in this paper圖1 本文CNN結(jié)構(gòu)圖
本文神經(jīng)網(wǎng)絡(luò)輸入層的參數(shù)是(128,128,3)的彩色圖像以及與之相對(duì)應(yīng)的面部特征點(diǎn)坐標(biāo)集合,其中每一幅圖像中包含68個(gè)面部特征點(diǎn)。為方便網(wǎng)絡(luò)分批次迭代訓(xùn)練,需對(duì)每一幅圖像中對(duì)應(yīng)的68個(gè)特征點(diǎn)坐標(biāo)(x,y)進(jìn)行一元展開(kāi)合并處理,變?yōu)?x1,y1,…,x68,y68)這樣的格式類(lèi)型。網(wǎng)絡(luò)層數(shù)的確定參考了Cascade神經(jīng)網(wǎng)絡(luò)模型[7],該模型采用雙層網(wǎng)絡(luò)結(jié)構(gòu),其目的是進(jìn)行人臉相似度判斷。而本文研究的是面部特征點(diǎn)定位,因此在原有網(wǎng)絡(luò)模型的基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)出一種基于單層VGG-16的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[4]。其卷積輸出的計(jì)算方法如式(1)所示:
N=(W-F+2P)/S+1
(1)
其中,N為輸出圖像的維度,W為每一層圖像的輸入維度,F(xiàn)為卷積核參數(shù),S為步長(zhǎng),P為擴(kuò)充的邊緣像素?cái)?shù)。每一次卷積計(jì)算以后結(jié)合ReLU激活單元進(jìn)行輸出:
ReLU=Max(0,wTx+b)
(2)
其中,w是神經(jīng)元的權(quán)重值,x是圖像,b是偏移量。輸入的圖像信息經(jīng)過(guò)每層卷積、池化計(jì)算后,其維度會(huì)相應(yīng)減小。本文選取ReLU激活單元對(duì)每層輸出值進(jìn)行極大值保留,從而使得神經(jīng)網(wǎng)絡(luò)在后續(xù)的訓(xùn)練過(guò)程中可以正常更新參數(shù),并避免梯度消失。最終,在訓(xùn)練結(jié)束后可獲得局部最優(yōu)解。
ibug網(wǎng)站所提供的300-w與300-vw數(shù)據(jù)集中,每一幀圖像都有對(duì)應(yīng)的pts文本。該文本記錄了面部特征點(diǎn)的坐標(biāo)。利用這些面部特征點(diǎn)集合,可以定位圖像中的面部矩形區(qū)域。其面部區(qū)域的左上角與右下角坐標(biāo)的計(jì)算方法如式(3)所示:
(x1,y1)∈(min(x),min(y))
(x2,y2)∈(max(x),max(y))
(3)
其中,xi和yi分別為面部68個(gè)特征點(diǎn)對(duì)應(yīng)的橫坐標(biāo)和縱坐標(biāo):
(xi,yi)={(x1,y1),…,(xm,ym)}
(4)
m為圖像中特征點(diǎn)的樣本總數(shù),max和min分別代表求集合內(nèi)的最大值和最小值。
為了避免神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中出現(xiàn)過(guò)擬合的現(xiàn)象(overfit),本文又在式(3)的基礎(chǔ)上進(jìn)行2像素的擴(kuò)充,這樣面部特征點(diǎn)不會(huì)出現(xiàn)在圖像的邊界上,同時(shí)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中也可以學(xué)習(xí)一些背景圖像的信息,增強(qiáng)了網(wǎng)絡(luò)結(jié)構(gòu)的健壯性。圖2a為歸一化處理前的圖像,圖2b為歸一化處理后的圖像。
Figure 2 Facial area relocation圖2 面部區(qū)域重定位
在測(cè)試集中,由于無(wú)法依靠pts文件進(jìn)行面部區(qū)域重定位,因此如何定位基于3.2節(jié)的面部邊緣擴(kuò)充2像素的矩形區(qū)域,是本文所設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)階段的重要環(huán)節(jié)。為解決重定位問(wèn)題,本文提出了一種C-Canny面部邊緣檢測(cè)算法,該算法可以顯著地提高神經(jīng)網(wǎng)絡(luò)處理非訓(xùn)練集圖像(wild photo)的準(zhǔn)確性。C-Canny算法流程如圖3所示。
Figure 3 Flow chart of C-Canny algorithm圖3 C-Canny算法流程
3.3.1 面部區(qū)域預(yù)處理
首先,利用Haar分類(lèi)器[9]進(jìn)行面部區(qū)域初定位。Haar分類(lèi)器又稱(chēng)Viola-Jones分類(lèi)器,是Viola和Jones分別在2001年提出的算法。該分類(lèi)器由Haar特征提取、離散強(qiáng)分類(lèi)器和強(qiáng)分類(lèi)級(jí)聯(lián)器組成。其核心思想是提取人臉圖像的Haar特征并使用積分圖對(duì)特征進(jìn)行運(yùn)算,最終定位面部區(qū)域。雖然該算法具有一定的時(shí)效性,但是得出的面部區(qū)域與本文采用的基于面部邊緣擴(kuò)充2像素的圖像相比,有著較大的差異。因此,本文借助Canny算法進(jìn)行矩形邊緣縮進(jìn),取得與網(wǎng)絡(luò)模型訓(xùn)練階段相類(lèi)似的圖像規(guī)格。Canny算法流程如下所示:
獲取測(cè)試集輸入圖像的灰度格式,并進(jìn)行高斯模糊處理:
(5)
F(x,y)=G(x,y)*F(x,y)
(6)
其中,F(x,y)為輸入圖像,G(x,y)為高斯函數(shù),σ為正態(tài)分布的標(biāo)準(zhǔn)差。高斯函數(shù)與原圖像進(jìn)行卷積運(yùn)算,消除灰度圖像中的高斯白噪聲干擾。之后利用Sobel算子計(jì)算梯度,獲取到面部邊緣集合。圖4展示了邊緣集合在圖像中的具體位置(已將邊緣集合進(jìn)行描白處理)。其中圖4a為沒(méi)有經(jīng)過(guò)消噪處理的圖像,圖4b為經(jīng)過(guò)高斯模糊處理的灰度圖像。經(jīng)對(duì)比可得,經(jīng)過(guò)高斯消噪處理的灰度圖像能夠較好地定位面部邊緣。
Figure 4 Comparison of Gaussian blur圖4 高斯模糊處理對(duì)比圖
3.3.2 圖像非極大值抑制
面部圖像經(jīng)3.3.1節(jié)處理后,還需進(jìn)行非極大值抑制的工作。該過(guò)程是為了消除邊緣集合中的偽邊緣點(diǎn),進(jìn)一步細(xì)化面部邊緣區(qū)域,得到更為準(zhǔn)確的邊界集合。
由3.3.1節(jié)Sobel算子處理后的圖像,可以獲得基于圖像像素點(diǎn)的梯度幅值與梯度方向2個(gè)集合:
(7)
(8)
其中,gx,gy為Sobel算子計(jì)算出的圖像內(nèi)像素點(diǎn)的水平方向與垂直方向的梯度值。式(7)為圖像信息的梯度幅值,式(8)為圖像的梯度方向。
經(jīng)過(guò)Sobel算子與8連通處理后的圖像會(huì)出現(xiàn)基數(shù)較大的偽邊緣點(diǎn)集合,因此為了去除掉這些偽邊緣點(diǎn),還需進(jìn)行雙閾值下的非極大值抑制。
因?yàn)槊恳环鶊D像的灰度分布值是不固定的,所以需要結(jié)合對(duì)應(yīng)圖像像素點(diǎn)的灰度分布直方圖來(lái)進(jìn)行高、低雙閾值選取。3.3.1節(jié)的處理過(guò)程將原始圖像轉(zhuǎn)換為了由邊界信息組成的特征點(diǎn)集合,其值域滿足統(tǒng)計(jì)決策理論,因此可以借助Otsu算法來(lái)獲得全局最佳的雙閾值,其計(jì)算公式如式(9)所示:
(9)
其中,σ代表類(lèi)間方差,σG代表全局方差,k1與k2代表圖像像素值。Otsu算法以直方圖中的方差、均值、均方差為參數(shù),可以快速地計(jì)算出基于直方圖統(tǒng)計(jì)的全局最優(yōu)的2個(gè)閾值。如式(9)所示,Otsu算法將k1與k2的關(guān)系設(shè)置為3∶1的比例,然后將像素點(diǎn)集合中的灰度最小值賦給k2,計(jì)算出當(dāng)前ψ的結(jié)果值并記錄。之后,依次將k2向上取值,直到k1的值大于最大的灰度值。這時(shí),取最大ψ值下的k1與k2為全局最優(yōu)的滯后雙閾值。
最后,進(jìn)行非極大值抑制處理:
GH(x,y)=GNH(x,y)-GNL(x,y)
(10)
其中,GNH代表灰度值小于k1的像素點(diǎn)集合,GNL為灰度值大于k2的像素點(diǎn)集合。該表達(dá)式得出的結(jié)果為強(qiáng)邊界點(diǎn)集合,其意義為:除去了強(qiáng)邊緣點(diǎn)集中的弱邊緣點(diǎn),只保留真正的邊緣點(diǎn)集合。這些細(xì)化后的面部邊界信息,可為面部區(qū)域再定位打下基礎(chǔ)。
3.3.3 面部區(qū)域再定位
由3.3.2節(jié)得出的新的面部輪廓點(diǎn)集合如式(10)所示,可以采用本節(jié)的方法獲取基于面部邊界擴(kuò)充2像素的矩形區(qū)域,進(jìn)而取得與訓(xùn)練階段同規(guī)格的面部圖像,提升面部特征點(diǎn)定位的準(zhǔn)確率。由式(10)得到的細(xì)化后的面部邊緣點(diǎn)集合如式(11)所示:
U(x,y)={x,y|x,y∈GNH(x,y)}
(11)
將集合U(x,y)經(jīng)過(guò)面部區(qū)域再定位處理,可得到最終的面部區(qū)域。面部區(qū)域再定位偽代碼如算法1所示。
算法1 面部區(qū)域再定位
輸入:U(x,y)。/*經(jīng)過(guò)C-Canny算法處理后的邊緣點(diǎn)集合*/
輸出:(sw,sh,w,h)。/*面部區(qū)域左上角坐標(biāo),圖像的寬度與高度*/
步驟1 取細(xì)化邊緣集合中中間行的最右節(jié)點(diǎn):
w=(max(U(x,y))-min(U(x,y))).shape[0];/*shape[0]意為取(x,y)中的x*/
h=(max(U(x,y))-min(U(x,y))).shape[1];/*shape[1]意為取(x,y)中的y*/
sw=min(U(x,y).shape[0];
sh=min(U(x,y).shape[1];
midRow=sh+h/2;
步驟2 驗(yàn)證midRow所在行邊緣節(jié)點(diǎn)的可用性:
if min(U(sh,midRow)) > 0.25 and min(U(sh,midRow)) < 0.75:/*人臉區(qū)域大小適中,滿足重定位條件,移動(dòng)圖像左上角坐標(biāo)點(diǎn)*/
sw=min(sh,U(midRow)).shape[0];
sh=min(sh,U(midRow)).shape[1];
跳轉(zhuǎn)到步驟3;
else:
C-Canny算法找不到邊界信息,圖像質(zhì)量不理想,跳過(guò)并返回步驟1,繼續(xù)處理下一幀圖像。
步驟3 平移面部區(qū)域:
/*處理面部圖像區(qū)域,使其居中顯示,并擴(kuò)充2像素邊緣寬度*/
w=w-sw+1;
h=h-sh+1;
sw=sw-1;
sh=sh-1;
面部區(qū)域再定位算法的實(shí)際表現(xiàn)如圖5所示,其中圖5a為在訓(xùn)練集上基于pts文件獲得的面部圖像與定位結(jié)果,圖5b為在測(cè)試集上使用C-Canny算法處理后的面部圖像與定位結(jié)果。兩者均為基于面部邊界擴(kuò)充2像素的圖像,將這些圖像輸入到本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)中,都能夠較好地預(yù)測(cè)出面部特征點(diǎn)。
Figure 5 Relocation results on train dataset and predict dateset圖5 訓(xùn)練集數(shù)據(jù)與預(yù)測(cè)集上的定位結(jié)果
本文使用的實(shí)驗(yàn)數(shù)據(jù)是ibug網(wǎng)站提供的300-w[5]和300-vw[6]開(kāi)源數(shù)據(jù)集。在300-w數(shù)據(jù)集中,每一幀圖像都有著與之對(duì)應(yīng)的pts文件,它記錄著對(duì)應(yīng)圖像中的面部特征點(diǎn)坐標(biāo)。而在300-vw的數(shù)據(jù)集中,面部圖像是以avi格式的視頻流文件進(jìn)行存儲(chǔ)的,本文通過(guò)FFmpeg工具將每一組視頻流文件按幀分割成與pts文件一一對(duì)應(yīng)的圖像,總計(jì)得到了約22萬(wàn)個(gè)訓(xùn)練樣本,排除掉不能識(shí)別面部區(qū)域的圖像,最終得到了約20萬(wàn)個(gè)訓(xùn)練樣本。
特征點(diǎn)信息如圖6所示。
Figure 6 Landmarks of face圖6 面部特征點(diǎn)分布圖
本文采用的損失函數(shù)是均方誤差MSE(Mean Square Error),其定義如式(12)所示:
(12)
(13)
其中,yi是真實(shí)數(shù)據(jù),Yi是預(yù)測(cè)的數(shù)據(jù),wi為大于0的權(quán)重參數(shù)。在數(shù)理統(tǒng)計(jì)中,均方誤差是指參數(shù)估計(jì)值與參數(shù)真值之差平方的期望值,是衡量“平均誤差”的一種較方便的方法,可以評(píng)價(jià)數(shù)據(jù)的變化程度。MSE的值越小,說(shuō)明神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)具有越高的準(zhǔn)確性。
本文采用基于Tensorflow自定義的estimator框架進(jìn)行網(wǎng)絡(luò)訓(xùn)練,使用的編程語(yǔ)言是Python。因?yàn)橛?xùn)練樣本數(shù)多達(dá)20萬(wàn),為加速網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練速度,本文將實(shí)驗(yàn)樣本數(shù)據(jù)轉(zhuǎn)換為T(mén)FRecord文件類(lèi)型。該文件類(lèi)型采用的是tf.data數(shù)據(jù)格式,tf.data以并行輸入的方式進(jìn)行訓(xùn)練,達(dá)到加速I(mǎi)/O流的效果。訓(xùn)練樣本按3∶1∶1的比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,以提升網(wǎng)絡(luò)模型的魯棒性。實(shí)驗(yàn)環(huán)境為:NVIDIA 1066顯卡與Intel i5 8300 CPU。訓(xùn)練總次數(shù)為20萬(wàn)次,其中單次訓(xùn)練的隨機(jī)樣本數(shù)為512個(gè),并對(duì)輸入樣本采用0.2的舍棄因子,以避免過(guò)擬合的現(xiàn)象發(fā)生。
網(wǎng)絡(luò)訓(xùn)練過(guò)程中的損失函數(shù)時(shí)序值如圖7所示。在迭代訓(xùn)練5 000次以后,損失函數(shù)已經(jīng)處于0.01~0.06。雖然在17 000次有1次較為劇烈的波動(dòng),但是其值依然很低(0.07),仍是一個(gè)可以接受的范圍。
圖8為在數(shù)據(jù)集300-w和300-vw上,本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)與部分已有方法的實(shí)驗(yàn)結(jié)果對(duì)比。
與一些傳統(tǒng)方法(ESR,LBF等)相比,本文所設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)取得了更低的損失函數(shù)值(降低了22.3%),但與級(jí)聯(lián)型神經(jīng)網(wǎng)絡(luò)(CasCNN)相比,在total dataset上的損失函數(shù)值略高(7.49%)。原因在于本文網(wǎng)絡(luò)的訓(xùn)練過(guò)程中并未使用全集樣本進(jìn)行訓(xùn)練,而是采用隨機(jī)樣本訓(xùn)練的方法。該方法能夠較好地避免模型在訓(xùn)練期間出現(xiàn)過(guò)擬合現(xiàn)象,代價(jià)則是在全局預(yù)測(cè)階段使損失函數(shù)的值略高。本文設(shè)計(jì)的網(wǎng)絡(luò)與級(jí)聯(lián)型網(wǎng)絡(luò)在common dataset上的損失函數(shù)相持平(4.85%),出現(xiàn)這種現(xiàn)象的原因是:級(jí)聯(lián)型的網(wǎng)絡(luò)層基數(shù)較大,在訓(xùn)練過(guò)程中經(jīng)過(guò)多層的卷積、池化運(yùn)算,其損失函數(shù)在訓(xùn)練集上會(huì)呈現(xiàn)較低的結(jié)果值,但是該值不能作為評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)優(yōu)劣性的指標(biāo),因?yàn)槠錈o(wú)法等同于在測(cè)試集上也能取得較低的均方誤差值。從圖8本文網(wǎng)絡(luò)結(jié)構(gòu)與CasCNN在challenge dataset中的數(shù)據(jù)對(duì)比也可得出:本文網(wǎng)絡(luò)結(jié)構(gòu)在處理非訓(xùn)練集時(shí)更具準(zhǔn)確性與魯棒性,并且因使用的是單層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在訓(xùn)練難度上明顯優(yōu)于級(jí)聯(lián)型神經(jīng)網(wǎng)絡(luò),方便網(wǎng)絡(luò)模型后續(xù)更好地調(diào)參與優(yōu)化工作。
圖9a展示的是UVXYZ神經(jīng)網(wǎng)絡(luò)[11]的定位結(jié)果,圖9b是SAN神經(jīng)網(wǎng)絡(luò)[12]的定位結(jié)果。
Figure 9 Prediction results of UVXYZ and SAN圖9 UVXYZ神經(jīng)網(wǎng)絡(luò)和SAN神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果
圖10為本文方法的預(yù)測(cè)結(jié)果。與基于3D卷集核的UVXYZ神經(jīng)網(wǎng)絡(luò)[11]相比,本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)因使用的是2D卷集核,能夠避免圖像向高維空間轉(zhuǎn)換的時(shí)耗,提升了約15%的模型響應(yīng)速度,并且能夠準(zhǔn)確定位數(shù)目更多的面部特征點(diǎn)。當(dāng)處理面部有遮擋的圖像時(shí),使用SAN神經(jīng)網(wǎng)絡(luò)[12]會(huì)出現(xiàn)邊緣輪廓點(diǎn)定位不準(zhǔn)確的問(wèn)題,而本文的網(wǎng)絡(luò)結(jié)構(gòu)借助Canny算法進(jìn)行面部區(qū)域重定位,較好地避免了這種問(wèn)題的發(fā)生,并在均方誤差值上與SAN神經(jīng)網(wǎng)絡(luò)相比降低了約20%。
Figure 10 Prediction results of method in this paper圖10 本文方法預(yù)測(cè)結(jié)果
綜上所述,由本文設(shè)計(jì)的網(wǎng)絡(luò)模型訓(xùn)練20萬(wàn)次即可達(dá)到一個(gè)較為穩(wěn)定的結(jié)果,在面部特征點(diǎn)定位方面與現(xiàn)有的一些方法相比將均方誤差降到了0.028,并將準(zhǔn)確率提升了約15%。
進(jìn)一步的工作將繼續(xù)關(guān)注面部特征點(diǎn)定位研究,特別是對(duì)于3D卷積核的改進(jìn),不斷優(yōu)化本文的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),使其能夠準(zhǔn)確定位如高曝光、低暗度、高遮擋等極端條件下的面部特征點(diǎn)。最終將特征點(diǎn)定位與面部識(shí)別結(jié)合在一起,實(shí)現(xiàn)基于視頻流的活體檢測(cè)系統(tǒng)。