李 雷 徐 浩 吳素萍
單視圖三維重建是圖像理解和計算機視覺的一個基本問題,并在機器人、自動駕駛、虛擬現實和增強現實中有著廣泛的應用[1-2].近年來,基于深度學習的單視圖三維重建得到了廣泛的應用.相比于傳統的三維重建方法,學習模型能夠更好地對輸入信息進行編碼以防止輸入信息的歧義.現有基于深度學習的三維重建分為多視圖和單視圖重建[3-6],前者先利用深度網絡提取到的特征信息進行立體匹配并預測深度圖,再利用深度圖融合技術構建三維模型.后者則通過使用神經網絡強大的特征捕獲能力從輸入圖像中捕獲特征信息,之后結合從海量訓練數據中學習到的形狀先驗知識信息進行三維重建.具體來說,基于深度學習的單視圖三維重建根據三維形狀輸出表示形式可以分為以下三種:
1) 基于體素的表示形式,如圖1(a)所示,現有工作[7]使用編碼網絡捕獲輸入的物體圖片的形狀屬性信息 (物體拓撲結構以及幾何、輪廓、紋理等信息) 并將這些低層級信息編碼為不同尺度下的高層級表示形式,之后使用解碼網絡將三維幾何外形表示為三維體素塊上的二值概率分布S={(P1,···,Pn×n×n)},最后通過計算網絡預測的二值概率分布和真實二值概率分布之間的交叉熵來約束網絡學習,即利用網絡學習二維圖像到三維體素塊上二值概率分布的映射關系來表達三維幾何外形.

圖1 基于深度學習的單視圖三維重建中三種表示形狀Fig.1 Three representation shapes for single-view 3D reconstruction based on deep learning
2) 基于點云的表示形式,如圖1(b)所示,現有工作[8]使用編碼網絡捕獲輸入的物體圖片的形狀屬性信息,之后使用解碼網絡將三維幾何外形表示為無序點云最后通過計算預測的點云三維坐標和真實點云三維坐標之間的倒角距離等指標來約束網絡學習,即利用網絡學習二維圖像到無序三維點集S的映射關系來表示物體三維形狀.
3) 基于網格的表示形式,如圖1(c)所示,現有工作[9]首先使用卷積神經網絡提取輸入的物體圖片的特征信息,之后使用圖卷積網絡[10]結合提取特征和初始化的網格模板對初始化模板進行網格變形生成目標三維模型,最后通過計算預測網格的信息(點坐標、邊長等) 和真實網格信息之間的誤差來約束網絡學習,即利用網絡學習二維圖像到三維網格的映射關系來表示物體三維形狀.
在網絡學習過程中,現有方法都使用反向傳播[11]算法通過監督信息來約束編解碼網絡進行學習,即通過反向傳播使神經網絡擬合一個復雜的映射函數.本質上,基于深度學習的單視圖三維重建方法使用合適的神經網絡N來實現從輸入圖像I到輸出Y的連續映射函數逼近,即對任意ε >0,x ∈I;|N(x)-Y|<ε.
大部分基于深度學習的單視圖三維重建工作都使用基于卷積神經網絡的編解碼器架構[12],即三維重建任務通常采用2D 卷積神經網絡對二維輸入圖像進行編碼,再根據任務需要的表示形式,使用不同的解碼器生成不同的表示形式.例如,如果使用體素[13]作為最終表示,則使用3D 反卷積神經網絡作為解碼器.
根據重建后的三維形狀輸出表示形式,一些工作[14-16]基于網格進行三維形狀重建.因為這些方法只能通過使用同類形狀模板進行變形,所以上述方法只能重建出具有簡單拓撲的物體,并且容易出現網格自交叉.總的來說,由于沒有明確和可靠的方法生成有效的網格,所以基于網格的三維重建工作面臨著巨大的挑戰.一些工作基于體素[4-5,7]和點云[8]來進行三維形狀重建,但由于占用內存過高只能處理小批量數據和采用低分辨率來表示.為了解決上述問題,Mescheder 等[17]提出了由連續函數定義一個3D 空間,并通過神經網絡擬合的函數來描述這樣的隱式形狀,并使用2D 圖像X和位置P∈R3來推斷對應位置P的占用情況.即使用神經網絡擬合映射函數 R3×X →[0,1].該方法有效地減少了訓練時占用的內存和訓練時間,但由于物體三維形狀是由分類器或回歸模型的權值來表示,所以這些方法忽略了一些低級的形狀信息.總的來說,現有的單視圖三維重建方法存在以下挑戰性問題:1) 難以準確地重建具有復雜拓撲結構的物體三維形狀.2)難以準確地重建局部細節特征從而生成高保真輸出.3) 先前的工作都是在合成數據上進行訓練,但在真實數據上進行測試時,就會出現領域自適應問題.因此,一些復雜拓撲結構的連接處和局部細節的位置點占用概率往往難以準確的預測,本文稱這些難以準確預測的點為模糊概率點.
為了解決上述的挑戰性問題,本文通過深度強化學習算法DDPG[18]來訓練智能,并不斷地調整這些模糊概率點的占用概率并使其跳出概率模糊區間P ∈[0.4,0.6].具體來說,受到 Li 等[19]的啟發,本文首先通過動態分支代償網絡生成了更多樣化的特征表示并得到預測結果,之后通過預測結果找到模糊概率點后聚合模糊概率點周邊的局部信息和全局圖像信息,再通過DDPG 訓練的智能體調整這些模糊概率點,使其達到到最佳的占用概率.本文給出了本文方法在真實圖像上進行三維重建的結果,如圖2所示.本文的主要貢獻如下:

