天天看點

CVPR2017精彩論文解讀:直接處理三維點雲的深度學習模型

雷鋒網(公衆号:雷鋒網) ai 科技評論按:雖然cvpr 2017已經落下帷幕,但對精彩論文的解讀還在繼續。下文是momenta進階研究員陳亮對此次大會收錄的 pointnet:deep learning on point sets for 3d classification and segmentation  一文進行的解讀。

随着雷射雷達,rgbd相機等3d傳感器在機器人,無人駕駛領域的廣泛應用。針對三維點雲資料的研究也逐漸從低層次幾何特征提取(

pfh,

fpfh,vfh等)向高層次語義了解過渡(點雲識别,語義分割)。與圖像感覺領域深度學習幾乎一統天下不同,針對無序點雲資料的深度學習方法研究則進展緩慢。分析其背後的原因,不外乎三個方面:

1.點雲具有無序性。受采集裝置以及坐标系影響,同一個物體使用不同的裝置或者位置掃描,三維點的排列順序千差萬别,這樣的資料很難直接通過end2end的模型處理。

2.點雲具有稀疏性。在機器人和自動駕駛的場景中,雷射雷達的采樣點覆寫相對于場景的尺度來講,具有很強的稀疏性。在kitti資料集中,如果把原始的雷射雷達點雲投影到對應的彩色圖像上,大概隻有3%的像素才有對應的雷達點。這種極強的稀疏性讓基于點雲的高層語義感覺變得尤其困難。

3.點雲資訊量有限。點雲的資料結構就是一些三維空間的點坐标構成的點集,本質是對三維世界幾何形狀的低分辨率重采樣,是以隻能提供片面的幾何資訊。

面對以上困難,來自斯坦福大學的學者提出了pointnet,給出了自己的的解決方案。pointnet是第一種直接處理無序點雲資料的深度神經網絡。一般情況下,深度神經網絡要求輸入資訊具有規範化的格式,比如二維的圖像,時序性的語音等。而原始的三維點雲資料往往是空間中的一些無序點集,假設某一個點雲中包含n個三維點,每一個點用(x,y,z)三維坐标表示,即使不考慮遮擋,視角等變化,單就這些點的先後順序排列組合,就有

n!

種可能。是以,我們需要設計一個函數,使得函數值與輸入資料的順序無關。實際上,在代數組合學中,這類函數被稱為對稱函數。pointnet 中,作者使用了max

pooling 層做為主要的對稱函數,這種處理雖然簡單,但是實驗證明效果較好。

CVPR2017精彩論文解讀:直接處理三維點雲的深度學習模型

上圖是pointnet的網絡架構,輸入是包含n個點的三維點雲(nx3)

, 原始資料通過一個3d 空間變換矩陣預測網絡 t-net(3),估計出3x3的變換矩陣t(3) 并作用在原始資料上,實作資料的對齊。對齊後的資料會以點為機關,通過一個共享參數的雙層感覺機模型進行特征提取 。每個點提取出64維的特征,再通過特征空間變換矩陣預測網絡 t-net(64) 預測64x64的變換矩陣,作用到特征上,實作對特征的對齊。然後繼續利用三層感覺機(64,128,1024)進行以特征點為機關的特征提取,直到把特征的次元變為1024,繼而在特征空間的次元上進行max

pooling,提取出點雲的全局特征向量。

在點雲分類任務中,可直接利用特征向量訓練svm或者多層感覺機來進行分類,而在以點為機關的點雲分割或者分塊任務中,需要結合每一點的局部特征和全局特征進行特征融合和處理,實作逐點的分類。pointnet中把經過特征對齊之後的64維特征看成是點的局部特征,把最後的1024維特征看成是點的全局特征,是以通過一個簡單的拼接,把局部和全局的特征捆綁在一起,利用多層感覺機進行融合,最後訓練分類器實作逐點的分類。 

CVPR2017精彩論文解讀:直接處理三維點雲的深度學習模型

pointnet是第一個可以直接處理原始三維點雲的深度神經網絡,這種新穎的網絡設計可以直接對原始點雲進行處理,進而完成高層次的點雲分類和語義分割的任務,而且完全依賴于資料。從實驗驗證的結果來看,其效果和目前最好的結果具有可比性,在一些方面甚至超過了state-of-the-art,值得進一步挖掘和研究。

論文作者問答: 

q:輸入的原始三維點雲資料需要做歸一化嗎? 

a:和其他網絡的輸入一樣,輸入點雲資料需要做零均值的歸一化,這樣才能保證比較好的實驗性能。

q:深層神經網絡處理三維離散點雲的難點在哪裡?pointnet是如何解決這些難點的?

a:深度神經網絡處理三維離散點雲資料的難點主要在于點雲的無序性和輸入次元變化。在本篇文章中,我使用了深度神經網絡中的常用對稱函數 :max pooling 來解決無序性問題,使用共享網絡參數的方式來處理輸入次元的變化,取得了比較好的效果。

q:是否可以使用rnn/lstm來處理三維點雲資料? 

a:rnn/lstm可以處理序列資料,可以是時間序列也可以是空間序列。是以從輸入輸出的角度來講,他們可以用來處理三維點雲資料。但是點雲資料是無序的,這種點和點之間的先後輸入順序并沒有規律,是以直接使用rnn/lstm效果不會太好。

q:t-net在網絡結構中起的本質作用是什麼?需要預訓練嗎? 

a:t-net

是一個預測特征空間變換矩陣的子網絡,它從輸入資料中學習出與特征空間次元一緻的變換矩陣,然後用這個變換矩陣與原始資料向乘,實作對輸入特征空間的變換操作,使得後續的每一個點都與輸入資料中的每一個點都有關系。通過這樣的資料融合,實作對原始點雲資料包含特征的逐級抽象。

q:pointnet 與 mvcnn 的實驗結果比較中,有些名額稍差,背後的原因是什麼? 

a:pointnet提取的是每一個獨立的點的特征描述以及全局點雲特征的描述,并沒有考慮到點的局部特征和結構限制,是以與mvcnn相比,在局部特征描述方面能力稍弱。面對這樣的問題,我們基于pointnet已經做了一些改進和提升,新的網絡命名為

pointnet++,已經上傳到arxiv,歡迎大家閱讀并讨論交流。

論文位址:https://arxiv.org/abs/1612.00593

本文作者:思穎

繼續閱讀