• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進(jìn)三維形變模型的三維人臉重建和密集人臉對(duì)齊方法

      2020-11-30 05:48:08黃章進(jìn)
      計(jì)算機(jī)應(yīng)用 2020年11期
      關(guān)鍵詞:人臉損失卷積

      周 健,黃章進(jìn)

      (中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)

      (?通信作者電子郵箱zhuang@ustc.edu.cn)

      0 引言

      基于單張人臉圖片的三維人臉重建和密集人臉對(duì)齊是計(jì)算機(jī)視覺(jué)和計(jì)算機(jī)圖形學(xué)領(lǐng)域一項(xiàng)具有挑戰(zhàn)性的任務(wù),在人臉識(shí)別、人臉動(dòng)畫、人臉表情遷移、人臉對(duì)齊等方面有著非常廣泛的應(yīng)用。傳統(tǒng)的二維人臉對(duì)齊方法在遇到大姿態(tài)人臉圖片和具有遮擋的人臉圖片時(shí)往往會(huì)受到很大的挑戰(zhàn),而通過(guò)從單張人臉圖片進(jìn)行三維人臉幾何重建可以很好地應(yīng)對(duì)這些挑戰(zhàn)。由于三維人臉網(wǎng)格模型強(qiáng)大的拓?fù)湫再|(zhì),三維人臉網(wǎng)格模型的數(shù)萬(wàn)個(gè)頂點(diǎn)都可以被視為密集三維人臉對(duì)齊可以使用的人臉特征點(diǎn)。傳統(tǒng)的三維人臉重建方法[1-3]主要是基于優(yōu)化方法,但這些方法通常優(yōu)化時(shí)間復(fù)雜度較高、耗時(shí)較長(zhǎng),且存在局部最優(yōu)解以及初始化不佳的問(wèn)題。在卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)出現(xiàn)之后,基于卷積神經(jīng)網(wǎng)絡(luò)的方法[4-5]在三維人臉重建以及密集人臉對(duì)齊方面取得了顯著的成功。這些方法通常使用CNN 來(lái)預(yù)測(cè)三維形變模型(3D Morphable Model,3DMM)[6]的系數(shù),顯著提高了三維人臉重建的質(zhì)量和效率?;诰矸e神經(jīng)網(wǎng)絡(luò)的方法通常需要大量的數(shù)據(jù)集,這些數(shù)據(jù)集采集往往代價(jià)較高,甚至在很多場(chǎng)景下無(wú)法實(shí)現(xiàn)。最近一些方法[5,7-8]使用合成數(shù)據(jù)進(jìn)行訓(xùn)練,也有例如300W-LP[4]這樣的公開(kāi)合成人臉數(shù)據(jù)集。但是通過(guò)合成方法生成的人臉圖片通常與真實(shí)圖片之間存在一定的差距,它們?cè)诒砬椤⒐庹?、背景方面缺乏多樣性,這往往導(dǎo)致訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型泛化性能較差。

      為了解決三維人臉重建數(shù)據(jù)集缺失的問(wèn)題,一些最近工作[5,9-11]使用弱監(jiān)督學(xué)習(xí)的方法,這些方法僅需要二維人臉圖片及其對(duì)應(yīng)的二維人臉特征點(diǎn)。使用此方法,經(jīng)過(guò)訓(xùn)練的三維人臉重建模型可以很好地進(jìn)行三維人臉重建以及密集三維人臉對(duì)齊?,F(xiàn)階段很容易獲得帶有二維人臉特征點(diǎn)的人臉圖片數(shù)據(jù)集,因此可以建立大量訓(xùn)練集以滿足卷積神經(jīng)網(wǎng)絡(luò)的需要。此外,這些二維人臉特征點(diǎn)也可以提供很有價(jià)值的人臉信息。目前使用弱監(jiān)督的三維人臉重建方法的關(guān)鍵是使用一種可微分渲染器將重建好的三維人臉渲染到像素層面,并且比較該渲染后圖片與輸入圖片之間的差異。例如Tewari等[5,10]使用渲染后圖片與輸入圖片在像素顏色之間的差異建立損失函數(shù);Genova 等[11]及Tran 等[9]使用人臉識(shí)別網(wǎng)絡(luò)來(lái)建立渲染后圖片與輸入圖片之間的損失。

      由于現(xiàn)在廣泛使用的3DMM 只是通過(guò)200 張人臉來(lái)建立,而且其中大部分都是白人。通過(guò)實(shí)驗(yàn)分析,發(fā)現(xiàn)目前的3DMM 訓(xùn)練出的模型會(huì)使人臉丟失很多細(xì)節(jié)信息;同時(shí)對(duì)于有色人種,重建的紋理質(zhì)量也會(huì)受到很大影響。為了緩解這一現(xiàn)象,本文設(shè)計(jì)了一個(gè)基于弱監(jiān)督學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型:將現(xiàn)有的3DMM 作為CNN 中全連接層的初始化權(quán)重,直接回歸出輸入人臉圖片對(duì)應(yīng)的三維人臉模型,從而可以從輸入人臉圖片進(jìn)行準(zhǔn)確的三維人臉重建和密集人臉對(duì)齊。同時(shí),本文設(shè)計(jì)了一個(gè)新的損失函數(shù),用于對(duì)學(xué)習(xí)到的三維人臉模型進(jìn)行光滑性約束以及更好地建立輸入人臉圖片和渲染圖片的相似性差異。本文主要有如下技術(shù)貢獻(xiàn):

      1)提出了一個(gè)端到端的弱監(jiān)督卷積神經(jīng)網(wǎng)絡(luò),用全連接層代替3DMM,并使用3DMM 模型參數(shù)作為初始化權(quán)重,對(duì)現(xiàn)有的3DMM進(jìn)行改進(jìn),有效地重建出更精準(zhǔn)的三維人臉模型。

      2)提出了一種新的損失函數(shù)。該損失函數(shù)對(duì)學(xué)習(xí)到的三維人臉模型進(jìn)行光滑性約束,并且使用輸入人臉圖片和渲染后圖片的結(jié)構(gòu)相似性(Structural SIMilarity,SSIM)作為損失。同時(shí),該損失函數(shù)對(duì)先前訓(xùn)練中具有較大損失值的特征點(diǎn)進(jìn)行強(qiáng)化訓(xùn)練。

      通過(guò)在AFLW2000-3D和AFLW-LFPA 數(shù)據(jù)集上和其他方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明本文的方法在三維人臉重建和密集人臉對(duì)齊兩方面都取得了更好的結(jié)果。

      1 相關(guān)研究

      1.1 三維人臉模型

      三維人臉模型是三維人臉重建中被廣泛使用的人臉模型。與點(diǎn)云相比,三維人臉模型能夠提供人臉形狀、表情以及紋理的先驗(yàn)知識(shí),而且可以將復(fù)雜的三維模型變?yōu)橐唤M三維模型的線性組合。因此就可以使用一組系數(shù)向量來(lái)表達(dá)重建的三維人臉模型。

      Cootes 等[12]引入主動(dòng)外觀模型(Active Appearance Model,AAM)作為二維形狀和紋理的統(tǒng)計(jì)變形模型。AAM是一種生成模型,在擬合過(guò)程中通過(guò)優(yōu)化來(lái)恢復(fù)某一對(duì)象的參數(shù)描述;作為二維AAM 的擴(kuò)展,Blanz 等[6]引入了3DMM。使用主成分分析(Principal Component Analysis,PCA)分解幾何和紋理信息,這有效地減少了形狀和紋理空間尺寸;后來(lái),Gerig 等[13]對(duì)3DMM 進(jìn)行了擴(kuò)展,在3DMM 中加入了表情;Booth 等[14]給出了9 663 個(gè)不同人臉特征的大規(guī)模人臉模型(Large Scale Face Model,LSFM),這個(gè)模型包含了來(lái)自大量不同人群的統(tǒng)計(jì)信息;Tran 等[15]提出了一種非線性三維人臉形變模型,直接從大量的無(wú)約束人臉圖像中訓(xùn)練出一個(gè)非線性三維形變模型,而不需要采集三維人臉掃描圖像。本文使用3DMM 作為初始化的人臉模型,并使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)3DMM進(jìn)行改進(jìn)。

      1.2 三維人臉重建

      單目三維人臉重建方法通常分為兩大類:基于優(yōu)化的方法和基于回歸的方法。基于優(yōu)化的方法通常建立能量函數(shù)來(lái)描述圖像的一些自然過(guò)程。許多方法使用明暗恢復(fù)形狀(Shape-From-Shading,SFS)[1,16]或光流(Optical Flow,OF)[2]來(lái)模擬圖像信息。這類方法的主要缺點(diǎn)是計(jì)算復(fù)雜度高,重建速度慢;同時(shí),優(yōu)化方法對(duì)初始化非常敏感,且需要精確的二維特征點(diǎn)檢測(cè)[17-18]。

      近年來(lái),基于回歸的方法出現(xiàn)頻率不斷增加[4-5,19-20]。特別是卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)以后,許多方法都基于卷積神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)[4-5,7,9,21]。卷積神經(jīng)網(wǎng)絡(luò)通常需要輸入大量數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練。然而,目前三維人臉數(shù)據(jù)集通常較小,因此此前的方法主要分為使用合成數(shù)據(jù)[7-8,22-23]和使用弱監(jiān)督[5,10-11,15,24]來(lái)代替。但是,合成人臉圖片和真實(shí)人臉圖片之間通常會(huì)有很大差異。這會(huì)導(dǎo)致模型的泛化能力顯著下降,往往在真實(shí)人臉圖片上測(cè)試效果不理想。因此,當(dāng)前大多數(shù)方法都采用了弱監(jiān)督學(xué)習(xí)的方法,不需要人臉圖片對(duì)應(yīng)的三維人臉模型標(biāo)簽。

      Richardson 等[7]使用三維形變模型生成不同形狀、表情以及紋理的圖像,然后將其渲染成二維圖像,這樣就得到了真實(shí)三維人臉模型標(biāo)簽的圖像來(lái)進(jìn)行網(wǎng)絡(luò)訓(xùn)練;但是這有一定局限性,主要是合成人臉圖像和真實(shí)人臉圖像之間存在一定差距。Tewari 等[5]訓(xùn)練了一個(gè)自編碼器網(wǎng)絡(luò)來(lái)回歸形狀、表情、紋理、姿態(tài)以及光照,利用回歸得到的參數(shù)生成三維人臉模型,然后利用可微分渲染器將三維人臉模型渲染到二維平面上。通過(guò)將輸入人臉圖像與渲染后人臉圖像進(jìn)行比較,建立損失函數(shù)。這種方法不需要二維圖像對(duì)應(yīng)的三維人臉模型標(biāo)簽,結(jié)果明顯優(yōu)于使用合成數(shù)據(jù)訓(xùn)練的模型。Richardson等[25]將明暗恢復(fù)形狀融入學(xué)習(xí)過(guò)程中,以學(xué)習(xí)更詳細(xì)的細(xì)節(jié)信息。Jackson 等[21]訓(xùn)練了一個(gè)卷積神經(jīng)網(wǎng)絡(luò)來(lái)直接從一張二維圖像中還原三維面部幾何的體素表示,這是一種無(wú)模型的方法,不需要三維人臉形變模型。Feng 等[26]訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)從單個(gè)二維圖像中回歸UV 位置圖,得到相應(yīng)的三維面部結(jié)構(gòu),該方法也不依賴于任何先驗(yàn)人臉模型。Deng 等[24]使用了同一個(gè)人的多張圖片進(jìn)行訓(xùn)練,多張圖片可以從不同視角補(bǔ)充信息,具有防遮擋的優(yōu)點(diǎn)。Shi等[27]通過(guò)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),從游戲中的面部圖像重建出相匹配的卡通人臉模型。Chang 等[28]使用了三個(gè)深層卷積神經(jīng)網(wǎng)絡(luò),分別從一張人臉圖片估計(jì)出三維人臉形狀、視角和表情。這些方法大多數(shù)使用3DMM 作為三維人臉模型。但是3DMM 只是建立在少量人臉圖片上,且人種單一。這導(dǎo)致訓(xùn)練出來(lái)的3DMM 模型易丟失細(xì)節(jié)信息,同時(shí)不易泛化到其他有色人種?;诖耍疚膶?DMM 作為全連接層的初始化權(quán)重并設(shè)計(jì)了一個(gè)基于弱監(jiān)督學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò),從而可以對(duì)輸入人臉圖片進(jìn)行準(zhǔn)確的三維人臉重建,取得更好的效果。

      1.3 密集人臉對(duì)齊

      在計(jì)算機(jī)視覺(jué)領(lǐng)域,人臉對(duì)齊問(wèn)題長(zhǎng)期以來(lái)吸引了很多關(guān)注。傳統(tǒng)的二維人臉對(duì)齊方法主要是定位一組稀疏的人臉關(guān)鍵點(diǎn),比如說(shuō)AAM[12]以及約束局部模型(Constrained Local Model,CLM)[29]。近年來(lái),隨著深度學(xué)習(xí)的不斷發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的方法[30-31]在二維人臉對(duì)齊方面取得了最先進(jìn)的性能。但是二維人臉對(duì)齊有一定局限性,它們通常只能檢測(cè)人臉上可見(jiàn)的特征點(diǎn),因此當(dāng)人臉的姿態(tài)較大或者出現(xiàn)遮擋時(shí),一些人臉特征點(diǎn)變得不可見(jiàn),這些方法便無(wú)法處理。

      最近,學(xué)者們開(kāi)始研究三維人臉對(duì)齊,主要是使用3DMM進(jìn)行擬合[4,32-33]或者是將2D 人臉圖像和3D 人臉模板進(jìn)行匹配[34-35]?;谀P偷娜S重建方法可以通過(guò)選擇三維重建模型中的x、y 坐標(biāo)來(lái)實(shí)現(xiàn)二維的人臉對(duì)齊任務(wù)。文獻(xiàn)[4,36]均使用特定的方法來(lái)對(duì)3DMM 進(jìn)行擬合來(lái)完成人臉對(duì)齊任務(wù)。文獻(xiàn)[37-38]使用深度神經(jīng)網(wǎng)絡(luò)直接預(yù)測(cè)熱力圖來(lái)獲得三維人臉特征點(diǎn),并且實(shí)現(xiàn)了較為先進(jìn)的性能。文獻(xiàn)[20,39-40]對(duì)于3DMM 的系數(shù)進(jìn)行估計(jì),然后將估計(jì)出的三維人臉特征點(diǎn)投影到二維空間中,這樣可以顯著提高效率。近些年來(lái),密集人臉對(duì)齊任務(wù)開(kāi)始受到越來(lái)越多的關(guān)注,目標(biāo)是實(shí)現(xiàn)大姿態(tài)人臉圖像的密集三維對(duì)齊。Liu 等[41]使用多重約束來(lái)訓(xùn)練CNN模型,估計(jì)3DMM的系數(shù),可以實(shí)現(xiàn)密集的三維估計(jì)。文獻(xiàn)[36,42]利用深度卷積神經(jīng)網(wǎng)絡(luò)在只考慮可見(jiàn)區(qū)域的情況下學(xué)習(xí)二維人臉圖像和三維模板之間的關(guān)系。

      這些方法通常僅在特征點(diǎn)處建立損失函數(shù),而忽略像素層面的信息。本文的方法綜合了特征點(diǎn)和像素層面的信息,并且使用了SSIM 作為損失函數(shù)來(lái)衡量輸入人臉圖片和渲染后圖片的相似性。實(shí)驗(yàn)表明,本文方法取得了更好的效果。

      2 算法設(shè)計(jì)

      本章主要介紹提出的三維人臉重建算法模型。整體流程如圖1 所示,它的目的是訓(xùn)練一個(gè)卷積神經(jīng)網(wǎng)絡(luò)回歸模型?;貧w模型輸入一張224×224×3大小的人臉圖片以及其對(duì)應(yīng)的二維人臉特征點(diǎn)信息,經(jīng)過(guò)VGG-16[43]回歸出人臉的3DMM 系數(shù)、相機(jī)參數(shù)以及球諧光照系數(shù),隨后通過(guò)兩個(gè)全連接層對(duì)三維人臉模型的形狀和紋理進(jìn)行改進(jìn)。通過(guò)加入球諧光照重建出對(duì)應(yīng)的三維人臉模型,隨后使用全透視投影經(jīng)過(guò)一個(gè)可微分渲染器將重建出的三維人臉模型渲染到二維平面上,建立特征點(diǎn)、像素空間和人臉光滑性損失函數(shù)。最后通過(guò)反向傳播訓(xùn)練整體網(wǎng)絡(luò)。

      圖1 三維人臉重建算法流程Fig.1 Flowchart of 3D face reconstruction algorithm

      2.1 人臉模型

      由于人臉比較復(fù)雜,很難直接回歸出三維人臉模型,因此現(xiàn)階段學(xué)者們廣泛使用3DMM 來(lái)進(jìn)行三維人臉重建。3DMM不僅能夠保證人臉重建中不會(huì)出現(xiàn)非人臉的情況,也可以建立不同臉型之間的對(duì)應(yīng)關(guān)系。但是目前通常使用的三維形變模型BFM09(2009 Basel Face Model)[6]存在訓(xùn)練數(shù)據(jù)少、數(shù)據(jù)集中人臉多樣性不足等缺點(diǎn),導(dǎo)致重建質(zhì)量不佳、人臉易丟失細(xì)節(jié)。

      為解決人臉模型不能反映足夠的人臉細(xì)節(jié)這一問(wèn)題,本文對(duì)現(xiàn)有的3DMM 進(jìn)行改進(jìn)。由于三維形變模型的實(shí)質(zhì)是一個(gè)多維的三維形變函數(shù),它是基于大量的三維人臉的掃描模型的線性組合,因此三維形變模型可以看作一個(gè)線性模型,這和神經(jīng)網(wǎng)絡(luò)中全連接層的結(jié)構(gòu)是一致的。本文將參數(shù)與3DMM 進(jìn)行結(jié)合、重建出三維人臉這一過(guò)程看作一個(gè)全連接層操作,通過(guò)在全連接層中引入更多參數(shù),并且使用已有的3DMM 模型作為初始化參數(shù),進(jìn)而使得人臉模型更加符合真實(shí)人臉的分布。

      本方法采用參數(shù)化的三維人臉幾何模型S={si∈R3|1 ≤i ≤N}作為初始的人臉幾何模型,其中N=35 709為頂點(diǎn)個(gè)數(shù)。同時(shí)采用參數(shù)化的人臉紋理模型T={ti∈R3|1 ≤i ≤N}作為初始的人臉紋理模型。如式(1)所示:

      通過(guò)建立兩個(gè)全連接層FCshape和FCtexture來(lái)對(duì)現(xiàn)有的人臉形狀和紋理的PCA 基進(jìn)行改進(jìn)。全連接層FCshape的大小為199×107 127,輸入為199 和3DMM 中人臉形狀的PCA 基的個(gè)數(shù)一致,輸出107 127 為頂點(diǎn)的個(gè)數(shù)35 709 乘以3,并使用3DMM 中人臉形狀的PCA 基Eshape作為初始化權(quán)重,從而得到改進(jìn)的人臉形狀Snew_shape。同理,全連接層FCtexture的大小為199×107 127,使用3DMM 中人臉紋理的PCA 基Etex作為初始化權(quán)重,得到改進(jìn)的人臉紋理模型Tnew_texture。最終的三維人臉重建結(jié)果如式(2)所示:

      2.2 相機(jī)模型

      相機(jī)模型用于將人臉網(wǎng)格模型從三維空間轉(zhuǎn)化到二維平面。和文獻(xiàn)[11]相同,本文使用全透視投影模型。相機(jī)在世界坐標(biāo)系中的位置和方向由旋轉(zhuǎn)矩陣R ∈SO(3)(三維旋轉(zhuǎn)群)和平移向量m ∈R3來(lái)表示,如式(3)所示:

      其中:p ∈R3為頂點(diǎn)在世界坐標(biāo)系下的坐標(biāo),q ∈R2為頂點(diǎn)在圖像平面的坐標(biāo),Π:R3→R2為全透視投影模型將相機(jī)坐標(biāo)系變?yōu)橄袼仄矫孀鴺?biāo)系。

      2.3 光照模型

      本方法假設(shè)光照是低頻的,并且將人臉表面近似看作一個(gè)蘭伯特曲面。基于這兩個(gè)假設(shè),本文使用球諧函數(shù)[45]來(lái)表示光照。頂點(diǎn)顏色C(ti,ni,γ)由網(wǎng)格頂點(diǎn)紋理ti∈R3、網(wǎng)格頂點(diǎn)法向量ni∈R3和光照系數(shù)γ ∈R27來(lái)計(jì)算,如式(4)所示:

      其中Hb:R3→R 是球諧基函數(shù),γ={rb∈R3|1 ≤b ≤B2}是對(duì)應(yīng)的光照系數(shù)。本文使用前三階B=3。

      2.4 網(wǎng)絡(luò)模型

      本文提出的三維人臉重建模型主要包括兩個(gè)模塊:一個(gè)是基于卷積神經(jīng)網(wǎng)絡(luò)的回歸模塊,將一張人臉圖片輸入卷積神經(jīng)網(wǎng)絡(luò),回歸出對(duì)應(yīng)的三維人臉的3DMM 系數(shù)、球諧光照參數(shù)以及相機(jī)模型參數(shù);另一個(gè)是三維形變模型改進(jìn)模塊,以現(xiàn)有的3DMM 作為全連接層的初始化權(quán)重,直接回歸出三維人臉模型的形狀和紋理。

      本方法采用VGG-16[43]作為回歸模塊?;貧w模塊的輸入為一張224×224大小的RGB人臉圖片。要回歸的三維人臉參數(shù)x ∈R495包含3DMM 形狀參數(shù)α ∈R199、3DMM 紋理參數(shù)β ∈R199、3DMM 表情參數(shù)δ ∈R64、相機(jī)旋轉(zhuǎn)R ∈SO(3)、相機(jī)平移m ∈R3以及球諧光照參數(shù)γ ∈R27如式(5)所示:

      編碼器包含13 個(gè)卷積層,每個(gè)卷積層后都接著一個(gè)ReLU(Rectified Linear Unit)激活層。在第2、4、7、10 以及13卷積層后接著最大池化層。卷積層后面跟著三個(gè)全連接層,大小分別為4 096、4 096和495。

      三維形變模型改進(jìn)模塊包含兩個(gè)全連接層,分別連接在α 和β 參數(shù)的后面,大小分別為199×107 127 和199×107 127。分別使用3DMM 中人臉形狀和紋理的PCA 基作為初始化權(quán)重。

      2.5 損失函數(shù)

      本文設(shè)計(jì)了一種新的損失函數(shù)。該損失函數(shù)不僅考慮到特征點(diǎn)和像素空間的信息,而且對(duì)于學(xué)習(xí)到的三維人臉模型進(jìn)行了光滑性約束,有效提升了重建的質(zhì)量。新的損失函數(shù)包含六項(xiàng),如式(6)所示:

      其中:Lland(x)和Lland_error(x)為特征點(diǎn)對(duì)齊的損失函數(shù)和特征點(diǎn)增強(qiáng)訓(xùn)練的損失函數(shù),Lphoto(x)為原圖和三維人臉渲染圖片像素之間差異的損失函數(shù),Lssim(x)為原圖和三維人臉渲染圖片之間SSIM 的損失函數(shù),Lsmooth(x)為三維人臉模型光滑性約束損失函數(shù),Lreg(x)是正則化項(xiàng)損失函數(shù)。為了平衡各個(gè)部分的損失函數(shù),本方法將權(quán)重設(shè)置為ωland=400、ωland_error=2 000、ωphoto=100、ωssim=2、ωsmooth=50以及ωreg=1。2.5.1 特征點(diǎn)損失函數(shù)

      本方法將二維人臉圖片的特征點(diǎn)作為一種弱監(jiān)督信息來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),同時(shí)使用現(xiàn)階段比較先進(jìn)的人臉特征點(diǎn)檢測(cè)算法[38]來(lái)檢測(cè)訓(xùn)練集中人臉圖片的68 個(gè)關(guān)鍵點(diǎn)。損失函數(shù)Lland(x)如式(7)所示:

      其中wi為特征點(diǎn)對(duì)應(yīng)的權(quán)重。固定的52 個(gè)特征點(diǎn)權(quán)重為1,16 個(gè)輪廓特征點(diǎn)的權(quán)重為0.5,固定特征點(diǎn)和輪廓特征點(diǎn)的選取如圖2 所示,其中人臉中間顯示實(shí)心菱形的52 個(gè)點(diǎn)為固定特征點(diǎn),人臉邊界顯示空心菱形的16 個(gè)點(diǎn)為輪廓特征點(diǎn)。是人臉二維特征點(diǎn)的真實(shí)標(biāo)簽,ki∈{1,2,…,N}是對(duì)應(yīng)的三維人臉模型頂點(diǎn)索引,vki是重建出的三維人臉模型投影到像素平面的坐標(biāo)。

      圖2 人臉特征點(diǎn)示意圖Fig.2 Schematic diagram of facial feature points

      為了加強(qiáng)訓(xùn)練那些誤差相對(duì)較大的特征點(diǎn),在第5 次迭代后,加入損失函數(shù)Lland_error(x)如式(8)所示:

      其中ei為固定的52 個(gè)特征點(diǎn)分別在上一個(gè)迭代中訓(xùn)練中的平均誤差。

      2.5.2 像素?fù)p失函數(shù)

      像素?fù)p失函數(shù)Lphoto(x)的目標(biāo)是使渲染后的圖像和輸入圖像盡可能相近,將重建好的三維人臉模型渲染到像素空間上,和輸入單目人臉圖片進(jìn)行對(duì)齊。為了將三維人臉模型渲染到二維平面上,本方法使用了可微分渲染器[11]。將渲染圖片與輸入單目人臉圖片進(jìn)行匹配,比較它們?cè)谙袼乜臻g的相似性。損失函數(shù)Lphoto(x)如式(9)所示:

      其中:V 為像素平面上所有經(jīng)過(guò)投影得到的人臉區(qū)域像素點(diǎn)的集合,n 為V 中像素點(diǎn)的個(gè)數(shù),Ii為輸入的單目人臉圖片在i位置的顏色,Ii'為將三維人臉模型渲染到像素空間后得到的圖像在i位置的顏色。

      2.5.3 SSIM損失函數(shù)

      SSIM 損失函數(shù)的目標(biāo)是保障輸入圖像和渲染圖像的結(jié)構(gòu)相似性。通過(guò)添加SSIM 損失函數(shù),可以更好地重建三維人臉模型的紋理。損失函數(shù)Lssim(x)如式(10)所示:

      2.5.4 三維人臉光滑性約束

      為了防止三維人臉重建的結(jié)果出現(xiàn)面片翻轉(zhuǎn)、表面粗糙等情況,本文引入了三維人臉的光滑性約束,來(lái)保證重建出的三維人臉模型形狀光滑。損失函數(shù)Lsmooth(x)如式(11)所示:

      其中:N為三維人臉模型的頂點(diǎn)個(gè)數(shù),di為三維人臉模型第i個(gè)頂點(diǎn)的度,Adjj為三維人臉模型第j個(gè)頂點(diǎn)的鄰居索引的集合,vi為三維人臉模型第i個(gè)頂點(diǎn)的坐標(biāo)。

      2.5.5 正則化項(xiàng)

      在訓(xùn)練過(guò)程中,為了防止訓(xùn)練過(guò)程中出現(xiàn)三維人臉形狀和表情變形,本方法在回歸的3DMM 系數(shù)上加入正則化項(xiàng)的損失,它能夠讓預(yù)測(cè)得到3DMM 的系數(shù)強(qiáng)制滿足先驗(yàn)的正態(tài)分布。損失函數(shù)Lreg(x)如式(12)所示:

      其中:ωα=2 × 10-5,ωβ=2 × 10-2,ωδ=4 × 10-4。

      3 實(shí)驗(yàn)結(jié)果與分析

      在一些真實(shí)的人臉圖片和數(shù)據(jù)集上測(cè)試本方法在三維人臉重建和密集人臉對(duì)齊上的性能。首先,介紹實(shí)驗(yàn)的訓(xùn)練細(xì)節(jié)和測(cè)試數(shù)據(jù)集;然后,展示本方法和其他方法進(jìn)行比較的實(shí)驗(yàn)結(jié)果;最后,給出是否使用3DMM 改進(jìn)模塊和是否在損失函數(shù)中使用三維人臉光滑性約束的消融實(shí)驗(yàn)。

      3.1 實(shí)驗(yàn)細(xì)節(jié)

      Bulat 等[38]的方法可以檢測(cè)出較為粗糙的68 個(gè)完整特征點(diǎn),但是當(dāng)人臉圖片中人臉角度較大時(shí),可能會(huì)出現(xiàn)特征點(diǎn)檢測(cè)誤差較大的情況。因此本文對(duì)人臉角度超過(guò)45°的人臉圖片手動(dòng)進(jìn)行篩選,過(guò)濾掉特征點(diǎn)誤差較大的圖片,本方法從CelebA[46]和300W-LP中選取了共約250 000張人臉圖片(如圖3 所示)用于訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),并對(duì)這些圖片進(jìn)行數(shù)據(jù)增強(qiáng)。數(shù)據(jù)增強(qiáng)包括圖片翻轉(zhuǎn)、圖片隨機(jī)旋轉(zhuǎn)以及模擬光照。圖片翻轉(zhuǎn)為對(duì)圖片進(jìn)行水平翻轉(zhuǎn),在訓(xùn)練過(guò)程中對(duì)于圖片進(jìn)行隨機(jī)選擇是否進(jìn)行翻轉(zhuǎn)操作,是否翻轉(zhuǎn)操作的概率均為50%。圖片旋轉(zhuǎn)操作是對(duì)人臉圖片基于中心點(diǎn)按照順時(shí)針?lè)较蛐D(zhuǎn)-30°~30°、旋轉(zhuǎn)角度為-30°~30°的均勻分布。此外,為了降低光照對(duì)于人臉圖片的影響,本方法對(duì)于訓(xùn)練集中的人臉圖片進(jìn)行模擬光照操作。模擬光照操作對(duì)人臉圖片的顏色通道RGB 隨機(jī)乘上0.7~1.3,三個(gè)通道獨(dú)立操作,概率分布為滿足從0.7~1.3的均勻分布。

      卷積神經(jīng)網(wǎng)絡(luò)的輸入圖片大小為224×224×3。在卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,批量大小為16,學(xué)習(xí)器為Adam 優(yōu)化器[47],初始學(xué)習(xí)率為1× 10-5,在5個(gè)迭代之后衰減到1× 10-6。

      對(duì)于損失函數(shù)Lloss(x),特征點(diǎn)損失項(xiàng)、像素?fù)p失項(xiàng)以及SSIM 損失項(xiàng)提供了弱監(jiān)督的信息來(lái)幫助神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,它們是較強(qiáng)的損失項(xiàng),這三個(gè)損失項(xiàng)的數(shù)值越小,說(shuō)明現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練集上的表現(xiàn)越好。經(jīng)過(guò)實(shí)驗(yàn)研究發(fā)現(xiàn):特征點(diǎn)、像素以及SSIM 損失項(xiàng)的數(shù)值比為2∶2∶1 時(shí)能保證三項(xiàng)損失之間的平衡,效果最好,因此本文選擇ωland=400、ωland_error=2 000、ωphoto=100 以及ωssim=2。但這三個(gè)損失項(xiàng)的數(shù)值越小并不代表訓(xùn)練出的卷積神經(jīng)網(wǎng)絡(luò)模型表達(dá)能力越好,因?yàn)榭赡軐?dǎo)致過(guò)擬合的問(wèn)題,因此本文在損失函數(shù)中加入懲罰項(xiàng)來(lái)進(jìn)行約束。懲罰項(xiàng)過(guò)大,會(huì)導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)模型陷入欠擬合;而懲罰項(xiàng)過(guò)小,會(huì)導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)陷入過(guò)擬合。因此經(jīng)過(guò)實(shí)驗(yàn)分析,本文在選擇ωsmooth=50 以及ωreg=1 時(shí)效果最好。

      圖3 訓(xùn)練集中部分真實(shí)場(chǎng)景人臉圖片F(xiàn)ig.3 Some real scene face images in the training set

      3.2 測(cè)試數(shù)據(jù)集

      AFLW2000-3D 是通過(guò)選擇AFLW 數(shù)據(jù)集中前2 000 張圖片構(gòu)建的。每張人臉圖片有對(duì)應(yīng)的3DMM 系數(shù)以及68 個(gè)三維人臉特征點(diǎn)位置。本文使用這個(gè)數(shù)據(jù)集來(lái)驗(yàn)證三維人臉重建以及密集人臉對(duì)齊的效果。

      AFLW-LFPA[48]是AFLW 數(shù)據(jù)集的另外一個(gè)擴(kuò)展,它是根據(jù)人臉姿態(tài)從AFLW 中選擇圖像構(gòu)建的。它包含1 299 張測(cè)試圖像,具有平衡的偏航角分布。每張人臉圖片都有34 個(gè)人臉關(guān)鍵點(diǎn)。本文使用這個(gè)數(shù)據(jù)集來(lái)評(píng)估模型在密集人臉對(duì)齊任務(wù)上的性能。

      3.3 密集人臉對(duì)齊結(jié)果

      作為三維人臉重建的應(yīng)用,本實(shí)驗(yàn)首先驗(yàn)證本方法在ALFW2000-3D上的效果,效果如圖4所示,其中第一行為輸入圖片,第二行為密集人臉對(duì)齊效果。為了將本方法和其他相關(guān)方法進(jìn)行比較,本實(shí)驗(yàn)采用歸一化平均誤差(Normalized Mean Error,NME)[4]來(lái)作為評(píng)價(jià)算法性能的指標(biāo)。歸一化平均誤差是根據(jù)人臉包圍盒的大小進(jìn)行歸一化,如式(13)所示:

      其中:T 為點(diǎn)的個(gè)數(shù),d 為人臉真實(shí)的包圍盒長(zhǎng)寬之積的平方根,計(jì)算公式為分別為預(yù)測(cè)的點(diǎn)坐標(biāo)和測(cè)試集上的標(biāo)簽。

      本實(shí)驗(yàn)采用68 個(gè)稀疏的特征點(diǎn)來(lái)進(jìn)行衡量密集人臉對(duì)齊效果,68 個(gè)稀疏的特征點(diǎn)可以看作是密集人臉特征點(diǎn)的一個(gè)采樣。本實(shí)驗(yàn)采用歸一化平均誤差分別在AFLW2000-3D和AFLW-LFPA[48]上和其他方法進(jìn)行比較。由于AFLW2000-3D 中人臉偏航角的分布不均勻,因此為了使得偏航角的絕對(duì)值在[0°,30°]、(30°,60°]以及(60°,90°]上均勻分布,本文和文獻(xiàn)[4]一樣,隨機(jī)從AFLW2000-3D 選擇696 張人臉圖片進(jìn)行測(cè)試,使得各個(gè)角度的人臉圖片比例為1∶1∶1。

      圖4 密集人臉對(duì)齊效果Fig.4 Results of dense face alignment

      表1 展示了本方法和其他方法在AFLW2000-3D(68 個(gè)特征點(diǎn))和AFLW-LFPA(34 個(gè)特征點(diǎn))上的比較結(jié)果。評(píng)判標(biāo)準(zhǔn)使用歸一化平均誤差(%)。在AFLW2000-3D 中,分別計(jì)算偏航角的絕對(duì)值在[0°,30°]、(30°,60°]和(60°,90°]度的歸一化平均誤差以及所有圖片上的歸一化平均誤差。在AFLW-LFPA[48]上使用所有圖片上的歸一化平均誤差。歸一化平均誤差越小,人臉對(duì)齊的效果越好。相關(guān)方法的數(shù)據(jù)信息都從相關(guān)論文中直接獲取,“—”表示沒(méi)有相應(yīng)的數(shù)據(jù)。從表中可以看出,本方法在ALFW2000-3D 和AFLW-LFPA 這兩個(gè)數(shù)據(jù)集上都展現(xiàn)出了比其他方法更低的歸一化平均誤差,同時(shí)在不同的人臉姿態(tài)中也展現(xiàn)了很好的魯棒性,這表明本方法可以很好地對(duì)大姿態(tài)的人臉圖片進(jìn)行密集人臉對(duì)齊。

      表1 密集人臉對(duì)齊歸一化平均誤差結(jié)果 單位:%Tab.1 NME results of dense face alignment unit:%

      3.4 三維人臉重建結(jié)果

      本實(shí)驗(yàn)在AFLW2000-3D 上測(cè)試了所提方法的三維人臉重建效果,并將結(jié)果與3DDFA[4]以及DeFA[41]進(jìn)行比較。如圖5所示。首先,使用迭代最近點(diǎn)(Iterative Closest Point,ICP)來(lái)將預(yù)測(cè)的三維人臉和真實(shí)的三維點(diǎn)云標(biāo)簽進(jìn)行對(duì)齊;然后,計(jì)算點(diǎn)云之間的均方誤差(Mean Square Error,MSE);隨后,使用包圍盒大小進(jìn)行歸一化,來(lái)得到歸一化平均誤差。表2 展示了本文方法和其他方法的比較結(jié)果,評(píng)判標(biāo)準(zhǔn)使用歸一化平均誤差(%),其中,歸一化平均誤差越小,三維人臉重建效果越好。由表中可以得出,本方法的歸一化平均誤差比3DDFA低0.18,比DeFA 低2.08。因此本方法展示出了更好的效果。

      圖5 三維人臉重建效果Fig.5 Results of 3D face reconstruction

      表2 三維人臉重建歸一化平均誤差結(jié)果 單位:%Tab.2 NME results of 3D face reconstruction unit:%

      3.5 消融實(shí)驗(yàn)

      為了驗(yàn)證不同模塊對(duì)實(shí)驗(yàn)效果的影響,本文分為兩個(gè)部分進(jìn)行消融實(shí)驗(yàn):第一個(gè)部分為是否添加3DMM 改進(jìn)模塊;第二個(gè)部分為是否在損失函數(shù)中使用三維人臉光滑性約束的損失項(xiàng)。

      3.5.1 是否改進(jìn)3DMM

      表3 展示了是否添加3DMM 改進(jìn)模塊在AFLW2000-3D數(shù)據(jù)集上的比較結(jié)果,其中“不改進(jìn)3DMM”表示不使用3DMM 改進(jìn)模塊,“改進(jìn)3DMM”表示使用3DMM 改進(jìn)模塊,“對(duì)齊NME”表示在密集人臉對(duì)齊上的NME,“重建NME”表示在三維人臉重建上的NME。從表3 中可以看出,對(duì)于密集人臉對(duì)齊,添加了3DMM 改進(jìn)模塊之后,在AFLW2000-3D 數(shù)據(jù)集上歸一化平均誤差降低了0.39,這說(shuō)明3DMM 改進(jìn)模塊起到了明顯的效果。在三維人臉重建方面,添加了3DMM 改進(jìn)模塊之后歸一化平均誤差降低了0.06。這說(shuō)明改進(jìn)3DMM在三維人臉重建和密集人臉對(duì)齊兩方面都起到了關(guān)鍵的作用,改進(jìn)了3DMM之后,效果有了明顯的提升。

      表3 是否改進(jìn)3DMM的歸一化平均誤差結(jié)果 單位:%Tab.3 NME results before and after 3DMM improvement unit:%

      3.5.2 是否使用三維人臉光滑性約束

      在損失函數(shù)中添加三維人臉光滑性約束保障了重建出的三維模型局部光滑,這會(huì)對(duì)三維人臉重建產(chǎn)生較大影響,而對(duì)密集人臉對(duì)齊影響較小,因此本實(shí)驗(yàn)主要分析是否添加光滑性約束對(duì)三維人臉重建的影響。圖6 展示了是否添加三維人臉光滑性約束的效果??梢钥闯?,當(dāng)未使用三維人臉光滑性約束時(shí),重建出的三維人臉模型出現(xiàn)了面片翻轉(zhuǎn)、表面粗糙的情況,重建的質(zhì)量不佳;在添加光滑性約束后,效果有了明顯提升。這說(shuō)明三維人臉光滑性約束起到了至關(guān)重要的作用。

      圖6 是否使用三維人臉光滑性約束重建效果Fig.6 3D face reconstruction results with and without 3D face smoothness constraint

      4 結(jié)語(yǔ)

      本文提出了一個(gè)基于弱監(jiān)督學(xué)習(xí)的端到端的卷積神經(jīng)網(wǎng)絡(luò)模型,用于從單張人臉圖片進(jìn)行三維人臉重建和密集人臉對(duì)齊。通過(guò)將現(xiàn)有的3DMM 模型作為卷積神經(jīng)網(wǎng)絡(luò)全連接層的一部分,本文對(duì)現(xiàn)有的3DMM 模型進(jìn)行改進(jìn),有效地重建出更精準(zhǔn)的三維人臉模型,提高了模型的泛化能力。本文設(shè)計(jì)了一個(gè)新的損失函數(shù),通過(guò)對(duì)學(xué)習(xí)到的三維人臉模型加入光滑性約束,并且使用輸入人臉圖片和渲染后圖片的SSIM 作為損失,有效地提升了重建質(zhì)量。同時(shí)本文的方法在不同的人臉姿態(tài)中都展現(xiàn)了很好的魯棒性,可以對(duì)大姿態(tài)的人臉圖片有效地進(jìn)行三維人臉重建和密集人臉對(duì)齊。在AFLW2000-3D 和AFLW-LFPA 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文的方法在三維人臉重建和密集人臉對(duì)齊方面均優(yōu)于以前的方法。在未來(lái)工作中,將繼續(xù)改進(jìn)三維人臉模型以重建出更詳細(xì)的面部信息,例如胡須、痣和皺紋等。

      猜你喜歡
      人臉損失卷積
      少問(wèn)一句,損失千金
      基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
      有特點(diǎn)的人臉
      胖胖損失了多少元
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      三國(guó)漫——人臉解鎖
      基于傅里葉域卷積表示的目標(biāo)跟蹤算法
      一般自由碰撞的最大動(dòng)能損失
      馬面部與人臉相似度驚人
      山阴县| 郯城县| 深州市| 荃湾区| 山丹县| 中宁县| 濮阳县| 镇平县| 营山县| 西藏| 赤峰市| 上杭县| 襄汾县| 永吉县| 仙居县| 容城县| 游戏| 大埔区| 孟津县| 贵阳市| 普安县| 巴林右旗| 中阳县| 建阳市| 商水县| 通海县| 永吉县| 阳春市| 平江县| 陆河县| 三台县| 恩施市| 舞阳县| 大足县| 密山市| 改则县| 桐柏县| 奉节县| 行唐县| 治县。| 阿拉善右旗|