PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
以前很少有人研究深度學習在點集中的應用。PointNet是這方面的先驅。然而,PointNet並不能捕捉到由度量(metric)空間點所產生的局部結構,從而限制了它識別分類精密模型(fine-grained patterns)和對複雜場景的通用性。在PointNet++中,我們引入了一個遞歸地將PointNet應用於輸入點集的嵌套分區的層次神經網絡。通過度量空間距離,我們的網絡能夠在增長的上下文尺度中學習局部特徵。進一步觀察到,點集採樣通常是不同密度的,這導致訓練在均勻密度下的網絡性能大大降低,我們提出了新的集學習層,自適應地結合來自多個尺度的特徵。實驗表明,我們的PointNet++網絡能夠高效、魯棒地學習深度點集特性。特別是,在具有挑戰性的3D點雲基準測試中,獲得了明顯優於最先進水平的結果。
前言
更多論文知識點總結與論文解析請戳 Github
圖網絡研究交流QQ羣:832405795
背景
- FPS 最遠點採樣法:Farthest Point Sampling 的原理是先隨機選一個點,然後選擇離這個點距離最遠的點加入點集,然後繼續迭代,選擇距離點集中所有點最遠的點,直到選出需要的個數爲止。
模型流程
- set abstraction: 主要分爲Sampling layer、Grouping layer 和PointNet layer
- Sampling layer:給定輸入點集{x1,x2,x3,……},其中包含 N 個點,通過 FPS 採樣獲得 N’ 個點。
- Grouping layer:本層輸入爲
① N * (d + C) = 點數量 * (三維歐幾里得座標 + 點特徵) ② N' * d = N' 個採樣點座標
,輸出是 G 組N' * K * (d + C)
特徵,K 代表鄰域點數量,由 KNN 計算得出, K 在不同的組是不同的。採用 Ball query 分組算法,原理: 給定中心點,把給定半徑內的點都包括進來,同時給定鄰居點個數上限,提取距離最近的前 K 個鄰居,如果數量不足則複製自身湊數。 - PointNet layer:輸入爲 G 組的
N' * K * (d + C)
,輸出爲一個N' * (d + C')
。作者利用一個迷你的 PointNet 對每組的 K 個點提取組全局特徵然後把 G 個組的組全局特徵向量拼接起來。
通過多個set abstraction,最後進行分類和分割:
-
分類:將提取出的特徵使用PointNet進行全局特徵提取
-
分割:NL-1是集合抽象層的輸入,NL是集合抽象層的輸出。NL是採樣得到的,NL-1肯定大於等於NL。在特徵傳播層,將點特徵從NL傳遞到NL-1。根據NL的點插值得到NL-1,採用鄰近的3點反距離加權插值。將插值得到的特徵和之前跳躍連接的特徵融合,再使用PointNet提取特徵
要點記錄
What
- PointNet沒有捕獲到由度量(metric)引起的局部結構特徵。
- 點的密度或其他屬性在不同的位置上可能不一致——在三維掃描中,密度變化可以來自透視效果、徑向密度變化、移動等。
How
-
PointNet++使用了分層抽取特徵的思想,把每一層叫做set abstraction。每一層分爲三部分:採樣層、分組層、PointNet層。
- 首先來看採樣層,採樣層從輸入點中選擇一組點,定義局部區域的質心。爲了從稠密的點雲中抽取出一些相對較爲重要的中心點,採用FPS(farthest point sampling)最遠點採樣法。
- 然後是分組層,分組層通過尋找質心周圍的“相鄰”點來構造局部區域集。PointNet++在多個尺度上利用鄰近球法,獲得多組局部特徵,以實現健壯性和細節捕獲。
- PointNet層使用一個迷你PointNet結構作爲局部特徵學習模塊,將輸入編碼爲特徵向量。
總之就是類比了2D空間中的離散卷積,以球半徑作爲卷積核尺寸。
-
通過兩種不同的方式獲得多組特徵後拼接爲一組特徵向量。
a. 比較直接的想法是對不同尺度的局部提取特徵並將它們串聯在一起,如圖(a)所示。但是因爲需要對每個局部的每個尺度提取特徵,其計算量的增加也是很顯著的。b. 爲了解決MSG計算量太大的問題,作者提出了MRG。此種方法在某一層對每個局部提取到的特徵由兩個向量串聯構成,如圖(b)所示。第一部分由其前一層提取到的特徵再次通過特徵提取網絡得到,第二部分則通過直接對這個局部對應的原始點雲數據中的所有點進行特徵提取得到。
Why
-
- 與以固定步長掃描3D空間的cnn相比,我們的局部接受域既依賴於輸入數據,也依賴於度量,因此更有效率和效果。
- ball query 的局部鄰域保證了一個固定的區域尺度,從而使局部區域特徵在空間上具有更好的可泛化性。該網絡在訓練過程中使用dropout,學習自適應地檢測不同尺度下的權值模式,並根據輸入數據結合多尺度特徵。
- 提取全局特徵。
- 作者利用固定半徑多尺度或多分辨率地拼接特徵向量,並利用dropout使網絡自適應地學習不同密度的特徵。
Result
- 分類結果:
SSG:單一尺度 MSG:多尺度 MRG:多分辨率
- 語義分割(不帶RGB信息):
- 非剛性分類:
- 特徵可視化: