CVPR 2019 | 基于骨架表达的单张图片三维物体重建方法
現有的單視角三維物體重建方法通過采用不同的幾何形狀表達方式取得了不同程度的成功,但它們都難以重建出拓撲復雜的物體形狀。為此,華南理工大學,香港中文大學(深圳)以及微軟亞研院聯合提出一種以骨架(meso-skeleton)為橋梁融合多種形狀表達方式優點的深度學習算法,非常有效地解決了這一難題。?
為了能夠準確地抓住物體的拓撲結構,本文引入了骨架做為橋梁,因其具有保護拓撲而又易于學習的優點。為了能夠從圖片中準確地推斷出對應物體的骨架,他們設計了一個全新的骨架合成網絡架構,利用平行雙分支結構分別合成曲線狀和曲面狀骨架。?
同時,他們采用了分階段學習的方式以融合多種形狀表達方式(體素,點云,三角網格)各自的優點。圖像的多階段層級利用有助于減小各階段學習時累計的預測誤差。實驗結果表明,這一方法在定量和可視化對比均優于現有的重建方法。這項工作受到會議評審者的一致好評,三位評審者均給出了強烈接(Strong Accept)的意見,已收錄為 CVPR 2019 Oral 論文。
Introduction
從單張圖片恢復出三維物體形狀這一研究課題在許多應用中扮演著重要的角色,例如增加現實,圖像編輯。但是由于物體的拓撲結構復雜多變,這一課題也頗具挑戰性。目前,基于體素表達的方法受限于三維卷積網絡計算和內存的限制而難以得到高分辨率的輸出。基于點云表達的方法又很難生成平滑而又干凈的表面。
三角網格表達對物體形狀提供了一種更有效,更自然的離散化逼近方式。最近的一些方法嘗試直接從輸入圖像中恢復物體的網格表達。這些方法本質上是在對一個給定拓撲連接關系的初始網格變形,比較有代表性的初始網格有單位平面,球。盡管它們有一定的效果,但是仍然難以恢復具有復雜拓撲結構的物體表面,例如圖 1 所表示的具有細長的桿的椅子。
▲?圖1. 本文提出的方法能從單視角圖像中重建完整的三維物體,而且能正確地恢復拓撲
因此,本文提出了一種基于骨架表達的分階段學習方法,來實現從單張圖片恢復物體表面網格表達,對于重構桌子椅子這些具有細長結構的物體效果尤為顯著。他們引入了骨架,因其能很好地保護拓撲,而且相比于復雜的表面更易于學習。
他們的方法具體分為以下三個階段:
第一階段是從輸入圖像中學習生成骨架點云。為此他們設計了平行的雙分支網絡架構,被命名為 CurSkeNet 和 SurSkeNet,分別用于曲線狀和曲面狀骨架點云的合成。為了 CurSkeNet 和 SurSkeNet 的訓練,他們針對 ShapeNet 的物體模型處理了骨架數據集來當做 ground truth 用于訓練。
在第二個階段,他們通過將合成的骨架點云體素化,然后用三維卷積網絡對粗糙的骨架體素進行修復提取出一個初始網格。此處為了減小高清體素輸出時的網絡復雜度,采取了用全局結構引導分塊體素修復的方式。
最后一個階段使用圖卷積神經網絡來對前面獲得的初始網格進行變形以得到最后表面網格表達。
Approach
▲?圖2. 算法流程圖總覽
Overview?
圖 2 展示了他們方法的整個流程圖。輸入物體的單視角圖像 I , 本文的目標是重構出網格表達的完整物體形狀,同時能正確地抓住三維物體的拓撲結構。為了解決這一難題,本文基于骨架表達,提出了以下分三個階段的物體重構過程。
在第一階段,他們采用編碼器-解碼器的網絡結構從輸入圖片 I 學習出對應的骨架 K,它本質上是一個更簡潔緊湊的點云表達。
在第二個階段,他們把獲得的骨架 K 先轉成一個粗糙的體素表達的 Vk,然后用三維卷積神經網絡對其進行修復,得到一個更精細化的體素 V。
在最后一個階段,他們先從體素 M 中提取出一個粗糙的初始網格 Mb,然后再用圖神經網絡對網格的頂點位置進一步優化,得到最后的輸出網格 M。每個階段都有一個圖像編碼器來提取所各自需要的信息,因此輸入圖片 I 引導著三個階段的學習過程。
Learning of Meso-Skeleton?
CurSkeNet 和 SurSkeNet:給定輸入圖像 I,他們采用 ResNet-18 做為編碼器將提取的特征映射成高維空間的向量,然后設計譯碼器同于生成骨架點云,而譯碼器的網絡架構是基于 CurSkeNet 和 SurSkeNet 的平行雙分支結構。
這樣的設計方法,可使曲線狀和曲面狀的骨架區域的合成得以獨立完成,互不干擾。SurSkeNet 通過對一些 2D 平面進行變形,來逼近曲面狀骨架。CurSkeNet 對一些 1D 直線進行變形,通過實施仿射變換來形成曲線,然后學習如何將這些曲線聚集成曲線狀的骨架部分。?
Network Training:本文用曲線狀和曲面狀的骨架點云分別去訓練 CurSkeNet 和 SurSkeNet,所以采用 Chamfer Distance(CD 距離)做為損失函數的一部分,其定義如下:
為了保證變形的局部一致性,防止出現過大的變形,他們還在骨架學習過程中加上了拉普拉斯平滑正則化項。它被定義為:
From Skeleton to Base Mesh
▲?圖3.?高清體素表達的骨架合成方法流程圖
Sub-volume Synthesis with Global Guidance:為了保護骨架 K 所抓住的拓撲結構以及得到粗糙的初始網格,他們需要將 K 進行修復以得到一個高分辨率的體素表達。
具體地做法如下,先把骨架K體素化,得到兩種分辨率下的體素表達,被記做,,分辨率為。
如圖 3 所示,他們采用兩個三維卷積網絡用于骨架體素的全局結構和局部子塊合成。全局結構合成網絡用于對的修復,產生一個分辨率為的骨架體素表達。局部子塊合成網絡用從中均勻切割出來的子塊做輸入,對這些子塊獨立地進行修復。當修復每個子塊的時候,全局網絡的輸出中對應的對應的子塊也被一起輸入,使得每個子塊修復后的結果仍然保持全局一致性。
▲?圖4.?(a) 輸入圖片(b) 學習到的骨架點云 (c) 只分子塊進行修復 (d) 加上全局結構引導 (e) 加上圖像的引導
Image-guided Volume Correction:為了糾正在骨架生成階段時的預測誤差,我們再次利用輸入圖像 I,從中學習一個低分辨率的骨架體素表達,將其集成到我們前面提到的全局結構合成網絡,得到一個更準確的全局結構 。這最終將有助于我們得到一個更好的修復結果 V。如圖 4 所示,圖像 I 的使用大大提高了修復后的骨架體素 V 的效果。?
Base Mesh Extraction:得到修復后的體素 V 后,我們用 Marching Cubes 算法來產生初始網格 Mb,它仍然保留著和骨架 K 一樣的拓撲結構。為了減輕后續的計算負擔,我們對 Mb 進行了簡化。
Mesh Refinement
▲?圖5.?三角網格變形網絡
到目前為止他們獲得了抓住潛在物體拓撲結構的初始網格 Mb,但是還缺乏物體表面的細節。他們利用圖卷積神經網絡結合輸入圖像對粗糙的初始網格進行變形,達到在 Mb 的表面處補充細節的目的。
圖 5 所示是他們的網格變形網絡。本文的圖神經卷積網絡由一些圖卷積層組成,每個層對 Mb 的每個頂點以及其局部鄰域實施空間濾波操作。圖卷積層的定義如下:
與 Pixel2Mesh 類似,我們也將從圖像 I 提取出來的特征結合到對應的頂點位置上來促進學習過程。關于損失函數選擇,此階段再次使用了 CD 距離來訓練。同時加上了平滑正則項來規范網格變形過程。一個是 edge regularization,用于防止邊長過長,避免大的變形,造成形狀畸變。另外一個是 normal loss,用于保證輸出物體表面的平滑。
Experiments
Single-view Reconstruction?
為證明所提出方法在單視角重構這個任務上的有效性,本文挑選了 ShapeNet 中有代表性的五個物體種類(plane, bench, chair, table, firearm)來進行實驗說明。?
Qualitative results
▲?圖6
圖 6 展示了我們方法與現有方法的視覺對比結果。 可以看出,我們的方法(f)已經超過了其他方法(b-e),因為我們生成的是完整的物體形狀網格表達,而且能抓住正確的拓撲結構,以及刻畫更多的細節。
Quantitative Results?
通過使用網格上采出具有 10000 個點的點云,本文采用 CD 和 EMD 來評估重建質量。表 1 展示了與其他方法量化對比的結果。
▲?表1. 單視角重建方法的 CD EMD 對比結果
Generalization on real images?
圖 7 所示是我們的方法在三張真實圖片上的重構結果。 可以看到重建結果的質量與合成圖片的結果十分相似。特別是圖 7(a) 所示,該圖片雖然與 ShapeNet 無關,但是我們仍然能將看不到的細桿很好地重構出來。這一結果也證明了我們方法優秀的泛化能力。
▲?圖7.?真實圖像測試結果
Evaluation on Skeleton Inference?
在這一節,我們對我們骨架學習方法的幾個變種進行比較,用此來說明我們最后所選用的模型是最優的。
它們是:1)“Point-only fitting”方式直接采用PointSetGeneration 去回歸骨架點坐標;2)“Line-only fitting”方式移除了我們方法中的面擬合分支,只通過對多根直線變形來逼近骨架;3)“Square-only fitting”方式則移除了線擬合分支,只通過對多個平面變形來逼近骨架 ;4)“Line-and-Square fitting”則是只用一個 MLP 來同時學習線和面的變形;5)“Ours w/o laplacian”代表我們的模型但沒有加拉普拉斯平滑項。?
Quantitative Results
▲?表2. 骨架學習方法的CD對比結果
由表 2 可以看出我們最終的骨架學習模型比其它的幾個變種方法更優。另外一個發現是我們的拉普拉斯正則化項有助于骨架預測得更加準確。?
Qualitative Results
▲?圖8
圖 8 用一個例子展示了這些骨架學習方法的視覺對比結果。由此圖可以觀察到利用雙平行預測分支用于曲線狀和曲面狀骨架獨立合成這一設計方法和拉普拉斯平滑項的有效性。
總結
從單個視角恢復一個物體的三維形狀是計算機視覺領域中一項基礎性而又具有挑戰性的任務。本文提出的框架將這一任務分成三個階段,它首先恢復點云表達的 3D 骨架,然后這些骨架點被轉為體素表達,通過三維卷積網絡合成一個更?
可靠的體素用于提取粗糙的初始網格。最后,一個圖神經網絡被用于學習網格變形來產生表面細節。正如文中的實驗所示,這一方法在可視化和量化上均優于現有其他方法。但是這也有兩個將來可以改進的方向:1)如何將全部流程整合成一個端到端訓練的網絡;2)在骨架學習,體素生成,網格變形每個過程嘗試使用對抗學習,以更一步提高最后輸出結果的質量。
點擊以下標題查看更多往期內容:?
CVPR 2019 | 無監督領域特定單圖像去模糊
圖神經網絡綜述:模型與應用
近期值得讀的10篇GAN進展論文
小樣本學習(Few-shot Learning)綜述
萬字綜述之生成對抗網絡(GAN)
可逆ResNet:極致的暴力美學
小米拍照黑科技:基于NAS的圖像超分辨率算法
AAAI 2019 | 基于區域分解集成的目標檢測
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢? 答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
??來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
?
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 下載論文
總結
以上是生活随笔為你收集整理的CVPR 2019 | 基于骨架表达的单张图片三维物体重建方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小样本学习(Few-shot Learn
- 下一篇: CVPR 2019 | 旷视研究院提出M