李 雷 徐 浩 吳素萍
單視圖三維重建是圖像理解和計(jì)算機(jī)視覺的一個(gè)基本問題,并在機(jī)器人、自動(dòng)駕駛、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)中有著廣泛的應(yīng)用[1-2].近年來,基于深度學(xué)習(xí)的單視圖三維重建得到了廣泛的應(yīng)用.相比于傳統(tǒng)的三維重建方法,學(xué)習(xí)模型能夠更好地對輸入信息進(jìn)行編碼以防止輸入信息的歧義.現(xiàn)有基于深度學(xué)習(xí)的三維重建分為多視圖和單視圖重建[3-6],前者先利用深度網(wǎng)絡(luò)提取到的特征信息進(jìn)行立體匹配并預(yù)測深度圖,再利用深度圖融合技術(shù)構(gòu)建三維模型.后者則通過使用神經(jīng)網(wǎng)絡(luò)強(qiáng)大的特征捕獲能力從輸入圖像中捕獲特征信息,之后結(jié)合從海量訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到的形狀先驗(yàn)知識信息進(jìn)行三維重建.具體來說,基于深度學(xué)習(xí)的單視圖三維重建根據(jù)三維形狀輸出表示形式可以分為以下三種:
1) 基于體素的表示形式,如圖1(a)所示,現(xiàn)有工作[7]使用編碼網(wǎng)絡(luò)捕獲輸入的物體圖片的形狀屬性信息 (物體拓?fù)浣Y(jié)構(gòu)以及幾何、輪廓、紋理等信息) 并將這些低層級信息編碼為不同尺度下的高層級表示形式,之后使用解碼網(wǎng)絡(luò)將三維幾何外形表示為三維體素塊上的二值概率分布S={(P1,···,Pn×n×n)},最后通過計(jì)算網(wǎng)絡(luò)預(yù)測的二值概率分布和真實(shí)二值概率分布之間的交叉熵來約束網(wǎng)絡(luò)學(xué)習(xí),即利用網(wǎng)絡(luò)學(xué)習(xí)二維圖像到三維體素塊上二值概率分布的映射關(guān)系來表達(dá)三維幾何外形.
圖1 基于深度學(xué)習(xí)的單視圖三維重建中三種表示形狀Fig.1 Three representation shapes for single-view 3D reconstruction based on deep learning
2) 基于點(diǎn)云的表示形式,如圖1(b)所示,現(xiàn)有工作[8]使用編碼網(wǎng)絡(luò)捕獲輸入的物體圖片的形狀屬性信息,之后使用解碼網(wǎng)絡(luò)將三維幾何外形表示為無序點(diǎn)云最后通過計(jì)算預(yù)測的點(diǎn)云三維坐標(biāo)和真實(shí)點(diǎn)云三維坐標(biāo)之間的倒角距離等指標(biāo)來約束網(wǎng)絡(luò)學(xué)習(xí),即利用網(wǎng)絡(luò)學(xué)習(xí)二維圖像到無序三維點(diǎn)集S的映射關(guān)系來表示物體三維形狀.
3) 基于網(wǎng)格的表示形式,如圖1(c)所示,現(xiàn)有工作[9]首先使用卷積神經(jīng)網(wǎng)絡(luò)提取輸入的物體圖片的特征信息,之后使用圖卷積網(wǎng)絡(luò)[10]結(jié)合提取特征和初始化的網(wǎng)格模板對初始化模板進(jìn)行網(wǎng)格變形生成目標(biāo)三維模型,最后通過計(jì)算預(yù)測網(wǎng)格的信息(點(diǎn)坐標(biāo)、邊長等) 和真實(shí)網(wǎng)格信息之間的誤差來約束網(wǎng)絡(luò)學(xué)習(xí),即利用網(wǎng)絡(luò)學(xué)習(xí)二維圖像到三維網(wǎng)格的映射關(guān)系來表示物體三維形狀.
在網(wǎng)絡(luò)學(xué)習(xí)過程中,現(xiàn)有方法都使用反向傳播[11]算法通過監(jiān)督信息來約束編解碼網(wǎng)絡(luò)進(jìn)行學(xué)習(xí),即通過反向傳播使神經(jīng)網(wǎng)絡(luò)擬合一個(gè)復(fù)雜的映射函數(shù).本質(zhì)上,基于深度學(xué)習(xí)的單視圖三維重建方法使用合適的神經(jīng)網(wǎng)絡(luò)N來實(shí)現(xiàn)從輸入圖像I到輸出Y的連續(xù)映射函數(shù)逼近,即對任意ε >0,x ∈I;|N(x)-Y|<ε.
大部分基于深度學(xué)習(xí)的單視圖三維重建工作都使用基于卷積神經(jīng)網(wǎng)絡(luò)的編解碼器架構(gòu)[12],即三維重建任務(wù)通常采用2D 卷積神經(jīng)網(wǎng)絡(luò)對二維輸入圖像進(jìn)行編碼,再根據(jù)任務(wù)需要的表示形式,使用不同的解碼器生成不同的表示形式.例如,如果使用體素[13]作為最終表示,則使用3D 反卷積神經(jīng)網(wǎng)絡(luò)作為解碼器.
根據(jù)重建后的三維形狀輸出表示形式,一些工作[14-16]基于網(wǎng)格進(jìn)行三維形狀重建.因?yàn)檫@些方法只能通過使用同類形狀模板進(jìn)行變形,所以上述方法只能重建出具有簡單拓?fù)涞奈矬w,并且容易出現(xiàn)網(wǎng)格自交叉.總的來說,由于沒有明確和可靠的方法生成有效的網(wǎng)格,所以基于網(wǎng)格的三維重建工作面臨著巨大的挑戰(zhàn).一些工作基于體素[4-5,7]和點(diǎn)云[8]來進(jìn)行三維形狀重建,但由于占用內(nèi)存過高只能處理小批量數(shù)據(jù)和采用低分辨率來表示.為了解決上述問題,Mescheder 等[17]提出了由連續(xù)函數(shù)定義一個(gè)3D 空間,并通過神經(jīng)網(wǎng)絡(luò)擬合的函數(shù)來描述這樣的隱式形狀,并使用2D 圖像X和位置P∈R3來推斷對應(yīng)位置P的占用情況.即使用神經(jīng)網(wǎng)絡(luò)擬合映射函數(shù) R3×X →[0,1].該方法有效地減少了訓(xùn)練時(shí)占用的內(nèi)存和訓(xùn)練時(shí)間,但由于物體三維形狀是由分類器或回歸模型的權(quán)值來表示,所以這些方法忽略了一些低級的形狀信息.總的來說,現(xiàn)有的單視圖三維重建方法存在以下挑戰(zhàn)性問題:1) 難以準(zhǔn)確地重建具有復(fù)雜拓?fù)浣Y(jié)構(gòu)的物體三維形狀.2)難以準(zhǔn)確地重建局部細(xì)節(jié)特征從而生成高保真輸出.3) 先前的工作都是在合成數(shù)據(jù)上進(jìn)行訓(xùn)練,但在真實(shí)數(shù)據(jù)上進(jìn)行測試時(shí),就會出現(xiàn)領(lǐng)域自適應(yīng)問題.因此,一些復(fù)雜拓?fù)浣Y(jié)構(gòu)的連接處和局部細(xì)節(jié)的位置點(diǎn)占用概率往往難以準(zhǔn)確的預(yù)測,本文稱這些難以準(zhǔn)確預(yù)測的點(diǎn)為模糊概率點(diǎn).
為了解決上述的挑戰(zhàn)性問題,本文通過深度強(qiáng)化學(xué)習(xí)算法DDPG[18]來訓(xùn)練智能,并不斷地調(diào)整這些模糊概率點(diǎn)的占用概率并使其跳出概率模糊區(qū)間P ∈[0.4,0.6].具體來說,受到 Li 等[19]的啟發(fā),本文首先通過動(dòng)態(tài)分支代償網(wǎng)絡(luò)生成了更多樣化的特征表示并得到預(yù)測結(jié)果,之后通過預(yù)測結(jié)果找到模糊概率點(diǎn)后聚合模糊概率點(diǎn)周邊的局部信息和全局圖像信息,再通過DDPG 訓(xùn)練的智能體調(diào)整這些模糊概率點(diǎn),使其達(dá)到到最佳的占用概率.本文給出了本文方法在真實(shí)圖像上進(jìn)行三維重建的結(jié)果,如圖2所示.本文的主要貢獻(xiàn)如下:
圖2 本文方法和DISN 方法在真實(shí)圖像上的單視圖重建結(jié)果Fig.2 Single image reconstruction using a DISN,and our method on real images
1) 本文使用動(dòng)態(tài)分支代償網(wǎng)絡(luò)來使得模型從輸入圖像中捕捉到更多樣化的特征信息以提高模型的泛化能力.
2) 本文考慮到了局部信息對位置點(diǎn)占用概率預(yù)測的影響并使用了注意力機(jī)制引導(dǎo)的信息聚合機(jī)制聚合了局部信息和全局圖像信息.
3) 本文使用深度強(qiáng)化學(xué)習(xí)算法DDPG 訓(xùn)練的智能體對模糊概率點(diǎn)的占用概率進(jìn)行了再推理.
4) 大量定量、定性和消融實(shí)驗(yàn)證明了本文的方法在公開的大規(guī)模三維物體數(shù)據(jù)集ShapeNet[20]上的評估相比最先進(jìn)的方法都有相應(yīng)的提升.
早期的單視圖三維物體重建是通過shape-fromshading[21-22]重建物體三維形狀.在早期方法下,紋理和散焦信息提供了更多有意義的重建信息.具體來說,這些工作從輸入圖像中捕獲多條線索信息(例如:紋理、散焦等)和物體的幾何結(jié)構(gòu)信息來推理物體可見表面的深度信息.
近年來,隨著生成對抗網(wǎng)絡(luò)[23],可變分自編碼器[24]在圖像生成方面取得顯著成果,Wu 等[4]將生成對抗網(wǎng)絡(luò)從圖像領(lǐng)域擴(kuò)展到體素,并訓(xùn)練了3D 生成對抗網(wǎng)絡(luò)從潛在向量生成三維體素.Kar 等[25]將相機(jī)參數(shù)和輸入圖像編碼為3D 體素代表,之后應(yīng)用3D 反卷積從多個(gè)視圖重建3D 場景.先前的工作都是在合成數(shù)據(jù)上進(jìn)行訓(xùn)練,但在真實(shí)數(shù)據(jù)上進(jìn)行測試時(shí),存在領(lǐng)域自適應(yīng)問題.為了解決上述問題,Wu 等[7]使用全監(jiān)督的方式通過學(xué)習(xí)輸入圖像到2.5D 草圖的映射,再通過訓(xùn)練一個(gè)三維形狀估計(jì)器得到最終的三維形狀.但由于過高的內(nèi)存占用,重建的三維形狀通常被限制在 323分辨率的體素塊內(nèi).為了解決內(nèi)存限制的問題,Tatarchenko 等[26]對輸出空間進(jìn)行了分層分區(qū),以提高計(jì)算和存儲效率,這有助于預(yù)測更高分辨率的三維形狀.Wang 等[9]使用圖卷積網(wǎng)絡(luò)[10]使橢球面模板逐漸形變成為目標(biāo)對象,但結(jié)果往往是受限于球形拓?fù)?Wang 等[27]通過變形初始化的源網(wǎng)格來重建三維形狀.Fan 等[8]引入了點(diǎn)云作為表示形式來表示物體3D 形狀.然而,基于點(diǎn)云的表示形式需要許多復(fù)雜的后處理步驟[28-30]來生成三維網(wǎng)格.Choy 等[5]借鑒了長短期記憶網(wǎng)絡(luò)和門控循環(huán)單元(Gated recurrent unit,GRU)思想構(gòu)建了循環(huán)網(wǎng)絡(luò)結(jié)構(gòu)來重建三維物體.Groueix 等[14]則使用小塊面片來拼接三維物體表面形狀,但是拼接三維形狀的小塊面片之間很容易出現(xiàn)重疊和自交.Chen 和Zhang[31]在深度網(wǎng)絡(luò)中使用符號距離函數(shù)來完成三維形狀生成的任務(wù).雖然他們的方法在生成任務(wù)上取得了良好的效果,但在單視圖重建任務(wù)中無法實(shí)現(xiàn)高保真恢復(fù)三維物體的細(xì)粒度細(xì)節(jié).
最近,一些工作[31-32]將物體三維形狀表面隱式地表示為深度神經(jīng)網(wǎng)絡(luò)分類器的連續(xù)決策邊界.換句話說,這些工作通過學(xué)習(xí)一個(gè)分類器來預(yù)測一個(gè)點(diǎn)是在封閉的形狀邊界內(nèi)還是在邊界外,并使用這個(gè)分類器作為三維形狀的表示形式.但是,由于三維形狀是由分類器或回歸模型的權(quán)值來表示的,所以這些方法往往忽略了一些低級的形狀信息.
本文的目標(biāo)是使用2D 圖像X和位置P ∈R3來推斷對應(yīng)位置P的占用情況,即使用神經(jīng)網(wǎng)絡(luò)擬合映射函數(shù) R3×X →[0,1].對于一個(gè)封閉的形狀S,該二分類神經(jīng)網(wǎng)絡(luò)等價(jià)于對每個(gè)位置P給出一個(gè)0 到1 之間的占用概率來決定P點(diǎn)是否在封閉形狀內(nèi),如式(1)所示:
但三維物體存在著大量復(fù)雜的拓?fù)浣Y(jié)構(gòu)和表面細(xì)節(jié),這些位置的占用情況往往難以準(zhǔn)確的預(yù)測,本文稱這些點(diǎn)為模糊概率點(diǎn).因此,本文結(jié)合模糊概率點(diǎn)的鄰域特征和全局特征并使用深度強(qiáng)化學(xué)習(xí)算法對模糊概率點(diǎn)的占用概率進(jìn)行再推理.圖3 顯示了本文方法的整個(gè)流程.具體來說,本文首先使用編解碼器將2D 圖片信息和下采樣點(diǎn)特征解碼為向量V并找到模糊概率點(diǎn).其次,鄰域路由機(jī)制將搜索模糊概率點(diǎn)周圍的鄰域點(diǎn)并組合為鄰域點(diǎn)陣塊.然后,特征聚合模塊提取鄰域點(diǎn)陣塊和對應(yīng)的圖片信息為模糊概率點(diǎn)集的局部特征,并與全局圖像特征進(jìn)行聚合.最后,DDPG 模塊將聚合后的特征作為初始狀態(tài)后進(jìn)行動(dòng)作選取并輸出調(diào)整后的占用概率.
圖3 MNGD 框架的整體流程圖Fig.3 The workflow of the proposed MNGD framework
本小節(jié)分別介紹了動(dòng)態(tài)分支代償網(wǎng)絡(luò)模塊的整體流程、動(dòng)態(tài)分支代償網(wǎng)絡(luò)以及分支網(wǎng)絡(luò)的優(yōu)化和代償過程.
2.2.1 動(dòng)態(tài)分支代償網(wǎng)絡(luò)模塊整體流程
本文使用動(dòng)態(tài)分支代償網(wǎng)絡(luò)編碼輸入的2D 圖像與下采樣后的位置點(diǎn)送入解碼器中對各自位置的占用情況進(jìn)行預(yù)測得到向量V,再從向量V中尋找模糊概率點(diǎn).首先將向量V轉(zhuǎn)換到0 到1 之間,再取得概率分布在P∈[0.4,0.6] 的點(diǎn)作為模糊概率點(diǎn)集.如式(2)所示,本文對模糊概率點(diǎn)集進(jìn)行初始化.
上式中,fuzzy(.)表示對應(yīng)的點(diǎn)是否為模糊概率點(diǎn),0 代表該點(diǎn)不是模糊概率點(diǎn),1 代表該點(diǎn)是模糊概率點(diǎn)并將其加入模糊概率點(diǎn)集.
2.2.2 動(dòng)態(tài)分支代償網(wǎng)絡(luò)
如圖4 所示,本文通過在神經(jīng)網(wǎng)絡(luò)的中間層中添加邊分支,使得神經(jīng)網(wǎng)絡(luò)能夠沿著每條邊分支產(chǎn)生更多樣化的特征表示.之后,本文通過注意力機(jī)制來動(dòng)態(tài)混合多分支輸出預(yù)測概率,從而得到更精確地預(yù)測占用概率,如式(3)所示:
圖4 動(dòng)態(tài)分支代償網(wǎng)絡(luò)框架圖Fig.4 The framework of the dynamic branch compensation network
其中,pi;i∈M[1,3] 代表每條分支的預(yù)測的占用概率,并且根據(jù)當(dāng)前處理的樣本,wi代表針對該樣本每一條分支的權(quán)重值.
2.2.3 動(dòng)態(tài)分支網(wǎng)絡(luò)的優(yōu)化和代償過程
在優(yōu)化動(dòng)態(tài)分支代償網(wǎng)絡(luò)時(shí),本文不僅直接收集每個(gè)分支的分類損失來優(yōu)化網(wǎng)絡(luò),而且關(guān)注每個(gè)分支在其各自路徑中生成的不同特征.即當(dāng)邊分支或主分支學(xué)習(xí)并生成知識時(shí),分支網(wǎng)絡(luò)之間可以通過相互的公共路徑實(shí)現(xiàn)實(shí)時(shí)的知識交互和補(bǔ)償,如式(4)所示:
其中,LB代表一個(gè)小批次B條數(shù)據(jù)的訓(xùn)練損失,(.,.) 代表主分支的交叉熵分類損失,(.,.)代表邊分支的交叉熵分類損失.i=1,···,B代表一個(gè)小批次第i條數(shù)據(jù),n=1,···,N,N代表第n條邊分支.fθ代表主分支的網(wǎng)絡(luò)參數(shù),代表第n條邊分支的網(wǎng)絡(luò)參數(shù).IΘ代表主分支生成的知識補(bǔ)償給邊分支,Iθ代表邊分支生成的知識補(bǔ)償給主分支.pij代表輸入的第i條數(shù)據(jù)的第j個(gè)位置點(diǎn),其中pij ∈R3,j=1,···,K.oij ∈{0,1}代表pij是否在封閉形狀S內(nèi)的真實(shí)標(biāo)簽.
在本小節(jié)中,本文通過鄰域路由聚合模糊概率點(diǎn)周圍位置點(diǎn)形成鄰域點(diǎn)陣.因?yàn)槟:恢命c(diǎn)周圍信息可以幫助模型對模糊位置點(diǎn)的占用概率進(jìn)行更好的再推理,所以本文通過鄰域路由來尋找模糊位置點(diǎn)周圍的點(diǎn)并組合為鄰域點(diǎn)陣,如圖3(b)和圖5所示.在鄰域路由中,如果路由點(diǎn)個(gè)數(shù)過多則會導(dǎo)致訓(xùn)練速度較慢,如果路由點(diǎn)個(gè)數(shù)過少則會導(dǎo)致網(wǎng)絡(luò)捕捉的局部特征不穩(wěn)定.本文均衡了不同路由點(diǎn)個(gè)數(shù)在訓(xùn)練時(shí)間和實(shí)驗(yàn)效果上的表現(xiàn)選擇了N=64 作為路由點(diǎn)個(gè)數(shù).
圖5 鄰域路由過程Fig.5 The whole process of neighbor routing
以往的工作僅僅通過訓(xùn)練多層感知機(jī)抽取圖像全局信息來對位置點(diǎn)的占用概率進(jìn)行推理,它往往會忽視局部的細(xì)節(jié)信息,故模糊概率點(diǎn)再推理需要結(jié)合全局和局部信息.如圖3(c)所示,本文借鑒通道注意力機(jī)制來聚合全局和局部信息.本文的目的是將鄰域點(diǎn)陣和對應(yīng)圖像結(jié)合提取出對應(yīng)鄰域點(diǎn)陣含有的局部特征,之后再聚合局部特征和圖像全局特征形成下一層網(wǎng)絡(luò)的輸入.然而不同的樣本有著不同的特征,一些模糊概率點(diǎn)需要更多的全局的語義信息,相反另一些模糊概率點(diǎn)則需要更多的局部細(xì)節(jié)特征,所以本文在聚合特征時(shí)加入了通道注意力機(jī)制[33].如圖6 所示,模糊概率點(diǎn)集特征被分割為N個(gè)模糊概率點(diǎn)特征并使用圖示過程對不同的通道ci乘以對應(yīng)的權(quán)重wi后形成新的單模糊點(diǎn)特征,最后將新的N個(gè)模糊概率點(diǎn)再次組成模糊概率點(diǎn)集特征.
圖6 聚合特征時(shí)的注意力機(jī)制Fig.6 Attention mechanism when features are aggregated
在這個(gè)模塊中,智能體通過分析模糊概率點(diǎn)附近的局部信息和全局信息后從量化后的連續(xù)動(dòng)作空間選取動(dòng)作來改變模糊概率點(diǎn)的占用概率,再根據(jù)獎(jiǎng)勵(lì)進(jìn)行優(yōu)化,最終學(xué)習(xí)到可以跳出模糊概率范圍的策略,進(jìn)而調(diào)整模糊概率點(diǎn)的占用概率使其跳出模糊概率區(qū)間.本文給定一個(gè)由上一個(gè)模塊輸出的模糊概率點(diǎn)集特征F,并通過DDPG 模塊來調(diào)整模糊概率點(diǎn)的占用概率.首先,模糊概率點(diǎn)集特征被分割為N個(gè)單模糊概率點(diǎn)特征{F0,F1,···,FN},之后引出根據(jù)模糊概率點(diǎn)特征如何獲得該模糊概率點(diǎn)最佳占用概率的問題,最后該問題被定義為一個(gè)馬爾科夫決策過程,由狀態(tài)、行為、獎(jiǎng)勵(lì)、在過程中采取行動(dòng)的狀態(tài)改變、學(xué)習(xí)過程和交互環(huán)境組成.智能體通過當(dāng)前輸入的狀態(tài)信息,輸出相應(yīng)的最優(yōu)動(dòng)作,從環(huán)境中獲得最大的獎(jiǎng)勵(lì)作為一個(gè)流程.本文使用一個(gè)深度強(qiáng)化學(xué)習(xí)算法DDPG[18]來訓(xùn)練智能體.本文定義的整個(gè)馬爾科夫決策過程和訓(xùn)練過程如下:
狀態(tài):本文將狀態(tài)定義為當(dāng)前模糊概率點(diǎn)的特征信息Fi,初始狀態(tài)S0為當(dāng)前模糊概率點(diǎn)第一次進(jìn)入DDPG 模塊的模糊概率點(diǎn)特征Fi.隨著每一步迭代,在第ith迭代后狀態(tài)是Si-1,它累積了以前所有迭代的更新.
動(dòng)作空間:本文將在連續(xù)空間T∈[0,1] 內(nèi)選取一個(gè)動(dòng)作Ai來調(diào)整模糊概率點(diǎn)特征信息用來獲得最準(zhǔn)確的占用概率,所以第ith迭代的操作是為了獲得更準(zhǔn)確的占用概率對應(yīng)的模糊概率點(diǎn)特征信息.其次,本文量化了連續(xù)空間T∈[-1,1] 作為動(dòng)作選取的連續(xù)空間,使模糊概率點(diǎn)可以跳出模糊概率區(qū)間P∈[0.4,0.6].
獎(jiǎng)勵(lì)函數(shù):獎(jiǎng)勵(lì)函數(shù)通常用于評估智能體執(zhí)行動(dòng)作的結(jié)果.在本文中,獎(jiǎng)勵(lì)函數(shù)被設(shè)計(jì)為根據(jù)模糊概率點(diǎn)特征所得到的占用概率與模糊點(diǎn)對應(yīng)的真實(shí)標(biāo)簽的交叉熵?fù)p失,所以這個(gè)獎(jiǎng)勵(lì)函數(shù)可以評估該模糊概率點(diǎn)對應(yīng)的重建誤差.獎(jiǎng)勵(lì)函數(shù)形式如下:
上式中,yi∈{0,1}代表周圍點(diǎn)是否在封閉形狀內(nèi)的真實(shí)標(biāo)簽,Pi是模糊概率點(diǎn)的占用概率,Si代表當(dāng)前狀態(tài),Ai代表基于當(dāng)前狀態(tài)給出的動(dòng)作.
學(xué)習(xí)過程:學(xué)習(xí)階段的目標(biāo)是更新評價(jià)和動(dòng)作網(wǎng)絡(luò)的參數(shù),初始化的評價(jià)網(wǎng)絡(luò)Q(S,A|θQ)參數(shù)為θQ,初始化的動(dòng)作網(wǎng)絡(luò)u(S,A|θu) 參數(shù)為θu,目標(biāo)評價(jià)網(wǎng)絡(luò)Q′和目標(biāo)動(dòng)作網(wǎng)絡(luò)u′.
在動(dòng)作網(wǎng)絡(luò)預(yù)測出動(dòng)作后評價(jià)網(wǎng)絡(luò)會給出Q(S,A)值作為當(dāng)前狀態(tài)S執(zhí)行動(dòng)作A后的評價(jià),為了能使評價(jià)網(wǎng)絡(luò)精確給出對應(yīng)的Q值,最小化式(6)來更新評價(jià)網(wǎng)絡(luò)參數(shù):
上式中,N代表從記憶庫中選擇學(xué)習(xí)的樣本個(gè)數(shù),Ri代表獎(jiǎng)勵(lì)值,γ代表折扣參數(shù).在動(dòng)作網(wǎng)絡(luò)中為了能使動(dòng)作網(wǎng)絡(luò)能夠獲得更大Q值,使用式(7)來更新動(dòng)作網(wǎng)絡(luò)的參數(shù):
上式中,?代表梯度,接下來采用式(8)(9)更新目標(biāo)網(wǎng)絡(luò)參數(shù):
上式中τ代表軟更新的參數(shù).
交互環(huán)境:環(huán)境指的是智能體執(zhí)行動(dòng)作時(shí)所處的場景.本文將環(huán)境設(shè)置為當(dāng)智能體對模糊概率點(diǎn)占用概率進(jìn)行再推理后得到該模糊概率點(diǎn)新的占用概率.當(dāng)新的占用概率處在模糊概率區(qū)間P ∈[0.4,0.6]時(shí),環(huán)境將該模糊概率點(diǎn)新的占用概率替換之前的占用概率后作為下一個(gè)狀態(tài).當(dāng)新的占用概率跳出了模糊概率區(qū)間P∈[0.4,0.6] 或者達(dá)到了最大調(diào)整步數(shù)時(shí),環(huán)境將該模糊概率點(diǎn)新的占用概率替換之前的占用概率并給出相應(yīng)的獎(jiǎng)勵(lì)值.
本節(jié)首先可視化了卷積神經(jīng)網(wǎng)絡(luò)抽取特征的過程和特征激活圖.其次,本文詳細(xì)說明了整個(gè)預(yù)測三維形狀網(wǎng)格和真實(shí)三維形狀網(wǎng)格的生成過程.
如圖7(a)所示,本文可視化了每層卷積網(wǎng)絡(luò)處理提取前層輸出后得到的結(jié)果.從整個(gè)可視化后的卷積過程可以看出:1)淺層網(wǎng)絡(luò)主要是對低級特征的提取,例如邊緣特征和紋理特征等.2)深層網(wǎng)絡(luò)則主要是對高級特征信息進(jìn)行抽取,例如高級語義信息等.如圖7(b)所示,本文使用Grad-CAM[34]通過抓取梯度計(jì)算量和特征圖相乘來計(jì)算熱力圖,并在原圖中進(jìn)行特征激活可視化.
如圖7((e)~ (j))所示,本文使用多分辨率等值面提取法(Multiresolution isosurface extraction,MISE)[17]將本文框架輸出的結(jié)果提取等值面,最后使用游動(dòng)立方體算法(Marching cubes algorithm)[35]對每個(gè)體素以三角面片來逼近其內(nèi)部的等值面(Isosurface)來生成目標(biāo)網(wǎng)格.
圖7 卷積可視化與網(wǎng)格生成過程Fig.7 Convolution visualization and mesh generation process
如圖7(d)所示,本文首先將本文框架輸出的結(jié)果fθ(p,x) 中大于閾值ε的點(diǎn)標(biāo)記為占用點(diǎn)(圓形點(diǎn)),剩下的標(biāo)記為未占用點(diǎn)(方形點(diǎn)).其中,f為網(wǎng)絡(luò)擬合的映射函數(shù),θ為網(wǎng)絡(luò)的參數(shù),p為輸入的下采樣點(diǎn)云,x為輸入的2D 圖像.
之后,如圖7(e)所示,本文將至少兩個(gè)相鄰位置具有不同占用狀態(tài)的點(diǎn)所在的體素塊標(biāo)記為占用體素,這些相交于網(wǎng)格之間的標(biāo)記體素塊的個(gè)數(shù)記為網(wǎng)格分辨率.如圖7(f)所示,本文將占用體素進(jìn)行精細(xì)化分解以得到更高的分辨率.如圖7(g)和7(h)所示,本文使用游動(dòng)立方體算法提取近似等值面并得到初始網(wǎng)格.
如果在當(dāng)前分辨率下的初始網(wǎng)格包含網(wǎng)格內(nèi)外各連通部分的點(diǎn),則算法結(jié)果收斂于正確的網(wǎng)格.為了更好地使算法收斂于正確的網(wǎng)格,網(wǎng)格分辨率通常設(shè)置為 323.
如圖7(i)所示,本文首先使用快速二次網(wǎng)格簡化算法(Fast-quadric-mesh-simp-lification algorithm)[36]來精細(xì)化得到的初始網(wǎng)格.之后,本文再使用一階和二階梯度來進(jìn)一步精細(xì)化網(wǎng)格.為了達(dá)到這個(gè)目標(biāo),本文從輸出網(wǎng)格的每個(gè)面取隨機(jī)采樣點(diǎn)k個(gè)點(diǎn),并最小化式(11):
上式中n(pk) 代表網(wǎng)格pk的法向量.本文設(shè)置λ=0.01并通過雙重反向傳播[37]方法來有效地使用二階梯度信息.
本節(jié)首先介紹了實(shí)驗(yàn)設(shè)置以及訓(xùn)練和測試的實(shí)現(xiàn)細(xì)節(jié).其次,展示了本文的方法與目前最先進(jìn)的方法在ShapeNet[20]數(shù)據(jù)集上定量實(shí)驗(yàn)的結(jié)果.之后,本文展示了本文的方法在合成數(shù)據(jù)集ShapeNet上和在線產(chǎn)品數(shù)據(jù)集(Online products dataset)[38]上的定性結(jié)果.最后,本文使用消融實(shí)驗(yàn)對模型中的各個(gè)模塊的作用進(jìn)行了驗(yàn)證并展示了本文方法在合成數(shù)據(jù)ShapeNet 中全部類別上的定性結(jié)果.
數(shù)據(jù)集:ShapeNet[20]是一個(gè)包含大量三維物體模型的合成數(shù)據(jù)集.本文使用ShapeNet 核心數(shù)據(jù)集,它包括了55 個(gè)常見的對象類別共55 300 個(gè)3D模型、13 個(gè)主要類別和一個(gè)官方分割的訓(xùn)練、測試數(shù)據(jù)集.本文的模型在包含全部類別的數(shù)據(jù)集上進(jìn)行訓(xùn)練,并報(bào)告本文模型在包含全部類別的測試集上的測試結(jié)果.
真實(shí)圖片數(shù)據(jù):Online products dataset[38]是一個(gè)包含真實(shí)世界圖片的數(shù)據(jù)集.本文的模型并沒有在該真實(shí)圖片數(shù)據(jù)集上進(jìn)行訓(xùn)練,所以本文使用該真實(shí)圖片數(shù)據(jù)集來驗(yàn)證訓(xùn)練模型的泛化能力、真實(shí)世界物體圖片的三維重建能力和域可轉(zhuǎn)移能力.
本文在實(shí)驗(yàn)中分別進(jìn)行了定量評估和定性評估,對于定量評估,本文使用交并比(Intersection over union,IoU)、倒角距離(Chamfer distance,CD)和法線一致性(Normal consistency,NC)作為評估指標(biāo).為了測量IoU 等評估指標(biāo),本文使用Stutz 等[39]的代碼去生成水密網(wǎng)格并確定位置點(diǎn)是否位于網(wǎng)格的內(nèi)部或外部.
4.2.1 交并比
本文使用基于體素化網(wǎng)格的交并比(IoU),體素化網(wǎng)格的交并比是兩個(gè)體素化網(wǎng)格交集的體積和并集的體積的商.
如式(12)所示,G和R代表體素化網(wǎng)格.
4.2.2 倒角距離
倒角距離被定義為真實(shí)點(diǎn)云形狀和重建點(diǎn)云形狀之間完整性和準(zhǔn)確性的度量.準(zhǔn)確性為重建后各點(diǎn)與真實(shí)標(biāo)簽各點(diǎn)之間的平均距離,完整性則為真實(shí)標(biāo)簽各點(diǎn)與重建后各點(diǎn)的平均距離.
如式(13)所示,G和R 分別代表真實(shí)點(diǎn)云形狀和重建點(diǎn)云形狀.
4.2.3 法線一致性
法線一致性定義為重建網(wǎng)格中法線和真實(shí)網(wǎng)格中相對應(yīng)最近的法線之間點(diǎn)積的絕對值的平均值.
如式(14)所示,G和R分別代表重建網(wǎng)格和真實(shí)網(wǎng)格中的法線.
本文所有的網(wǎng)絡(luò)結(jié)構(gòu)都是使用Python3.6 和Pytorch1.0 實(shí)現(xiàn)的.本文使用在ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的ResNet-18 來初始化編碼器的參數(shù),并使用基于條件批歸一化 (Conditional batch normalization,CBN)[40]的5 個(gè)ResNet[41]塊作為解碼器.本文在一塊CUDA 9.0、cudnn 7 的GeForce RTX 2080 Ti 上來訓(xùn)練動(dòng)態(tài)分支代償網(wǎng)絡(luò),如圖3(a)所示,其中48 個(gè)樣本作為一個(gè)批次,并使用初始學(xué)習(xí)率為1×10-4的優(yōu)化算法Adam[42].特征聚合模塊和DDPG 模塊中,本文使用基于CBN 的解碼器和容量為C的記憶庫.強(qiáng)化學(xué)習(xí)過程中動(dòng)作網(wǎng)絡(luò)每次在連續(xù)空間中隨機(jī)選擇一個(gè)動(dòng)作并且將元組(Si,Ai,Si+1,R,done)添加到記憶庫.當(dāng)記憶庫的數(shù)據(jù)量達(dá)到C-1 時(shí),網(wǎng)絡(luò)通過隨機(jī)從記憶庫中選取一個(gè)批次N條經(jīng)驗(yàn)來進(jìn)行學(xué)習(xí).本文設(shè)置批次樣本個(gè)數(shù)N為100,容量C設(shè)置為400 000,折扣參數(shù)γ設(shè)置為0.99,最大調(diào)整步數(shù)S為3,軟更新參數(shù)ε設(shè)置為0.005.
在這一節(jié)中,本文將在單視圖重建方面使用本文的方法和其他最先進(jìn)的方法3D-R2N2[5]、Pix2Mesh[9]、AtlasNet[14]和ONet[17]進(jìn)行定量的比較.本文的方法僅使用單張圖片輸入來實(shí)現(xiàn)三維重建.如表1 所示,本文的方法在IoU 上的評價(jià)結(jié)果均有顯著的提升并優(yōu)于其他最先進(jìn)的方法,由于AtlasNet 不能產(chǎn)生水密網(wǎng)格,所以本文無法評估該方法的IoU 值.如表2 所示,對于法線一致性(NC),本文的方法在NC 上的評價(jià)結(jié)果均有顯著的提升并優(yōu)于其他最先進(jìn)方法的結(jié)果.如式(13)所示,AtlasNet 通過輸入信息直接回歸三維點(diǎn)云坐標(biāo)值以計(jì)算倒角距離進(jìn)行訓(xùn)練.本文通過使用連續(xù)函數(shù)定義一個(gè)3D 空間,并通過神經(jīng)網(wǎng)絡(luò)擬合的函數(shù)來描述這樣的隱式形狀,不是直接回歸重建物體中點(diǎn)云的三維坐標(biāo)值,即本文利用神經(jīng)網(wǎng)絡(luò)擬合映射函數(shù)來隱式的描述3D 形狀.所以,本文方法不能像PSGN和AtlasNet 一樣訓(xùn)練倒角距離.在評估過程中,本文通過網(wǎng)格生成步驟(該步驟不可微分)來生成網(wǎng)格并與真實(shí)標(biāo)簽生成的真實(shí)網(wǎng)格中隨機(jī)抽樣100k 個(gè)點(diǎn)計(jì)算倒角距離.如表3 所示,本文在訓(xùn)練過程中沒有像PSGN 和AtlasNet 一樣訓(xùn)練倒角距離,但本文在定量實(shí)驗(yàn)中也取得了較好的結(jié)果.
表3 本文的方法在ShapeNet 數(shù)據(jù)集上與最先進(jìn)方法倒角距離 (CD)的定量比較Table 3 The quantitative comparison of our method with the state-of-the-art methods for CD on ShapeNet dataset
本文與其他方法比較的定性結(jié)果,如圖8 所示.通過圖8 可以看到所有的方法都對物體的基本的幾何特征進(jìn)行了準(zhǔn)確的提取.本文發(fā)現(xiàn)3D-R2N2[5]在重建拓?fù)浣Y(jié)構(gòu)復(fù)雜的物體上出現(xiàn)了較為明顯的空洞.PSGN[8]可以產(chǎn)生高保真的輸出,但是缺乏連接性.因此,PSGN 需要額外的有損后處理步驟來生成最終的網(wǎng)格.Pix2Mesh[9]同樣也在拓?fù)浣Y(jié)構(gòu)較為復(fù)雜的物體上出現(xiàn)了局部變形和空洞.AtlasNet[14]已經(jīng)可以重建出良好的表面,但容易產(chǎn)生小面片之間的自交和重疊.ONet[17]則很好地捕獲了拓?fù)浣Y(jié)構(gòu)復(fù)雜的物體的特征并且生成了更加平滑的表面,但缺失了部分局部細(xì)節(jié).本文的方法能夠捕獲復(fù)雜拓?fù)浣Y(jié)構(gòu)和生成高保真的三維形狀輸出.另外,從臺燈和飛機(jī)的重建結(jié)果可以看出,本文的方法有效地恢復(fù)了物體復(fù)雜拓?fù)浣Y(jié)構(gòu)的連接處和局部細(xì)節(jié).
圖8 ShapeNet 數(shù)據(jù)集上的定性結(jié)果Fig.8 Qualitative results on the ShapeNet dataset
為了檢驗(yàn)本文的方法對真實(shí)數(shù)據(jù)的泛化能力,本文將本文方法應(yīng)用于Online Products dataset[36]用于定性評價(jià).本文的模型并沒有在Online Products dataset 上進(jìn)行訓(xùn)練.
如圖9 所示,本文展示了本文方法在Online Products dataset 定性結(jié)果.本文在真實(shí)圖片數(shù)據(jù)集中選擇一些有代表性的圖像來顯示定性結(jié)果.通過結(jié)果可以看出,雖然本文的模型只是在合成數(shù)據(jù)上進(jìn)行訓(xùn)練,但本文的模型對真實(shí)圖片數(shù)據(jù)也有很好的泛化能力.
本文分別從真實(shí)圖片泛化能力和模型魯棒性以及重建復(fù)雜拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)表達(dá)能力方面進(jìn)一步進(jìn)行分析.
4.7.1 真實(shí)圖片泛化能力和模型魯棒性
為了測試本文模型對真實(shí)圖片的泛化能力,本文的模型在Online Products dataset 進(jìn)行了三維重建.如圖2 和圖9 所示,本文的模型只在ShapeNet數(shù)據(jù)集上進(jìn)行了訓(xùn)練,但是在真實(shí)世界的圖片上還是獲得了不錯(cuò)的效果.通過這個(gè)實(shí)驗(yàn)驗(yàn)證了本文模型的域可轉(zhuǎn)移性.如表1、2、3 所示,本文的方法在ShapeNet 數(shù)據(jù)集上所有的類別上都取得了最優(yōu)的交并比和法線一致性,并在倒角距離上也取得了不錯(cuò)的效果,這證明了本文的方法在處理所有類別上更加具有魯棒性.
圖9 Online Products dataset 的定性結(jié)果Fig.9 Qualitative results on Online Products dataset
4.7.2 重建復(fù)雜拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)表達(dá)能力
對于拓?fù)浣Y(jié)構(gòu)復(fù)雜的物體(例如:飛機(jī)、椅子和桌子),本文結(jié)合了輸入圖像的全局特征和模糊概率點(diǎn)周圍的局部特征進(jìn)一步強(qiáng)化了復(fù)雜拓?fù)浣Y(jié)構(gòu)和細(xì)節(jié)表達(dá)能力.如圖2 和圖9 所示,本文的模型在真實(shí)物體連接處和凹凸處具有更強(qiáng)的表達(dá)力.
在這個(gè)部分,本文對本文方法進(jìn)行了消融實(shí)驗(yàn),主要研究了分支代償網(wǎng)絡(luò)模塊和DDPG 再推理模糊概率點(diǎn)的占用概率模塊對模型整體性能的影響.本文將分支代償網(wǎng)絡(luò)模塊、DDPG 再推理模糊概率點(diǎn)的占用概率模塊和完整模型分別用MB、DR 和FM 表示.
如表4 所示,本文首先驗(yàn)證了DDPG 再推理模糊概率點(diǎn)的占用概率模塊顯著提高了IoU 指標(biāo).其次,本文驗(yàn)證了分支代償網(wǎng)絡(luò)模塊明顯提高了IoU、NC 和CD 等指標(biāo),另外因?yàn)榉种Т鷥斁W(wǎng)絡(luò)的加入可以生成更多樣化的特征表示以更好地定位模糊概率點(diǎn)和提高模型的泛化能力,所以在加入分支代償網(wǎng)絡(luò)后模型效果有了顯著的性能提升.最后,如圖10 所示,本文展示了消融實(shí)驗(yàn)中不同模型的定性實(shí)驗(yàn)結(jié)果.
圖10 消融實(shí)驗(yàn)的定性結(jié)果Fig.10 Qualitative results of ablation study
表4 消融實(shí)驗(yàn)Table 4 Ablation study
在這個(gè)部分,本文的方法不依賴IoU 等評價(jià)指標(biāo)對本文方法進(jìn)行定量評估,而是展示了本文方法對模糊概率點(diǎn)調(diào)整能力的定量結(jié)果,如圖11 所示.圓點(diǎn)代表一張隨機(jī)圖片中的模糊概率點(diǎn)整體調(diào)整正確個(gè)數(shù),叉號代表一張隨機(jī)圖片中整體調(diào)整錯(cuò)誤個(gè)數(shù),虛線代表整體調(diào)整正確或錯(cuò)誤的決策邊界.
圖11 MNGD 隨機(jī)調(diào)整100 張圖片中模糊概率點(diǎn)的結(jié)果Fig.11 The result of MNGD adjusting the fuzzy probability points in 100 random images
在這個(gè)部分,本文展示了本文方法在訓(xùn)練數(shù)據(jù)集ShapeNet 中所有類別的三維重建結(jié)果.如圖12所示,本文的方法能夠準(zhǔn)確捕獲ShapeNet 數(shù)據(jù)集上所有類別物體的基本幾何特征,另外本文方法也有效的恢復(fù)了所有類別物體的復(fù)雜拓?fù)浣Y(jié)構(gòu)的連接處和局部細(xì)節(jié).
圖12 ShapeNet 上所有類別的定性結(jié)果Fig.12 Qualitative results on ShapeNet of all categories
如圖13 所示(實(shí)線圈表示本文方法與ONet 的比較,虛線圈表示本文方法與原圖的比較).相比與之前的工作,本文的方法在大多數(shù)情況下能夠生成高保真的三維模型,但還需要在未來工作中對以下方面進(jìn)行進(jìn)一步優(yōu)化:1) 如圖13 所示,由于本文沒有引入額外的相機(jī)參數(shù)信息來定位點(diǎn)到圖像平面的映射使得本文模型不能非常準(zhǔn)確地恢復(fù)細(xì)小的凹凸結(jié)構(gòu)(圖13(a)和圖13(b))和薄片結(jié)構(gòu)(圖13(c)).2) 如圖13 所示,單視圖三維重建本質(zhì)上缺少多視角觀測數(shù)據(jù)導(dǎo)致無法確定唯一的真實(shí)形狀,所以學(xué)習(xí)模型經(jīng)常趨于逼近光滑表面但是細(xì)節(jié)模糊的平均形狀(圖13(a),圖13(b)和圖13(c)).3)全標(biāo)注三維形狀公共數(shù)據(jù)集較少,如何增廣或利用無標(biāo)注三維形狀數(shù)據(jù)集來提高模型泛化能力也十分重要.
圖13 單視圖三維重建中具有挑戰(zhàn)性案例Fig.13 Challenging cases in single-view 3D reconstruction
在未來的工作中,我們計(jì)劃引入相機(jī)參數(shù)對模糊概率點(diǎn)對應(yīng)的特征圖進(jìn)行更進(jìn)一步的精確定位以及使用自監(jiān)督[43-44]來有效利用無標(biāo)注的三維形狀數(shù)據(jù)集,從而使深度強(qiáng)化學(xué)習(xí)算法訓(xùn)練的智能體做出更加合理的再推理.
本文提出一個(gè)新的方法來實(shí)現(xiàn)對三維重建中模糊概率點(diǎn)進(jìn)行再推理從而實(shí)現(xiàn)具有高保真和豐富細(xì)節(jié)的單視圖三維重建.本文的方法首先通過動(dòng)態(tài)分支代償網(wǎng)絡(luò)從輸入信息中捕捉到更多樣化的特征信息以提高模型的泛化能力.其次,本文通過注意力引導(dǎo)的聚合機(jī)制聚合了模糊概率點(diǎn)的局部信息和全局圖像信息,之后通過深度強(qiáng)化學(xué)習(xí)算法DDPG訓(xùn)練的智能體對模糊概率點(diǎn)進(jìn)行再推理并給出相應(yīng)的結(jié)果.最后,本文通過大量的定性和定量實(shí)驗(yàn)表明,本文的方法在一定程度上解決了具有復(fù)雜拓?fù)涞奈矬w以及一些表面細(xì)節(jié)信息難以準(zhǔn)確重建的問題.