《A Point Set Generation Network for 3D Object Reconstruction from a Single Image》論文筆記_2D圖像生成3D點雲

摘要

通過深度神經網絡生成3D數據已在研究界引起了越來越多的關注。 現存的大多數作品都採用常規表示法,例如體積網格或圖像收集; 但是,這些表示法掩蓋了3D形狀在幾何變換下的自然不變性,並且還遭受許多其他問題的困擾。 在本文中,我們解決了從單個圖像進行3D重建的問題,生成了輸出的直接形式–點雲座標。 伴隨這個問題出現了一個獨特而有趣的問題,即輸入圖像的ground-truth可能是模棱兩可的。 在這種非常規的輸出形式以及groundtruth固有的歧義的驅動下,我們設計了新穎有效的體系結構,損失函數和學習範式。 我們的最終解決方案是條件形狀採樣器,它能夠根據輸入圖像預測多個可能的3D點雲。 在實驗中,我們的系統不僅可以在基於單個圖像的3d重建基準上勝過最新技術; 但它在3D形狀完成方面也表現出強大的性能,並且在做出多個合理的預測中具有有前途的能力。

1.簡介
   在本文中,我們解決了基於單個對象的3D幾何圖形生成對象的問題。 我們探索基於點雲表示的3D幾何生成網絡。 與使用幾何圖元甚至是簡單網格的CAD模型相比,點雲表示可能無法有效地表示底層連續3D幾何圖形,但就我們的目的而言,它具有許多優勢:點雲是一種簡單,統一的結構, 更容易學習,因爲它不必編碼多個原語或組合連接模式。此外,當涉及幾何變換和變形時,由於不必更新連接性,因此點雲允許簡單的操作。 我們的pipeline會推斷3D幀中的點位置,該位置由輸入圖像和推斷的視點位置確定。
   我們面臨的挑戰之一是如何在訓練期間測量loss,因爲相同的幾何形狀可能以相同的近似度接受不同的點雲表示。 與通常的L2類型損失不同,我們使用Earth Mover’s distance(EMD)的運輸問題解決方案,有效地解決分配問題。 我們利用EMD的近似值來提供速度並確保端到端訓練的差異性。
   在這些情況下,一個2D圖像會有多個同樣良好的3D重建,這使我們的問題與經典迴歸/分類設置大爲不同,在經典迴歸/分類設置中,每個訓練樣本都具有唯一的groudtruth註釋。 在這種情況下,正確的loss定義對於獲得最有意義的結果至關重要。

我們的最終算法是條件採樣器,它在給定輸入圖像的情況下,從估計的groundtruth空間中採樣合理的3D點雲。 在合成數據和真實數據上進行的實驗證明了我們方法的有效性。 我們的貢獻可總結如下:

•第一個通過深度學習研究點集生成問題;  

•在從單個圖像進行3D重建的任務上應用了點集生成網絡,並且性能明顯優於現有技術。

 •系統地探索點生成網絡的體系結構和損失函數設計中的問題;  

•提出了一種原則性的提法和解決方案,以解決從單個圖像任務進行3D重建時存在的groundtruth模糊性問題。

2.相關工作

Deep learning for geometric object synthesis

作者寫到此篇文章之前沒有

3D reconstruction from single images

儘管大多數研究都集中在多視圖幾何(例如SFM和SLAM [11,10])上,但理想的情況是,人們希望可以從大量的單視圖圖像中重建3D。

但是,在這種情況下,該問題是不適當的,必須有先驗。 諸如ShapeFromX [13,1]之類的早期工作對形狀或環境光照條件做出了強有力的假設。  [12,21]率先將基於學習的方法用於簡單的幾何結構。 圖像集合中的粗略對應關係也可以用於粗略的3D形狀估計[15,3]。 隨着商品3D傳感器的普及,RGBD數據庫已經建立並用於訓練基於學習的系統[7,9]。 儘管已經取得了長足的進步,但是這些方法仍然不能從單個圖像中穩健地重建完整和高質量的形狀。 缺少更強的形狀先驗。
   最近,已經引入了3D CAD模型的大型存儲庫,例如ShapeNet [4]。 它們具有3D重建任務的巨大潛力。 例如,[22,14]提出將現有形狀變形並重新組裝成一個新模型以擬合觀察到的圖像。 這些系統依賴於高質量的圖像形狀對應,這本身就是一個挑戰性和不適定的問題。
   與我們的工作更相關的是[5]。 給定單個圖像,他們使用神經網絡將底層3D對象預測爲3D體積。 我們的工作與[5]之間有兩個主要區別:首先,[5]中的預測對象是3D體積; 而我們的是點雲。點集爲神經網絡形成了一個更好的形狀空間,因此預測的形狀趨向於更加完整和自然。 其次,我們允許針對單個輸入圖像的多個重建候選對象。 這種設計反映了一個事實,即單個圖像無法完全確定3D形狀的重建。


