基於點雲的分類分割:Point Net
三維物體在計算機圖形學中的表達有多種多樣的形式,如體素,mesh網格和點雲等。不同的表達形式有各自的優點。目前由於體素表達形式更加適合神經網路進行卷積處理,因此基於體素的神經網路方法獲取三維物體特徵的研究較多。然而,在現實世界中,無論是傳統的SFM還是用深度感測器得到的三維信息,它們得到的原始數據都是點雲,因此基於點雲的特徵學習是一個非常重要的課題。
圖1:三維物體表達形式
一、基於點雲的分類與分割
斯坦福大學的研究人員提出了將點雲直接輸入到神經網路中從而完成點雲的分類和分割的任務。該神經網路可以直接在點雲上完成特徵提取並運用於各種任務。
圖2:Point Net點雲分類分割
二、兩大難題
該工作主要圍繞如何解決兩大難題的主題上開展,兩大難題分別為如何解決點雲的無序性和旋轉性。
1、點雲的無序性
圖3:點雲的順序
圖中的N表示有N個點,D代表每個點的空間坐標。對於一個包含N個點的點集來說,每個點的表述順序並不會影響整個點集。也就是說,基於點雲的特徵學習的神經網路應當對不同表述順序的點雲保持不變性。對於N個點的點雲,其表述順序有N的階乘種順序,因此神經網路需要對這N的階乘種順序保持不變。
在這裡,作者提出了對稱函數的概念。在數學上,簡單來說,對稱函數就是不論輸入的自變數的順序如何,其函數值保持不變。例如取最大值函數,求和函數等都是非常典型的對稱函數。
圖4:對稱函數
也就是說,如果整個神經網路就是一個對稱函數,那麼就可以保持對輸入點雲順序的不變性。因此作者提出了這樣的架構,即將點雲坐標通過多層神經網路的學習後,輸入到對稱函數g中,那麼只要g是對稱函數,則整個神經網路為對稱函數。
圖5:PointNet對稱函數架構
在實驗中,作者證明max即可得到很好的結果,因此整個網路用了max pooling層作為對稱函數。
圖6:PointNet對稱函數架構
2、點雲的旋轉性
在同一個參考坐標系下,點雲的旋轉會導致坐標的不一致問題,因此,所設計的神經網路也必須保持對旋轉順序的不變性。作者提出了T-Net來解決這個問題。其實T-Net相當於幾何空間中的旋轉矩陣,作者希望通過T-Net來實現點雲的自動對齊。
圖7:T-Net網路架構
三、整體網路架構
圖8:整體網路架構
上圖為該網路的整體架構。輸入為n*3的矩陣,表示點雲的n個點的空間坐標。點雲先經過T-Net結構後,經過多層神經網路,再經過一個T-Net網路結構得到局部特徵,之後經過多層神經網路繼續encoder,最後經過max pooling對稱函數結構後得到全局特徵,最後將全局特徵用於分類任務,將局部特徵與全局特徵concat進行分割任務。
四、結果
1、分類結果
圖9:分類結果
在整體的準確率上,PointNet達到了最高水準。
2、分割結果
圖10:分割結果
圖11:分割結果(IoU)
參考文獻
1. Charles R. Qi,Hao Su,Kaichun Mo,Leonidas J. Guibas, PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. CVPR 2017
2. Charles R. Qi, Hao Su, Matthias Niessner, Angela Dai, Mengyuan Yan, Leonidas J. Guibas, Volumetric and Multi-View CNNs for Object Classification on 3D Data. CVPR 2016
TAG:ZhengLab |