計算機圖形學遇上深度學習,針對3D圖像的TensorFlowGraphics面世
今日,TensorFlow 宣布推出 TensorFlow Graphics,該工具結合計算機圖形系統和計算機視覺系統,可利用大量無標註數據,解決複雜 3D 視覺任務的數據標註難題,助力自監督訓練。
- GitHub 地址:https://github.com/tensorflow/graphics
近幾年,一種可以插入神經網路架構中的新型可微圖形層(differentiable graphics layer)開始興起。從空間變換器(spatial transformer)到可微圖形渲染器,這些新型網路層利用多年的計算機視覺和圖形學研究知識來構建更高效的新網路架構。將幾何先驗和約束顯式建模到神經網路中,為能夠以自監督的方式進行穩健、高效訓練的架構打開了大門。
從高級層面來說,計算機圖形管道需要 3D 物體及其在場景中的絕對位置、材質描述、光和攝像頭。然後,渲染器利用該場景描述生成合成渲染。
打開今日頭條,查看更多圖片
相比之下,計算機視覺系統從圖像開始,推理場景的參數,對場景中的物體及其材質、三維位置和方向進行預測。
訓練能夠解決這些複雜 3D 視覺任務的機器學習系統通常需要大量數據。由於標註數據的過程既昂貴又複雜,因此設計能夠理解三維世界且訓練時無需太多監督的機器學習模型非常重要。
結合計算機視覺和計算機圖形學技術後,我們得以利用大量可用的無標註數據。如下圖所示,這可以通過合成分析(analysis by synthesis)來實現:視覺系統抽取場景參數,圖形系統基於這些參數渲染圖像。
如果渲染圖像結果與原始圖像匹配,則說明視覺系統準確地抽取了場景參數。在該設置中,計算機視覺和計算機圖形學攜手合作,形成了一個類似自編碼器的機器學習系統,該系統能夠以自監督的方式進行訓練。
可微圖形層
接下來,我們將探索 TensorFlow Graphics 的一些可用功能。更多詳情,參見 GitHub 項目。
變換
物體變換控制物體在空間中的位置。如下圖所示,利用軸角度旋轉立方體。旋轉軸指向上方,旋轉方向為逆時針,使得立方體逆時針旋轉。以下 Colab 示例展示了如何在神經網路中訓練旋轉形式,該神經網路被訓練用於預測觀測物體的旋轉和平移。
- 地址 https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/6dof_alignment.ipynb
這項任務是很多應用的核心,包括聚焦於與其環境進行交互的機器人。在這些場景中,用機械臂抓取物體需要精確估計這些物體相對於機械臂的位置。
建模攝像頭
攝像頭模型在計算機視覺領域中非常重要且基礎,因為它們對三維物體投影到圖像平面上的外觀有極大影響。如下圖所示,該立方體看起來可以放大和縮小,但是事實上這些變化僅僅是由於焦距產生的變化。
想了解攝像頭模型的詳情,以及如何在 TensorFlow 中使用它們的具體示例,可以查看:
- https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/intrinsics_optimization.ipynb
材質
材質模型(material model)定義光與物體的交互過程,從而提供物體的外觀。例如,一些材質(如石膏)在各個方向對光進行反射,而鏡面等材質會對光進行鏡面反射。
在以下互動式 Colab notebook 中,你可以了解如何使用 Tensorflow Graphics 生成如下渲染。你還可以試驗不同的材質和光的參數,更充分地了解其交互過程。
- 地址:https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/reflectance.ipynb
準確地預測材質屬性是很多任務的基礎。例如,它可以讓用戶在自己的環境中放置虛擬傢具,室內環境搭配傢具的場景非常逼真,從而讓用戶準確地感知到這件傢具的外觀。
幾何——3D 卷積和池化
近年來,以點雲或網格形式輸出三維數據的感測器逐漸成為我們日常生活的一部分,包括智能手機深度感測器、自動駕駛汽車雷達等等。由於其結構不規則,在這些表徵上執行卷積要比在規則網格結構上困難得多。
TensorFlow Graphics 提供兩個 3D 卷積層和一個 3D 池化層,允許網路在網格上執行語義部分分類(如下圖所示),更多信息參見該 Colab notebook:
- https://colab.sandbox.google.com/github/tensorflow/graphics/blob/master/tensorflow_graphics/notebooks/mesh_segmentation_demo.ipynb
TensorBoard 3d
視覺 debug 是評估實驗是否按正確方向運行的重要方式。因此,TensorFlow Graphics 配備有 TensorBoard 插件,以便互動式地查看 3d 網格和點雲。
開始項目
TensorFlow Graphics 與 TensorFlow 1.13.1 及以上版本兼容。API 和安裝說明參見:
- https://www.tensorflow.org/graphics
原文鏈接:https://medium.com/tensorflow/introducing-tensorflow-graphics-computer-graphics-meets-deep-learning-c8e3877b7668
※聯合漢語分詞和依存句法分析的統一模型:當前效果最佳
※任正非:華為5G晶元用在iPhone上?我持開放態度
TAG:機器之心 |