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

全面屏?xí)r代,如何解決前置攝像頭的問題?
谷歌推出ARCore Depth API 可以使AR游戲體驗(yàn)更加自然
谷歌ARCore的Depth API用單個(gè)攝像頭能創(chuàng)建深度圖
手機(jī)攝像頭結(jié)構(gòu)性能分析以及測試方案的介紹
升級(jí)!谷歌將利用手機(jī)的雙攝像頭來提升 AR 性能
淺談ADAS前置攝像頭設(shè)計(jì)挑戰(zhàn)

評(píng)論