圖2 本文方法和DISN 方法在真實圖像上的單視圖重建結果Fig.2 Single image reconstruction using a DISN,and our method on real images
1) 本文使用動態分支代償網絡來使得模型從輸入圖像中捕捉到更多樣化的特征信息以提高模型的泛化能力.
2) 本文考慮到了局部信息對位置點占用概率預測的影響并使用了注意力機制引導的信息聚合機制聚合了局部信息和全局圖像信息.
3) 本文使用深度強化學習算法DDPG 訓練的智能體對模糊概率點的占用概率進行了再推理.
4) 大量定量、定性和消融實驗證明了本文的方法在公開的大規模三維物體數據集ShapeNet[20]上的評估相比最先進的方法都有相應的提升.
早期的單視圖三維物體重建是通過shape-fromshading[21-22]重建物體三維形狀.在早期方法下,紋理和散焦信息提供了更多有意義的重建信息.具體來說,這些工作從輸入圖像中捕獲多條線索信息(例如:紋理、散焦等)和物體的幾何結構信息來推理物體可見表面的深度信息.
近年來,隨著生成對抗網絡[23],可變分自編碼器[24]在圖像生成方面取得顯著成果,Wu 等[4]將生成對抗網絡從圖像領域擴展到體素,并訓練了3D 生成對抗網絡從潛在向量生成三維體素.Kar 等[25]將相機參數和輸入圖像編碼為3D 體素代表,之后應用3D 反卷積從多個視圖重建3D 場景.先前的工作都是在合成數據上進行訓練,但在真實數據上進行測試時,存在領域自適應問題.為了解決上述問題,Wu 等[7]使用全監督的方式通過學習輸入圖像到2.5D 草圖的映射,再通過訓練一個三維形狀估計器得到最終的三維形狀.但由于過高的內存占用,重建的三維形狀通常被限制在 323分辨率的體素塊內.為了解決內存限制的問題,Tatarchenko 等[26]對輸出空間進行了分層分區,以提高計算和存儲效率,這有助于預測更高分辨率的三維形狀.Wang 等[9]使用圖卷積網絡[10]使橢球面模板逐漸形變成為目標對象,但結果往往是受限于球形拓撲.Wang 等[27]通過變形初始化的源網格來重建三維形狀.Fan 等[8]引入了點云作為表示形式來表示物體3D 形狀.然而,基于點云的表示形式需要許多復雜的后處理步驟[28-30]來生成三維網格.Choy 等[5]借鑒了長短期記憶網絡和門控循環單元(Gated recurrent unit,GRU)思想構建了循環網絡結構來重建三維物體.Groueix 等[14]則使用小塊面片來拼接三維物體表面形狀,但是拼接三維形狀的小塊面片之間很容易出現重疊和自交.Chen 和Zhang[31]在深度網絡中使用符號距離函數來完成三維形狀生成的任務.雖然他們的方法在生成任務上取得了良好的效果,但在單視圖重建任務中無法實現高保真恢復三維物體的細粒度細節.
最近,一些工作[31-32]將物體三維形狀表面隱式地表示為深度神經網絡分類器的連續決策邊界.換句話說,這些工作通過學習一個分類器來預測一個點是在封閉的形狀邊界內還是在邊界外,并使用這個分類器作為三維形狀的表示形式.但是,由于三維形狀是由分類器或回歸模型的權值來表示的,所以這些方法往往忽略了一些低級的形狀信息.
本文的目標是使用2D 圖像X和位置P ∈R3來推斷對應位置P的占用情況,即使用神經網絡擬合映射函數 R3×X →[0,1].對于一個封閉的形狀S,該二分類神經網絡等價于對每個位置P給出一個0 到1 之間的占用概率來決定P點是否在封閉形狀內,如式(1)所示:

