天天看點

點雲深度學習系列一: PointNet和PointNet++PointNetPointNet++3.總結:

前言:SLAM的系列實驗基本就更新那麼多,之後開始進入點雲深度學習的方向,不出意外,這個系列會持續很久

點雲深度學習最近一兩年逐漸火熱,這個系列從CVPR2017的PointNet開始,主要總結頂會的相關文章,不會全文翻譯,隻總結自己覺得重要的點。感興趣的同學,可以去閱讀原文。畢竟經要去西天取,文章要去源頭品。

PointNet

(PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation)

(作為第一個直接處理點雲的深度學習架構,相關介紹太多了,不再贅述)

輸入是包含n個點的三維點雲(nx3) , 原始資料通過一個3D 空間變換矩陣預測網絡 T-Net(3),估計出3x3的變換矩陣T(3) 并作用在原始資料上,實作資料的對齊。對齊後的資料會以點為機關,通過一個共享參數的雙層感覺機模型進行特征提取 。每個點提取出64維的特征,再通過特征空間變換矩陣預測網絡 T-Net(64) 預測64x64的變換矩陣,作用到特征上,實作對特征的對齊。然後繼續利用三層感覺機(64,128,1024)進行以特征點為機關的特征提取,直到把特征的次元變為1024,繼而在特征空間的次元上進行Max Pooling,提取出點雲的全局特征向量。

點雲深度學習系列一: PointNet和PointNet++PointNetPointNet++3.總結:

PointNet++

(PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space)

1.文章主要解決兩個問題

  • 怎麼劃分這個點雲集合

采用Farthest Point Sampling(FPS)算法,原理: 先随機選一個點,然後呢選擇離這個點距離最遠的點加入起點,然後繼續疊代,直到選出需要的個數為止。(Sampling layer)

采用Ball query分組算法,原理: 給定中心點,把給定半徑内的點都包括進來,同時給定鄰居點個數。相比KNN,Ball query保證了一個固定的區域尺寸,是以比KNN更加geralizable across space,更适合于需要局部特征的任務。(Grouping layer)

  • 怎麼組合點雲集的局部特征

local region中的坐标首先被轉換到相對于中點的坐标系中,使用相對坐标系,我們可以捕獲到局部區域中點到點的關系。

使用PointNet作為局部特征學習器作為一個基礎的結構部件,PointNet要在局部點集中抽取特征,或者把特征組合成更高層表示,是以PointNet++遞歸地使用PointNet在一個嵌套劃分的輸入點雲集合上。(PointNet layer)

但是存在采樣不均勻密度的問題。在低密度的地方可能會丢失局部資訊,是以還需要增大尺度,是以提出了 density adaptive PointNet layers。主要采用以下兩種方式解決:

Multi-scale grouping (MSG):每個尺度使用PointNet,然後将多尺度特征融合到一起。但是計算量比較大。

Multi-resolution grouping (MRG):MRG特征由兩個向量組成,左邊的使用區域抽象層彙總每個子區域的特征,右邊的使用PointNet直接處理所有原始點資料。當局部區域密度低時,左邊的特征不如右邊的可靠,因為它包含更加稀疏的點,并且更多收到了采樣的影響。

另一方面,當時局部區域密度高時,左邊的向量提供了更精細的細節資訊,因為它具有在較低層次遞歸地檢查更高分辨率的能力。

點雲深度學習系列一: PointNet和PointNet++PointNetPointNet++3.總結:

2.整體架構如下:

點雲深度學習系列一: PointNet和PointNet++PointNetPointNet++3.總結:

set abstraction: 主要分為上面提到的Sampling layer、Grouping layer 和PointNet layer

通過多個set abstraction,最後進行分類和分割:

分類:将提取出的特征使用PointNet進行全局特征提取

分割:NL-1是集合抽象層的輸入,NL是集合抽象層的輸出。NL是采樣得到的,NL-1肯定大于等于NL。在特征傳播層,将點特征從NL傳遞到NL-1。根據NL的點插值得到NL-1,采用鄰近的3點反距離權重插值。将插值得到的特征和之前跳躍連接配接的特征融合,在使用PointNet提取特征

3.總結:

給一片點雲,PointNet++會先對點雲進行采樣(sampling)和劃分區域(grouping),在各個小區域内用基礎的PointNet網絡進行特征提取(MSG、MRG),不斷疊代。對于分類問題,直接用PointNet提取全局特征,采用全連接配接得到每個類别評分。對于分割問題,将高維的點反距離插值得到與低維相同的點數,再特征融合,再使用PointNet提取特征

參考連結:

https://blog.csdn.net/sunfei05/article/details/80451808

https://blog.csdn.net/qq_15332903/article/details/80261951

https://www.cnblogs.com/lainey/p/8625141.html

繼續閱讀