3.本文方法

網絡結構如下:

我們的目標是從單個2D圖像(RGB或RGB-D)重建對象的完整3D形狀。 我們以無序點集的形式表示3D形狀,其中N是預定義常數。 我們觀察到,對於大多數使用N = 1024的對象而言,足以保留主要結構。
點集的一個優點來自其無序性。 與基於2D的表示法(例如深度圖)不同,所表示的沒有拓撲約束

與3D網格相比,該點集通過僅對曲面上的點進行編碼而享有更高的效率。
此外,在旋轉或縮放對象時,座標值(xi,yi,zi)會經過簡單的線性變換,這與體積表示中的情況相反。
爲了對問題的不確定性建模,我們將groundtruth定義爲以輸入I爲條件的形狀上的概率分佈。在訓練中,我們可以從每個圖像I的P(·| I)中獲取一個樣本。
我們從P(·| I)訓練神經網絡G作爲條件採樣器:

其中Θ表示網絡參數,r〜N(0,I)是擾動輸入的隨機變量。 在測試期間,可以使用r的多個樣本來生成不同的預測。

點集之間的距離度量

一個關鍵的挑戰是設計一個好的損失函數來比較預測的點雲和groundtruth。
   要插入神經網絡,合適的距離必須至少滿足三個條件:1)關於點位置可區分;  2)計算效率高,因爲數據將被多次轉發和反向傳播;  3)對集中的少量異常點具有魯棒性(例如    Hausdorff距離將失敗)。

我們在R 3中尋找子集之間的距離d,以使損失函數L的形式爲

EMD距離解決了優化問題,即分配問題。 對於點集對的除零度量子集以外的所有子集,最優雙射φ在點的無窮小運動下是唯一且不變的。 因此EMD幾乎在任何地方都是有區別的。 在實踐中,即使是在圖形硬件上,EMD的精確計算對於深度學習而言也過於昂貴。 因此,我們實現了[2]給出的近似方案。 我們爲每個實例分配固定的時間量,並逐步調整允許的錯誤率以確保終止。 對於典型輸入,該算法可提供高度準確的結果(近似誤差爲1%)。 該算法可在GPU上輕鬆並行化。

形狀空間儘管在深層中嵌入了非凡的表達能力,但神經網絡在預測對象的精確幾何形狀時不可避免地會遇到不確定性。 這種不確定性可能是由於有限的網絡容量,對輸入分辨率的充分利用或由於3D-2D投影中的信息丟失而引起的groundtruth的含糊不清。 面對固有的無法精確解析形狀的問題,神經網絡傾向於預測平均空間不確定性的“平均”形狀。 平均形狀帶有距離本身的特徵。
 

 

爲了更好地對不確定性或固有歧義性進行建模(例如,單個視圖中看不見的部分),我們使系統能夠生成分佈輸出。 我們希望將隨機變量r傳遞給G(參見等式(1))將類似於條件GAN(CGAN)[17]來幫助探索groundtruth分佈。 但是,將等式(1)中的G插入loss(2)中以預測是行不通的,因爲loss最小化會使隨機性無效。 還不清楚如何使CGAN在我們的方案中工作,因爲建立直接消耗點集的鑑別器本身是一個未解決的問題。

該問題可以通過更復雜的框架(例如VAE)解決,我們可以在其中合併輔助輸入通道(例如,另一個視圖)。 但是,我們實際上發現了一種簡單有效的不確定性建模方法:MoN損失。 我們通過最小化損失函數來訓練我們的網絡,如下所示:

將此損失命名爲N最小損失(MoN),因爲它來自n個距離中的最小值。 可以將圖2中的任何點集迴歸網絡插入包含MoN損失的圖4中的元網絡中。 實際上,我們發現設置n = 2已經使我們的方法能夠很好地探索groundtruth空間。 

實驗  

與當時的SOTA方法3D-R2N2比較  

距離量度的分析損失函數的不同選擇對網絡的預測模式有不同的影響。 圖15例示了相應地由CD和EMD訓練的兩個網絡之間的差異。 由CD訓練的網絡傾向於在不確定區域(例如門後)散佈一些點,但能夠更好地保留手柄的詳細形狀。 相比之下,由EMD訓練的網絡可產生更緊湊的結果,但有時會過度縮小局部結構。 這符合合成數據的實驗

儘管是作爲應用論文介紹的,但我們遇到了兩個基本問題:首先,如何生成無序的實體集。 爲了構建用於更復雜的組合數據結構(例如圖形)的生成模型,瞭解如何生成集合可能是一個很好的起點。 第二,如何在迴歸問題中捕捉groundtruth的模糊性。 除了3D重建之外,許多回歸問題都可能具有這種固有的模糊性。 我們通過包裝現有損失函數構造MoN損失的方法可以推廣到這些問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章