但三維物體存在著大量復雜的拓撲結構和表面細節,這些位置的占用情況往往難以準確的預測,本文稱這些點為模糊概率點.因此,本文結合模糊概率點的鄰域特征和全局特征并使用深度強化學習算法對模糊概率點的占用概率進行再推理.圖3 顯示了本文方法的整個流程.具體來說,本文首先使用編解碼器將2D 圖片信息和下采樣點特征解碼為向量V并找到模糊概率點.其次,鄰域路由機制將搜索模糊概率點周圍的鄰域點并組合為鄰域點陣塊.然后,特征聚合模塊提取鄰域點陣塊和對應的圖片信息為模糊概率點集的局部特征,并與全局圖像特征進行聚合.最后,DDPG 模塊將聚合后的特征作為初始狀態后進行動作選取并輸出調整后的占用概率.

圖3 MNGD 框架的整體流程圖Fig.3 The workflow of the proposed MNGD framework
本小節分別介紹了動態分支代償網絡模塊的整體流程、動態分支代償網絡以及分支網絡的優化和代償過程.
2.2.1 動態分支代償網絡模塊整體流程
本文使用動態分支代償網絡編碼輸入的2D 圖像與下采樣后的位置點送入解碼器中對各自位置的占用情況進行預測得到向量V,再從向量V中尋找模糊概率點.首先將向量V轉換到0 到1 之間,再取得概率分布在P∈[0.4,0.6] 的點作為模糊概率點集.如式(2)所示,本文對模糊概率點集進行初始化.

上式中,fuzzy(.)表示對應的點是否為模糊概率點,0 代表該點不是模糊概率點,1 代表該點是模糊概率點并將其加入模糊概率點集.
2.2.2 動態分支代償網絡
如圖4 所示,本文通過在神經網絡的中間層中添加邊分支,使得神經網絡能夠沿著每條邊分支產生更多樣化的特征表示.之后,本文通過注意力機制來動態混合多分支輸出預測概率,從而得到更精確地預測占用概率,如式(3)所示:

圖4 動態分支代償網絡框架圖Fig.4 The framework of the dynamic branch compensation network

其中,pi;i∈M[1,3] 代表每條分支的預測的占用概率,并且根據當前處理的樣本,wi代表針對該樣本每一條分支的權重值.
2.2.3 動態分支網絡的優化和代償過程
在優化動態分支代償網絡時,本文不僅直接收集每個分支的分類損失來優化網絡,而且關注每個分支在其各自路徑中生成的不同特征.即當邊分支或主分支學習并生成知識時,分支網絡之間可以通過相互的公共路徑實現實時的知識交互和補償,如式(4)所示:

