前言
三維數據通常可以用不同的格式表示,包括深度圖像、點雲、網格和體積網格。點雲表示作為一種常用的表示格式,在三維空間中保留了原始的幾何信息,不需要任何離散化。因此,它是許多場景理解相關應用(如自動駕駛和機器人)的首選表示。
近年來,深度學習技術已成為計算機視覺、語音識別、自然語言處理、生物信息學等領域的研究熱點,然而,三維點雲的深度學習仍然面臨著數據集規模小、維數高、非結構化等諸多挑戰三維點雲。在此基礎上,本文對基於點雲數據下的深度學習方法最新進展做了詳解,內容包括三維形狀分類、三維目標檢測與跟蹤、三維點雲分割三大任務。
3D點雲形狀識別
這些方法通常先學習每個點的embedding,然後使用聚集方法從整個點雲中提取全局形狀embedding,最後通過幾個完全連接的層來實現分類。
基於在每個點上進行特徵學習的方法,現有的3D形狀分類可分為基於投影的網絡和point-based的網絡。
基於投影的方法首先將一個非結構化點雲投影到一個中間正則表示中,然後利用建立良好的二維或三維卷積來實現形狀分類。
相比之下,基於點的方法直接作用於原始點雲,而無需任何體素化或投影。基於點的方法沒有引入顯式的信息丟失,並且越來越流行。
基於投影的方法
這些方法首先將三維物體投影到多個視圖中,提取相應的視圖特徵,然後融合這些特徵進行精確的物體識別。如何將多個視圖特徵聚合為一個有區別的全局表示是一個關鍵的挑戰。該類方法主要包括:
- MVCNN
- MHBN
- Learningrelationships for multi-view 3D object recognition
- Volumetric andmulti-view CNNs for object classification
- GVCNN: Groupviewconvolutional neural networks for 3D shape recognition
- Dominant setclustering and pooling for multi-view 3D object recognition
- Learningmulti-view representation with LSTM for 3D shape recognition and retrieval
除此之外,還有一些對3D點雲進行volumetric representation,主要包括:
- VoxNet
- 3D shapenets: Adeep representation for volumetric shapes
- OctNet: Learning deep3D representations at high resolutions
- OCNN:Octree-based convolutional neural networks for 3D shape analysis
- Pointgrid: A deepnetwork for 3d shape understanding
Point-based網絡
根據用於每個點特徵學習的網絡體系結構,該類方法可分為逐點MLP、卷積方式、基於Graph、基於數據索引的網絡和其他典型網絡。網絡匯總如下表所示:
3D點雲目標檢測與跟蹤
3D目標檢測
三維目標檢測的任務是精確地定位給定場景中所有感興趣的目標。類似於圖像中的目標檢測,三維目標檢測方法可以分為兩類:region proposal-based methods 和 single shotmethods。
針對region proposal-based methods:這些方法首先提出幾個可能包含對象的區域(也稱為proposal),然後提取區域特徵來確定每個proposal的類別標籤。根據它們的proposal生成方法,這些方法可以進一步分為三類:基於多視圖的方法、基於分割的方法和基於frustum的方法。
針對single shot methods:這些方法直接預測類別機率,並使用單級網絡回歸物體的三維bounding box。這些方法不需要region proposal和後處理。因此,它們可以高速運行,非常適合實時應用。根據輸入數據的類型,又可以分為兩類:基於BEV(投影圖)的方法和基於點雲的方法。
兩種方式的網絡匯總:
3D目標跟蹤
給定對象在第一幀中的位置,對象跟蹤的任務是估計其在隨後幀中的狀態。由於三維目標跟蹤可以利用點雲中豐富的幾何信息,因此有望克服二維圖像跟蹤所面臨的遮擋、光照和尺度變化等缺點。主要方法包括:
- Leveraging shape completion for3D siamese tracking
- Context-aware correlationfilter tracking
- Efficient tracking proposalsusing 2D-3D siamese networks
- Complexer-YOLO: Real-time 3Dobject detection and tracking
除了上述方式,還有一些基於光流思想的跟蹤算法。類似於二維視覺中的光流估計,已有多種方法開始從點雲序列中學習有用信息(如三維場景流、空間臨時信息),主要包括:
- Flownet3D: Learning scene flowin 3D point clouds
- FlowNet3D++: Geometric lossesfor deep scene flow estimation
- HPLFlowNet: Hierarchicalpermutohedral lattice flownet for scene flow estimation
- PointRNN: Point recurrentneural network for moving point cloud processing
- MeteorNet: Deep learning on dynamic 3D point cloud sequences
- Just go with the flow:Self-supervised scene flow estimation
3D點雲分割
三維點雲分割需要了解全局幾何結構和每個點的細粒度細節。根據分割粒度,三維點雲分割方法可分為三類:語義分割(場景級)、實例分割(對象級)和部件分割(部件級)。
語義分割
語義分割是基於場景級別,主要包括基於投影和基於點的方法。
針對投影方式的分割算法: 主要包括Multi-viewRepresentation、Spherical Representation、Volumetric Representation、PermutohedralLattice Representation、Hybrid Representation五種方式,下圖對近期的分割網絡進行了匯總:
針對基於point方式的分割算法 :基於點的網絡直接作用於不規則點雲。然而,點雲是無秩序的、非結構化的,直接應用標準CNN是不可行的。為此,提出了開創性的PointNet來學習使用共享MLP的逐點特徵和使用對稱池函數的全局特徵。基於該思想,後期的方法大致可以分為點MLP方法、點卷積方法、基於RNN的方法和基於圖的方法。針對近期point-based分割網絡,下表進行了詳細的匯總:
實例分割
與語義分割相比,實例分割更具挑戰性,因為它需要對點進行更精確、更精細的推理。特別是,它不僅要區分語義不同的點,而且要區分語義相同的實例。總的來說,現有的方法可以分為兩類:基於proposal的方法和proposal-free的方法。
基於proposal的方式將實例分割問題轉化為兩個子任務:三維目標檢測和實例掩碼預測。而基於proposal-free的方式沒有對象檢測模塊,相反,這類方法通常將實例分割視為語義分割之後的後續聚類步驟。特別地,大多數現有的方法是基於假設屬於相同實例的點應該具有非常相似的特徵。因此,這些方法主要集中在鑑別特徵學習和點分組兩個方面。兩種方式的網絡匯總如下所示:
部件分割(Part Segmentation)
三維形狀的部件分割有兩個難點。首先,具有相同語義標籤的形狀零件具有較大的幾何變化和模糊性。其次,該方法對噪聲和採樣應該具有魯棒性。現有算法主要包括:
- VoxSegNet: Volumetric CNNs forsemantic part segmentation of 3D shapes
- 3D shape segmentation withprojective convolutional networks
- SyncSpecCNN: Synchronizedspectral CNN for 3D shape segmentation
- 3D shape segmentation via shapefully convolutional networks
- CoSegNet: Deep co-segmentationof 3D shapes with group consistency loss