PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
- 1.背景資訊
- 2.介紹
- 3.方法
-
-
- 3.1 點集 R n R^{n} Rn的屬性
- 3.2 PointNet結構
- 3.3 理論分析
-
- 4.實驗
-
-
- 4.1應用
- 4.2結構設計分析
- 4.3 可視化PointNet
- 4.4 時間和空間複雜度分析
-
- 讀後感
1.背景資訊
- 第一篇處理無序點雲的深度學習方法
- 可以靈活應用在點雲分類, 點雲部分分割以及語義分割上面。點雲分類是将點的特征組合起來輸入到一個分類器中,得到分類結果。點雲部分分割和語義分割是對每個點都進行分類,以确定分割标簽。
- 通過訓練一個input transform的小網絡,對輸入點雲的旋轉平移是魯棒的。
- 通過訓練一個feature transform的小網絡,對點雲的特征進行對齊,以使點的特征之間産生聯系。
- 作者認為在他們方法中關鍵的部分是使用了簡單的對稱函數:max pooling
2.介紹
1. 對無序點雲設計神經網絡結構要考慮:
如何確定不同成員排列結果不變性
考慮點雲的對稱性可能引起的結果變化
如何確定剛性變換下結果的不變性
2. 主要流程:
(1)
學到optimization functions/criteria
選擇interesting or informative points
encode the reason for their selection
(2)
全連接配接層: shape分類 或者 shape分割
3. 主要應用
input: sampled from a shape/ pre-segmented from a scene
分類output: k scores for k classes
分割output: n*m scores(m classess for each point)
3.方法
3.1 點集 R n R^{n} Rn的屬性
1. 無序性
N個點有N!中排列方法
2. 點間互動
local鄰居之間存在限制
3. 變換不變性
剛性變換應該保持特征不變
3.2 PointNet結構
網絡中存在三個關鍵子產品來handle上述三個問題:
1. max pooling層作為對稱函數來內建所有點的資訊(解決點雲無序性)
2. 一個local和global資訊結合結構(解決點間互動問題)
3. 兩個joint alignment網絡來分别對齊輸入點雲(解決剛性變換特征不變問題)和對齊點的特征(解決點間互動問題???)
3.2.1 對稱函數對無序點雲輸入進行處理
思路就是定義一個作用在點雲上的通用函數,這個函數可以近似通過作用一個對稱函數在點集的變換元素上來實作。
實際上,這裡的點集變換函數h()是通過MLP來實作的,對稱函數g(x)是一個max pooling函數。
3.2.2 局部和全局資訊內建
點雲分割需要結合局部和全局的特征資訊,可以在網絡結構圖中看到,作者将local features 和 global features 結合起來作為點雲分割網絡的輸入。
3.2.3 聯合對齊網絡
定義了兩個mini T-Net,T-Net也是由1)點特征提取 2)最大池化 3)全連結層來組成的。
第一個mini T-Net實作了input transform, 它預測了一個放射變換矩陣,直接作用在輸入點雲的坐标上。
第二個mini T-Net實作了feature transform, 它預測了一個特征變換矩陣,來對齊不同輸入點雲的特征。
因為特征空間的變換矩陣有更高的次元,作者加入了一個正則項來限制特征轉換矩陣近似于正交陣:
3.3 理論分析
理論性較難,後續再處理(2020.09.30)
4.實驗
4.1應用
3D目标分類:
3D目标部分分割:
場景語義分割
4.2結構設計分析
三種點雲順序不變性的比較(本文亮點1:選擇對稱函數的原因):
max pooling 操作實作了最好的效果,這是本文亮點1的合理選擇。
輸入和特征變換的效果(本文亮點2:保證剛性變換不變性的解釋)
可以看到,加上輸入變換矩陣(33),準确度提高了0.8%;加上特征變換矩陣(6464),準确度降低了0.2%;特征變換矩陣(6464)+正則化,準确度提高了0.3%; 如果輸入變換矩陣(33)+(特征變換矩陣(64*64)+正則化),那麼準确度提高了2.1%。
這給出了作者使用這兩種結構的原因的合了解釋。
魯棒性測試:
分别對點雲進行删點、添點、抖點,測試pointNet的魯棒性。
4.3 可視化PointNet
第一行是原始點雲。
第二行 C S C_{S} CS描述了PointNet具有學習并提取關鍵點的能力, C S C_{S} CS中的點大緻描述了整個目标物體的輪廓。
第三行 N S N_{S} NS是點雲的上界, N S N_{S} NS中一個區域(裡面有多個點)可以由 C S C_{S} CS中的一個點來進行表示,因為他們攜帶有相同的特征。
4.4 時間和空間複雜度分析
PointNet還是很緊湊速度很快的。
讀後感
1. PointNet是直接處理點雲的鼻祖網絡,現在直接對點雲處理的文章中基本都會引用它。
2. 在6D位姿估計中,PointNet對geometry embedding(feature)的提取任務中發揮了重大的作用。
4. PointNet解決了無序點雲的特征提取不變問題,通過引入對稱函數max pooling和以MLP為基礎的逐點特征提取。
5. PointNet通過引入兩個mini T-Net,解決了點雲剛體變換後特征保持不變的問題。