其中,LB代表一個小批次B條數據的訓練損失,(.,.) 代表主分支的交叉熵分類損失,(.,.)代表邊分支的交叉熵分類損失.i=1,···,B代表一個小批次第i條數據,n=1,···,N,N代表第n條邊分支.fθ代表主分支的網絡參數,代表第n條邊分支的網絡參數.IΘ代表主分支生成的知識補償給邊分支,Iθ代表邊分支生成的知識補償給主分支.pij代表輸入的第i條數據的第j個位置點,其中pij ∈R3,j=1,···,K.oij ∈{0,1}代表pij是否在封閉形狀S內的真實標簽.
在本小節中,本文通過鄰域路由聚合模糊概率點周圍位置點形成鄰域點陣.因為模糊位置點周圍信息可以幫助模型對模糊位置點的占用概率進行更好的再推理,所以本文通過鄰域路由來尋找模糊位置點周圍的點并組合為鄰域點陣,如圖3(b)和圖5所示.在鄰域路由中,如果路由點個數過多則會導致訓練速度較慢,如果路由點個數過少則會導致網絡捕捉的局部特征不穩定.本文均衡了不同路由點個數在訓練時間和實驗效果上的表現選擇了N=64 作為路由點個數.

圖5 鄰域路由過程Fig.5 The whole process of neighbor routing
以往的工作僅僅通過訓練多層感知機抽取圖像全局信息來對位置點的占用概率進行推理,它往往會忽視局部的細節信息,故模糊概率點再推理需要結合全局和局部信息.如圖3(c)所示,本文借鑒通道注意力機制來聚合全局和局部信息.本文的目的是將鄰域點陣和對應圖像結合提取出對應鄰域點陣含有的局部特征,之后再聚合局部特征和圖像全局特征形成下一層網絡的輸入.然而不同的樣本有著不同的特征,一些模糊概率點需要更多的全局的語義信息,相反另一些模糊概率點則需要更多的局部細節特征,所以本文在聚合特征時加入了通道注意力機制[33].如圖6 所示,模糊概率點集特征被分割為N個模糊概率點特征并使用圖示過程對不同的通道ci乘以對應的權重wi后形成新的單模糊點特征,最后將新的N個模糊概率點再次組成模糊概率點集特征.

圖6 聚合特征時的注意力機制Fig.6 Attention mechanism when features are aggregated
在這個模塊中,智能體通過分析模糊概率點附近的局部信息和全局信息后從量化后的連續動作空間選取動作來改變模糊概率點的占用概率,再根據獎勵進行優化,最終學習到可以跳出模糊概率范圍的策略,進而調整模糊概率點的占用概率使其跳出模糊概率區間.本文給定一個由上一個模塊輸出的模糊概率點集特征F,并通過DDPG 模塊來調整模糊概率點的占用概率.首先,模糊概率點集特征被分割為N個單模糊概率點特征{F0,F1,···,FN},之后引出根據模糊概率點特征如何獲得該模糊概率點最佳占用概率的問題,最后該問題被定義為一個馬爾科夫決策過程,由狀態、行為、獎勵、在過程中采取行動的狀態改變、學習過程和交互環境組成.智能體通過當前輸入的狀態信息,輸出相應的最優動作,從環境中獲得最大的獎勵作為一個流程.本文使用一個深度強化學習算法DDPG[18]來訓練智能體.本文定義的整個馬爾科夫決策過程和訓練過程如下:
狀態:本文將狀態定義為當前模糊概率點的特征信息Fi,初始狀態S0為當前模糊概率點第一次進入DDPG 模塊的模糊概率點特征Fi.隨著每一步迭代,在第ith迭代后狀態是Si-1,它累積了以前所有迭代的更新.
動作空間:本文將在連續空間T∈[0,1] 內選取一個動作Ai來調整模糊概率點特征信息用來獲得最準確的占用概率,所以第ith迭代的操作是為了獲得更準確的占用概率對應的模糊概率點特征信息.其次,本文量化了連續空間T∈[-1,1] 作為動作選取的連續空間,使模糊概率點可以跳出模糊概率區間P∈[0.4,0.6].
獎勵函數:獎勵函數通常用于評估智能體執行動作的結果.在本文中,獎勵函數被設計為根據模糊概率點特征所得到的占用概率與模糊點對應的真實標簽的交叉熵損失,所以這個獎勵函數可以評估該模糊概率點對應的重建誤差.獎勵函數形式如下:

