1. 程式人生 > >【蜂口 | AI人工智慧】三維人臉重建——龍鵬 深度學習與人臉影象應用連載(十)

【蜂口 | AI人工智慧】三維人臉重建——龍鵬 深度學習與人臉影象應用連載(十)

本次我們的分享是三維人臉重建問題,我們將從以下幾個方面給大家進行分享:

首先,我們對三維人臉重建做一個通用的介紹,並對它的常見的方進行比較詳細的介紹。

其次,我們對當前的三維人臉重建中最常用的一個模型,也就是3DMM模型給大家做個非常詳細的介紹。在我們的傳統方法和深度學習的方法中,都非常頻繁地使用到了這個模型。

然後,我們會對三維人臉重建中面臨的一些難點進行闡述。主要包括3D資料的獲取以及模型精度的問題。

最後,我們將對三維人臉重建的應用進行展示,主要包括在表情驅動及人臉識別這兩個方面。

下面開始正式的分享內容。

什麼是三維人臉重建問題呢?我們看下面這張圖:
在這裡插入圖片描述


這是一張二維的輸入圖片。當我們基於這樣一張二維輸入圖片,得到了下邊這樣的一個三維的模型,也就是從2D的圖片到3D的模型的轉變,這就是一個所謂的三維人臉重建問題。
在這裡插入圖片描述
三維人臉重建問題,它實現了什麼目標呢?

首先,它增加了維度。2D影象只包含二維的XY資訊,而3D的人臉模型,它增加了一個深度的資訊。實際上,通常使用XYZRGB等多維的向量來表示三維人臉的體畫素。當包含了更復雜的光照模型之後,這個多維向量不僅僅包含XYZRGB可能還包含很多其他的一些細數。

其次,三維人臉影象相對於二維人臉影象有一個好處,就是三維人臉影象可以進行任意方向的投影,它投影可以得到任意角度的二維圖片,得到這樣的二維圖片之後,它可以用於非常方便地解決二維影象難以解決的大姿態的人臉識別與關鍵點定位等問題。

那常見的三維人臉重建的方法主要包含三四個:

1)手工建模,也是最傳統的方法。許多學過美工的同學應該知道,3DMAX Maya軟體就是用於大型的3D模型的建模,它常用在電影和動漫的製作裡面。比如說這下面這個圖是咕嚕咕嚕,是《魔戒》裡面的一個形象。
在這裡插入圖片描述
我們當年在看《魔戒》這樣一個大場景製作的電影的時候是感覺到非常震撼的。因為在當年CG技術還沒有這麼發達,大家平常只接觸到二維2D的電影的時候,《魔戒》的出現給我們帶來了非常大的視覺衝擊,它就是利用瑪雅來進行咕嚕咕嚕等一些裡面大型場景的製作。
在這裡插入圖片描述
上面這張圖是我最喜歡的一部國產動漫《秦時明月》,它也是利用三維的手工建模的方法來對其中的每一個人物形象基於3D的建模,然後進行渲染。

手工建模的技術廣泛應用於電影動漫行業,它的特點就是必須要專業人員來操作,所以它的精度非常高,但是它的成本也非常高。

2)基於儀器的技術,主要包括結構光和鐳射掃描器。說到這裡,大家可能應該就想到了接下來我要說的是什麼:iPhoneX。
在這裡插入圖片描述
這就是iPhoneX的結構光的技術。iPhoneX是市面上第一款實現3D人臉識別的產品,它利用的就是結構光的技術來進行三維人臉的重建。有了iPhoneX的三維人臉重建之後,它可以用於三維人臉的識別,以及做一些3D表情的動畫。

這門技術它是主動三維測量技術,它就是使用一些消費級的3D感測器,它的成本雖然低,但是入門的門檻非常高。

現在國際上擁有這樣一個批量生產有能力的企業屈指可數,國外就包括蘋果微軟,以及英特爾。國內包含了一個創業公司叫做奧比中光,他已經成功地實現了手機3D攝像頭模組的量化量產。

所以在可見的一兩年之內,我們應該能看到安卓手機上也開始大量地使用3D人臉識別技術。

3)基於影象的技術。基於影象的技術所使用的方法非常多:

a)最開始使用的是立體視覺的技術。立體視覺適用於模仿人眼的方案。因為人眼包括左右眼,左右眼,通過觀察2D影象的視差,從而能夠感受到3D的一個深度。

b)Structure from motion方法。Structure from motion是基於視訊來進行3D的重建,所以它是利用光流等方法來估計相機的一個運動。

c)Structure from shape。它是一個基於反射光照模型的方法,它可以基於多張圖或者單張圖來進行三維的重建。

d)3D MM模型。3D MM模型是一個比較低維的3D模型。我們後面會給大家做詳細的介紹。

最後還包含一些其他的方法。

總之基於影象的方法,它的特點就是它的成本非常低,精度也是最低的,但是因為它是現在最靈活的一個方案,也是在學術界被研究最廣泛的方案。

下面我們給大家介紹著重介紹一下3D MM模型,是一個在三維人臉重建領域裡面非常著名的模型。

