Deep Learning for 3D Point Clouds: A Survey
為了促進未來的
idea
生成和鑑別,此處對該篇[Submitted on 27 Dec 2019 (v1), last revised 23 Jun 2020 (this version, v2)]
的Deep Learning for 3D Point Clouds: A Survey
做一個了結。
1. INTRODUCTION
隨著各種3D
採集技術的快速發展,3D
感測器的可用性和價格越來越便宜,包括各種型別3D掃描器,LiDARS
和RGB-D
相機。這些3D
採集裝置可以提供豐富的幾何,形狀和比例資訊。通過2D
影象的補充,3D
資料提供了更好的瞭解機器周圍環境的機會。3D資料在不同的領域有著廣泛的應用,包括自動駕駛,機器人技術,遙感和醫療。
3D
資料由很多格式的表示方式,例如RGB-D
,point cloud
,mesh
,volumetric grids
。其中點雲在不進行任何離散化的情況下保留了原始的幾何資訊。因此它是許多場景理解相關應用(autopilot,rebotics)
的首選表示。幾年來深度學習很吊,但是他在三維點雲的深入學習方面依然由一些重大挑戰,如資料集規模小
,三維點雲的高維性
和非結構化的性質
。\(\color{green}{本文主要分析用於處理電文的深度學習方法}\)。
最近也公佈了很多公開可用的資料集,如ModelNet
,ScanObjectNN
,ShapeNet
,PartNet
,S3DIS
,ScanNet
,Semantic3D
ApolloCar3D
和KITTI Vision
。上面資料集也推動了3D點雲的深度學習研究,提出了越來越多的方法來解決換個點雲處理的相關問題,包括3D shape classification
,3D Object detection and tracking
,3D point cloud segmentation
,3D point cloud registration
,6-DOF pose estimation
,3D reconstruction
。改論文是第一篇專門關注點雲理解的深度學習方法論文。現有3D
點雲的深度學習方法如圖1所示。和現有文獻相比本文主要貢獻如下:
- 據我們所知,這是第一篇綜述論文,全面介紹了幾個重要點雲理解任務的深度學習方法,包括3D形狀分類、3D物件檢測和跟蹤以及3D點雲分割。
- 和現有關注點在
3D
資料型別表示方面的論文不同,本文主要關注3D點雲的深度學習方法。 - 本文介紹了點雲深度學習最新的進展,因此他為讀者提供了最先進的方法。
- 提供了幾種公開資料集上現有方法的綜合比較,並提供簡要總結和深入討論。
本文結構如下:第二節介紹各個專案資料集和評估指標任務,第三節回顧三維形狀分類方法,第四節概述現有三維目標檢測和跟蹤方法,第五節對點雲分割方法進行了綜述,包括語義分割、例項分割和部件分割。最後第六節對全文進行總結。
2. 背景
2.1 資料集
為了評估深度學習演算法,我們收集了很多資料集並在不同的3D點雲應用中評估效能。上表1,列出了一些用於3D形狀分類、3D物件檢測和跟蹤以及3D點雲分割的典型資料集。特別是還總結了這些資料的屬性。
分類資料集的特點。
對於3D形狀分類,這裡由兩種資料集,合成數據
和真實世界資料集
。合成數據集中的物件是完整的,沒有任何的遮擋和背景。相比之下,真實世界資料集中的物件在不同級別被遮擋,一些物件收到背景噪聲的汙染。
物體檢測和追蹤資料集特點
對於3D物體檢測和追蹤,這裡也有兩種資料。室內場景和室外城市場景。室內資料集中的點雲要麼從密集深度貼圖轉換,要麼從三維網格取樣。室外城市資料集設計用於自動駕駛,其中物件在空間上很好分離,並且這些點雲很稀疏。
3D點雲分割
對於3D點雲分割,這些資料集由不同型別的感測器獲取,包括移動鐳射掃描器、航空鐳射掃描器、靜態地面鐳射掃描器、RGBD相機和其他3D掃描器。這些資料集可用於開發解決各種挑戰的演算法,包含干擾物、形狀不完整、類別不均衡。
2.2 評估指標
針對不同的點雲任務,提出了不同的評估指標來測試這些方法。對於3D形狀分類Overall Accuracy(OA)
and mean class accuracy
是最常用的效能標準。
對於三維目標檢測,平均精度(AP)
是最常用的標準。他的計算方式是precision-recall
曲線的面積。Precision
和Success
通常用於3D單目標追蹤的整體效能。 平均多目標跟蹤準確率和平均多目標追蹤精確率是評估三位多目標跟蹤最常用的標準。對於3D點雲分割OA
、並集平均交點(mIoU)
和平均類精度(mAcc)
是最常用的效能評估標準。特別是mAP
也用於3D點雲的例項分割。
3. 3D形狀分類
對於這一類任務下學習每個點的編碼方法,然後用聚合函式從整個點雲中提取全域性特徵編碼方法,最後通過講全域性編碼資訊輸入到幾個全連線層以實現分類\(\color{green}{針對點的處理方式}\)。根據神經網路輸入的資料型別不同,現有的三維形狀分類方法可分為基於多檢視,基於體積和基於點雲的方法。下圖介紹了幾種里程碑式的方法。
- 基於多檢視的方法是將非結構、無序化的點雲資料投影為二維影象
- 基於體積的方法將點雲轉化為三維體積表示方法。然後利用現有的二維或三維卷積對形狀進行分類。
- 基於點雲的方法直接處理原始點雲,無序任何體素化或投影,這種資料結構可以保留最多的原始資訊,也是我認為的最好的處理方法。
基於點的方法不會引入噪聲以及造成資訊丟失,所以越來越受歡迎。因此本論文也主要關注基於點的方法,至於體素化和多檢視也會因為完整性而略有涉獵。
MVCNN
一項2015年開創性的工作來自ICCV
,它只是將多檢視的特徵做一個MaxPooling
到全域性描述特徵,然而Max-pooling
僅僅在指定視角中保留了最大值所以會造成資訊損失。
MHBN
一項2018年的補充性工作來自CVPR
,它提出MVCNN
將檢視通過max-pooling
特徵合併為全域性特徵,作為對3D物件的表示。但是對於每個神經節點,max-pooling
操作只保留了針對某個視角的最大特徵值,而忽略了出最大值的所有因素,因此造成了視覺資訊的丟失。\(\color{red}{當前的直接對於點雲進行處理的任務,是否也有這種誤區?}\),本文對max-pooling
是否可以改為sum-pooling
以解決上述問題做出解釋,結論是效果會更差。
對於上述max
和sum
的限制,本文提出一種利用patch
級別的特徵去替代view
級別的特徵(意思是將一個view分為多個patch,patch越多,上面max帶來的loss越小。)
如上圖所示,通過patch
化之後,它具有以下優點。
- 看圖C,它可以在兩個完全不同的view中獲取到相關
patch
對,以做到聚類效果。 - 即使在兩個對應的view中,他也只計算由相關
patch
組成的對,而將不相關的patch
解耦。
本文提出一個名為bilinear pooling
的方法,去對patch
的相似性進行打分,降低了每個patch要和所有patch對比的高額雜度。
3.1 基於多視角的方法
View-gcn
一項2020年CVPR,這一篇文章,屬於找多檢視之間的關係,建立起來多檢視之間的關係從而更好地還原點雲本身資訊的一個操作。其中包含了圖網路的一些思想應用。
在不同的視角看物體,得到的資訊也是不同的。例如上圖,不同視角中的椅子有很明顯的區別,而茶杯基本沒有區別。所以不同影象的聯絡可能隱藏了3D物體的潛在資訊,這個聯絡會給3D物體的形狀識別帶了有價值的資訊。因此本文的主要工作就是設計一個GCN
在聚合多檢視特徵的時候自動調查view
之間的關係。
之前有人將
multi-view
視為一個序列,並通過RNN
去探索多檢視特徵,但是一維的順序可以很好的模擬相機順序位於圍繞物件上的位置,但是對於更一般的情況,它會忽略多個view的3D幾何圖形。
主要挑戰:如何聚合多檢視特徵為一個全域性的3D形狀描述。
傳統方法:通過最大池化來聚合多檢視特徵,該方法是置換不變的,但忽略了view
和view
之間的關係。
本文目的:通過view-Graph
來表示物體的3D形狀,每一個view對應graph中的一個節點。節點間的邊由攝像機座標的k近鄰確定。在此基礎上設計了一種圖卷積神經網路view-GCN用於聚合多檢視特徵以學習全域性形狀描述子。
上圖由三個部分組成。首先,通過主幹網路從一個三維影象獲得多個view,並在其中提取特徵,使用multi-view
特徵表示節點,構建view-graph
。其次我們設計GCN
來分層聚合view-graph
的多檢視特徵,以生成一個全域性性狀描述符。最後使用全域性形狀描述符進行形狀識別。
3.2 基於體素的方法
此類方法通常將點雲體素化為3D grids,然後利用3D-CNN
去提取特徵進行分類。
Maturana這些人