上式中,yi∈{0,1}代表周圍點是否在封閉形狀內的真實標簽,Pi是模糊概率點的占用概率,Si代表當前狀態,Ai代表基于當前狀態給出的動作.
學習過程:學習階段的目標是更新評價和動作網絡的參數,初始化的評價網絡Q(S,A|θQ)參數為θQ,初始化的動作網絡u(S,A|θu) 參數為θu,目標評價網絡Q′和目標動作網絡u′.
在動作網絡預測出動作后評價網絡會給出Q(S,A)值作為當前狀態S執行動作A后的評價,為了能使評價網絡精確給出對應的Q值,最小化式(6)來更新評價網絡參數:

上式中,N代表從記憶庫中選擇學習的樣本個數,Ri代表獎勵值,γ代表折扣參數.在動作網絡中為了能使動作網絡能夠獲得更大Q值,使用式(7)來更新動作網絡的參數:

上式中,?代表梯度,接下來采用式(8)(9)更新目標網絡參數:

上式中τ代表軟更新的參數.
交互環境:環境指的是智能體執行動作時所處的場景.本文將環境設置為當智能體對模糊概率點占用概率進行再推理后得到該模糊概率點新的占用概率.當新的占用概率處在模糊概率區間P ∈[0.4,0.6]時,環境將該模糊概率點新的占用概率替換之前的占用概率后作為下一個狀態.當新的占用概率跳出了模糊概率區間P∈[0.4,0.6] 或者達到了最大調整步數時,環境將該模糊概率點新的占用概率替換之前的占用概率并給出相應的獎勵值.
本節首先可視化了卷積神經網絡抽取特征的過程和特征激活圖.其次,本文詳細說明了整個預測三維形狀網格和真實三維形狀網格的生成過程.
如圖7(a)所示,本文可視化了每層卷積網絡處理提取前層輸出后得到的結果.從整個可視化后的卷積過程可以看出:1)淺層網絡主要是對低級特征的提取,例如邊緣特征和紋理特征等.2)深層網絡則主要是對高級特征信息進行抽取,例如高級語義信息等.如圖7(b)所示,本文使用Grad-CAM[34]通過抓取梯度計算量和特征圖相乘來計算熱力圖,并在原圖中進行特征激活可視化.
如圖7((e)~ (j))所示,本文使用多分辨率等值面提取法(Multiresolution isosurface extraction,MISE)[17]將本文框架輸出的結果提取等值面,最后使用游動立方體算法(Marching cubes algorithm)[35]對每個體素以三角面片來逼近其內部的等值面(Isosurface)來生成目標網格.

圖7 卷積可視化與網格生成過程Fig.7 Convolution visualization and mesh generation process
如圖7(d)所示,本文首先將本文框架輸出的結果fθ(p,x) 中大于閾值ε的點標記為占用點(圓形點),剩下的標記為未占用點(方形點).其中,f為網絡擬合的映射函數,θ為網絡的參數,p為輸入的下采樣點云,x為輸入的2D 圖像.
之后,如圖7(e)所示,本文將至少兩個相鄰位置具有不同占用狀態的點所在的體素塊標記為占用體素,這些相交于網格之間的標記體素塊的個數記為網格分辨率.如圖7(f)所示,本文將占用體素進行精細化分解以得到更高的分辨率.如圖7(g)和7(h)所示,本文使用游動立方體算法提取近似等值面并得到初始網格.

如果在當前分辨率下的初始網格包含網格內外各連通部分的點,則算法結果收斂于正確的網格.為了更好地使算法收斂于正確的網格,網格分辨率通常設置為 323.
如圖7(i)所示,本文首先使用快速二次網格簡化算法(Fast-quadric-mesh-simp-lification algorithm)[36]來精細化得到的初始網格.之后,本文再使用一階和二階梯度來進一步精細化網格.為了達到這個目標,本文從輸出網格的每個面取隨機采樣點k個點,并最小化式(11):