這個模型基於這樣一個思想:它將任何一張臉表示為一些平均臉的資訊疊加,他利用199個人建立了一組標準的正交基,每一個標準的正交基就是一個3D的模型,它包含了5萬多個點。正交基它分兩種:形狀正交基和紋理正交基。
在這裡插入圖片描述
上面是我們的形狀正交基,可以看到形狀正交基,它表徵的就是形狀,我們可以通過形狀的係數來控制臉型。
在這裡插入圖片描述
上面這是紋理正交基,它表徵的就是影象的紋理顏色,我們可以利用這樣一個紋理係數來進行不同的顏色的渲染。

有了這兩個標準的正交基之後,我們就可以把3D的人臉模型拆分為形狀和紋理,分別是平均形狀加上正交基的一些組合,以及平均紋理加上紋理正交基的組合。
在這裡插入圖片描述
關於更具體的資訊,大家可以去下面這個網站去獲取:

https://faces.dmi.unibas.ch/bfm/main.php?nav=1-1-0&id=details
那麼3D MM模型,它要解決的核心問題就是如何恢復出我們這裡的形狀係數和紋理係數。
在這裡插入圖片描述
上面這幅圖是一個比較早期的方案。這個方案的特點就是:首先我們建立了一個3D的資料庫,就是我們前面所說的199個人建立的一個標準的資料集;然後我們輸進了一種二維影象;再利用人臉檢測、關鍵點檢測獲得它的一些關鍵點;獲得68個關鍵點之後,因為這些關鍵點在三維的模型中也有它對應的關鍵點,所以我們可以從三維往二維影象進行投影;然後計算這個投影與我們獲取到的二維關鍵點的一個誤差,用最小二乘誤差來求它的投影誤差,從而優化我們前面的形狀係數和紋理係數。

關於如何迭代的求取形狀係數和紋理係數,大家可以去這樣一篇文章中進行詳細的解讀:

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.
前面我們說的是用傳統方法來解決這樣一個係數問題,它是一個基於優化的方法,他可以獲得解析解。
在這裡插入圖片描述
現在我們也可以利用深度學習的方法來直接回歸這樣的一個係數。上面這張圖闡釋的是一個深度學習的方案,這個深度學的方案不僅是基於一張圖,而是基於多張圖。基於這些圖,每張圖都首先重建一個3D MM模型,然後我們獲得3D MM模型係數的一個平均值,獲得平均值之後,我們再與它的增值去進行誤差的比對,然後再進行反向的傳播。

基於深度學習的方案的好處就是直接利用深度學習模型,迴歸出了相應的係數。在我們使用模型的時候非常方便,不需要去求解複雜的方程。

關於更多的細節,大家可以去相應的文章中進行讀取。

三維人臉重建是一個比較困難的問題,它有以下幾個難點:

首先,3D MM等模型維度太低導致影象細節難以恢復。我們前面說的3D MM模型是一個利用199個人臉,即199個3D模型構成了一個空間,每一個模型都只包含了5萬多個點。實際上這5萬多個點仍然是一個比較低維的表示。對於一個三維人臉來說,它的模型仍然非常低,我們在求解係數的時候也會用到PCA降維等方法,所以它天然就有一個缺陷,就是它的影象細節是難以恢復的,它難以恢復人臉中的細節,包括皺紋啊鬍子等等。所以現在基於深度學習的最新的方案,已經開始放棄這樣一個低維模型。

其次,資料標註成本特別高。因為如果我們要標註這樣一個三維人臉,我們必須使用到昂貴的器械,包括一些鐳射掃描器、結構光等等,這個資料標註成本比二維影象的資料標註成本要高很多。所以替代的方案是全世界嘗試用一些模擬的資料,或者使用inverse rendering這種不需要標註資料的方案。

最後,3D人臉重建也容易受到干擾。這些干擾主要來自於遮擋和光照等等。

下面展示了一個比較有希望的方案。這個方案不需要標註資料,它也是個inverse rendering方法。
在這裡插入圖片描述
我們可以看到,首先利用深度學習,利用一個DEEP Encode來回歸出它的係數,

然後我們基於前面的模型迴歸出一個三維的模型。得到三維模型之後,我們再往二維空間進行投影,最後在二維空間計算出畫素的loss。這是一個不需要使用昂貴的標註資料的方案。

最後我們對三維人臉重建的應用做一個簡單的展示,主要包含在兩個方面:

首先,大姿態的人臉識別和關鍵點的檢測。因為三維人臉重建中,當我們重建出它的模型之後,我們可以對這個三維人臉模型進行旋轉等等操作,從而可以得到二維影象中被遮擋的一些區域。所以對於大姿態的人臉識別和關鍵點檢測,三維人臉模型是有它的優勢的。

其次,卡通畫和表情驅動。這個我們從iPhoneX的卡通表情,就可以看出來它是一個應用的場景。下面我們用動畫來進行一個展示。可以看到iPhoneX的一個表情的驅動是非常非常真實的。
在這裡插入圖片描述
下面這是一個大姿態的人臉關鍵點檢測問題的展示。因為目前大致的人的關鍵點以及有遮擋的人臉關鍵點,仍然是困擾二維影象的一個非常大的課題。
在這裡插入圖片描述
我們往後期待三維人臉重建問題能夠緩解甚至解決這樣的一個問題。

感謝您的閱讀,更多精彩盡在蜂口小程式~瞭解一下?
獲取免費內容,歡迎V信fengkou-IT勾搭~