增強(qiáng)現(xiàn)實(shí)可以在物理世界之上疊加數(shù)字內(nèi)容與信息,從而增強(qiáng)你的感知。例如,谷歌地圖的AR功能可允許你直接看到疊加在現(xiàn)實(shí)世界視圖的方向。借助Playground,你就可以通過AR并以不同方式瀏覽世界。對于最新版本的YouTube Stories,以及ARCore全新的Augmented Faces API,你可以為自拍添加動畫面具,眼鏡,3D帽子等濾鏡。
實(shí)現(xiàn)這種AR功能的關(guān)鍵挑戰(zhàn)之一是合理地將虛擬內(nèi)容錨定在現(xiàn)實(shí)世界。這個過程需要一套獨(dú)特的感知技術(shù),需要能夠追蹤千差萬別的表面幾何,每一個微笑,每一次皺眉都要準(zhǔn)確識別。
為了實(shí)現(xiàn)這一切,谷歌采用機(jī)器學(xué)習(xí)來推斷近似的3D表面幾何形狀,只利用一個攝像頭輸入而無需專用的深度傳感器。利用面向移動CPU界面的TensorFlow Lite或可用的全新移動GPU功能,這種方法帶來了實(shí)時速度的AR效果。所述解決方案與驅(qū)動YouTube Stories全新創(chuàng)作者效果的技術(shù)相同,并已經(jīng)通過最新的ARCore SDK和ML Kit Face Contour Detection API向廣泛的開發(fā)者社區(qū)開放。
1. 用于AR自拍的機(jī)器學(xué)習(xí)管道
谷歌的機(jī)器學(xué)習(xí)管道由兩個協(xié)同工作的實(shí)時深度神經(jīng)網(wǎng)絡(luò)模型組成:一個在整張圖像上運(yùn)行,并計(jì)算面部位置的探測器;在所述位置上運(yùn)行,并通過回歸預(yù)測來近似表面幾何的通用3D網(wǎng)格模型。精確地裁剪面部可以大大減少對相同數(shù)據(jù)增強(qiáng)的需求,比方說由旋轉(zhuǎn),平移和比例變化組成的仿射變換。通過精確地裁剪面部,這允許系統(tǒng)將大部分性能用于預(yù)測坐標(biāo),而這對于實(shí)現(xiàn)虛擬內(nèi)容的正確錨定至關(guān)重要。
一旦裁剪了感興趣位置,網(wǎng)格網(wǎng)絡(luò)一次僅應(yīng)用于單個幀,利用加窗平滑(windowed smoothing)以減少面部靜止時的噪點(diǎn),同時避免在顯著移動期間出現(xiàn)延遲。
對于3D網(wǎng)格,谷歌采用了傳遞學(xué)習(xí),并訓(xùn)練了一個具有多個目標(biāo)的網(wǎng)絡(luò):網(wǎng)絡(luò)同時利用合成渲染數(shù)據(jù)預(yù)測3D網(wǎng)格坐標(biāo),以及利用注釋的真實(shí)世界數(shù)據(jù)來預(yù)測2D語義輪廓。因而產(chǎn)生的網(wǎng)絡(luò)為谷歌提供了合理的3D網(wǎng)格預(yù)測,這不僅體現(xiàn)在合成上,同時體現(xiàn)在現(xiàn)實(shí)世界數(shù)據(jù)上。所有模型都接受來自地理不同的數(shù)據(jù)集數(shù)據(jù)培訓(xùn),隨后在平衡的,多樣化的測試集上進(jìn)行測試,從而獲得定性和定量性能。
3D網(wǎng)格網(wǎng)絡(luò)接收裁剪的視頻幀作為輸入。它不依賴于額外的深度輸入,因此同時可以應(yīng)用于預(yù)先錄制的視頻。所述模型輸出3D點(diǎn)的位置,以及輸出在輸入中存在并合理對齊的可能面部。一種常見的替代方法是預(yù)測每個地標(biāo)的2D熱圖,但這不適合深度預(yù)測,而且如此多的數(shù)據(jù)點(diǎn)需要高昂的計(jì)算成本。
通過迭代引導(dǎo)和細(xì)化預(yù)測,谷歌進(jìn)一步提高了模型的準(zhǔn)確性和魯棒性,并允許他們就將數(shù)據(jù)集擴(kuò)展至越來越具有挑戰(zhàn)性的案例,如鬼臉,斜角和遮擋。數(shù)據(jù)集增強(qiáng)技術(shù)同時擴(kuò)大了可用的ground truth數(shù)據(jù),開發(fā)出對攝像頭缺陷或極端光照條件等問題的模型穩(wěn)定性。
2. 專為硬件打造的界面
谷歌利用TensorFlow Lite實(shí)現(xiàn)機(jī)載神經(jīng)網(wǎng)絡(luò)推理。在可用時,新推出的GPU后端加速能夠提升性能,并顯著降低功耗。另外,為了涵蓋廣泛的消費(fèi)類硬件,谷歌設(shè)計(jì)了具有不同性能和效率特性的一系列模型架構(gòu)。對于較簡單的網(wǎng)絡(luò)而言,最重要的區(qū)別是殘差塊(Residual Block)布局和有效的輸入分辨率(最簡單的模型為128×128像素,而最復(fù)雜的模型中為256×256)。谷歌同時改變了層數(shù)和子采樣率(隨網(wǎng)絡(luò)深度的輸入分辨率減少速度)。
對于這一系列的優(yōu)化,結(jié)果是更簡單的模型能夠?qū)崿F(xiàn)大量的提速,同時對AR效果質(zhì)量的影響維持在最低幅度。
谷歌的努力成果驅(qū)動著YouTube,ARCore和其他客戶端的逼真自拍AR效果。
通過環(huán)境映射模擬光反射,實(shí)現(xiàn)眼鏡的逼真渲染通過將虛擬對象陰影投射到面部網(wǎng)格,實(shí)現(xiàn)了自然光照效果建模面部遮擋以隱藏面部后面的虛擬對象部分,如虛擬眼鏡
另外,谷歌實(shí)現(xiàn)了逼真的妝容效果,方式是:
建模應(yīng)用于嘴唇的鏡面反射利用亮度感知材質(zhì)來實(shí)現(xiàn)面部妝容
谷歌表示:“我們很高興與創(chuàng)作者,用戶和開發(fā)者的分享這一全新的技術(shù)。如果有興趣,你可以馬上下載最新ARCore SDK。在未來,我們計(jì)劃將這項(xiàng)技術(shù)擴(kuò)展至的更多的谷歌產(chǎn)品之中。”
原文鏈接:https://yivian.com/news/57903.html
來源:映維網(wǎng)