三維點(diǎn)云對(duì)于多視角和圖形學(xué)的表示,合成和重建高質(zhì)量、高分辨的點(diǎn)云具有重要的意義。雖然近年來(lái)在基于點(diǎn)云的判別模型上取得了一系列進(jìn)展,但在生成模型方面卻還存在著諸多挑戰(zhàn)。
為了實(shí)現(xiàn)對(duì)于生成模型的理解和應(yīng)用,來(lái)自康奈爾大學(xué)和英偉達(dá)的研究人員提出了一種基于概率框架的三維點(diǎn)云生成模型PointFlow,通過(guò)為分布的分布建模,分別建立形狀的分布和給定形狀下點(diǎn)云的分布,來(lái)實(shí)現(xiàn)對(duì)于形狀的采樣以及給定形狀下任意點(diǎn)云的采樣過(guò)程。
作為三維數(shù)據(jù)的重要形式,點(diǎn)云由于較高的分辨率和對(duì)復(fù)雜細(xì)節(jié)更好的表達(dá)越來(lái)越受到研究人員的青睞。有效的點(diǎn)云生成模型將為重建和超分辨等點(diǎn)云合成任務(wù)帶來(lái)較大的促進(jìn)作用。但由于點(diǎn)云復(fù)雜的形狀使得生成模型的研究較為緩慢,需要利用概率的方式重新審視點(diǎn)云生成模型的學(xué)習(xí)過(guò)程。
例如,一架飛機(jī)的點(diǎn)云可以看做是從飛機(jī)對(duì)應(yīng)表面上采樣而得到的點(diǎn);而這把飛機(jī)的曲面則可以視為從飛機(jī)形狀的分布中采樣得到的一個(gè)特定的形狀。為了生成點(diǎn)云我們需要對(duì)分布的分布進(jìn)行建模,也就是說(shuō)不僅需要為形狀分布進(jìn)行建模,同時(shí)需要對(duì)特定形狀下的點(diǎn)云進(jìn)行建模。
在研究人員提出的PointFlow中,對(duì)于形狀的分布和給定形狀下點(diǎn)的分布進(jìn)行了建模。
研究人員通過(guò)先驗(yàn)分布3D點(diǎn)的可逆參數(shù)化變換代替了直接對(duì)點(diǎn)云分布的建模。這意味著在給定模型的情況下,首先從通用的高斯先驗(yàn)中進(jìn)行采樣,而后基于參數(shù)變換將他們移動(dòng)到與目標(biāo)形狀對(duì)應(yīng)的新位置,使得參數(shù)化的變化和變量的分布都可以利用這一模型進(jìn)行描述。
更重要的是,這種模型還帶來(lái)了更強(qiáng)大的表達(dá)能力。在可以估計(jì)概率密度、提升變分下限的同時(shí),還可以避免由GANs帶來(lái)的復(fù)雜訓(xùn)練。
在三維點(diǎn)云的學(xué)習(xí)過(guò)程中,我們不經(jīng)需要從某一類的一系列形狀中進(jìn)行形狀采樣,同時(shí)也需要針對(duì)某一形狀對(duì)其表面上的點(diǎn)進(jìn)行采樣(均勻分布)。這一研究的目標(biāo)在于學(xué)習(xí)形狀的分布和點(diǎn)的分布。研究人員利用連續(xù)歸一化流(continuous normalizing flow,CNF)來(lái)為給定形狀下點(diǎn)的分布進(jìn)行建模。
連續(xù)歸一化流可以視為三維歐式空間中的向量場(chǎng),它可以通過(guò)對(duì)某一通用的先驗(yàn)分布進(jìn)行轉(zhuǎn)換(例如高斯分布)推導(dǎo)出點(diǎn)云的分布。連續(xù)歸一化流是一系列可逆的映射,可以將已知的初始化分布映射到更為復(fù)雜的分布上去。通過(guò)一系列可逆的變換f來(lái)表示,這些變換同樣可以利用神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)。
為了從這一推導(dǎo)出的點(diǎn)云中采樣,研究人員首先從通用的先驗(yàn)分布中進(jìn)行采樣,然后將這些采樣點(diǎn)移動(dòng)到矢量場(chǎng)(連續(xù)歸一化流)中去。此外連續(xù)歸一化流是可逆的,這使得計(jì)算精確的似然成為可能。下圖展示了一個(gè)從先驗(yàn)分布到特定形狀點(diǎn)的過(guò)程。
隨后研究人員利用參數(shù)化的方法將每一個(gè)歸一化流用隱空間變量來(lái)進(jìn)行表示,使得對(duì)于形狀分布的建模被約化成了對(duì)于隱變量的建模。最終的生成模型包含了針對(duì)形狀和針對(duì)點(diǎn)分布的雙重連續(xù)歸一化流。
在訓(xùn)練過(guò)程中,得益于連續(xù)歸一化流的可逆性帶來(lái)的似然計(jì)算,端到端穩(wěn)定地訓(xùn)練GANs成為可能。訓(xùn)練的過(guò)程中需要基于變分自編碼器定義三種不同的模塊,分別是講點(diǎn)云編程成形狀表示z的編碼器Q(z|X)、形狀表示的先驗(yàn)P(z)、以及在給定形狀表達(dá)下為點(diǎn)云分布建模的解碼器P(z|X),下圖展示了模型的訓(xùn)練和推理過(guò)程。
在訓(xùn)練階段,針對(duì)給定的點(diǎn)云X編碼器將得到對(duì)于形狀的后驗(yàn)表示,并從中采樣出形狀的表示z,隨后通過(guò)z計(jì)算出兩方面的損失。一方面利用逆CNF計(jì)算出先驗(yàn)分布并與w進(jìn)行損失計(jì)算Lprior;另一方面利用另一個(gè)CNF,G的逆計(jì)算重建出似然的損失Lrecon。
同時(shí)還需要計(jì)算后驗(yàn)概率的交叉熵Lent。在測(cè)試階段,利用F和G即可。首先從高斯先驗(yàn)中進(jìn)行采樣并利用F變換到對(duì)應(yīng)的形狀表示z上,然后在3D高斯先驗(yàn)上進(jìn)行采樣并基于形狀的采樣z通過(guò)G得到進(jìn)行轉(zhuǎn)換得到最終的點(diǎn)云。
最終利用這種方法生成了一系列點(diǎn)云,可以采樣出各種不同的形狀,得到任意數(shù)量的點(diǎn)云。
下圖展示了多個(gè)形狀的生成過(guò)程,首先需要學(xué)習(xí)出某類形狀對(duì)應(yīng)的空間,并從形狀空間中得到一個(gè)隱變量,隨后利用點(diǎn)的CNF,更加隱變量進(jìn)行轉(zhuǎn)換,最后從歸一化分布中采樣的點(diǎn)就被轉(zhuǎn)換到了目標(biāo)形狀上了:
如果需要生成不同的形狀,只需要在隱空間中指定不同的隱變量,并對(duì)點(diǎn)進(jìn)行變換即可。
如果要采樣出新的形狀或不同的形狀,可以利用隨機(jī)變量采樣隱空間中CNF,并利用隱空間中對(duì)應(yīng)的變量來(lái)對(duì)輸入的點(diǎn)進(jìn)行變換。
-
三維
+關(guān)注
關(guān)注
1文章
508瀏覽量
28978 -
模型
+關(guān)注
關(guān)注
1文章
3243瀏覽量
48840
原文標(biāo)題:如何生成點(diǎn)云?基于概率分布的方法給出了答案
文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論