0參數(shù)量 + 0訓練,3D點云分析方法Point-NN刷新多項SOTA(2)
以上主要是對 Point-NN 在分類任務中的應用的介紹,Point-NN 也可以被用于 3D 的部件分割和 3D 目標檢測任務。
(1)部件分割 (3D Part Segmentation)
與分類任務對全局特征進行提取再進行分類不同的是,部件分割需要對每個點進行分類。因此,論文采用了一個接在 non-parametric encoder 后的對稱的 non-parametric decoder,進行點云特征的上采樣,恢復至輸入時的點數(shù)量。具體來說,在 decoder 的每個階段,我們將局部中心點的特征通過相對位置加權,來擴散到周圍的領域點。對于 point-memory bank,首先使用 encoder 和 decoder 得到訓練集的每個點的特征,為了節(jié)省顯存消耗,對于每一個物體,我們將每個部件的特征取平均值,再作為 feature memory 存入到 bank 中。
(2)目標檢測 (3D Object Detection)
對于檢測任務,我們將 Point-NN 作為一個 3D 檢測器的分類頭使用。當預訓練好的檢測器產(chǎn)生 3D proposal 后,Point-NN 與分類任務相似,使用 non-parametric encoder 來獲取被檢測物體的全局特征。在構(gòu)建 point-memory bank 時,我們在訓練集中對在每個 3D 框標簽內(nèi)的點云進行采樣,將采樣后的每個物體的全局特征進行編碼得到 feature memory。特別的是,我們沒有像其他任務一樣對每個物體的點云坐標進行歸一化,這是為了保留在原始空間中的 3D 位置信息,實現(xiàn)更好的檢測性能。
3. 從 Point–NN 延伸 (Starting from Point-NN)
(1)作為結(jié)構(gòu)框架構(gòu)建 Point-PN (As Architectural Frameworks)
我們講 Point-NN 視為一個良好的非參數(shù)化框架,在其中插入簡單的可學習線性層,來構(gòu)建參數(shù)化的 3D 網(wǎng)絡,Point-PN。Point-PN 相比于現(xiàn)有的 3D 網(wǎng)絡,不含有復雜的局部算子,以極少的可學習參數(shù)量實現(xiàn)了優(yōu)秀的 3D 性能。
我們構(gòu)建 Point-PN 的步驟如下:首先,將 point-memory bank 替換為傳統(tǒng)的可學習的分類頭,如上圖(A)所示;在 ModelNet40 的分類任務上,這一步將分類性能從 Point-NN 的 81.8% 提高到了 90.3%,且僅僅使用了 0.3M 的參數(shù)量。接著,我們將 raw-point embedding 替換為線性層(B),可以將分類性能進一步提高到 90.8%。為了更好地提取多尺度層次特征,我們接著將線性層插入到每一階段的 non-parametric encoder 中。具體來說,在每個階段,兩個線性層分別被插入到 Geometry Extraction 的前后來捕捉高層空間信息,如圖中(C、D、E)所示。這樣,最終的 Point-PN 可以僅僅使用 0.8M 的參數(shù)量達到 93.8% 的性能,且只包括三角函數(shù)和簡單的線性層。這說明,與現(xiàn)有的高級的操作算子或者大參數(shù)兩相比,我們可以從非參數(shù)框架出發(fā),來獲取一個簡單高效的 3D 模型。
(2)作為即插即用模塊 (As Plug-and-play Modules)
Point-NN 可以在不進行額外訓練的情況下增強現(xiàn)有 3D 預訓練模型的性能。以分類任務為例,我們直接將 Point-NN 與預訓練模型預測的分類 logits 進行相加,來提供互補的 3D 知識提升性能。如下圖對特征的可視化所示,Point-NN 主要提取的是點云的低層次高頻特征,在尖銳的三維結(jié)構(gòu)周圍產(chǎn)生了較高的響應值,例如飛機的翼尖、椅子的腿和燈桿;而經(jīng)過訓練的 PointNet++ 更關注的是點云的高層次語義信息,通過對它們的 logits 相加可以得到互補的效果,例如,飛機的機身、椅子的主體和燈罩。
三、實驗 1.Point-NN 和 Point-PN (1)3D 物體分類 (Shape Classification)
對于 2 個代表性的 3D 物體分類數(shù)據(jù)集,ModelNet40 和 ScanObjectNN,Point-NN 都獲得了良好的分類效果,甚至能夠在 ScanObjectNN 上超過完全訓練后的 3DmFV 模型。這充分說明了 Point-NN 在沒有任何的參數(shù)或訓練情況下的 3D 理解能力。
Point-PN 在 2 個數(shù)據(jù)集上也都取得了有競爭力的結(jié)果。對于 ScanObjectNN,與 12.6M 的 PointMLP 相比,Point-PN 實現(xiàn)了參數(shù)量少 16 倍,推理速度快 6 倍,并且精度提升 1.9%。在 ModelNet40 數(shù)據(jù)集上,Point-PN 獲得了與 CurveNet 相當?shù)慕Y(jié)果,但是少了 2.5X 的參數(shù)量,快了 6X 的推理速度。
(2)少樣本 3D 分類 (Few-shot Classification)
與現(xiàn)有的經(jīng)過完全訓練的 3D 模型相比,Point-NN 的 few shot 性能顯著超過了第二好的方法。這是因為訓練樣本有限,具有可學習參數(shù)的傳統(tǒng)網(wǎng)絡會存在嚴重的過擬合問題。
(2)3D 部件分割 (Part Segmentation)
70.4% 的 mIoU 表明由 Point-NN 在分割任務中也可以產(chǎn)生執(zhí)行良好的單點級別的特征,并實現(xiàn)細粒度的 3D 空間理解。
Poinnt-PN 能夠取得 86.6% 的 mIoU。與 Curvenet 相比,Point-PN 可以節(jié)省 28 小時的訓練時間,推理速度快 6X。
(3)3D 目標檢測 (3D Object Detection)
將 Point-NN 作為檢測器的分類頭,我們采用了兩種流行的 3D 檢測器 VoteNet 和 3DETR-m 來提取類別無關的 3D region proposals。由于我們沒有進行點云坐標的歸一化處理(w/o nor.),這樣可以保留原始場景中更多物體三維位置的信息,大大提升了 Point-NN 的 AP 分數(shù)。
2.Point-NN 的即插即用 (Plug-and-play) (1)3D 物體分類 (Shape Classification)
Point-NN 可以有效提高現(xiàn)有方法的分類性能,在 ScanObjectNN 數(shù)據(jù)集上,Point-NN 可以對 PointNet 和 PoitMLP 的分類準確率均提高 2%。
(2)3D 分割和檢測 (Segmentation and Detection)
對于分割任務,由于 ShapeNetPart 數(shù)據(jù)集上的測評指標已經(jīng)比較飽和,Point-NN 對 CurveNet 提升的 0.1% 已經(jīng)是很好的效果。對于檢測任務,Point-NN 對 3DETR-m 的增強達到了很好的 1.02%和 11.05%。
四、討論 1. 為什么 Point-NN 中的三角函數(shù)可以編碼 3D 信息? (1)捕獲高頻的 3D 結(jié)構(gòu)信息
通過下圖中 Point-NN 特征的可視化,以及我們分解出的點云低頻和高頻信息,可以觀察到 Point-NN 主要捕獲了點云的高頻空間特征,例如邊緣、拐角以及其它細粒度的細節(jié)。
(2)編碼點之間的相對位置信息
三角函數(shù)本身可以提供點云的絕對位置信息。對于兩個點和,首先獲取它們的 C 維的位置編碼,公式如下:
而它們之前的相對位置關系可以通過它們之間的點乘得到,公式如下:
以 x 軸為例,
這個公式表示了 x 軸上兩個點之間的相對位置。因此,三角函數(shù)可以得到點云之間的絕對和相對位置信息,這更有利于 Point-NN 對局部化點云的結(jié)構(gòu)理解。
2.Point–NN 可以即插即用的提升 Point–PN 的性能嗎?
如上表所示,Point-NN 對 Point-PN 的提升極其有限,從上圖可視化的結(jié)果來看,Point-NN 和 Point-PN 之間的互補性比 Point-NN 和 PointNet++ 之間的互補性更弱。這是因為 Point-PN 的基礎結(jié)構(gòu)是繼承自 Point-NN,因此也會通過三角函數(shù)獲取 3D 高頻信息,和 Point-PN 擁有相似的特征捕獲能力。
3. 和其他無需訓練的 3D 模型的比較
現(xiàn)有的 3D 模型中,有一類基于 CLIP 預訓練模型的遷移學習方法,例如 PointCLIP 系列,它們也不需要進行 3D 領域中的訓練過程。從上表的比較可以看出,Point-NN 可以實現(xiàn)很優(yōu)越的無需訓練的分類性能。
4.Point–NN 與 PnP–3D 的增強效果比較
PnP-3D 提出了一種對于 3D 模型的即插即用的可學習增強模塊,但是它會引入額外的可學習參數(shù),并且需要重新訓練而消耗更多的計算資源。如上表所示,相比之下,Point-NN 也能實現(xiàn)相似的增強性能,但是完全不需要額外參數(shù)或者訓練。
五、總結(jié)與展望 本文首次在 3D 領域中,提出了一個無參數(shù)無需訓練的網(wǎng)絡,Point-NN,并且在各個 3D 任務上都取得了良好的性能。我們希望這篇工作可以啟發(fā)更多的研究,來關注非參數(shù)化相關的 3D 研究,而不是一味的增加復雜的 3D 算子或者堆疊大量的網(wǎng)絡參數(shù)。在未來的工作中,我們將探索更加先進的非參數(shù) 3D 模型,并推廣到更廣泛的 3D 應用場景中。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。