論文解讀|PF-Net:用于 3D 點云補全的點分形網(wǎng)絡(luò)
原創(chuàng) | 文 BFT機器人

01
背景
從激光雷達(dá)等設(shè)備中獲取的點云往往有所缺失(反光、遮擋等),這給點云的后續(xù)處理帶來了一定的困難,也凸顯出點云補全作為點云預(yù)處理方法的重要性。
點云補全(Point Cloud Completion)用于修補有所缺失的點云(Point Cloud),從缺失點云出發(fā)估計完整點云,從而獲得更高質(zhì)量的點云。點云有助于用較小的數(shù)據(jù)量描述三維物體,在三維物體的檢測識別領(lǐng)域應(yīng)用廣泛。
02
相關(guān)工作
傳統(tǒng)的點云補全方法基于一定的物體基礎(chǔ)結(jié)構(gòu)的先驗信息,如對稱性信息或語義類信息等,通過一定的先驗信息對缺失點云進(jìn)行修補。這類方法只能處理一些點云缺失率很低、結(jié)構(gòu)特征十分明顯的缺失點云。
在 PointNet 和 PointNet++ 使用深度學(xué)習(xí)網(wǎng)絡(luò)實現(xiàn)了點云分割和點云分類之后,點云深度學(xué)習(xí)逐漸成為熱門研究領(lǐng)域。
如 LGAN-AE,PCN, 和 3D-Capsule 等,這些工作以不完整點云作為輸入,輸出完整點云,造成網(wǎng)絡(luò)過于關(guān)注到物體的整體特征而忽略了缺失區(qū)域的幾何信息。
另一方面,這些網(wǎng)絡(luò)會生成偏向于某類物體共性特征的點云,而失去某個物體的個體特征。(這些工作更注重于學(xué)習(xí)屬性或者類別的一般特征,而不是學(xué)習(xí)某一特定對象的局部細(xì)節(jié))容易改變原有物體的特性(位置錯誤、幾何特征丟失、形狀扭曲等)。
03
簡介
文章提出一種基于深度學(xué)習(xí)的點云分形網(wǎng)絡(luò)PF-Net。PF-Net采用了一些自己的思路和方法來改善現(xiàn)有的問題:
1.以不完整點云作為輸入,僅輸出缺失部分點云,可保留物體點云的空間結(jié)構(gòu),對物體的局部特性感知更好;
2.提出了更優(yōu)的點云特征提取器:多分辨率編碼器(Multi-Resolution Encoder),多尺度的方法提升了高低層次點云語義信息提取的效率;
3.提出了點云金字塔解碼器(Point Pyramid Decoder)用于生成點云,利用多階段補全損失加粗樣式 (Multi-stage completion loss) 監(jiān)督其中關(guān)鍵點云的生成,從而減少了幾何結(jié)構(gòu)瑕疵。
4.利用 GAN*結(jié)構(gòu)的鑒別器(Descriminator)優(yōu)化網(wǎng)絡(luò),改善了同一類別不同物體間的特征會相互影響的現(xiàn)象(Genus-wise Distortions Problem)。
04
PF-Net網(wǎng)絡(luò)結(jié)構(gòu)
4.1 MRE(多分辨率編碼器)
對輸入點云做迭代最遠(yuǎn)點采樣(FPS),獲得更小尺度且更具有輪廓特征的降采樣點云,如圖所示。

MLP(CMLP)主要采用MPL(多層感知機)的處理方式。不同的是,分別對最后四層網(wǎng)絡(luò)(output_dim=128,256,512,1024)的輸出做maxpooling。
再將這四層pooling后的輸出拼接(concat)形成Latent Vector F (dim=1920x1),如圖4。該方式能更充分的利用高層和底層特征。
拼接三個不同尺度點云的CMLP輸出,獲得Final Latent Map M(dim=1920x3)將M通過多層感知機MLP從(1920x3)變換成(1920x1),獲得Final Feature Vector V。

4.2 PPD(點云金字塔解碼器)
PPD 的主要思想是監(jiān)督每一階段的點云,提升關(guān)鍵點的生成質(zhì)量,在關(guān)鍵點的基礎(chǔ)上不斷生成新的點云。
借鑒圖像處理中經(jīng)典的SIFT算法,采用特征金字塔加粗樣式的方式,對編碼出的特征,進(jìn)行多尺度的解碼,生成不同尺度的點云。
現(xiàn)有方法大都利用最后一個輸出層的結(jié)果來做預(yù)測,導(dǎo)致只保留了全局特征而丟失了局部特征。為了更好地保留細(xì)節(jié),網(wǎng)絡(luò)中設(shè)計多層的特征解碼,使不同粒度的特征更好地保留。