上式中n(pk) 代表網格pk的法向量.本文設置λ=0.01并通過雙重反向傳播[37]方法來有效地使用二階梯度信息.
本節首先介紹了實驗設置以及訓練和測試的實現細節.其次,展示了本文的方法與目前最先進的方法在ShapeNet[20]數據集上定量實驗的結果.之后,本文展示了本文的方法在合成數據集ShapeNet上和在線產品數據集(Online products dataset)[38]上的定性結果.最后,本文使用消融實驗對模型中的各個模塊的作用進行了驗證并展示了本文方法在合成數據ShapeNet 中全部類別上的定性結果.
數據集:ShapeNet[20]是一個包含大量三維物體模型的合成數據集.本文使用ShapeNet 核心數據集,它包括了55 個常見的對象類別共55 300 個3D模型、13 個主要類別和一個官方分割的訓練、測試數據集.本文的模型在包含全部類別的數據集上進行訓練,并報告本文模型在包含全部類別的測試集上的測試結果.
真實圖片數據:Online products dataset[38]是一個包含真實世界圖片的數據集.本文的模型并沒有在該真實圖片數據集上進行訓練,所以本文使用該真實圖片數據集來驗證訓練模型的泛化能力、真實世界物體圖片的三維重建能力和域可轉移能力.
本文在實驗中分別進行了定量評估和定性評估,對于定量評估,本文使用交并比(Intersection over union,IoU)、倒角距離(Chamfer distance,CD)和法線一致性(Normal consistency,NC)作為評估指標.為了測量IoU 等評估指標,本文使用Stutz 等[39]的代碼去生成水密網格并確定位置點是否位于網格的內部或外部.
4.2.1 交并比
本文使用基于體素化網格的交并比(IoU),體素化網格的交并比是兩個體素化網格交集的體積和并集的體積的商.

如式(12)所示,G和R代表體素化網格.
4.2.2 倒角距離
倒角距離被定義為真實點云形狀和重建點云形狀之間完整性和準確性的度量.準確性為重建后各點與真實標簽各點之間的平均距離,完整性則為真實標簽各點與重建后各點的平均距離.

如式(13)所示,G和R 分別代表真實點云形狀和重建點云形狀.
4.2.3 法線一致性
法線一致性定義為重建網格中法線和真實網格中相對應最近的法線之間點積的絕對值的平均值.

如式(14)所示,G和R分別代表重建網格和真實網格中的法線.
本文所有的網絡結構都是使用Python3.6 和Pytorch1.0 實現的.本文使用在ImageNet 數據集上預訓練的ResNet-18 來初始化編碼器的參數,并使用基于條件批歸一化 (Conditional batch normalization,CBN)[40]的5 個ResNet[41]塊作為解碼器.本文在一塊CUDA 9.0、cudnn 7 的GeForce RTX 2080 Ti 上來訓練動態分支代償網絡,如圖3(a)所示,其中48 個樣本作為一個批次,并使用初始學習率為1×10-4的優化算法Adam[42].特征聚合模塊和DDPG 模塊中,本文使用基于CBN 的解碼器和容量為C的記憶庫.強化學習過程中動作網絡每次在連續空間中隨機選擇一個動作并且將元組(Si,Ai,Si+1,R,done)添加到記憶庫.當記憶庫的數據量達到C-1 時,網絡通過隨機從記憶庫中選取一個批次N條經驗來進行學習.本文設置批次樣本個數N為100,容量C設置為400 000,折扣參數γ設置為0.99,最大調整步數S為3,軟更新參數ε設置為0.005.
在這一節中,本文將在單視圖重建方面使用本文的方法和其他最先進的方法3D-R2N2[5]、Pix2Mesh[9]、AtlasNet[14]和ONet[17]進行定量的比較.本文的方法僅使用單張圖片輸入來實現三維重建.如表1 所示,本文的方法在IoU 上的評價結果均有顯著的提升并優于其他最先進的方法,由于AtlasNet 不能產生水密網格,所以本文無法評估該方法的IoU 值.如表2 所示,對于法線一致性(NC),本文的方法在NC 上的評價結果均有顯著的提升并優于其他最先進方法的結果.如式(13)所示,AtlasNet 通過輸入信息直接回歸三維點云坐標值以計算倒角距離進行訓練.本文通過使用連續函數定義一個3D 空間,并通過神經網絡擬合的函數來描述這樣的隱式形狀,不是直接回歸重建物體中點云的三維坐標值,即本文利用神經網絡擬合映射函數來隱式的描述3D 形狀.所以,本文方法不能像PSGN和AtlasNet 一樣訓練倒角距離.在評估過程中,本文通過網格生成步驟(該步驟不可微分)來生成網格并與真實標簽生成的真實網格中隨機抽樣100k 個點計算倒角距離.如表3 所示,本文在訓練過程中沒有像PSGN 和AtlasNet 一樣訓練倒角距離,但本文在定量實驗中也取得了較好的結果.

