ARCore 是谷歌于去年 2 月份正式推出的 增強現(xiàn)實(AR)軟件開發(fā)工具包,給開發(fā)者提供了一個開發(fā) AR APP 的平臺。不到一個月前,谷歌正式推出ARCore 1.7 版本,為其添加了前置攝像頭 AR 自拍能力以及動畫效果支持;而日前,谷歌又為其引入了機器學習技術,使其實時自拍 AR 的逼真效果更進一步,該技術相關的文章發(fā)布在谷歌 AI 的官方博客上。
增強現(xiàn)實(AR)通過將數(shù)字內(nèi)容與信息疊加到物質(zhì)世界的真實場景中,來讓人類實現(xiàn)超越現(xiàn)實的感官體驗。例如,谷歌地圖的 AR 功能,能夠在現(xiàn)實場景中疊加方向信息來為你指路。借助于Pixel 相機中的 Playground 模式,你可以使用 AR 從不同的視角看世界。并且通過借助于最新發(fā)布的「YouTube Stories」以及ARCore 全新的面部增強(Augmented Faces)API,你可以在自拍上添加動畫面具、眼鏡、帽子、皮膚等特效。
實現(xiàn)這種 AR 功能的關鍵挑戰(zhàn)之一,就是以合適的方式將虛擬內(nèi)容錨定到現(xiàn)實世界:這一過程需要一套能夠追蹤到每一次微笑、皺眉或假笑的高動態(tài)表面幾何結(jié)構(gòu)的獨特的感知技術。
ARCore 的3D 網(wǎng)格以及它能實現(xiàn)的一些特效
為此,我們引入了機器學習(ML)技術來推斷近似的 3D 表面幾何結(jié)構(gòu),并且僅需要用到一個單攝像頭輸入而無需使用專用的深度傳感器。這種方法利用面向移動 CPU 界面推斷或其可用的全新移動 GPU 功能的TensorFlow Lite,實現(xiàn)了逼真的實時 AR 效果。與「 YouTube Stories」 全新的創(chuàng)作者特效所利用的技術一樣,這項技術已通過最新的 ARCore SDK和ML Kit Face Contour Detection API向廣泛的開發(fā)者社區(qū)開放。
用于自拍 AR 的機器學習工作流
我們的機器學習工作流由兩個協(xié)同工作的實時深度神經(jīng)網(wǎng)絡模型組成:一個是探測器,它在整張圖像上運行并計算出面部位置;另一個是通用的 3D 網(wǎng)格模型,它在探測器計算出來的面部位置上運行,并通過回歸預測近似的表面幾何結(jié)構(gòu)。精確地裁剪面部能夠極大地減少對一般的數(shù)據(jù)增強的要求,例如由旋轉(zhuǎn)、平移和比例變換組成的仿射變換(affine transformations)等,同時讓網(wǎng)絡將大部分性能投入于預測坐標來提高其準確性——這對于錨定合適的虛擬內(nèi)容至關重要。
裁剪完所關注的位置后,該網(wǎng)格網(wǎng)絡一次僅應用于一個單幀,并利用加窗平滑(windowed smoothing)來減少面部處于靜態(tài)時的噪音,同時避免在大幅移動期間出現(xiàn)的延遲。
針對 3D 網(wǎng)格,我們采用了遷移學習,并訓練了一個具有多個目標的網(wǎng)絡:該網(wǎng)絡能夠同時地基于合成、渲染的數(shù)據(jù)預測 3D 網(wǎng)格坐標以及基于類似于MLKit所提供的帶有注釋的、現(xiàn)實世界的數(shù)據(jù)預測 2D 語義輪廓。最終的網(wǎng)絡為我們提供了基于合成數(shù)據(jù)乃至現(xiàn)實世界數(shù)據(jù)的合理的 3D 網(wǎng)格預測。所有模型都在源自于地理學多樣化的數(shù)據(jù)集的數(shù)據(jù)上進行訓練,并接著在平衡、多樣化的測試集上進行定性和定量性能的測試。
3D 網(wǎng)格網(wǎng)絡接收經(jīng)裁剪的視頻幀作為輸入。由于它不依賴于額外的深度輸入,因而也可以應用于預先錄制的視頻。該模型不僅輸出 3D 點的位置,還輸出在輸入中存在并合理對齊的面部概率。一種常見的替代方法就是為每個地標預測出 2D 熱圖,但這種方法并不適用于深度預測,并且對于如此多的數(shù)據(jù)點來說,使用這種方法耗費的計算成本非常高。
通過迭代自展和精煉預測,我們進一步提高了模型的準確性和魯棒性,同時也將數(shù)據(jù)集發(fā)展成為愈加具有挑戰(zhàn)性的實例,如鬼臉,拍攝角度傾斜以及面部遮擋等。此外,數(shù)據(jù)集增強技術也擴展了可用的 ground truth 數(shù)據(jù),并開發(fā)出了對攝像頭瑕疵等人工產(chǎn)品問題或極端光照條件具有彈力的模型。
數(shù)據(jù)集擴展和改善路徑
專為硬件定制的界面
我們使用 TensorFlow Lite 進行設備內(nèi)置的神經(jīng)網(wǎng)絡推理。新推出的 GPU 后端加速能夠有效提升性能,并顯著降低功耗。此外,我們還設計了具有不同性能和效率特性的一系列模型架構(gòu),來覆蓋到更加廣泛的消費級硬件。較簡單網(wǎng)絡之間的最重要的區(qū)別就在于殘差塊(Residual Block)設計和可接受的輸入分辨率(最簡單模型中的輸入分辨率為 128×128 像素,而最復雜模型中的輸入分辨率為 256×256)。同時,我們還改變了層數(shù)以及子采樣率(輸入分辨率隨網(wǎng)絡深度的減少而減少的速度)。
每一幀的推斷時間:CPU vs. GPU
這一系列的優(yōu)化的結(jié)果就是:使用更簡單的模型帶來了實質(zhì)性的加速,同時也將 AR 特效質(zhì)量的降低幅度最小化。
這些成果最終則能夠通過以下方式,讓用戶在 YouTube、ARCore 以及其他客戶端體驗到更加逼真的自拍 AR 效果:
通過環(huán)境映射模擬光反射,來實現(xiàn)眼鏡的逼真渲染;
通過將虛擬的目標陰影投射到面部網(wǎng)格上,來實現(xiàn)了自然光照效果;
對面部遮擋進行建模,來隱藏面部后面的虛擬目標部分,如下所示的虛擬眼鏡案例。
另外,我們還通過以下方式實現(xiàn)了逼真的妝容效果:
對應用到嘴唇上的鏡面反射進行建模;
利用亮度感知材料來實現(xiàn)面部著色。
案例對比:5 個目標在不同光線下的真實化妝效果以及 AR 化妝效果
我們很高興將這項新技術分享給創(chuàng)作者、用戶以及開發(fā)者。感興趣的讀者可以通過下載最新的 ARCore SDK (下載地址:https://developers.googleblog.com/2019/02/new-ui-tools-and-richer-creative-canvas.html)來將這項技術用起來。未來,我們還計劃將這項技術廣泛應用到更多的谷歌產(chǎn)品線中。
-
探測器
+關注
關注
14文章
2619瀏覽量
72922 -
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4765瀏覽量
100562 -
機器學習
+關注
關注
66文章
8382瀏覽量
132439
原文標題:通過引入 ML,谷歌 ARCore 實時自拍 AR 的逼真效果更進一步
文章出處:【微信號:worldofai,微信公眾號:worldofai】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論