用一張單色影像生成高品質 3D 幾何架構

作者 | 發布日期 2017 年 08 月 28 日 7:15 | 分類 AI 人工智慧 , Big Data , 軟體、系統 follow us in feedly

用影像重建 3D 數位幾何架構是電腦視覺一個非常核心的問題。這種技術在許多領域都有廣泛應用,例如電影、遊戲的內容生成、虛擬實境和擴增實境、3D 列印等。柏克萊人工智慧研究中心的 Christian Häne 等人近日發表一篇論文《Hierarchical Surface Prediction for 3D Object Reconstruction》,討論如何從單張色彩影像重建高品質的 3D 幾何架構,就像以下這張圖所顯示。



對人類來說,即使只看到一張影像,我們也能毫不費力地理解物體和場域的形狀。請注意,眼睛的雙目效果允許我們感知深度,我們不需要了解物體 3D 幾何架構,即使我們只看到一張實體的照片,也能對它的形狀有很好的感知。不僅如此,我們還能理解物體看不見的部分(例如背面),這對拿取物體的動作來說非常重要。於是問題來了,人類是如何從單張影像推理出物體的幾何架構?在人工智慧方面,我們怎樣才能教會機器掌握這能力?

一、形狀空間

任意匯入影像來重建 3D 幾何架構,基本原理就是:物體形狀不是任意,因此有些形狀是可能的,有些是不可能的。一般來說,物體的表面往往是光滑的,尤其是人造物體,常常是由幾個分段的平面構成。至於預測物體,我們可以使用同樣的規則。例如,飛機通常有機身,兩側各有一主翼,後側會有垂直穩定翼。人類透過眼睛觀察世界,並用手與世界互動,然後獲得知識。在電腦視覺,「形狀不是任意的」這個事實允許我們透過收集大量範例,將一個對象類或多個對象類的所有可能形狀,說明成低度形狀空間。

使用 CNN 預測體素(Voxel Prediction)

最近 ChoyGirdhar 等人各自發表了關於 3D 重建的論文,在他們的工作中,「匯出」一個 3D 體積空間,這 3D 體積又細分成體積元素(稱為體素,voxel),每個體素會有一個規格(被佔據或自由空間),而物體形狀的預測則表示為由體素組成的 3D 佔據體積。在他們的模型中「匯入」一個通常用來說明物體的單色影像,然後他們用卷積神經網路(CNN)的上卷積解碼器架構來預測佔據體積。該網路線端對端進行訓練,並且由已知的 ground truth 佔據體積(透過合成 CAD 模型資料集獲得)進行監督學習。透過這種 3D 表示(體素)以及 CNN,這種模型就可以學習,且能適應各種對象。

二、層進表面預測

上述方法(使用 CNN 預測佔據體積)有一個很大的缺點,由於匯出空間是三度,於是相對增加的解析度就會以立方增長。這個問題使這種方法難以預測高品質的幾何形狀,且限於比較粗糙的解析度體素網格,例如上面 32^3 的結果。Christian Häne 等人的工作中,他們認為這是一個不必要的限制,因為表面只是二度。於是他們透過層進的方式利用表面的二度性質來預測精細解析度體素,此時只需要高解析度預測表面即可。其基本思想和八叉樹表示的思想關係很近,八叉樹表示通常用於多視圖立體聲和深度圖融合等領域,來表示高解析度的幾何架構。

方法

在這個 3D 預測模型(稱為層進表面預測[Hierarchical Surface Prediction,HSP])中,首先我們匯入一張單色影像,用卷積編碼器將其編碼為低度表示。然後,將該低度表示解碼成 3D 使用體積。主要思想是透過預測低解析度體素開始解碼。關鍵之處在於,不同於標準的方法將體素分為佔據/自由空間,HSP 會將體素分為 3 類:自由空間、佔據空間和邊線。使用這種方法,「匯出」的解析度可以很低,只要保證在那些有跡象表明它包含「邊線」的部分有較高解析度即可。透過更新,我們可以層進預測出高解析度的體素網格。更多模型的細節可參看論文。

實驗

模型的實驗主要利用合成的 ShapeNet 資料集訓練。作者將結果與兩個基線模型──硬低解析度模型(low resolution hard,LR hard)和軟低解析度模型(low resolution soft,LR soft)對比。這兩個基線模型都是以 32^3 粗解析度預測,只是訓練資料的生成方式不同。LR hard 對體素使用雙分法進行規格,即如果在相應的高解析度體素中至少一個被使用,則所有體素記號為被使用。LR soft 則使用分數法進行規格,每個體素將反映出在相關高解析度體素佔有的百分比。HSP 方法以 256^3 解析度預測。下面的結果顯示,HSP 方法與基線方法相比,在表面品質和高解析度預測的完整性方面表現更好。

相關論文:

(本文由 雷鋒網 授權轉載;首圖來源:pixabay)