論文解讀|2017 CVPRPointNet: 用于三維分類和分割的點集深度學(xué)習(xí)
原創(chuàng) | 文 BFT機器人

01
背景
傳統(tǒng)的卷積結(jié)構(gòu)需要規(guī)則的輸入數(shù)據(jù)格式,如圖像網(wǎng)格或三維體素,以便進行權(quán)重共享和其他核優(yōu)化。
由于點云或網(wǎng)格不是規(guī)則的格式,因此研究人員通常會將這些數(shù)據(jù)轉(zhuǎn)換為規(guī)則的三維體素網(wǎng)格或圖像集合,然后再輸入到深度網(wǎng)絡(luò)結(jié)構(gòu)中。
然而,這種數(shù)據(jù)表示轉(zhuǎn)換會導(dǎo)致不必要的數(shù)據(jù)冗雜和引入量化誤差,可能會掩蓋數(shù)據(jù)的自然不變性。
PointNet提供了一種適用于處理三維無序點集的全新深度網(wǎng)絡(luò)架構(gòu),避免了將點云轉(zhuǎn)換為規(guī)則的三維體素網(wǎng)格或圖像集合的需要,并在各種應(yīng)用中實現(xiàn)了高效和有效的性能。

02
創(chuàng)新點
該論文設(shè)計提出了一種適用于處理三維無序點集的全新深度網(wǎng)絡(luò)架構(gòu)——PointNet,它提供了一種統(tǒng)一且高效的方式來推理處理點云或網(wǎng)格等三維幾何數(shù)據(jù)。
PointNet能夠處理從物體分類、部件分割到場景語義解析等各種應(yīng)用。在經(jīng)驗上,它顯示出與當今最先進方法相媲美甚至更好的性能。理論分析也揭示了該網(wǎng)絡(luò)所學(xué)到的內(nèi)容以及為何能夠?qū)斎氲臄_動和損壞具有魯棒性。
03
算法介紹
PointNet是一種深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用于直接處理無序的3D點云數(shù)據(jù)。
它的網(wǎng)絡(luò)結(jié)構(gòu)包括三個關(guān)鍵模塊:
1. 最大池化層:作為對稱函數(shù),用于聚合所有點的信息。
2. 本地和全局信息組合結(jié)構(gòu):用于將局部和全局信息結(jié)合起來。
3. 兩個聯(lián)合對齊網(wǎng)絡(luò):用于對齊輸入點和點特征。
為了使模型對輸入排列具有不變性,PointNet采用了對稱函數(shù)來聚合每個點的信息。對稱函數(shù)將n個向量作為輸入,并輸出一個新的向量,該向量對輸入順序具有不變性。例如,加號和乘號是對稱二元函數(shù)。PointNet的完整網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,分類網(wǎng)絡(luò)和分割網(wǎng)絡(luò)共享大部分結(jié)構(gòu)。最后使用ICP算法對匹配點對進行優(yōu)化,得到最終的點云配準結(jié)果。

