美圖影像實驗室(MTlab, Meitu Imaging & Vision Lab)推出“10000點3D人臉關鍵點技術”——利用深度學習技術實現10000點的人臉五官精細定位,支援全方位姿態、各種極端表情,且在移動端達到500fps 的超高執行速度,實現電影級別的面部表情捕捉。
一、導語
相信大家對前不久上映的電影《阿麗塔:戰鬥天使》還有著深刻的印象,這部電影展示了目前CG技術的頂級水準,涵蓋了建模,動畫,渲染,模擬等CG技術。一直以來,真實感人臉的渲染和細微表情的捕捉是非常難的,但阿麗塔做的足夠真實,成功的改變了人們對CG技術生成人物一看就是假的刻板印象。人臉的微表情非常多,比如簡單的皺眉動作,就牽扯到眉毛、眼睛、鼻子、嘴巴、面部,乃至毛孔、肌膚紋理等等。《阿麗塔》採用特殊面部捕捉儀器,對人臉面部細節進行精準捕捉、重建和展現,重新整理了人們對CG技術極限的認知。
而如今,隨著深度學習的發展,表情捕捉將不再需要笨重的裝置和繁瑣的流程。美圖影像實驗室MTlab 面部稠密人臉點關鍵技術(MT3DMM),可以完美替代專業的動作捕捉裝置,在手機上就能實現精準的表情捕捉。採用深度學習方法,通過美圖龐大的人臉資料進行訓練,利用網路對影像進行深層次分析並理解面部特徵,進行人臉的三維定位及跟蹤,支援全方位姿態、各種極端表情。同時利用MTlab研發的AI前向引擎和模型量化技術,進一步提升了MT3DMM的效能和效果,在美圖T9(驍龍660)手機上達到500fps的超實時效能。
二、簡介
在計算機視覺領域,人臉關鍵點定位在視覺和圖形中具有廣泛的應用,包括面部跟蹤、情感識別以及與多媒體相關的互動式影像視訊編輯任務。目前行業內常用的是2D人臉關鍵點技術,例如MTlab自主研發的118點的2D人臉關鍵點定位技術已成功應用於美圖的各個軟硬體產品中。
然而,2D人臉點定位技術由於無法獲取深度資訊,不能分析使用者的立體特徵,比如蘋果肌,法令紋等更加細緻的使用者資訊,也無法分析出使用者當前的姿態和表情。為了能夠給使用者的自拍新增動畫效果,如面具、眼鏡、3D帽子等物品,並且提供更加智慧的AI美顏美型效果,需要一套特殊的感知技術,實時跟蹤每個使用者的微笑、眨眼等表面幾何特徵。因此美圖影像實驗室MTlab研發人員研發了10000點人臉關鍵點技術,將面部影像提升到三維立體空間,將使用者的姿態、臉型以及表情分解開來,實時跟蹤使用者當前的姿態、表情、五官特徵改變後的面部形態,調整後的影像更加自然美觀。
三、基於3DMM的人臉關鍵點定位方法
1、三維形變模型(3DMM)
1999年,瑞士巴塞爾大學的科學家Blanz和Vetter1提出了一種十分具有創新性的方法——三維形變模型(3DMM)。三維形變模型建立在三維人臉資料庫的基礎上,以人臉形狀和人臉紋理統計為約束,同時考慮了人臉的姿態和光照因素的影響,生成的人臉三維模型精度較高。
如上圖所示3DMM的主要思想是:一張人臉模型可以由已有的臉部模型進行線性組合。也就是說,可以通過改變係數,在已有人臉基礎上生成不同人臉。假設建立3D變形的人臉模型由m個人臉模型組成,其中每一個人臉模型都包含相應的臉型和紋理兩種向量,這樣在表示新的3D人臉模型時,就可以採用以下方式:
其中 表示平均臉部形狀模型,表示shape的PCA部分, 表示對應臉型係數。
Blanz和Vetter提出的3DMM雖然解決了人臉變形模型的表達問題,但其在人臉表情表達上依然存在明顯不足。2014年時,FacewareHouse2這篇論文提出並公開了一個人臉表情資料庫,使得3DMM有了更強的表現力,人臉模型的線性表示可以擴充為:
在原來的臉型資料基礎上,增加了表情 , 表示對應的表情係數,係數讓實時表情Tracking成為了可能。
2、美圖MT3DMM模型
為了能夠更加精細地刻畫不同人臉的3D形狀,並且適用於更廣泛的人種,MTlab的研發團隊採用先進的3D掃描裝置採集了1200個不同人物、每人18種表情的3D人臉資料,其中男女各半,多為中國人,年齡分佈在12~60歲,模型總數超過20000個,基於這些資料,建立了基於深度神經網路的MT3DMM模型。相比於目前主流的3DMM模型,MT3DMM具有表情豐富,模型精度高,並且符合亞洲人臉分佈的特點,是目前業界精度最高的3D人臉模型之一。
3DMM模型,代表了一個平均臉,也同時包含了與該平均臉的偏差資訊。例如,一個胖臉在一個瘦臉模型基礎上,通過調整五官比例可以得到胖臉模型。利用這種相關性,計算機只需要利用使用者的臉與平均人臉的偏差資訊,就能夠生成專屬於使用者的3D模型。不僅如此,這些偏差還包括大致的年齡、性別和臉部長度等引數。但是,這樣也存在一個問題,世界上的人臉千變萬化,要將所有人臉與平均人臉的偏差都儲存下來,3DMM模型需要整合大量面部的資訊,然而目前的開源模型在模仿不同年齡和種族人臉方面的能力十分有限。
如下圖BFM1的人臉資料基本都是外國人臉,跟亞洲人臉的資料分佈存在差異;Facewarehouse2的資料主要是亞洲人臉,但是用Kinect掃描的模型則存在精度較低的問題;SFM3開源的資料只包含了6種表情,並且模型的精度較低,無法滿足我們的需求;LSFM4資料包含了較多的人臉資料,但是不包含表情,無法用於使用者表情跟蹤。
掃描出來的模型雖然是高精度的模型,但是不包含具體的語意資訊。因此,MTlab的3D研發團隊專門為此開發了一套自動註冊演算法,無需人工進行標定就可以對掃描模型進行精細化註冊,如下圖所示:最終,MTlab將所有註冊好的3D模型組合成MT3DMM資料庫,用於10000點面部關鍵點定位。高精度的掃描模型也為開發其它功能提供了更多的可能。
3、資料製作
為了能夠發揮深度學習的大資料優勢,需要給神經網路提供大量的資料,MTlab研發人員設計了一套高複雜度的資料製作演算法,同時配合高精度的MT3DMM模型製作出大量的訓練資料。相比目前主流的訓練資料製作方法,MTlab的訓練資料可以有效的解耦臉型,表情以及姿態資訊,在進行精確的稠密點人臉定位的同時,進行AR特效以及精準的人臉表情驅動。
從上面的公式可以將人臉重建的問題轉化成求 , 係數的問題,將我們引數化的3D人臉模型 跟2D特徵點 進行對映後,便可以用下面的公式對臉部進行擬合,具體求解過程如下:
這裡 是三維模型投影到二維平面的點, 為正交投影矩陣, 為旋轉矩陣, 為位移矩陣,這樣我們就可以將三維求解問題轉化成求解下面的能量方程
這裡加了正則化部分,其中 是PCA係數(包括形狀係數 以及表情係數 ), 表示對應的主成分偏差。
目前的3D重建演算法大多都是將姿態,臉型以及表情引數一起優化,並不能將這三者獨立開來,為了能夠解耦姿態,表情,以及臉型之間的關係,MTlab的資料包含了一個人同一姿態下的不同表情,以及同一表情下不同姿態的資料集,採用Joint Optimization 策略來計算每個人的臉型,姿態以及表情引數,得到解耦後的引數資料可以真實反應出當前人臉的姿態資訊,臉型資訊以及表情資訊,極大的豐富了應用場景。
4、神經網路訓練
傳統的3D人臉重建演算法,不管是單圖重建、多圖重建還是視訊序列幀重建,都需要通過凸優化演算法優化出所需要的引數,為了能夠讓演算法在移動端實時執行,MTlab研發人員採用深度神經網路進行End-to-End學習,通過神經網路強大的學習能力替代了凸優化過程的大量技術。通過研究分析目前移動端較快的網路(SqueezeNet5、Shufflenet v26、PeleeNet7、Mobilenetv28、IGCV39)的特性,MTlab研發人員提出了一種適合移動端網路,並且具備低功耗特性的ThunderNet,配合MTlab研發的AI前向引擎和模型量化技術,在美圖T9上執行幀率達到500fps。MT3DMM神經網路訓練的要點如下:
資料增益:為了適應In-the-wild影像,需要讓演算法對低解析度、噪聲、遮擋或包含運動和不同的光照場景下具有強魯棒性,MTlab採用了海量的資料,並用演算法擾動模擬了各種真實環境下的資料進行訓練。網路結構:使用了MTlab自研的ThunderNet網路結構,在速度和精度上都超過了同規模的快速網路,包括SqueezeNet5、Shufflenet v26、PeleeNet7、Mobilenetv28、IGCV39,並具有低功耗的特點。
損失函式:Loss主要採用了引數Loss、KeyPoints Loss、3D Vertexes Loss 以及Texture Loss,並且用相應的權重去串聯它們,從而使網路收斂達到最佳效果。實驗發現,引數Loss可以獲取更加準確的引數語意資訊,KeyPoints Loss可以使最終的稠密人臉點貼合人臉五官資訊,3D Vertexes Loss能更好地保留使用者臉部3D幾何資訊,Texture Loss則可以幫助網路實現更好的收斂效果。
最終,在得到網路輸出的引數後,MTlab用MT3DMM模型解碼出相應的人臉3D模型,根據姿態以及投影矩陣就可以得到面部稠密人臉點。模型都是經過引數化後,每一個點都有其相對應的語意資訊,可以通過修改3D模型對影像進行相應的編輯。美圖手機上光效相機、個性化美顏檔案、3D修容記憶、美顏立體提升、3D姿態調整、App萌拍動效、美妝相機萬聖節妝容、彩妝、Avatar驅動等功能都採用了該項技術。
四、結論
目前影像和圖形技術已經滲透到我們生活的方方面面,美圖的MT3DMM稠密3D人臉點關鍵技術有眾多應用場景,例如可以在VR遊戲中構建玩家人臉的3D遊戲角色並且驅動,也可以應用於虛擬試妝試戴和醫療美容領域 等 。美圖影像實驗室MTlab致力於計算機視覺、機器學習、擴增實境、雲端計算等領域的演算法研究、工程開發和產品化落地。除了MT3DMM,MTlab已通過美圖AI開放平臺(ai.meitu.com)對外開放了數十種計算機視覺相關技術,提供經市場驗證的專業AI演算法服務和解決方案。
五、參考文獻
V. Blanz and T. Vetter. A morphable model for the synthesis of 3D faces. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques, pages 187– 194, 1999.
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
Huber P, Hu G, Tena R, et al. A multiresolution 3d morphable face model and fitting framework[C]//Proceedings of the 11th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications. 2016.
Booth J, Roussos A, Zafeiriou S, et al. A 3d morphable model learnt from 10,000 faces[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 5543-5552.
Iandola F N, Han S, Moskewicz M W, et al. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and< 0.5 MB model size[J]. arXiv preprint arXiv:1602.07360, 2016.
Ma N, Zhang X, Zheng H T, et al. Shufflenet v2: Practical guidelines for efficient cnn architecture design[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 116-131.
Wang R J, Li X, Ling C X. Pelee: A real-time object detection system on mobile devices[C]//Advances in Neural Information Processing Systems. 2018: 1963-1972.
Sandler M, Howard A, Zhu M, et al. Mobilenetv2: Inverted residuals and linear bottlenecks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 4510-4520.
Sun K, Li M, Liu D, et al. Igcv3: Interleaved low-rank group convolutions for efficient deep neural networks[J]. arXiv preprint arXiv:1806.00178, 2018.