用深度學(xué)習(xí)快速人臉建模
簡介
臉部建模一直是計算機圖像和視覺領(lǐng)域的熱門話題,包括卡通人物建模、人臉?biāo)囆g(shù)設(shè)計、人臉實時重構(gòu)等等,尤其是交互式人臉建模。我們構(gòu)建了一個快速的、交互的、基于深度學(xué)習(xí)的人臉建??蚣?。通過簡單勾勒人臉圖畫(caricature),我們的模型可以迅速生成對應(yīng)的三維人臉模型,并且可以同時擬合面部輪廓和細節(jié)表情。同時我們也提供了多種方式進行快速的模型修改。實驗證明我們的結(jié)果具有高精度和快速度。
框架
非常推薦大家通過視頻了解我們的框架:
Youtube: DeepSketch2Face(SIGGRAPH2017) Youtube
騰訊視頻: DeepSketch2Face(SIGGRAPH2017) 騰訊視頻
框架的流程如圖所示:
初始繪制模式(Initial Sketching Mode)
我們采用了卷積神經(jīng)網(wǎng)絡(luò)(CNN)來學(xué)習(xí)二維繪畫的人臉特征。如圖所示,輸入是 256 乘 256 大小的繪畫圖片,通過卷積層提取特征,結(jié)合每個像素點的雙線性插值編碼,利用不同的全連接層,最終輸出一個 50 維的人臉向量和一個 16 維的表情向量。我們預(yù)設(shè)了 50 個人臉基底和 16 個表情基底,最終輸出的模型則是向量和基底的點乘。我們可以做到近乎實時的渲染,即用戶每勾勒一筆線條,迅速輸出對應(yīng)的擬合三維模型。(對于卷積層,我們采用了較老的 AlexNet。我們也試驗了 Resnet 等更新的網(wǎng)絡(luò)結(jié)構(gòu),在精度上沒有特別顯著的提升;同時考慮到實時繪制的速度要求,我們選擇了這樣一個折衷方案。)
以下是一些真實渲染結(jié)果:
連續(xù)繪制模式(Follow-up Sketching Mode)
利用同樣的卷積神經(jīng)網(wǎng)絡(luò)以及區(qū)域變形技術(shù)(Laplacian deformation),我們給用戶提供了簡易修改的繪制方案。對于不精于從空白紙張繪制肖像的用戶,或者不想生成復(fù)雜人臉形狀的用戶,可跳躍***步直接進行連續(xù)繪制。在連續(xù)繪制模式下,由單向工程(二維 -> 三維)轉(zhuǎn)變?yōu)殡p向工程 (二維 <-> 三維):用戶可直接從當(dāng)前生成或預(yù)設(shè)的三維模型得到一個二維的人臉輪廓,并基于這個人臉輪廓進行修改、刪除、變形等操作;類似于***步,這個二維輪廓可以生成相應(yīng)的三維模型。
下圖是一個典型的通過連續(xù)繪制模式生成的模型:
精細修改模式(Gesture-based Refinement)
我們提供了基于手勢的精細修改模式。如圖所示,用戶可以通過相應(yīng)的手勢,選取圖像的區(qū)域進行變形,如面頰凸起,眉毛修改、面部輪廓修改等等。用戶的手勢也是通過一個簡單的卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),輸入是用戶繪畫的手勢,輸出是對應(yīng)的操作。
其他
平均來講,基于我們的框架,新手繪制一個人臉模型只需要 5~7 分鐘,熟練后甚至在一兩分鐘內(nèi)就畫出一個逼真的人臉模型。我們支持多種模型格式輸出,以便對接其他平臺。用戶在實時操作過程中可以無障礙地進行撤銷和恢復(fù)操作。用戶操作窗口本身也支持各種常見的渲染操作,如放大縮小旋轉(zhuǎn)移動貼圖等等。同時,我們也提供了一個用于人臉建模的數(shù)據(jù)庫,包含極大量的人臉模型,及其不同的表情和夸張程度(levels of exaggeration)
結(jié)尾
有了這個軟件,再也不用擔(dān)心不會建模了!更多關(guān)于模型的細節(jié)和數(shù)學(xué)公式,請參考原論文DeepSketch2Face: A Deep Learning Based Sketching System for 3D Face and Caricature Modeling。