VR来了,3D人脸重建跟上《三维人脸重建-3DMM》
之前我們寫過了《三維人臉重建入門》,接下來,自然就是入門之后的事情。當然了,不管是一個什么項目,方法永遠不會是唯一的。
一 引言
To my best of knowledge,如之前所說,三維人臉重建方法分為三大類:(1)專業儀器采集;(2)專業人士處理;(3)圖像處理方法。
第三類,也就是基于圖像的三維人臉重建,才是我們關心的問題,那么第三類又有哪些方法呢?
To my best of knowledge,分為幾下幾個方向:
(1) 基于立體匹配的方法;(2) 基于3D Morphable Model的方法;(3) 基于Structure from Motion與光流的方法; (4) 基于structure from shape等方法。
事實上,上面的各種方法之間會有交叉,并沒有一個完整的界限,之所以分開是為了學習的方便。本篇要學習的,就是基于3DMM的方法。
在引出3DMM之前,有一個概念引出,看下圖:
?
上圖,是英國人做的繪制各國女性平均臉的實驗。平均臉,無需多加解釋,就是綜合了所有圖片得到的一個平均特征。當然,在二維人臉識別中更常使用的概念是特征臉,與這里的平均臉有一定的差異。
特征臉方法的思想是:利用訓練人臉圖像樣本集,找到一組標準正交基,將人臉線性投影至由該組基組成的向量空間,從而每一幅人臉圖像都可以由這組標準正交基線性表示。
什么意思?就是一幅人臉,可以由其他許多幅人臉加權相加而來,學過線性代數的就很容易理解這個正交基的概念。我們所處的三維空間,每一點(x,y,z),
實際上都是由三維空間三個方向的基量,(1,0,0),(0,1,0),(0,0,1)加權相加所得,只是權重分別為x,y,z。
基向量空間,個人覺得實際上是線性代數最核心的思想了。
轉換到三維空間,道理一樣。每一個三維的人臉,可以在由一個數據庫中的所有人臉組成的基向量空間中進行表示,而求解任意三維人臉的模型,實際上等價于求解各個基向量的系數的問題。
二 3DMM
3DMM,全稱3D Morphable Model,由文[1-2]提出。Blanz等人在這兩篇文獻中提出的3DMM方法,輸入圖像可以是單張正面的人臉圖像,多張正面的人臉圖像,或者用戶交互輸入的圖像,其重建效果可見下圖,圖1.1為輸入圖像,1.2為輸出結果。
?
圖1.1
圖1.2
圖1.3
?
圖1.3左上角為輸入圖像,右上角為重建結果,下面一排為改變圖像的光照和姿態后的結果。
?
如果僅從上面的結果看,是不是會覺得非常驚艷?這還只是本世紀初的研究成果。當然,論文中呈現的結果,離實際工業應用往往還有很大的距離,畢竟文中只呈現好的結果,如果換張圖效果可能就有非常大的差異。
下面從3個方面來介紹3DMM。
?
1. 數據庫
前面說了,我們需要一個基向量空間,那么就需要一個數據庫來建立該基向量空間。那么Blanz等人采用的數據庫是怎樣的呢?
a. 200個3D模型,也就是200張三維的人頭部圖像。100張男性,100張女性,年齡分布18~45歲。
b. 1張亞洲人臉,199張高加索人臉。
c. 采用結構光和激光進行采集,未處理前,每一個模型由70000個點描述,處理后由53490個點描述。
d. 在數據庫的處理過程中,將所有模型的每一個點的位置都進行了精確一一匹配,也就是說,每一個點都有實際的物理意義,可能有右嘴角,可能是鼻尖。
?
?
該數據庫的平均人臉形狀和平均人臉紋理如下面所示:
?
?
左邊是平均值,右邊兩行,分別是第1,2,3個主成分,+/-方差5所得的模型。從中可以看出,調整不同的人臉形狀和紋理是很容易的。
?
接著上面的話題繼續介紹數據庫
e. 每一個模型包括的屬性,性別,高度,寬度,年齡。有了這些屬性之后,可以調整各個屬性的系數,從而產生不同的人臉,看下圖。
f. 不僅如此,為了更精確地重建,還講人臉分為了4個區域,這樣我們就可以分別對各個區域進行精確地重建,然后再融合。g. 對于現在的人臉識別來說,最重要的就是特征點的標記,也就是landmarks,因為這些點在處理的過程中,意義相比其他特征不明顯的點,更加明顯。作者提供了兩種特征點標記方法。 特征點可以干嘛?更方便地用于初始化。
?
?
2. 3DMM的基本原理
前面提到,一個3維的人臉,可以由其他人臉線性組合,這就是3DMM的核心思想。首先要說明的是,這個線性組合絕不是在笛卡爾坐標系下,也就是說不是拿采集的3D點的位置就直接進行線性組合。那么基向量從哪里來呢?相信熟悉的人都會想到,PCA。此處不會對PCA詳解,不熟悉可以再去了解。
總之,PCA的功能就是,將數據從一個特征空間,轉換到另外一個特征空間進行描述,放到高中數學,這樣的思想其實有過。在平面直角坐標系下,圓的方程其實很不優雅,而轉換到極坐標系下,則變得特別簡單。
每一個模型都由很多點組成,每一點可以表為(x,y,z,r,g,b),其中(x,y,z)是位置坐標,(r,g,b)是顏色。此處,我們將x,y,z稱為形狀向量,r,g,b稱為紋理向量(忘掉顏色吧)。形狀和紋理,實際上可以說是完全不相干的東西,前者決定了臉的輪廓,后者決定了臉的膚色等。當然,在兩者的共同作用下,才會出現皺紋等效果。數學描述如下:
每一張人臉可以表示為:
形狀向量Shape Vector:S=(X1,Y1,Z1,X2,Y2,Z2,...,Yn,Zn)
紋理向量Texture Vector:T=(R1,G1,B1,R2,G2,B2,...,Rn,Bn)
而一張任意的人臉,其等價的描述如下:
式1
其中,Si,Ti就是數據庫中的第i張人臉的形狀向量和紋理向量。
到這里,PCA似乎還沒有派上用場?
在這里,首先要給大家灌輸一個知識,那就是在解決實際問題的過程中,數據的預處理,其重要性并不比一個方法或者模型低,沒有經過歸一化的數據,可能會對方法的穩定性構成非常大的挑戰。
上面的式子,可以轉換為下面的形式,
式2
其中是Si,Ti的平均值,而si,ti則都是Si,Ti減去各自平均值后的協方差矩陣的特征向量,而且是根據i降序排列的,系數也不再是a,b而是α,β。等式右邊仍然是m項,但是累加項降了一維,減少了一項。如果原始的數據,為零均值或者已經做過去均值處理,那么這個式子的表達與式1還有什么區別呢?
區別就是:
si,ti都是線性無關的,而Si,Ti則不一定。取si,ti的前幾個分量可以對原始樣本做很好的近似,而Si,Ti則不行,因為si,ti是按照攜帶信息的重要性降序排列的,而重要信息往往掌握在少數的向量中。雖然本數據庫只有200張圖像,但是如果每一個分量都用上的,a就有兩百個參數需要估計,而式2表現的形式可能只需要取前幾個分量,從而大大減少參數的數目,并不失精度。
3. 3DMM如何恢復形狀和紋理
這才是最重要的問題對不對,有了上面的模型之后,怎么從一張圖片從恢復出形狀和紋理呢?
首先,我們的輸入只是一張圖像,需要把它變成3維的模型,本身就是個病態問題,說人話就是:此問題無解,因為可以有無窮多個解。但是現實是,就算沒有解的方程,我們仍然需要去求解。
思路是這樣的;
(a) 初始化一個3維的模型(需要初始化內部參數α,β),初始化外部參數,包括相機的位置,圖像平面的旋轉角度,直射光和環境光的各個分量,圖像對比度等等,共20多個位置參數,當然初始化需要有一定的技巧。
(b) 在初始參數的控制下,經過3D至2D的投影,即可由一個3D模型得到2維圖像,然后計算與輸入圖像的殘差。再以其誤差,去反向傳播調整相關系數,調整3D模型,不斷進行迭代。
現在我們遇到的絕大多數問題,都是在迭代中求解最優解,上面的過程被稱為Analysis-by-synthesis,不知道該怎么翻譯好,總之就那么個意思吧。
具體的迭代細節和方法,不是此處可以說明白的,可以參考下面的文獻,其中會牽涉到梯度下降法,Phong光照模型,貝葉斯理論等。
?
4. 3DMM到底如何
上面其實已經展示了一些結果,下面就最新的一篇文章【3,4】分析一下方法的效果。
這里就不完整的介紹論文,基于上面的3DMM模型,該論文具體采用了這樣的一些技術:
(1) cascaded regressor。級聯回歸器,是該文章用于進行參數迭代的方法。輸入為若干個訓練好的弱回歸器,和一個初始化的模型。
(1) regressor的輸入是串聯起來的關鍵點的局部SIFT特征向量。
?
?
?
?
值得一提的是,該方法的結果是實時的,而不像原始的3DMM方法處理時間是以分鐘為單位,輸入可以是圖像或者視頻。
?
三 后記
很多人都覺得,2016年是VR的元年,那么我相信,3D人臉重建,一定是必不可少的一環。
?
四 參考文獻
【1】Blanz V, Vetter T. A morphable model for the synthesis of 3D faces[C]//Proceedings of the 26th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1999: 187-194.
【2】Blanz V, Vetter T. Face recognition based on fitting a 3D morphable model[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2003, 25(9): 1063-1074.
【3】Huber P, Feng Z, Christmas W. Fitting 3D Morphable Models using Local Features[J]., 2015.
【4】Huber P, Guosheng Hu, Rafael Tena. Etc. A multiresolution 3D morphable face model and fitting framework. 2016
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的VR来了,3D人脸重建跟上《三维人脸重建-3DMM》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 速卖通代运营收费标准,什么样的商家适合找
- 下一篇: 为了压榨CNN模型,这几年大家都干了什么