將上一步獲得的Final Feature Vector V通過三個FC(全連接)層,產(chǎn)生三個不同尺度的點云特征。
以此為例,經(jīng)過一系列操作(linear, reshape, convolution)生成與采樣后的Ground Truth點云數(shù)相同的生成點云,用于后續(xù)Loss部分的構(gòu)建。
4.3 損失函數(shù)(包含GAN鑒別器)
損失函數(shù)由兩部分組成:Multi-stage Completion Loss 和 Adversarial Loss

1.Multi-stage Completion Loss(Lcom):
該損失衡量輸出點云與真值之間的差別。


引入計算兩個點云間的距離公式(公式1)其中,S1可以表示生成的點云,S2可以表示Ground Truth,對于S1中的每個點,找到其與S2中距離最近的點,計算歐氏距離后求和取平均,作為距離公式的第一部分;第二部分相似,對于S2中的每個點,找到其與S1中距離 最近的點,計算歐氏距離后求和取平均。
在PDD解碼器中,生成了三個不同尺度的點云,將三個對應(yīng)的值取不同權(quán)重相加,作為總體損失的一部分(公式2)
2.Adversarial Loss(Ladv):
該損失優(yōu)化MRE和PPD,使輸出看起來更加真實。
GAN鑒別器:GAN鑒別器是一個分類器,其結(jié)構(gòu)與CMLP類似:對一個多層MLP[64?64?128?256]的最后三層的輸出進(jìn)行maxpool得到feature vector f_i, i= 1, 2, 3.將f_i連接得到F,F(xiàn)通過全連接層 [256,128,16,1]以及Sigmoid函數(shù)得帶最終的預(yù)測值。
假設(shè)GAN 鑒別器的輸出為D(), 其輸入為殘缺部分點云的預(yù)測值y’或?qū)?yīng)真值y。
3.Joint Loss
將以上兩部分的Loss以不同權(quán)重相加,獲得完整的Loss Function。

05
實驗分析
實驗結(jié)果顯示PF-Net大部分對比中都是占優(yōu)的,達(dá)到了 SOTA:

可以看出PF-Net細(xì)膩地輸出與GroudTruth最接近。
從上圖的桌子、椅子中可以看出,PF-Net 沒有學(xué)習(xí)桌子椅子這些類別的一般(共性)特征,可以輸出個體差異,比如特殊的缺角的桌子和背靠5根的椅子。

1.Pred→GT error誤差用于衡量預(yù)測與真實情況之間的差異。
2.GT→Pred error表示真值表面被預(yù)測的點云覆蓋的程度。
3.PF-Net(vanilla)是指沒有GAN鑒別器模塊的版本。

對GAN鑒別器(Discriminator)的分析:
鑒別器的功能是區(qū)分預(yù)測形狀與缺失區(qū)域的真實輪廓,并優(yōu)化網(wǎng)絡(luò)以生成更“真實”的配置。上圖兩個表明,Discriminator可以幫助最小化Pred→GT error。如上所述,Pred→GT衡量的是預(yù)測與實際情況之間的差異。因此,Discriminator使PF-Net生成與地面實況更相似的點云。
魯棒性測試:
作者以三個分別損失了25%,50%和75%的不完整點云作為輸入。注意,三個輸入的Pred→GT誤差和GT→Pred誤差基本上是相同的,這意味著當(dāng)處理具有不同缺失程度的不完整輸入時,我們的網(wǎng)絡(luò)具有很強的魯棒性。實驗結(jié)果如表所示。


實驗證明PF-Net可以準(zhǔn)確地“識別”不同類型的飛機,即使在大規(guī)模不完整的情況下,也可以保留原始點云的幾何細(xì)節(jié)。

注意第二個兩個機翼都缺失的情況下仍然可以補全。
作者?| 江誠
排版 |?居居手
更多精彩內(nèi)容請關(guān)注公眾號:BFT機器人
本文為原創(chuàng)文章,版權(quán)歸BFT機器人所有,如需轉(zhuǎn)載請與我們聯(lián)系。若您對該文章內(nèi)容有任何疑問,請與我們聯(lián)系,將及時回應(yīng)。