(综述,讲得很好)基于3DMM的三维人脸重建技术总结
深度學(xué)習(xí)全監(jiān)督重建方法:由于真實(shí)的三維人臉和二維人臉圖像對(duì)非常缺乏,采集成本高,很難得到真實(shí)二維三維圖像對(duì),通常將多張照片進(jìn)行model fitting求解生成了對(duì)應(yīng)的三維人臉模型,將其作為真值(Ground Truth),從而得到了二維三維圖像對(duì),這也導(dǎo)致模型泛化到真實(shí)數(shù)據(jù)集的能力較差。
自監(jiān)督的方法則是一個(gè)解決該問(wèn)題的重要思路。這一類(lèi)方法不依賴(lài)于真實(shí)的成對(duì)數(shù)據(jù)集,它將二維圖像重建到三維,再反投影回二維圖
2. 什么是3DMM模型 講的也很好
原文鏈接:https://blog.csdn.net/hacker_long/article/details/107479264
基于圖像的人臉三維重建在人臉?lè)治雠c娛樂(lè)領(lǐng)域里有巨大的應(yīng)用場(chǎng)景,同時(shí)它也可以用于提升人臉關(guān)鍵點(diǎn)檢測(cè),人臉識(shí)別,人臉編輯等很多任務(wù)。本文重點(diǎn)介紹其中基于3DMM模型的核心技術(shù)及其研究進(jìn)展。
作者&編輯 | 言有三
1. 什么是人臉三維重建
人臉三維重建就是建立人臉的三維模型,它相對(duì)于二維人臉圖像多了一個(gè)維度,在電影,游戲等領(lǐng)域應(yīng)用廣泛。目前獲取人臉三維模型的方法主要包括三種,軟件建模,儀器采集與基于圖像的建模。
(1) 軟件建模作為最早的三維建模手段,現(xiàn)在仍然是最廣泛地在電影,動(dòng)漫行業(yè)中應(yīng)用。頂頂大名的3DMax就是典型代表,作品如下圖。
(2) 由于手工建模耗費(fèi)大量的人力,三維成像儀器也得到了長(zhǎng)期的研究和發(fā)展。基于結(jié)構(gòu)光和激光儀器的三維成像儀是其中的典型代表,我們熟知的iphoneX中的人臉識(shí)別就是基于結(jié)構(gòu)光進(jìn)行三維人臉重建,正因如此才有iphonex中的三維人臉表情包。這些基于儀器采集的三維模型,精度可達(dá)毫米級(jí),是物體的真實(shí)三維數(shù)據(jù),也正好用來(lái)為基于圖像的建模方法提供評(píng)價(jià)數(shù)據(jù)庫(kù)。不過(guò)由于儀器的成本太高,一般的用戶(hù)是用不上了。
(3) 基于圖像的建模技術(shù)(image based modeling),顧名思義,是指通過(guò)若干幅二維圖像,來(lái)恢復(fù)圖像或場(chǎng)景的三維結(jié)構(gòu),這些年得到了廣泛的研究。
我們這里說(shuō)的人臉三維重建,就特指基于圖像的人臉三維重建方法。人臉三維重建的研究已經(jīng)有幾十年的歷史,但是基于圖像的快速高精度三維人臉重建還沒(méi)有工業(yè)落地,需要研究人員繼續(xù)努力。
2. 什么是3DMM模型
基于人臉圖像的三維重建方法非常多,常見(jiàn)的包括立體匹配,Structure From Motion(簡(jiǎn)稱(chēng)SfM),Shape from Shading(簡(jiǎn)稱(chēng)sfs),三維可變形人臉模型(3DMM),本文就重點(diǎn)講述3D Morphable models(簡(jiǎn)稱(chēng)3DMM),其相關(guān)的傳統(tǒng)方法和深度學(xué)習(xí)方法都有較多的研究。
2.1 基本思想
3DMM,即三維可變形人臉模型,是一個(gè)通用的三維人臉模型,用固定的點(diǎn)數(shù)來(lái)表示人臉。它的核心思想就是人臉可以在三維空間中進(jìn)行一一匹配,并且可以由其他許多幅人臉正交基加權(quán)線性相加而來(lái)。我們所處的三維空間,每一點(diǎn)(x,y,z),實(shí)際上都是由三維空間三個(gè)方向的基量,(1,0,0),(0,1,0),(0,0,1)加權(quán)相加所得,只是權(quán)重分別為x,y,z。
轉(zhuǎn)換到三維空間,道理也一樣。每一個(gè)三維的人臉,可以由一個(gè)數(shù)據(jù)庫(kù)中的所有人臉組成的基向量空間中進(jìn)行表示,而求解任意三維人臉的模型,實(shí)際上等價(jià)于求解各個(gè)基向量的系數(shù)的問(wèn)題。
人臉的基本屬性包括形狀和紋理,每一張人臉可以表示為形狀向量和紋理向量的線性疊加。
形狀向量Shape Vector:S=(X1,Y1,Z1,X2,Y2,Z2,...,Yn,Zn),示意圖如下:
紋理向量Texture Vector:T=(R1,G1,B1,R2,G2,B2,...,Rn,Bn),示意圖如下:
任意的人臉模型可以由數(shù)據(jù)集中的m個(gè)人臉模型進(jìn)行加權(quán)組合如下:
其中Si,Ti就是數(shù)據(jù)庫(kù)中的第i張人臉的形狀向量和紋理向量。但是我們實(shí)際在構(gòu)建模型的時(shí)候不能使用這里的Si,Ti作為基向量,因?yàn)樗鼈冎g不是正交相關(guān)的,所以接下來(lái)需要使用PCA進(jìn)行降維分解。
(1) 首先計(jì)算形狀和紋理向量的平均值。
(2)?中心化人臉數(shù)據(jù)。
(3)?分別計(jì)算協(xié)方差矩陣。
(4) 求得形狀和紋理協(xié)方差矩陣的特征值α,β和特征向量si,ti。
上式可以轉(zhuǎn)換為下式
其中第一項(xiàng)是形狀和紋理的平均值,而si,ti則都是Si,Ti減去各自平均值后的協(xié)方差矩陣的特征向量,它們對(duì)應(yīng)的特征值按照大小進(jìn)行降序排列。
等式右邊仍然是m項(xiàng),但是累加項(xiàng)降了一維,減少了一項(xiàng)。si,ti都是線性無(wú)關(guān)的,取其前幾個(gè)分量可以對(duì)原始樣本做很好的近似,因此可以大大減少需要估計(jì)的參數(shù)數(shù)目,并不失精度。
基于3DMM的方法,都是在求解這幾個(gè)系數(shù),隨后的很多模型會(huì)在這個(gè)基礎(chǔ)上添加表情,光照等系數(shù),但是原理與之類(lèi)似。
2.2 3DMM模型求解方法
基于3DMM求解三維人臉需要解決的問(wèn)題就是形狀,紋理等系數(shù)的估計(jì),具體就是如何將2D人臉擬合到3D模型上,被稱(chēng)為Model Fitting,這是一個(gè)病態(tài)問(wèn)題。經(jīng)典的方法是1999年的文章"A Morphable Model For The Synthesis Of 3D Faces",其傳統(tǒng)的求解思路被稱(chēng)為analysis-by-Synthesis,如下;
(a) 初始化一個(gè)3維的模型,需要初始化內(nèi)部參數(shù)α,β,以及外部渲染參數(shù),包括相機(jī)的位置,圖像平面的旋轉(zhuǎn)角度,直射光和環(huán)境光的各個(gè)分量,圖像對(duì)比度等共20多維,有了這些參數(shù)之后就可以唯一確定一個(gè)3D模型到2D圖像的投影。
(b) 在初始參數(shù)的控制下,經(jīng)過(guò)3D至2D的投影,即可由一個(gè)3D模型得到2維圖像,然后計(jì)算與輸入圖像的誤差。再以誤差反向傳播調(diào)整相關(guān)系數(shù),調(diào)整3D模型,不斷進(jìn)行迭代。每次參與計(jì)算的是一個(gè)三角晶格,如果人臉被遮擋,則該部分不參與損失計(jì)算。
(c) 具體迭代時(shí)采用由粗到精的方式,初始的時(shí)候使用低分辨率的圖像,只優(yōu)化第一個(gè)主成分的系數(shù),后面再逐步增加主成分。在后續(xù)一些迭代步驟中固定外部參數(shù),對(duì)人臉的各個(gè)部位分別優(yōu)化。
對(duì)于只需要獲取人臉形狀模型的應(yīng)用來(lái)說(shuō),很多方法都會(huì)使用2D人臉關(guān)鍵點(diǎn)來(lái)估計(jì)出形狀系數(shù),具有更小的計(jì)算量,迭代也更加簡(jiǎn)單,另外還會(huì)增加一個(gè)正則項(xiàng),所以一個(gè)典型的優(yōu)化目標(biāo)是如下:
對(duì)于Model fitting問(wèn)題來(lái)說(shuō),除了模型本身的有效性,還有很多難點(diǎn)。
(1) 該問(wèn)題是一個(gè)病態(tài)問(wèn)題,本身并沒(méi)有全局解,容易陷入不好的局部解。
(2) 人臉的背景干擾以及遮擋會(huì)影響精度,而且誤差函數(shù)本身不連續(xù)。
(3) 對(duì)初始條件敏感,比如基于關(guān)鍵點(diǎn)進(jìn)行優(yōu)化時(shí),如果關(guān)鍵點(diǎn)精度較差,重建的模型精度也會(huì)受到很大影響。
2.3 3DMM模型的發(fā)展
要使用3DMM模型來(lái)完成人臉重建,首先就需要一個(gè)數(shù)據(jù)庫(kù)來(lái)建立人臉基向量空間,Blanz等人在1999年的文章[1]中提出了采集方法,但是沒(méi)有開(kāi)源數(shù)據(jù)集,Pascal Paysan等人在2009年使用激光掃描儀精確采集了200個(gè)人臉數(shù)據(jù)得到了Basel Face Model數(shù)據(jù)集[2](簡(jiǎn)稱(chēng)BFM模型),基本信息如下:
(1)采用ABW-3D結(jié)構(gòu)光系統(tǒng)進(jìn)行采集,采集時(shí)間約1s,相比于激光平均15s的采集方案更加具有優(yōu)勢(shì)。整個(gè)數(shù)據(jù)集包含200張三維的人臉,其中100張男性,100張女性,大部分為高加索人臉。年齡分布8~62歲,平均年齡24.97歲,體重40~123千克,平均66.48千克。每一個(gè)人都被采集3次中性表情,并選擇其中最自然的一次。
(2)在對(duì)采集后的點(diǎn)進(jìn)行處理的過(guò)程中,模型的每一個(gè)點(diǎn)的位置都進(jìn)行了精確匹配,也就是說(shuō)每一個(gè)點(diǎn)都有實(shí)際的物理意義,比如屬于右嘴角等。經(jīng)過(guò)處理后,每一個(gè)模型由53490個(gè)點(diǎn)描述。
該數(shù)據(jù)庫(kù)的平均人臉形狀和平均人臉紋理如下:
Basel Face Model數(shù)據(jù)集只有200個(gè)人,而近期研究者基于此模型采集了9663個(gè)人得到LSFM模型[3],能夠進(jìn)一步提升表達(dá)能力。
2009年發(fā)布的Basel Face Model版本中沒(méi)有表情系數(shù),而2017年發(fā)布的版本BFM 2017[4]中提供了表情系數(shù),同樣還是一個(gè)線性模型。
當(dāng)然了,在國(guó)內(nèi)也有一個(gè)著名的數(shù)據(jù)集,就是FaceWarehouse[5],不過(guò)不開(kāi)源,一般研究者拿不到數(shù)據(jù)。
當(dāng)然也有一些商業(yè)號(hào)稱(chēng)會(huì)開(kāi)源更好的模型,這個(gè)大家可以拭目以待。人臉的三維模型數(shù)據(jù)之所以不公開(kāi),是因?yàn)槭褂酶呔鹊娜S模型可以很容易仿真真實(shí)人臉,容易發(fā)生安全事故。
當(dāng)前基于3DMM的表情模型主要有兩個(gè)思路,分別是加性模型和乘性模型。加性模型就是線性模型了,將表情作為形狀的一個(gè)偏移量,Es,Ee分別表示形狀和表情基,Ws,We分別表示對(duì)應(yīng)的系數(shù)。
但是因?yàn)楸砬橐矔?huì)改變?nèi)四樀男螤?#xff0c;因此它和形狀并非完全正交的關(guān)系,所以有的研究者提出了乘性模型,如下。
其中de是一個(gè)表情遷移操作集合,第j個(gè)操作即為T(mén)j,δ都是校準(zhǔn)向量。
另一方面,紋理模型也被稱(chēng)為表觀模型,它相對(duì)于形狀模型來(lái)說(shuō)更加復(fù)雜,受到反射率和光照的影響,不過(guò)大部分的3DMM模型不區(qū)分兩者,所以我們將其視為一個(gè)因素,即反射率。
光照模型通常采用的是球面模型,光照模型比較復(fù)雜,我們這里就不列出具體的表達(dá)式,大家可以自行閱讀相關(guān)論文。
在2009年提出的BFM模型中,紋理模型是一個(gè)線性模型,即由多個(gè)紋理表情基進(jìn)行線性組合。后續(xù)的研究者們?cè)谡麄€(gè)基礎(chǔ)上增加了紋理細(xì)節(jié),用于仿真臉部的皺紋等。
盡管在大多數(shù)情況下,我們使用的都是線性3DMM模型,但是非線性3DMM模型同樣也被研究[6],由于不是主流,就不展開(kāi)講了。
[1] Blanz V, Vetter T. A morphable model for the synthesis of 3D faces[C]. international conference on computer graphics and interactive techniques, 1999: 187-194.
[2]?Booth J, Roussos A, Ponniah A, et al. Large Scale 3D Morphable Models[J]. International Journal of Computer Vision, 2018, 126(2): 233-254.
[3] Paysan P, Knothe R, Amberg B, et al. A 3D Face Model for Pose and Illumination Invariant Face Recognition[C]. advanced video and signal based surveillance, 2009: 296-301.
[4]?Gerig T , Morel-Forster A , Blumer C , et al. Morphable Face Models - An Open Framework[J]. 2017.
[5]?Cao C, Weng Y, Zhou S, et al. FaceWarehouse: A 3D Facial Expression Database for Visual Computing[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(3): 413-425.
[6]?Tran L, Liu X. Nonlinear 3D Face Morphable Model[C]. computer vision and pattern recognition, 2018: 7346-7355.
3. 深度學(xué)習(xí)3DMM重建
傳統(tǒng)的3DMM及其求解核心思路我們上面已經(jīng)講述了,接下來(lái)要重點(diǎn)說(shuō)的是基于深度學(xué)習(xí)的3DMM重建及其研究進(jìn)展。
3.1 全監(jiān)督方法
前面給大家介紹了3DMM模型,傳統(tǒng)的方法需要去優(yōu)化求解相關(guān)系數(shù),基于深度學(xué)習(xí)的方法可以使用模型直接回歸相關(guān)系數(shù),以Regressing Robust and Discriminative 3D Morphable Models with a very Deep Neural Network中提出的3DMM CNN[7]方法為代表。
3DMM CNN是一個(gè)非常簡(jiǎn)單的回歸模型,它使用了ResNet101網(wǎng)絡(luò)直接回歸出3DMM的形狀系數(shù)和紋理系數(shù),形狀系數(shù)和紋理系數(shù)各有99維,除此之外還有幾個(gè)核心問(wèn)題。
(1) 首先是數(shù)據(jù)集的獲取。由于真實(shí)的三維人臉和二維人臉圖像對(duì)非常缺乏,采集成本高,作者們用CASIA WebFace數(shù)據(jù)集中的多張照片進(jìn)行model fitting求解生成了對(duì)應(yīng)的三維人臉模型,將其作為真值(Ground Truth),從而得到了二維三維圖像對(duì)。
(2) 然后是優(yōu)化目標(biāo)的設(shè)計(jì)。因?yàn)橹亟ǖ慕Y(jié)果是一個(gè)三維模型,所以損失函數(shù)是在三維的空間中計(jì)算,如果使用標(biāo)準(zhǔn)的歐拉損失函數(shù)來(lái)最小化距離,會(huì)使得到的人臉模型太泛化,趨于平均臉。對(duì)此作者們提出了一個(gè)非對(duì)稱(chēng)歐拉損失,使模型學(xué)習(xí)到更多的細(xì)節(jié)特征,使三維人臉模型具有更多的區(qū)別性,公式如下:
γ是標(biāo)簽,γp是預(yù)測(cè)值,通過(guò)兩個(gè)權(quán)重λ1和λ2對(duì)損失進(jìn)行控制,作者設(shè)定λ2權(quán)重更大,所以是期望γp能夠更大一些,從而提供更多的細(xì)節(jié)。
除了預(yù)測(cè)形狀系數(shù)外,3DMM的研究者們還提出了ExpNet[8]預(yù)測(cè)表情系數(shù),FacePoseNet[9]預(yù)測(cè)姿態(tài)系數(shù),驗(yàn)證了基于數(shù)據(jù)和CNN模型學(xué)習(xí)出相關(guān)系數(shù)的可行性。
真實(shí)數(shù)據(jù)集的獲取是比較困難的,而且成本高昂,導(dǎo)致數(shù)據(jù)集較小,所以基于真實(shí)數(shù)據(jù)集訓(xùn)練出來(lái)的模型魯棒性有待提升。很多的方法使用了仿真的數(shù)據(jù)集,可以產(chǎn)生更多的數(shù)據(jù)進(jìn)行學(xué)習(xí),但是仿真的數(shù)據(jù)集畢竟與真實(shí)的數(shù)據(jù)集分布有差異,以及頭發(fā)等部位缺失,導(dǎo)致模型泛化到真實(shí)數(shù)據(jù)集的能力較差。
3.2 自監(jiān)督方法
三維人臉重建中真實(shí)的數(shù)據(jù)集獲取成本非常高,研究者往往基于少量數(shù)據(jù)或者仿真數(shù)據(jù)進(jìn)行研究,所訓(xùn)練出來(lái)的模型泛化能力會(huì)受到限制,自監(jiān)督的方法則是一個(gè)解決該問(wèn)題的重要思路。這一類(lèi)方法不依賴(lài)于真實(shí)的成對(duì)數(shù)據(jù)集,它將二維圖像重建到三維,再反投影回二維圖,這一類(lèi)方法以MoFa[10]為代表,整個(gè)流程如下圖所示:
在上圖中,輸入首先經(jīng)過(guò)一個(gè)Deep Encoder提取到語(yǔ)義相關(guān)的系數(shù),系數(shù)包含了人臉姿態(tài),形狀,表情,皮膚,場(chǎng)景光照等信息。然后將該系數(shù)輸入基于模型的decoder,實(shí)現(xiàn)三維模型到二維圖像的投影,模型可以使用3DMM模型。最后的損失是基于重建的圖像和輸入圖像的像素?fù)p失。當(dāng)然,還可以添加關(guān)鍵點(diǎn)損失,系數(shù)正則化損失作為約束。
3.3 人臉的三維特征編碼
通常的3DMM模型預(yù)測(cè)3DMM的系數(shù),這沒(méi)有充分發(fā)揮出CNN模型對(duì)于像素的回歸能力,如果我們基于3DMM模型將三維人臉進(jìn)行更好的特征編碼,預(yù)期可以獲得更好的結(jié)果。
這里我們介紹一下兩個(gè)典型代表[11][12],其一是3DDFA,它使用Projected Normalized Coordinate Code(簡(jiǎn)稱(chēng)PNCC)作為預(yù)測(cè)特征。
一個(gè)三維點(diǎn)包括X,Y,Z和R,G,B值,將其歸一化到0~1之后便稱(chēng)之為Normalized Coordinate Code。如果使用3DMM模型將圖像往X-Y平面進(jìn)行投影,并使用Z-Buffer算法進(jìn)行渲染,NCC作為Z-buffer算法的color-map,便可以得到PNCC圖。
論文《Face Alignment Across Large Poses: A 3D Solution》基于此提出了3DDFA框架,輸入為100×100的RGB圖和PNCC(Projected Normalized Coordinate Code)特征圖,兩者進(jìn)行通道拼接。算法的輸出為更新后的PNCC系數(shù),包括6維姿態(tài),199維形狀和29維表情系數(shù)。
整個(gè)網(wǎng)絡(luò)如下:包含4個(gè)卷積層,3個(gè)pooling層和2個(gè)全連接層,前兩個(gè)卷積層局部共享,后兩個(gè)卷積層不采用局部共享機(jī)制。這是一個(gè)級(jí)連迭代的框架,輸入為第k次更新的PNCC特征,更新它的誤差,損失使用L1距離。
由于不同維度的系數(shù)有不同的重要性,作者對(duì)損失函數(shù)做了精心的設(shè)計(jì),通過(guò)引入權(quán)重,讓網(wǎng)絡(luò)優(yōu)先擬合重要的形狀參數(shù),包括尺度、旋轉(zhuǎn)和平移。當(dāng)人臉形狀接近真值時(shí),再擬合其他形狀參數(shù),實(shí)驗(yàn)證明這樣的設(shè)計(jì)可以提升定位模型的精度。
由于參數(shù)化形狀模型會(huì)限制人臉形狀變形的能力,作者在使用3DDFA擬合之后,抽取HOG特征作為輸入,使用線性回歸來(lái)進(jìn)一步提升2D特征點(diǎn)的定位精度。
其二是PRNet[12],論文Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network中提出了PRNet(Position map Regression Network),它利用UV位置圖(UV position map)來(lái)描述3D形狀。
在BFM模型中,3D頂點(diǎn)數(shù)為53490個(gè),作者選擇了一個(gè)大小為256×256×3的圖片來(lái)進(jìn)行編碼,其中像素?cái)?shù)目等于256×256=65536,大于且接近53490。這個(gè)圖被稱(chēng)為UV位置圖(UV position map),它有三個(gè)通道,分別是X,Y,Z,記錄了三維位置信息。值得注意的是,每個(gè)3D的頂點(diǎn)映射到這張UV位置映射圖上都是沒(méi)有重疊的。
有了上面的表示方法,就可以用CNN網(wǎng)絡(luò)直接預(yù)測(cè)UV位置圖,采用一個(gè)編解碼結(jié)構(gòu)即可。
另外,作者們?yōu)榱烁玫念A(yù)測(cè)坐標(biāo),或者說(shuō)為了使預(yù)測(cè)出來(lái)的結(jié)果更有意義,計(jì)算損失函數(shù)時(shí)對(duì)不同區(qū)域的頂點(diǎn)誤差進(jìn)行加權(quán)。不同區(qū)域包括特征點(diǎn),鼻子眼睛嘴巴區(qū)域,人臉其他部分,脖子共四個(gè)區(qū)域。它們的權(quán)重比例為16:4:3:0,可見(jiàn)特征點(diǎn)最重要,脖子不參與計(jì)算。
[7] Tran A T, Hassner T, Masi I, et al. Regressing robust and discriminative 3D morphable models with a very deep neural network[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 1493-1502.
[8] Chang F J, Tran A T, Hassner T, et al. ExpNet: Landmark-free, deep, 3D facial expressions[C]//2018 13th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2018). IEEE, 2018: 122-129.
[9] Chang F J, Tuan Tran A, Hassner T, et al. Faceposenet: Making a case for landmark-free face alignment[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 1599-1608.
[10] Tewari A, Zollh?fer M, Kim H, et al. Mofa: Model-based deep convolutional face autoencoder for unsupervised monocular reconstruction[C]//The IEEE International Conference on Computer Vision (ICCV). 2017, 2(3): 5.
[11] Zhu X, Lei Z, Liu X, et al. Face alignment across large poses: A 3d solution[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 146-155.
[12] Feng Y, Wu F, Shao X, et al. Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network[J]. arXiv preprint arXiv:1803.07835, 2018.
4. 難點(diǎn)和展望
從1999年被提出,至今3DMM模型已經(jīng)有超過(guò)20年的歷史,技術(shù)已經(jīng)發(fā)展到從早期基于傳統(tǒng)的優(yōu)化方法到如今基于深度學(xué)習(xí)模型的系數(shù)回歸,不過(guò)當(dāng)前的3DMM模型還面臨著許多的挑戰(zhàn)。
(1) 當(dāng)前的模型基本上都受限于人臉,沒(méi)有眼睛,嘴唇以及頭發(fā)信息,然而這些信息對(duì)于很多的應(yīng)用卻非常有效。
(2) 3DMM模型參數(shù)空間是一個(gè)比較低維的參數(shù)空間,并且紋理模型過(guò)于簡(jiǎn)單。基于3DMM模型的方法面臨的最大問(wèn)題就是結(jié)果過(guò)于平均,難以重建人臉皺紋等細(xì)節(jié)特征,并且無(wú)法恢復(fù)遮擋。對(duì)此有的方法通過(guò)增加局部模型[13]進(jìn)行了改進(jìn),而最新的生成對(duì)抗網(wǎng)絡(luò)技術(shù)[14]也開(kāi)始被用于紋理建模。
(3) 遮擋臉的信息恢復(fù)。二維的人臉信息一旦被遮擋,也難以被精確地重建,除了利用人臉的對(duì)稱(chēng)先驗(yàn)信息進(jìn)行補(bǔ)全外,有的方法借鑒了檢索匹配[15]的思路,即建立一個(gè)無(wú)遮擋的數(shù)據(jù)集,將重建的模型進(jìn)行姿態(tài)匹配和人臉識(shí)別相似度匹配,然后經(jīng)過(guò)2D對(duì)齊,使用基于梯度的方法來(lái)進(jìn)行紋理遷移,也有的方法使用GAN來(lái)進(jìn)行遮擋信息恢復(fù)[16]。
(3) 當(dāng)前3DMM模型中主要使用PCA來(lái)提取主成分信息,但是這不符合我們通常對(duì)人臉的描述,因此這并非是一個(gè)最合適的特征空間。
(4) 當(dāng)前存在著各種各樣的3DMM模型的變種,但是沒(méi)有一個(gè)模型能夠在各種場(chǎng)景下取得最優(yōu)的效果。
另一方面,3DMM模型也與許多新的技術(shù)開(kāi)始結(jié)合,比如與生成對(duì)抗網(wǎng)絡(luò)模型一起進(jìn)行人臉的數(shù)據(jù)增強(qiáng)[17],姿態(tài)編輯[17],人臉的特征恢復(fù)[18],對(duì)于提升人臉識(shí)別模型在具有挑戰(zhàn)性的大姿態(tài)以及遮擋場(chǎng)景下的性能中具有非常重要的意義。
[13] Richardson E, Sela M, Or-El R, et al. Learning detailed face reconstruction from a single image[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 1259-1268.
[14] Sela M, Richardson E, Kimmel R, et al. Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation[C]. international conference on computer vision, 2017: 1585-1594.
[15] Tran A T, Hassner T, Masi I, et al. Extreme 3D Face Reconstruction: Seeing Through Occlusions[C]//CVPR. 2018: 3935-3944.
[15] Egger B, Smith W A, Tewari A, et al. 3D Morphable Face Models - Past, Present and Future[J]. arXiv: Computer Vision and Pattern Recognition, 2019.
[16]?Zhao J, Xiong L, Jayashree P K, et al. Dual-Agent GANs for Photorealistic and Identity Preserving Profile Face Synthesis[C]. neural information processing systems, 2017: 66-76.
[17] Yin X, Yu X, Sohn K, et al. Towards Large-Pose Face Frontalization in the Wild[C]. international conference on computer vision, 2017: 4010-4019.
[18]?Yuan X, Park I. Face De-Occlusion Using 3D Morphable Model and Generative Adversarial Network[C]. international conference on computer vision, 2019: 10062-10071.
5. 如何學(xué)習(xí)以上算法
在上面我們介紹了基于3DMM模型的核心技術(shù),實(shí)際上3DMM模型如今還有許多新的進(jìn)展,后續(xù)深入學(xué)習(xí)可以參考有三AI秋季劃的人臉?biāo)惴ńM,可分別學(xué)習(xí)相關(guān)內(nèi)容。
詳情可以閱讀下文介紹:
【通知】如何讓你的2020年秋招CV項(xiàng)目經(jīng)歷更加硬核,可深入學(xué)習(xí)有三秋季劃4大領(lǐng)域32個(gè)方向
人臉相關(guān)的算法,在有三AI知識(shí)星球的人臉板塊中,有諸多介紹,有需要的同學(xué)可以加入。
總結(jié)
本次我們給大家介紹了基于3DMM模型的三維人臉重建相關(guān)核心技術(shù),人臉圖像屬于最早被研究的一類(lèi)圖像,也是計(jì)算機(jī)視覺(jué)領(lǐng)域中應(yīng)用最廣泛的一類(lèi)圖像,其中需要使用到幾乎所有計(jì)算機(jī)視覺(jué)領(lǐng)域的算法,可以說(shuō)掌握好人臉領(lǐng)域的各種算法,基本就玩轉(zhuǎn)了計(jì)算機(jī)視覺(jué)領(lǐng)域。
如何學(xué)習(xí)人臉圖像算法
如果你想系統(tǒng)性地學(xué)習(xí)各類(lèi)人臉?biāo)惴ú⑼瓿上嚓P(guān)實(shí)戰(zhàn),并需要一個(gè)可以長(zhǎng)期交流學(xué)習(xí),永久有效的平臺(tái),可以考慮參加有三AI秋季劃-人臉圖像算法組,完整的介紹和總體的學(xué)習(xí)路線如下:
【總結(jié)】有三AI秋季劃人臉?biāo)惴ńM3月直播講了哪些內(nèi)容,計(jì)算機(jī)視覺(jué)你不可能繞開(kāi)人臉圖像
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
往期精選
【技術(shù)綜述】人臉妝造遷移核心技術(shù)總結(jié)
【技術(shù)綜述】人臉風(fēng)格化核心技術(shù)與數(shù)據(jù)集總結(jié)
【總結(jié)】最全1.5萬(wàn)字長(zhǎng)文解讀7大方向人臉數(shù)據(jù)集v2.0版,搞計(jì)算機(jī)視覺(jué)怎能不懂人臉
【雜談】計(jì)算機(jī)視覺(jué)在人臉圖像領(lǐng)域的十幾個(gè)大的應(yīng)用方向,你懂了幾分?
【雜談】GAN對(duì)人臉圖像算法產(chǎn)生了哪些影響?
【每周CV論文推薦】 深度學(xué)習(xí)人臉檢測(cè)入門(mén)必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉關(guān)鍵點(diǎn)檢測(cè)必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉識(shí)別和驗(yàn)證必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉屬性分析必讀的文章
【每周CV論文推薦】 初學(xué)活體檢測(cè)與偽造人臉檢測(cè)必讀的文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)單張圖像三維人臉重建需要讀的文章
【每周CV論文推薦】 人臉識(shí)別剩下的難題:從遮擋,年齡,姿態(tài),妝造到親屬關(guān)系,人臉攻擊
【每周CV論文推薦】換臉?biāo)惴ǘ加心男┙?jīng)典的思路?
基于圖像的人臉三維重建在人臉?lè)治雠c娛樂(lè)領(lǐng)域里有巨大的應(yīng)用場(chǎng)景,同時(shí)它也可以用于提升人臉關(guān)鍵點(diǎn)檢測(cè),人臉識(shí)別,人臉編輯等很多任務(wù)。本文重點(diǎn)介紹其中基于3DMM模型的核心技術(shù)及其研究進(jìn)展。
作者&編輯 | 言有三
1. 什么是人臉三維重建
人臉三維重建就是建立人臉的三維模型,它相對(duì)于二維人臉圖像多了一個(gè)維度,在電影,游戲等領(lǐng)域應(yīng)用廣泛。目前獲取人臉三維模型的方法主要包括三種,軟件建模,儀器采集與基于圖像的建模。
(1) 軟件建模作為最早的三維建模手段,現(xiàn)在仍然是最廣泛地在電影,動(dòng)漫行業(yè)中應(yīng)用。頂頂大名的3DMax就是典型代表,作品如下圖。
(2) 由于手工建模耗費(fèi)大量的人力,三維成像儀器也得到了長(zhǎng)期的研究和發(fā)展。基于結(jié)構(gòu)光和激光儀器的三維成像儀是其中的典型代表,我們熟知的iphoneX中的人臉識(shí)別就是基于結(jié)構(gòu)光進(jìn)行三維人臉重建,正因如此才有iphonex中的三維人臉表情包。這些基于儀器采集的三維模型,精度可達(dá)毫米級(jí),是物體的真實(shí)三維數(shù)據(jù),也正好用來(lái)為基于圖像的建模方法提供評(píng)價(jià)數(shù)據(jù)庫(kù)。不過(guò)由于儀器的成本太高,一般的用戶(hù)是用不上了。
(3) 基于圖像的建模技術(shù)(image based modeling),顧名思義,是指通過(guò)若干幅二維圖像,來(lái)恢復(fù)圖像或場(chǎng)景的三維結(jié)構(gòu),這些年得到了廣泛的研究。
我們這里說(shuō)的人臉三維重建,就特指基于圖像的人臉三維重建方法。人臉三維重建的研究已經(jīng)有幾十年的歷史,但是基于圖像的快速高精度三維人臉重建還沒(méi)有工業(yè)落地,需要研究人員繼續(xù)努力。
2. 什么是3DMM模型
基于人臉圖像的三維重建方法非常多,常見(jiàn)的包括立體匹配,Structure From Motion(簡(jiǎn)稱(chēng)SfM),Shape from Shading(簡(jiǎn)稱(chēng)sfs),三維可變形人臉模型(3DMM),本文就重點(diǎn)講述3D Morphable models(簡(jiǎn)稱(chēng)3DMM),其相關(guān)的傳統(tǒng)方法和深度學(xué)習(xí)方法都有較多的研究。
2.1 基本思想
3DMM,即三維可變形人臉模型,是一個(gè)通用的三維人臉模型,用固定的點(diǎn)數(shù)來(lái)表示人臉。它的核心思想就是人臉可以在三維空間中進(jìn)行一一匹配,并且可以由其他許多幅人臉正交基加權(quán)線性相加而來(lái)。我們所處的三維空間,每一點(diǎn)(x,y,z),實(shí)際上都是由三維空間三個(gè)方向的基量,(1,0,0),(0,1,0),(0,0,1)加權(quán)相加所得,只是權(quán)重分別為x,y,z。
轉(zhuǎn)換到三維空間,道理也一樣。每一個(gè)三維的人臉,可以由一個(gè)數(shù)據(jù)庫(kù)中的所有人臉組成的基向量空間中進(jìn)行表示,而求解任意三維人臉的模型,實(shí)際上等價(jià)于求解各個(gè)基向量的系數(shù)的問(wèn)題。
人臉的基本屬性包括形狀和紋理,每一張人臉可以表示為形狀向量和紋理向量的線性疊加。
形狀向量Shape Vector:S=(X1,Y1,Z1,X2,Y2,Z2,...,Yn,Zn),示意圖如下:
紋理向量Texture Vector:T=(R1,G1,B1,R2,G2,B2,...,Rn,Bn),示意圖如下:
任意的人臉模型可以由數(shù)據(jù)集中的m個(gè)人臉模型進(jìn)行加權(quán)組合如下:
其中Si,Ti就是數(shù)據(jù)庫(kù)中的第i張人臉的形狀向量和紋理向量。但是我們實(shí)際在構(gòu)建模型的時(shí)候不能使用這里的Si,Ti作為基向量,因?yàn)樗鼈冎g不是正交相關(guān)的,所以接下來(lái)需要使用PCA進(jìn)行降維分解。
(1) 首先計(jì)算形狀和紋理向量的平均值。
(2)?中心化人臉數(shù)據(jù)。
(3)?分別計(jì)算協(xié)方差矩陣。
(4) 求得形狀和紋理協(xié)方差矩陣的特征值α,β和特征向量si,ti。
上式可以轉(zhuǎn)換為下式
其中第一項(xiàng)是形狀和紋理的平均值,而si,ti則都是Si,Ti減去各自平均值后的協(xié)方差矩陣的特征向量,它們對(duì)應(yīng)的特征值按照大小進(jìn)行降序排列。
等式右邊仍然是m項(xiàng),但是累加項(xiàng)降了一維,減少了一項(xiàng)。si,ti都是線性無(wú)關(guān)的,取其前幾個(gè)分量可以對(duì)原始樣本做很好的近似,因此可以大大減少需要估計(jì)的參數(shù)數(shù)目,并不失精度。
基于3DMM的方法,都是在求解這幾個(gè)系數(shù),隨后的很多模型會(huì)在這個(gè)基礎(chǔ)上添加表情,光照等系數(shù),但是原理與之類(lèi)似。
2.2 3DMM模型求解方法
基于3DMM求解三維人臉需要解決的問(wèn)題就是形狀,紋理等系數(shù)的估計(jì),具體就是如何將2D人臉擬合到3D模型上,被稱(chēng)為Model Fitting,這是一個(gè)病態(tài)問(wèn)題。經(jīng)典的方法是1999年的文章"A Morphable Model For The Synthesis Of 3D Faces",其傳統(tǒng)的求解思路被稱(chēng)為analysis-by-Synthesis,如下;
(a) 初始化一個(gè)3維的模型,需要初始化內(nèi)部參數(shù)α,β,以及外部渲染參數(shù),包括相機(jī)的位置,圖像平面的旋轉(zhuǎn)角度,直射光和環(huán)境光的各個(gè)分量,圖像對(duì)比度等共20多維,有了這些參數(shù)之后就可以唯一確定一個(gè)3D模型到2D圖像的投影。
(b) 在初始參數(shù)的控制下,經(jīng)過(guò)3D至2D的投影,即可由一個(gè)3D模型得到2維圖像,然后計(jì)算與輸入圖像的誤差。再以誤差反向傳播調(diào)整相關(guān)系數(shù),調(diào)整3D模型,不斷進(jìn)行迭代。每次參與計(jì)算的是一個(gè)三角晶格,如果人臉被遮擋,則該部分不參與損失計(jì)算。
(c) 具體迭代時(shí)采用由粗到精的方式,初始的時(shí)候使用低分辨率的圖像,只優(yōu)化第一個(gè)主成分的系數(shù),后面再逐步增加主成分。在后續(xù)一些迭代步驟中固定外部參數(shù),對(duì)人臉的各個(gè)部位分別優(yōu)化。
對(duì)于只需要獲取人臉形狀模型的應(yīng)用來(lái)說(shuō),很多方法都會(huì)使用2D人臉關(guān)鍵點(diǎn)來(lái)估計(jì)出形狀系數(shù),具有更小的計(jì)算量,迭代也更加簡(jiǎn)單,另外還會(huì)增加一個(gè)正則項(xiàng),所以一個(gè)典型的優(yōu)化目標(biāo)是如下:
對(duì)于Model fitting問(wèn)題來(lái)說(shuō),除了模型本身的有效性,還有很多難點(diǎn)。
(1) 該問(wèn)題是一個(gè)病態(tài)問(wèn)題,本身并沒(méi)有全局解,容易陷入不好的局部解。
(2) 人臉的背景干擾以及遮擋會(huì)影響精度,而且誤差函數(shù)本身不連續(xù)。
(3) 對(duì)初始條件敏感,比如基于關(guān)鍵點(diǎn)進(jìn)行優(yōu)化時(shí),如果關(guān)鍵點(diǎn)精度較差,重建的模型精度也會(huì)受到很大影響。
2.3 3DMM模型的發(fā)展
要使用3DMM模型來(lái)完成人臉重建,首先就需要一個(gè)數(shù)據(jù)庫(kù)來(lái)建立人臉基向量空間,Blanz等人在1999年的文章[1]中提出了采集方法,但是沒(méi)有開(kāi)源數(shù)據(jù)集,Pascal Paysan等人在2009年使用激光掃描儀精確采集了200個(gè)人臉數(shù)據(jù)得到了Basel Face Model數(shù)據(jù)集[2](簡(jiǎn)稱(chēng)BFM模型),基本信息如下:
(1)采用ABW-3D結(jié)構(gòu)光系統(tǒng)進(jìn)行采集,采集時(shí)間約1s,相比于激光平均15s的采集方案更加具有優(yōu)勢(shì)。整個(gè)數(shù)據(jù)集包含200張三維的人臉,其中100張男性,100張女性,大部分為高加索人臉。年齡分布8~62歲,平均年齡24.97歲,體重40~123千克,平均66.48千克。每一個(gè)人都被采集3次中性表情,并選擇其中最自然的一次。
(2)在對(duì)采集后的點(diǎn)進(jìn)行處理的過(guò)程中,模型的每一個(gè)點(diǎn)的位置都進(jìn)行了精確匹配,也就是說(shuō)每一個(gè)點(diǎn)都有實(shí)際的物理意義,比如屬于右嘴角等。經(jīng)過(guò)處理后,每一個(gè)模型由53490個(gè)點(diǎn)描述。
該數(shù)據(jù)庫(kù)的平均人臉形狀和平均人臉紋理如下:
Basel Face Model數(shù)據(jù)集只有200個(gè)人,而近期研究者基于此模型采集了9663個(gè)人得到LSFM模型[3],能夠進(jìn)一步提升表達(dá)能力。
2009年發(fā)布的Basel Face Model版本中沒(méi)有表情系數(shù),而2017年發(fā)布的版本BFM 2017[4]中提供了表情系數(shù),同樣還是一個(gè)線性模型。
當(dāng)然了,在國(guó)內(nèi)也有一個(gè)著名的數(shù)據(jù)集,就是FaceWarehouse[5],不過(guò)不開(kāi)源,一般研究者拿不到數(shù)據(jù)。
當(dāng)然也有一些商業(yè)號(hào)稱(chēng)會(huì)開(kāi)源更好的模型,這個(gè)大家可以拭目以待。人臉的三維模型數(shù)據(jù)之所以不公開(kāi),是因?yàn)槭褂酶呔鹊娜S模型可以很容易仿真真實(shí)人臉,容易發(fā)生安全事故。
當(dāng)前基于3DMM的表情模型主要有兩個(gè)思路,分別是加性模型和乘性模型。加性模型就是線性模型了,將表情作為形狀的一個(gè)偏移量,Es,Ee分別表示形狀和表情基,Ws,We分別表示對(duì)應(yīng)的系數(shù)。
但是因?yàn)楸砬橐矔?huì)改變?nèi)四樀男螤?#xff0c;因此它和形狀并非完全正交的關(guān)系,所以有的研究者提出了乘性模型,如下。
其中de是一個(gè)表情遷移操作集合,第j個(gè)操作即為T(mén)j,δ都是校準(zhǔn)向量。
另一方面,紋理模型也被稱(chēng)為表觀模型,它相對(duì)于形狀模型來(lái)說(shuō)更加復(fù)雜,受到反射率和光照的影響,不過(guò)大部分的3DMM模型不區(qū)分兩者,所以我們將其視為一個(gè)因素,即反射率。
光照模型通常采用的是球面模型,光照模型比較復(fù)雜,我們這里就不列出具體的表達(dá)式,大家可以自行閱讀相關(guān)論文。
在2009年提出的BFM模型中,紋理模型是一個(gè)線性模型,即由多個(gè)紋理表情基進(jìn)行線性組合。后續(xù)的研究者們?cè)谡麄€(gè)基礎(chǔ)上增加了紋理細(xì)節(jié),用于仿真臉部的皺紋等。
盡管在大多數(shù)情況下,我們使用的都是線性3DMM模型,但是非線性3DMM模型同樣也被研究[6],由于不是主流,就不展開(kāi)講了。
[1] Blanz V, Vetter T. A morphable model for the synthesis of 3D faces[C]. international conference on computer graphics and interactive techniques, 1999: 187-194.
[2]?Booth J, Roussos A, Ponniah A, et al. Large Scale 3D Morphable Models[J]. International Journal of Computer Vision, 2018, 126(2): 233-254.
[3] Paysan P, Knothe R, Amberg B, et al. A 3D Face Model for Pose and Illumination Invariant Face Recognition[C]. advanced video and signal based surveillance, 2009: 296-301.
[4]?Gerig T , Morel-Forster A , Blumer C , et al. Morphable Face Models - An Open Framework[J]. 2017.
[5]?Cao C, Weng Y, Zhou S, et al. FaceWarehouse: A 3D Facial Expression Database for Visual Computing[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(3): 413-425.
[6]?Tran L, Liu X. Nonlinear 3D Face Morphable Model[C]. computer vision and pattern recognition, 2018: 7346-7355.
3. 深度學(xué)習(xí)3DMM重建
傳統(tǒng)的3DMM及其求解核心思路我們上面已經(jīng)講述了,接下來(lái)要重點(diǎn)說(shuō)的是基于深度學(xué)習(xí)的3DMM重建及其研究進(jìn)展。
3.1 全監(jiān)督方法
前面給大家介紹了3DMM模型,傳統(tǒng)的方法需要去優(yōu)化求解相關(guān)系數(shù),基于深度學(xué)習(xí)的方法可以使用模型直接回歸相關(guān)系數(shù),以Regressing Robust and Discriminative 3D Morphable Models with a very Deep Neural Network中提出的3DMM CNN[7]方法為代表。
3DMM CNN是一個(gè)非常簡(jiǎn)單的回歸模型,它使用了ResNet101網(wǎng)絡(luò)直接回歸出3DMM的形狀系數(shù)和紋理系數(shù),形狀系數(shù)和紋理系數(shù)各有99維,除此之外還有幾個(gè)核心問(wèn)題。
(1) 首先是數(shù)據(jù)集的獲取。由于真實(shí)的三維人臉和二維人臉圖像對(duì)非常缺乏,采集成本高,作者們用CASIA WebFace數(shù)據(jù)集中的多張照片進(jìn)行model fitting求解生成了對(duì)應(yīng)的三維人臉模型,將其作為真值(Ground Truth),從而得到了二維三維圖像對(duì)。
(2) 然后是優(yōu)化目標(biāo)的設(shè)計(jì)。因?yàn)橹亟ǖ慕Y(jié)果是一個(gè)三維模型,所以損失函數(shù)是在三維的空間中計(jì)算,如果使用標(biāo)準(zhǔn)的歐拉損失函數(shù)來(lái)最小化距離,會(huì)使得到的人臉模型太泛化,趨于平均臉。對(duì)此作者們提出了一個(gè)非對(duì)稱(chēng)歐拉損失,使模型學(xué)習(xí)到更多的細(xì)節(jié)特征,使三維人臉模型具有更多的區(qū)別性,公式如下:
γ是標(biāo)簽,γp是預(yù)測(cè)值,通過(guò)兩個(gè)權(quán)重λ1和λ2對(duì)損失進(jìn)行控制,作者設(shè)定λ2權(quán)重更大,所以是期望γp能夠更大一些,從而提供更多的細(xì)節(jié)。
除了預(yù)測(cè)形狀系數(shù)外,3DMM的研究者們還提出了ExpNet[8]預(yù)測(cè)表情系數(shù),FacePoseNet[9]預(yù)測(cè)姿態(tài)系數(shù),驗(yàn)證了基于數(shù)據(jù)和CNN模型學(xué)習(xí)出相關(guān)系數(shù)的可行性。
真實(shí)數(shù)據(jù)集的獲取是比較困難的,而且成本高昂,導(dǎo)致數(shù)據(jù)集較小,所以基于真實(shí)數(shù)據(jù)集訓(xùn)練出來(lái)的模型魯棒性有待提升。很多的方法使用了仿真的數(shù)據(jù)集,可以產(chǎn)生更多的數(shù)據(jù)進(jìn)行學(xué)習(xí),但是仿真的數(shù)據(jù)集畢竟與真實(shí)的數(shù)據(jù)集分布有差異,以及頭發(fā)等部位缺失,導(dǎo)致模型泛化到真實(shí)數(shù)據(jù)集的能力較差。
3.2 自監(jiān)督方法
三維人臉重建中真實(shí)的數(shù)據(jù)集獲取成本非常高,研究者往往基于少量數(shù)據(jù)或者仿真數(shù)據(jù)進(jìn)行研究,所訓(xùn)練出來(lái)的模型泛化能力會(huì)受到限制,自監(jiān)督的方法則是一個(gè)解決該問(wèn)題的重要思路。這一類(lèi)方法不依賴(lài)于真實(shí)的成對(duì)數(shù)據(jù)集,它將二維圖像重建到三維,再反投影回二維圖,這一類(lèi)方法以MoFa[10]為代表,整個(gè)流程如下圖所示:
在上圖中,輸入首先經(jīng)過(guò)一個(gè)Deep Encoder提取到語(yǔ)義相關(guān)的系數(shù),系數(shù)包含了人臉姿態(tài),形狀,表情,皮膚,場(chǎng)景光照等信息。然后將該系數(shù)輸入基于模型的decoder,實(shí)現(xiàn)三維模型到二維圖像的投影,模型可以使用3DMM模型。最后的損失是基于重建的圖像和輸入圖像的像素?fù)p失。當(dāng)然,還可以添加關(guān)鍵點(diǎn)損失,系數(shù)正則化損失作為約束。
3.3 人臉的三維特征編碼
通常的3DMM模型預(yù)測(cè)3DMM的系數(shù),這沒(méi)有充分發(fā)揮出CNN模型對(duì)于像素的回歸能力,如果我們基于3DMM模型將三維人臉進(jìn)行更好的特征編碼,預(yù)期可以獲得更好的結(jié)果。
這里我們介紹一下兩個(gè)典型代表[11][12],其一是3DDFA,它使用Projected Normalized Coordinate Code(簡(jiǎn)稱(chēng)PNCC)作為預(yù)測(cè)特征。
一個(gè)三維點(diǎn)包括X,Y,Z和R,G,B值,將其歸一化到0~1之后便稱(chēng)之為Normalized Coordinate Code。如果使用3DMM模型將圖像往X-Y平面進(jìn)行投影,并使用Z-Buffer算法進(jìn)行渲染,NCC作為Z-buffer算法的color-map,便可以得到PNCC圖。
論文《Face Alignment Across Large Poses: A 3D Solution》基于此提出了3DDFA框架,輸入為100×100的RGB圖和PNCC(Projected Normalized Coordinate Code)特征圖,兩者進(jìn)行通道拼接。算法的輸出為更新后的PNCC系數(shù),包括6維姿態(tài),199維形狀和29維表情系數(shù)。
整個(gè)網(wǎng)絡(luò)如下:包含4個(gè)卷積層,3個(gè)pooling層和2個(gè)全連接層,前兩個(gè)卷積層局部共享,后兩個(gè)卷積層不采用局部共享機(jī)制。這是一個(gè)級(jí)連迭代的框架,輸入為第k次更新的PNCC特征,更新它的誤差,損失使用L1距離。
由于不同維度的系數(shù)有不同的重要性,作者對(duì)損失函數(shù)做了精心的設(shè)計(jì),通過(guò)引入權(quán)重,讓網(wǎng)絡(luò)優(yōu)先擬合重要的形狀參數(shù),包括尺度、旋轉(zhuǎn)和平移。當(dāng)人臉形狀接近真值時(shí),再擬合其他形狀參數(shù),實(shí)驗(yàn)證明這樣的設(shè)計(jì)可以提升定位模型的精度。
由于參數(shù)化形狀模型會(huì)限制人臉形狀變形的能力,作者在使用3DDFA擬合之后,抽取HOG特征作為輸入,使用線性回歸來(lái)進(jìn)一步提升2D特征點(diǎn)的定位精度。
其二是PRNet[12],論文Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network中提出了PRNet(Position map Regression Network),它利用UV位置圖(UV position map)來(lái)描述3D形狀。
在BFM模型中,3D頂點(diǎn)數(shù)為53490個(gè),作者選擇了一個(gè)大小為256×256×3的圖片來(lái)進(jìn)行編碼,其中像素?cái)?shù)目等于256×256=65536,大于且接近53490。這個(gè)圖被稱(chēng)為UV位置圖(UV position map),它有三個(gè)通道,分別是X,Y,Z,記錄了三維位置信息。值得注意的是,每個(gè)3D的頂點(diǎn)映射到這張UV位置映射圖上都是沒(méi)有重疊的。
有了上面的表示方法,就可以用CNN網(wǎng)絡(luò)直接預(yù)測(cè)UV位置圖,采用一個(gè)編解碼結(jié)構(gòu)即可。
另外,作者們?yōu)榱烁玫念A(yù)測(cè)坐標(biāo),或者說(shuō)為了使預(yù)測(cè)出來(lái)的結(jié)果更有意義,計(jì)算損失函數(shù)時(shí)對(duì)不同區(qū)域的頂點(diǎn)誤差進(jìn)行加權(quán)。不同區(qū)域包括特征點(diǎn),鼻子眼睛嘴巴區(qū)域,人臉其他部分,脖子共四個(gè)區(qū)域。它們的權(quán)重比例為16:4:3:0,可見(jiàn)特征點(diǎn)最重要,脖子不參與計(jì)算。
[7] Tran A T, Hassner T, Masi I, et al. Regressing robust and discriminative 3D morphable models with a very deep neural network[C]//Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on. IEEE, 2017: 1493-1502.
[8] Chang F J, Tran A T, Hassner T, et al. ExpNet: Landmark-free, deep, 3D facial expressions[C]//2018 13th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2018). IEEE, 2018: 122-129.
[9] Chang F J, Tuan Tran A, Hassner T, et al. Faceposenet: Making a case for landmark-free face alignment[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 1599-1608.
[10] Tewari A, Zollh?fer M, Kim H, et al. Mofa: Model-based deep convolutional face autoencoder for unsupervised monocular reconstruction[C]//The IEEE International Conference on Computer Vision (ICCV). 2017, 2(3): 5.
[11] Zhu X, Lei Z, Liu X, et al. Face alignment across large poses: A 3d solution[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 146-155.
[12] Feng Y, Wu F, Shao X, et al. Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network[J]. arXiv preprint arXiv:1803.07835, 2018.
4. 難點(diǎn)和展望
從1999年被提出,至今3DMM模型已經(jīng)有超過(guò)20年的歷史,技術(shù)已經(jīng)發(fā)展到從早期基于傳統(tǒng)的優(yōu)化方法到如今基于深度學(xué)習(xí)模型的系數(shù)回歸,不過(guò)當(dāng)前的3DMM模型還面臨著許多的挑戰(zhàn)。
(1) 當(dāng)前的模型基本上都受限于人臉,沒(méi)有眼睛,嘴唇以及頭發(fā)信息,然而這些信息對(duì)于很多的應(yīng)用卻非常有效。
(2) 3DMM模型參數(shù)空間是一個(gè)比較低維的參數(shù)空間,并且紋理模型過(guò)于簡(jiǎn)單。基于3DMM模型的方法面臨的最大問(wèn)題就是結(jié)果過(guò)于平均,難以重建人臉皺紋等細(xì)節(jié)特征,并且無(wú)法恢復(fù)遮擋。對(duì)此有的方法通過(guò)增加局部模型[13]進(jìn)行了改進(jìn),而最新的生成對(duì)抗網(wǎng)絡(luò)技術(shù)[14]也開(kāi)始被用于紋理建模。
(3) 遮擋臉的信息恢復(fù)。二維的人臉信息一旦被遮擋,也難以被精確地重建,除了利用人臉的對(duì)稱(chēng)先驗(yàn)信息進(jìn)行補(bǔ)全外,有的方法借鑒了檢索匹配[15]的思路,即建立一個(gè)無(wú)遮擋的數(shù)據(jù)集,將重建的模型進(jìn)行姿態(tài)匹配和人臉識(shí)別相似度匹配,然后經(jīng)過(guò)2D對(duì)齊,使用基于梯度的方法來(lái)進(jìn)行紋理遷移,也有的方法使用GAN來(lái)進(jìn)行遮擋信息恢復(fù)[16]。
(3) 當(dāng)前3DMM模型中主要使用PCA來(lái)提取主成分信息,但是這不符合我們通常對(duì)人臉的描述,因此這并非是一個(gè)最合適的特征空間。
(4) 當(dāng)前存在著各種各樣的3DMM模型的變種,但是沒(méi)有一個(gè)模型能夠在各種場(chǎng)景下取得最優(yōu)的效果。
另一方面,3DMM模型也與許多新的技術(shù)開(kāi)始結(jié)合,比如與生成對(duì)抗網(wǎng)絡(luò)模型一起進(jìn)行人臉的數(shù)據(jù)增強(qiáng)[17],姿態(tài)編輯[17],人臉的特征恢復(fù)[18],對(duì)于提升人臉識(shí)別模型在具有挑戰(zhàn)性的大姿態(tài)以及遮擋場(chǎng)景下的性能中具有非常重要的意義。
[13] Richardson E, Sela M, Or-El R, et al. Learning detailed face reconstruction from a single image[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 1259-1268.
[14] Sela M, Richardson E, Kimmel R, et al. Unrestricted Facial Geometry Reconstruction Using Image-to-Image Translation[C]. international conference on computer vision, 2017: 1585-1594.
[15] Tran A T, Hassner T, Masi I, et al. Extreme 3D Face Reconstruction: Seeing Through Occlusions[C]//CVPR. 2018: 3935-3944.
[15] Egger B, Smith W A, Tewari A, et al. 3D Morphable Face Models - Past, Present and Future[J]. arXiv: Computer Vision and Pattern Recognition, 2019.
[16]?Zhao J, Xiong L, Jayashree P K, et al. Dual-Agent GANs for Photorealistic and Identity Preserving Profile Face Synthesis[C]. neural information processing systems, 2017: 66-76.
[17] Yin X, Yu X, Sohn K, et al. Towards Large-Pose Face Frontalization in the Wild[C]. international conference on computer vision, 2017: 4010-4019.
[18]?Yuan X, Park I. Face De-Occlusion Using 3D Morphable Model and Generative Adversarial Network[C]. international conference on computer vision, 2019: 10062-10071.
5. 如何學(xué)習(xí)以上算法
在上面我們介紹了基于3DMM模型的核心技術(shù),實(shí)際上3DMM模型如今還有許多新的進(jìn)展,后續(xù)深入學(xué)習(xí)可以參考有三AI秋季劃的人臉?biāo)惴ńM,可分別學(xué)習(xí)相關(guān)內(nèi)容。
詳情可以閱讀下文介紹:
【通知】如何讓你的2020年秋招CV項(xiàng)目經(jīng)歷更加硬核,可深入學(xué)習(xí)有三秋季劃4大領(lǐng)域32個(gè)方向
人臉相關(guān)的算法,在有三AI知識(shí)星球的人臉板塊中,有諸多介紹,有需要的同學(xué)可以加入。
總結(jié)
本次我們給大家介紹了基于3DMM模型的三維人臉重建相關(guān)核心技術(shù),人臉圖像屬于最早被研究的一類(lèi)圖像,也是計(jì)算機(jī)視覺(jué)領(lǐng)域中應(yīng)用最廣泛的一類(lèi)圖像,其中需要使用到幾乎所有計(jì)算機(jī)視覺(jué)領(lǐng)域的算法,可以說(shuō)掌握好人臉領(lǐng)域的各種算法,基本就玩轉(zhuǎn)了計(jì)算機(jī)視覺(jué)領(lǐng)域。
如何學(xué)習(xí)人臉圖像算法
如果你想系統(tǒng)性地學(xué)習(xí)各類(lèi)人臉?biāo)惴ú⑼瓿上嚓P(guān)實(shí)戰(zhàn),并需要一個(gè)可以長(zhǎng)期交流學(xué)習(xí),永久有效的平臺(tái),可以考慮參加有三AI秋季劃-人臉圖像算法組,完整的介紹和總體的學(xué)習(xí)路線如下:
【總結(jié)】有三AI秋季劃人臉?biāo)惴ńM3月直播講了哪些內(nèi)容,計(jì)算機(jī)視覺(jué)你不可能繞開(kāi)人臉圖像
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
往期精選
【技術(shù)綜述】人臉妝造遷移核心技術(shù)總結(jié)
【技術(shù)綜述】人臉風(fēng)格化核心技術(shù)與數(shù)據(jù)集總結(jié)
【總結(jié)】最全1.5萬(wàn)字長(zhǎng)文解讀7大方向人臉數(shù)據(jù)集v2.0版,搞計(jì)算機(jī)視覺(jué)怎能不懂人臉
【雜談】計(jì)算機(jī)視覺(jué)在人臉圖像領(lǐng)域的十幾個(gè)大的應(yīng)用方向,你懂了幾分?
【雜談】GAN對(duì)人臉圖像算法產(chǎn)生了哪些影響?
【每周CV論文推薦】 深度學(xué)習(xí)人臉檢測(cè)入門(mén)必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉關(guān)鍵點(diǎn)檢測(cè)必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉識(shí)別和驗(yàn)證必讀文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)人臉屬性分析必讀的文章
【每周CV論文推薦】 初學(xué)活體檢測(cè)與偽造人臉檢測(cè)必讀的文章
【每周CV論文推薦】 初學(xué)深度學(xué)習(xí)單張圖像三維人臉重建需要讀的文章
【每周CV論文推薦】 人臉識(shí)別剩下的難題:從遮擋,年齡,姿態(tài),妝造到親屬關(guān)系,人臉攻擊
【每周CV論文推薦】換臉?biāo)惴ǘ加心男┙?jīng)典的思路?
總結(jié)
以上是生活随笔為你收集整理的(综述,讲得很好)基于3DMM的三维人脸重建技术总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: poj 3469(网络流模版)
- 下一篇: java获取插入数据库表中的自增列值的一