论文笔记:PointNet
生活随笔
收集整理的這篇文章主要介紹了
论文笔记:PointNet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
PointNet
1、四個問題
- 3D點云是一種很重要的幾何數據結構。由于其存在空間關系不規則的特點,因此不能直接將已有的圖像分類分割框架套用到點云上。
- 許多研究者會將3D點云轉換為3D體素(voxel grids )或者一系列圖片,然后套用到現有的深度學習框架上,取得了非常好的效果。但是將點云體素化勢必會改變點云數據的原始特征,造成不必要的數據損失。
- 因此,作者想要做的就是設計一個可以直接處理3d點云數據的深度學習框架。
- 提出了PointNet,它可以直接將3d點云作為輸入,輸出預測的類別。
- 由于直接以點云作為輸入,而最大的難點在于點云的點數是不確定且無序的。
- 核心方法是巧妙地使用了一個Max Pooling,解決了這個問題。
- 盡管網絡結構很簡單,PointNet在許多任務上的表現還是很好的,甚至超過了state-of-the-art。
- PointNet只關注了3D點云的全局信息,對于局部信息的利用不夠充分,一定程度上限制了網絡的性能。
2、論文概述
2.1、簡介
- 因為點云和mesh都是不規則的,大多數學者都會先將這類數據先轉換為標準的3D體素(voxel grids )或者多視角下的圖片,然后再送入深度學習框架中進行處理。
- PointNet可以直接接收點云作為輸入,然后輸出預測的分類結果或是每個點的語義分割結果。
- 網絡結構十分簡單,核心在于巧妙地使用了一個對稱函數:Max Pooling。
- 網絡隨著訓練會學習到一系列函數,可以從3d點云中選取出感興趣的或是信息含量大的特征點,并進行編碼。
- 最后的全連接層會將提取得到的信息聚合到全局描述子中,代表了整個形狀的信息。
- 一個有趣的發現是,PointNet會試著使用一個稀疏的關鍵點集來表示整個輸入點云,與粗略地提取物體的骨架很類似。
- PointNet的應用:
2.2、PointNet
-
PointNet的輸入時歐式空間中的點組成的點集。主要有三個屬性:
- 無序性。不像圖像的像素或者三維的體素,點云是一系列沒有特定順序的點。因此,網絡需要保證面對nnn個點的3D點云的N!N!N!種順序置換的可能情況具有不變性。
- 點與點之間相關性。這些點來自于一個具有距離度量的空間,也就意味著點之間不是獨立的,近鄰點本身就是一個有意義的子集。因此,模型需要能夠捕獲近鄰點的局部結構特征。
- 旋轉(平移)不變性。對于幾何物體,網絡提取到的點集的特征應該不會受到旋轉和平移等變換的影響。
-
三個關鍵結構:
- 最大池化層,用來將從所有的點上提取得來的信息聚合到一起。
- 局部信息和全局信息結合結構。
- 兩個對齊網絡T-Net,用來將輸入點和特征點進行對齊。
- 網絡結構其實很簡單,主要參考這張流程圖就能理解了。
- T-Net用來生成變換矩陣,作用是用來對齊特征,使特征更利于提取。輸入是n×3n \times 3n×3,那么第一個T-Net生成的就是一個3×33 \times 33×3的仿射變換矩陣;由于第二個T-Net的輸入時n×64n \times 64n×64,那么生成的變換矩陣就是一個64×6464 \times 6464×64的變換矩陣。
- 使用mlp提取特征,也可以理解為卷積核為1的1維卷積。
- 使用Max Pooling將全局特征n×1024n \times 1024n×1024,kernel size直接取為nnn,得到1×10241 \times 10241×1024維的全局特征。
- 后續再進行特征提取,用于分類或是分割任務。
2.2.1、用來處理無序輸入的對稱函數
- 目前有以下三種策略:
- 將輸入排序成一個標準的順序。
- 將輸入當做一個序列輸入RNN,但是需要進行數據增強,將所有可能得置換順序的數據都用來訓練。
- 使用一個對稱函數來將所有點的信息聚合。
- 作者最終選擇使用max pooling來聚合全局信息,并在后面從理論上證明了,當特征維數足夠大時,max pooling可以模擬論文中所述的任意對稱函數f。推導略。
2.2.2、聚合全局和局部信息
- 在計算得到全局點云特征向量后,將其與前面的點特征拼接在一起。隨后再從拼接后的特征向量中提取特征,這時既有局部信息也有全局信息。
2.2.3、對齊網絡
- 輸入的點云是n×3n \times 3n×3,通過一個小網絡T-Net預測出一個放射變換矩陣,并直接乘在輸入上。
- 對齊網絡也可以擴展到特征空間中,通過一個小網絡T-Net預測出一個特征變換矩陣,乘在輸出的特征向量上。
- 考慮到在特征空間上的變換矩陣比普通的空間變換矩陣(3維)的維度高得多,這會給優化增加不小的難度。所以另外還要在最后的softmax損失上加上一個正則化項:Lreg=∥I?ATA∥F2L_{reg} = \|I - A^T A\|_F^2Lreg?=∥I?ATA∥F2?。 其中AAA是T-Net預測得到的特征對齊矩陣。對角矩陣不會丟失輸入信息,這也是我們所期望的。作者提到,加上正則化項之后訓練會更穩定。
2.3、實驗
- 在ModelNet40數據集上的分類任務結果:
- 在ShapeNet數據集上的分割結果。
- PointNet的參數量相比其他state-of-the-art的架構小得多。
3、參考資料
總結
以上是生活随笔為你收集整理的论文笔记:PointNet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文笔记:ShuffleNet v2
- 下一篇: 论文笔记:Image Caption(S