在PointNet中,點云數(shù)據(jù)首先通過多層感知器(MLP)進行處理,以提取每個點的局部特征。每個點的坐標和其他屬性(如顏色、法向量等)被輸入到一個MLP中,通過多個全連接層將其映射到一個新的特征向量,以提取高級別的特征。
然后,MLP的輸出被輸入到一個最大池化層中,用于聚合整個點云數(shù)據(jù)的信息。最大池化層將每個點的特征向量縮減為一個全局特征向量,該向量對整個點云數(shù)據(jù)具有不變性。最后,全局特征向量被輸入到一個分類器或分割器中,以執(zhí)行特定的任務(wù),如物體分類、形狀部件分割或場景語義解析等。
對稱函數(shù)用于聚合所有點的信息,并提取點云數(shù)據(jù)的全局特征。具體來說,對于每個點,它的局部特征被輸入到一個MLP中,以提取該點的局部特征。然后,對稱函數(shù)將每個點的局部特征向量聚合為一個全局特征向量。
對稱函數(shù)是一種對稱二元函數(shù),它將n個向量作為輸入,并輸出一個新的向量,該向量對輸入順序具有不變性。在PointNet中,對稱函數(shù)采用了max pooling的形式,即對于每個特征維度,選擇所有點中該維度的最大值作為全局特征向量的該維度的值。這樣,對稱函數(shù)可以聚合所有點的信息,并提取點云數(shù)據(jù)的全局特征。
聯(lián)合對齊網(wǎng)絡(luò)用于對齊輸入點和點特征。具體來說,PointNet包括兩個聯(lián)合對齊網(wǎng)絡(luò),一個用于對齊輸入點,另一個用于對齊點特征。對于點的對齊,PointNet使用一個小型網(wǎng)絡(luò)(T-net)來預(yù)測仿射變換矩陣,并將該變換矩陣直接應(yīng)用于輸入點的坐標。
T-net本身類似于PointNet的大型網(wǎng)絡(luò),由基本模塊組成,包括點獨立特征提取、最大池化和全連接層。對于點特征的對齊,PointNet插入另一個對齊網(wǎng)絡(luò),并預(yù)測一個特征變換矩陣,以將來自不同輸入點云的特征對齊。
由于特征變換矩陣的維數(shù)比空間變換矩陣高得多,因此PointNet添加了一個正則化項來約束特征變換矩陣接近正交矩陣,以提高優(yōu)化的穩(wěn)定性和模型的性能。
04
實驗
實驗過程主要包括以下幾個部分:
數(shù)據(jù)準備:收集和預(yù)處理3D點云數(shù)據(jù)集。這些點云可以來自不同的三維掃描儀或模擬生成。對數(shù)據(jù)進行預(yù)處理,如歸一化坐標、統(tǒng)一點云的數(shù)量和特征等,以確保數(shù)據(jù)的一致性和可用性。
網(wǎng)絡(luò)架構(gòu)搭建:構(gòu)建PointNet網(wǎng)絡(luò)結(jié)構(gòu)。PointNet主要由多個全連接層(MLP)和最大池化層組成。根據(jù)任務(wù)的不同,可能需要對輸出層進行調(diào)整,例如添加分類器或分割器。
訓(xùn)練:使用準備好的數(shù)據(jù)集對PointNet進行訓(xùn)練。在訓(xùn)練過程中,采用了Adam優(yōu)化器,使用了交叉熵損失函數(shù)來優(yōu)化網(wǎng)絡(luò),使其在特定任務(wù)上表現(xiàn)更好。
評估:在訓(xùn)練完成后,使用測試集對PointNet進行評估。計算分類任務(wù)的準確率或分割任務(wù)的IoU(Intersection over Union)等指標,以衡量網(wǎng)絡(luò)的性能。
超參數(shù)調(diào)優(yōu):對于一些超參數(shù),如學(xué)習(xí)率、批量大小等,可能需要進行調(diào)優(yōu)以優(yōu)化網(wǎng)絡(luò)的性能。
對比實驗:與其他現(xiàn)有的3D點云處理方法進行對比實驗,以證明PointNet的優(yōu)越性能。
可視化分析:通過可視化分析來理解網(wǎng)絡(luò)的輸出,例如觀察網(wǎng)絡(luò)在分類任務(wù)中正確分類的點云樣本,或者在分割任務(wù)中生成的語義分割結(jié)果。7. 點云重建實驗:在ShapeNet數(shù)據(jù)集上進行實驗,比較PointNet和其他幾種網(wǎng)絡(luò)架構(gòu)的重建性能。

圖3 ?PointNet魯棒性測試
圖3顯示了4DMatch和4DLoMatch基準測試的直方圖,其中重疊比例閾值設(shè)置為45%。
更多精彩內(nèi)容請關(guān)注公眾號:BFT機器人
(公眾號后臺回復(fù)“優(yōu)惠活動”查看BFT機器人年終鉅惠福利內(nèi)容)
本文為原創(chuàng)文章,版權(quán)歸BFT機器人所有,如需轉(zhuǎn)載請與我們聯(lián)系。若您對該文章內(nèi)容有任何疑問,請與我們聯(lián)系,將及時回應(yīng)。