谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器



谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


Github 項目鏈接:https://github.com/tensorflow/graphics

最近幾年以來,能夠插入神經網絡架構中的新型可區分圖層在數量上有所增加。從空間轉換器到可變圖形渲染器,這些新層積極利用多年以來計算機視覺與圖形研究為我們帶來的知識儲備,共同構建起新的、更為高效的網絡架構。將幾何先驗與約束機制明確建模至神經網絡當中,意味著 AI 建模迎來了新的發展時代。以此為基礎,AI 建模師能夠以自我監督的方式進行穩健、高效的自動化模型生成工作。

從宏觀角度講,計算機圖形流水線需要首先確定 3D 對象及其在場景中的絕對位置,而後對其採用的構成材料、燈光以及鏡頭位置進行描述。最後,渲染器對相關場景描述進行解釋並生成合成渲染結果。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


在另一方面,計算機視覺系統則負責推理場景當中的各項參數。具體而言,其能夠預測場景中包含哪些對象,這些對象由什麼材料製成,以及各個對象的三維位置與朝向。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


要建立起能夠解決此類複雜 3D 視覺任務的機器學習系統,我們通常需要準備大量數據對其進行訓練。由於標記數據是一種昂貴且複雜的過程,因此我們自然有必要建立起機器學習模型的設計機制。這類模型能夠在無需太多監督的情況下進行訓練,從而實現對三維世界的透徹理解。

將計算機視覺與計算機圖形技術相結合,使得我們能夠以前所未有的方式對大量現成未標記數據加以利用。如下圖所示,這方面嘗試可以通過合成分析來實現。其中視覺系統負責提取場景參數,並由圖形系統基於這些參數進行圖像渲染。如果渲染結果與原始圖像相匹配,則代表視覺系統已經準確提取到場景參數。在這樣一套系統當中,計算機視覺與計算機圖形相輔相成,構成類似於自動編碼器的整體機器學習系統,並以自我監督的方式開展訓練。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


可區分圖層

在下文中,我們將具體探討 TensorFlow Graphics 中的一些可用功能。當然,受篇幅所限我們不可能對整個流程進行全面延伸。如果希望瞭解更多細節信息,請訪問我們在文章開頭髮布的 Github repo 以瞭解 TensorFlow Graphics 提供的各項新功能。

轉換

對象轉換機制負責控制對象在空間中的位置。在下圖當中,立方體圍繞中軸進行旋轉。當旋轉軸朝上且角度為正時,立方體即進行逆時針旋轉。在這一 Colab 示例中,我們展示瞭如何在神經網絡當中訓練旋轉形式。該神經網絡已經進行過訓練,學習如何預測觀察對象的旋轉與平移活動。這一任務正是多種實際應用的核心,包括需要與所處環境進行交互的各類機器人。在這類場景下,機器人需要通過機械臂抓住對象物體,而這要求其精確估計目標物體與其手臂的相對位置關係。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


建模鏡頭

鏡頭模型在計算機視覺當中扮演著至關重要的角色,因為其會極大影響到投影至圖像平面上的三維物體的外觀。通過下圖,我們可以看到立方體似乎在進行垂直方向的綻放,但實際上這種變化源自鏡頭的焦距切換。關於鏡頭模型的更多細節信息以及如何在 TensorFlow 進行使用的具體方法,請參考此Colab 示例。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


材質

材質模型用於定義光同對象之間的交互方式,從而使其獲得獨特的外觀。舉例來說,以石膏為代表的某些材料能夠均勻地進行光線漫反射,而鏡子等材質則屬於純粹的鏡面反射。在這份交互式Colab Notebook當中,大家可以瞭解如何利用 Tensorflow Graphics 生成以下渲染效果。此外,您也將有機會利用材質與光源參數開發出良好的交互感受。準確預測材料屬性是很多實際任務的基礎所在。例如,系統可能允許用戶在家庭環境中放置虛擬傢俱,並在照片當中呈現出逼真的內部融合效果,從而讓用戶更準確地理解傢俱的擺放方式與觀感。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


幾何——3D 卷積與池化

近年來,以點雲或者網格形式輸出三維數據的傳感器正快速成為我們日常生活中的組成部分。從智能手機深度傳感器,到無人駕駛汽車上的激光雷達,這些原本只服務於高端設備的小裝置也進入了尋常百姓家。由於其反映出的結構並不規則,因此與提供規則網格結構的圖像相比,這種表示中的卷積效果往往更難實現。TensorFlow Graphics 帶有兩個 3D 卷積層與一個 3D 池層,允許網絡利用這些網格信息進行訓練從而執行語義分類。具體請參閱我們的Colab Notebook以及下圖。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


TensorBoard 3D

可視化調試是評估實驗進程是否朝著正確方向推進的有效方法。為此,TensorFlow Graphics 附帶一款 TensorBoard 插件,能夠以交互方式顯示 3D 網格與點雲。

谷歌開源 TensorFlow Graphics:專為 3D 圖像打造的深度學習利器


馬上體驗

TensorFlow Graphics 的首個支持版本能夠與 TensorFlow 1.13.1 以及更高版本相兼容。大家可以訪問 https://www.tensorflow.org/graphics 以獲取 API 以及庫安裝說明。

鳴謝

TensorFlow Graphics 的誕生是團隊工作的結果。在這裡,我們要向做出重大貢獻的 Cem Keskin、Pavel Pidlypenskyi、Ameesh Makadia 以及 Avneesh Sud 表達誠摯的謝意。

原文鏈接:

https://medium.com/tensorflow/introducing-tensorflow-graphics-computer-graphics-meets-deep-learning-c8e3877b7668


分享到:


相關文章: