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