表3 本文的方法在ShapeNet 數據集上與最先進方法倒角距離 (CD)的定量比較Table 3 The quantitative comparison of our method with the state-of-the-art methods for CD on ShapeNet dataset
本文與其他方法比較的定性結果,如圖8 所示.通過圖8 可以看到所有的方法都對物體的基本的幾何特征進行了準確的提取.本文發現3D-R2N2[5]在重建拓撲結構復雜的物體上出現了較為明顯的空洞.PSGN[8]可以產生高保真的輸出,但是缺乏連接性.因此,PSGN 需要額外的有損后處理步驟來生成最終的網格.Pix2Mesh[9]同樣也在拓撲結構較為復雜的物體上出現了局部變形和空洞.AtlasNet[14]已經可以重建出良好的表面,但容易產生小面片之間的自交和重疊.ONet[17]則很好地捕獲了拓撲結構復雜的物體的特征并且生成了更加平滑的表面,但缺失了部分局部細節.本文的方法能夠捕獲復雜拓撲結構和生成高保真的三維形狀輸出.另外,從臺燈和飛機的重建結果可以看出,本文的方法有效地恢復了物體復雜拓撲結構的連接處和局部細節.

圖8 ShapeNet 數據集上的定性結果Fig.8 Qualitative results on the ShapeNet dataset
為了檢驗本文的方法對真實數據的泛化能力,本文將本文方法應用于Online Products dataset[36]用于定性評價.本文的模型并沒有在Online Products dataset 上進行訓練.
如圖9 所示,本文展示了本文方法在Online Products dataset 定性結果.本文在真實圖片數據集中選擇一些有代表性的圖像來顯示定性結果.通過結果可以看出,雖然本文的模型只是在合成數據上進行訓練,但本文的模型對真實圖片數據也有很好的泛化能力.
本文分別從真實圖片泛化能力和模型魯棒性以及重建復雜拓撲結構和細節表達能力方面進一步進行分析.
4.7.1 真實圖片泛化能力和模型魯棒性
為了測試本文模型對真實圖片的泛化能力,本文的模型在Online Products dataset 進行了三維重建.如圖2 和圖9 所示,本文的模型只在ShapeNet數據集上進行了訓練,但是在真實世界的圖片上還是獲得了不錯的效果.通過這個實驗驗證了本文模型的域可轉移性.如表1、2、3 所示,本文的方法在ShapeNet 數據集上所有的類別上都取得了最優的交并比和法線一致性,并在倒角距離上也取得了不錯的效果,這證明了本文的方法在處理所有類別上更加具有魯棒性.

