基于圖像的人臉三維重建在人臉分析與娛樂領(lǐng)域里有巨大的應(yīng)用場景,同時它也可以用于提升人臉關(guān)鍵點(diǎn)檢測,人臉識別,人臉編輯等很多任務(wù)。本文重點(diǎn)介紹其中基于3DMM模型的核心技術(shù)及其研究進(jìn)展。
1. 什么是人臉三維重建
人臉三維重建就是建立人臉的三維模型,它相對于二維人臉圖像多了一個維度,在電影,游戲等領(lǐng)域應(yīng)用廣泛。目前獲取人臉三維模型的方法主要包括三種,軟件建模,儀器采集與基于圖像的建模。
(1) 軟件建模作為最早的三維建模手段,現(xiàn)在仍然是最廣泛地在電影,動漫行業(yè)中應(yīng)用。頂頂大名的3DMax就是典型代表,作品如下圖。
(2) 由于手工建模耗費(fèi)大量的人力,三維成像儀器也得到了長期的研究和發(fā)展?;诮Y(jié)構(gòu)光和激光儀器的三維成像儀是其中的典型代表,我們熟知的iphoneX中的人臉識別就是基于結(jié)構(gòu)光進(jìn)行三維人臉重建,正因如此才有iphonex中的三維人臉表情包。這些基于儀器采集的三維模型,精度可達(dá)毫米級,是物體的真實(shí)三維數(shù)據(jù),也正好用來為基于圖像的建模方法提供評價數(shù)據(jù)庫。不過由于儀器的成本太高,一般的用戶是用不上了。
(3) 基于圖像的建模技術(shù)(image based modeling),顧名思義,是指通過若干幅二維圖像,來恢復(fù)圖像或場景的三維結(jié)構(gòu),這些年得到了廣泛的研究。
我們這里說的人臉三維重建,就特指基于圖像的人臉三維重建方法。人臉三維重建的研究已經(jīng)有幾十年的歷史,但是基于圖像的快速高精度三維人臉重建還沒有工業(yè)落地,需要研究人員繼續(xù)努力。
2. 什么是3DMM模型
基于人臉圖像的三維重建方法非常多,常見的包括立體匹配,Structure From Motion(簡稱SfM),Shape from Shading(簡稱sfs),三維可變形人臉模型(3DMM),本文就重點(diǎn)講述3D Morphable models(簡稱3DMM),其相關(guān)的傳統(tǒng)方法和深度學(xué)習(xí)方法都有較多的研究。
2.1 基本思想
3DMM,即三維可變形人臉模型,是一個通用的三維人臉模型,用固定的點(diǎn)數(shù)來表示人臉。它的核心思想就是人臉可以在三維空間中進(jìn)行一一匹配,并且可以由其他許多幅人臉正交基加權(quán)線性相加而來。我們所處的三維空間,每一點(diǎn)(x,y,z),實(shí)際上都是由三維空間三個方向的基量,(1,0,0),(0,1,0),(0,0,1)加權(quán)相加所得,只是權(quán)重分別為x,y,z。
轉(zhuǎn)換到三維空間,道理也一樣。每一個三維的人臉,可以由一個數(shù)據(jù)庫中的所有人臉組成的基向量空間中進(jìn)行表示,而求解任意三維人臉的模型,實(shí)際上等價于求解各個基向量的系數(shù)的問題。
人臉的基本屬性包括形狀和紋理,每一張人臉可以表示為形狀向量和紋理向量的線性疊加。
形狀向量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個人臉模型進(jìn)行加權(quán)組合如下:
其中Si,Ti就是數(shù)據(jù)庫中的第i張人臉的形狀向量和紋理向量。但是我們實(shí)際在構(gòu)建模型的時候不能使用這里的Si,Ti作為基向量,因?yàn)樗鼈冎g不是正交相關(guān)的,所以接下來需要使用PCA進(jìn)行降維分解。
(1) 首先計算形狀和紋理向量的平均值。
(2) 中心化人臉數(shù)據(jù)。
(3) 分別計算協(xié)方差矩陣。
(4) 求得形狀和紋理協(xié)方差矩陣的特征值α,β和特征向量si,ti。
上式可以轉(zhuǎn)換為下式
其中第一項(xiàng)是形狀和紋理的平均值,而si,ti則都是Si,Ti減去各自平均值后的協(xié)方差矩陣的特征向量,它們對應(yīng)的特征值按照大小進(jìn)行降序排列。
等式右邊仍然是m項(xiàng),但是累加項(xiàng)降了一維,減少了一項(xiàng)。si,ti都是線性無關(guān)的,取其前幾個分量可以對原始樣本做很好的近似,因此可以大大減少需要估計的參數(shù)數(shù)目,并不失精度。
基于3DMM的方法,都是在求解這幾個系數(shù),隨后的很多模型會在這個基礎(chǔ)上添加表情,光照等系數(shù),但是原理與之類似。
2.2 3DMM模型求解方法
基于3DMM求解三維人臉需要解決的問題就是形狀,紋理等系數(shù)的估計,具體就是如何將2D人臉擬合到3D模型上,被稱為Model Fitting,這是一個病態(tài)問題。經(jīng)典的方法是1999年的文章“A Morphable Model For The Synthesis Of 3D Faces”,其傳統(tǒng)的求解思路被稱為analysis-by-Synthesis;
(a) 初始化一個3維的模型,需要初始化內(nèi)部參數(shù)α,β,以及外部渲染參數(shù),包括相機(jī)的位置,圖像平面的旋轉(zhuǎn)角度,直射光和環(huán)境光的各個分量,圖像對比度等共20多維,有了這些參數(shù)之后就可以唯一確定一個3D模型到2D圖像的投影。
(b) 在初始參數(shù)的控制下,經(jīng)過3D至2D的投影,即可由一個3D模型得到2維圖像,然后計算與輸入圖像的誤差。再以誤差反向傳播調(diào)整相關(guān)系數(shù),調(diào)整3D模型,不斷進(jìn)行迭代。每次參與計算的是一個三角晶格,如果人臉被遮擋,則該部分不參與損失計算。
(c) 具體迭代時采用由粗到精的方式,初始的時候使用低分辨率的圖像,只優(yōu)化第一個主成分的系數(shù),后面再逐步增加主成分。在后續(xù)一些迭代步驟中固定外部參數(shù),對人臉的各個部位分別優(yōu)化。
對于只需要獲取人臉形狀模型的應(yīng)用來說,很多方法都會使用2D人臉關(guān)鍵點(diǎn)來估計出形狀系數(shù),具有更小的計算量,迭代也更加簡單,另外還會增加一個正則項(xiàng),所以一個典型的優(yōu)化目標(biāo)是如下:
對于Model fitting問題來說,除了模型本身的有效性,還有很多難點(diǎn)。
(1) 該問題是一個病態(tài)問題,本身并沒有全局解,容易陷入不好的局部解。
(2) 人臉的背景干擾以及遮擋會影響精度,而且誤差函數(shù)本身不連續(xù)。
(3) 對初始條件敏感,比如基于關(guān)鍵點(diǎn)進(jìn)行優(yōu)化時,如果關(guān)鍵點(diǎn)精度較差,重建的模型精度也會受到很大影響。
2.3 3DMM模型的發(fā)展
要使用3DMM模型來完成人臉重建,首先就需要一個數(shù)據(jù)庫來建立人臉基向量空間,Blanz等人在1999年的文章中提出了采集方法,但是沒有開源數(shù)據(jù)集,Pascal Paysan等人在2009年使用激光掃描儀精確采集了200個人臉數(shù)據(jù)得到了Basel Face Model數(shù)據(jù)集(簡稱BFM模型),基本信息如下:
(1)采用ABW-3D結(jié)構(gòu)光系統(tǒng)進(jìn)行采集,采集時間約1s,相比于激光平均15s的采集方案更加具有優(yōu)勢。整個數(shù)據(jù)集包含200張三維的人臉,其中100張男性,100張女性,大部分為高加索人臉。年齡分布8~62歲,平均年齡24.97歲,體重40~123千克,平均66.48千克。每一個人都被采集3次中性表情,并選擇其中最自然的一次。
(2)在對采集后的點(diǎn)進(jìn)行處理的過程中,模型的每一個點(diǎn)的位置都進(jìn)行了精確匹配,也就是說每一個點(diǎn)都有實(shí)際的物理意義,比如屬于右嘴角等。經(jīng)過處理后,每一個模型由53490個點(diǎn)描述。
該數(shù)據(jù)庫的平均人臉形狀和平均人臉紋理:
Basel Face Model數(shù)據(jù)集只有200個人,而近期研究者基于此模型采集了9663個人得到LSFM模型,能夠進(jìn)一步提升表達(dá)能力。
2009年發(fā)布的Basel Face Model版本中沒有表情系數(shù),而2017年發(fā)布的版本BFM 2017中提供了表情系數(shù),同樣還是一個線性模型。
當(dāng)然了,在國內(nèi)也有一個著名的數(shù)據(jù)集,就是FaceWarehouse,不過不開源,一般研究者拿不到數(shù)據(jù)。
當(dāng)然也有一些商業(yè)號稱會開源更好的模型,這個大家可以拭目以待。人臉的三維模型數(shù)據(jù)之所以不公開,是因?yàn)槭褂酶呔鹊娜S模型可以很容易仿真真實(shí)人臉,容易發(fā)生安全事故。
當(dāng)前基于3DMM的表情模型主要有兩個思路,分別是加性模型和乘性模型。加性模型就是線性模型了,將表情作為形狀的一個偏移量,Es,Ee分別表示形狀和表情基,Ws,We分別表示對應(yīng)的系數(shù)。
但是因?yàn)楸砬橐矔淖內(nèi)四樀男螤?,因此它和形狀并非完全正交的關(guān)系,所以有的研究者提出了乘性模型,如下。
其中de是一個表情遷移操作集合,第j個操作即為Tj,δ都是校準(zhǔn)向量。
另一方面,紋理模型也被稱為表觀模型,它相對于形狀模型來說更加復(fù)雜,受到反射率和光照的影響,不過大部分的3DMM模型不區(qū)分兩者,所以我們將其視為一個因素,即反射率。
光照模型通常采用的是球面模型,光照模型比較復(fù)雜,我們這里就不列出具體的表達(dá)式,大家可以自行閱讀相關(guān)論文。
在2009年提出的BFM模型中,紋理模型是一個線性模型,即由多個紋理表情基進(jìn)行線性組合。后續(xù)的研究者們在整個基礎(chǔ)上增加了紋理細(xì)節(jié),用于仿真臉部的皺紋等。
盡管在大多數(shù)情況下,我們使用的都是線性3DMM模型,但是非線性3DMM模型同樣也被研究,由于不是主流,就不展開講了。
? ? ? ?責(zé)任編輯:pj
電子發(fā)燒友App

















評論