圖9 Online Products dataset 的定性結果Fig.9 Qualitative results on Online Products dataset
4.7.2 重建復雜拓撲結構和細節表達能力
對于拓撲結構復雜的物體(例如:飛機、椅子和桌子),本文結合了輸入圖像的全局特征和模糊概率點周圍的局部特征進一步強化了復雜拓撲結構和細節表達能力.如圖2 和圖9 所示,本文的模型在真實物體連接處和凹凸處具有更強的表達力.
在這個部分,本文對本文方法進行了消融實驗,主要研究了分支代償網絡模塊和DDPG 再推理模糊概率點的占用概率模塊對模型整體性能的影響.本文將分支代償網絡模塊、DDPG 再推理模糊概率點的占用概率模塊和完整模型分別用MB、DR 和FM 表示.
如表4 所示,本文首先驗證了DDPG 再推理模糊概率點的占用概率模塊顯著提高了IoU 指標.其次,本文驗證了分支代償網絡模塊明顯提高了IoU、NC 和CD 等指標,另外因為分支代償網絡的加入可以生成更多樣化的特征表示以更好地定位模糊概率點和提高模型的泛化能力,所以在加入分支代償網絡后模型效果有了顯著的性能提升.最后,如圖10 所示,本文展示了消融實驗中不同模型的定性實驗結果.

圖10 消融實驗的定性結果Fig.10 Qualitative results of ablation study

表4 消融實驗Table 4 Ablation study
在這個部分,本文的方法不依賴IoU 等評價指標對本文方法進行定量評估,而是展示了本文方法對模糊概率點調整能力的定量結果,如圖11 所示.圓點代表一張隨機圖片中的模糊概率點整體調整正確個數,叉號代表一張隨機圖片中整體調整錯誤個數,虛線代表整體調整正確或錯誤的決策邊界.

圖11 MNGD 隨機調整100 張圖片中模糊概率點的結果Fig.11 The result of MNGD adjusting the fuzzy probability points in 100 random images
在這個部分,本文展示了本文方法在訓練數據集ShapeNet 中所有類別的三維重建結果.如圖12所示,本文的方法能夠準確捕獲ShapeNet 數據集上所有類別物體的基本幾何特征,另外本文方法也有效的恢復了所有類別物體的復雜拓撲結構的連接處和局部細節.

圖12 ShapeNet 上所有類別的定性結果Fig.12 Qualitative results on ShapeNet of all categories
如圖13 所示(實線圈表示本文方法與ONet 的比較,虛線圈表示本文方法與原圖的比較).相比與之前的工作,本文的方法在大多數情況下能夠生成高保真的三維模型,但還需要在未來工作中對以下方面進行進一步優化:1) 如圖13 所示,由于本文沒有引入額外的相機參數信息來定位點到圖像平面的映射使得本文模型不能非常準確地恢復細小的凹凸結構(圖13(a)和圖13(b))和薄片結構(圖13(c)).2) 如圖13 所示,單視圖三維重建本質上缺少多視角觀測數據導致無法確定唯一的真實形狀,所以學習模型經常趨于逼近光滑表面但是細節模糊的平均形狀(圖13(a),圖13(b)和圖13(c)).3)全標注三維形狀公共數據集較少,如何增廣或利用無標注三維形狀數據集來提高模型泛化能力也十分重要.

圖13 單視圖三維重建中具有挑戰性案例Fig.13 Challenging cases in single-view 3D reconstruction
在未來的工作中,我們計劃引入相機參數對模糊概率點對應的特征圖進行更進一步的精確定位以及使用自監督[43-44]來有效利用無標注的三維形狀數據集,從而使深度強化學習算法訓練的智能體做出更加合理的再推理.
本文提出一個新的方法來實現對三維重建中模糊概率點進行再推理從而實現具有高保真和豐富細節的單視圖三維重建.本文的方法首先通過動態分支代償網絡從輸入信息中捕捉到更多樣化的特征信息以提高模型的泛化能力.其次,本文通過注意力引導的聚合機制聚合了模糊概率點的局部信息和全局圖像信息,之后通過深度強化學習算法DDPG訓練的智能體對模糊概率點進行再推理并給出相應的結果.最后,本文通過大量的定性和定量實驗表明,本文的方法在一定程度上解決了具有復雜拓撲的物體以及一些表面細節信息難以準確重建的問題.