來源 · 知乎
作者 · 阿帆阿帆
編輯 · 睿小妹
原文 · https://zhuanlan.zhihu.com/p/165986976
論文題目:Deep Learning for 3D Point Clouds: A Survey
論文發表:IEEE TPAMI 2020
文章說明:本文章主要是對於基於深度學習的點雲相關的工作進行綜述和總結,包含點雲形狀分類,點雲檢測和跟蹤,點雲分割,以及部分相關的數據集。
論文地址:
https://arxiv.org/pdf/1912.12033.pdf
項目地址:
https://github.com/QingyongHu/SoTA-Point-Cloud
3D物體檢測與跟蹤:
這部分主要綜述三維物體檢測,三維物體跟蹤,三維場景流估計三部分。
3D物體檢測的任務是需要在給定的場景中定位出所有的感興趣物體。與圖像中的物體檢測類似,3D物體檢測可以被分為基於區域提議的方法(region proposal-based)和一階段方法(single shot)。有時也會被分為two-stage和one-stage的方法。一些裡程碑式的方法如下圖所示:
1.1 基於區域提議的方法(region proposal-based methods)基於區域提議的方法首先會提出一些可能包含物體的區域,也稱為提議(proposals),然後逐個區域提取特徵去決定每個區域的對應類別。依據他們的物體提議生成的方式,這些方法可以進一步的被劃分為三類:基於多視圖的方式,基於分割的方式和基於視錐的方式。從上到下依次是基於多視圖方式,基於分割方式,基於視錐方式。
不同的方法在KITTI數據集 3D detection benchmark上的結果對比,其中car的3D iou閾值為0.7,pedestrain和cyclist的3D iou閾值為0.5。
不同的方法在KITTI數據集3D BEV benckmark上的結果對比,其中car的3D iou閾值為0.7,pedestrain和cyclist的3D iou閾值為0.5。
如上圖(a)所示,這種方法的一般做法是通過融合來自不同視圖(雷達前視圖,鳥瞰圖(BEV),圖像等)的逐個提議特徵去獲得三維旋轉邊框。這類方法總的計算耗時很大。MV3D:Multi-view 3D object detection network for autonomous driving, in CVPR,。該方法首先從鳥瞰圖(BEV)zhong 生成一組較為精確的3D候選框,然後將他們投影到雷達前視圖和RGB圖像的特徵圖上。之後他們融合來自不同視圖的逐個候選框的特徵去預測旋轉的三維物體邊界框(上圖a)。缺點在於實際應用時速度很慢。AVOD:Joint 3D proposal generation and object detection from view aggregation, in ICIRS。該方法提出了一種基於多模態融合的區域提案網絡。他們首先使用裁剪和調整大小的操作從BEV和圖像視圖中提取相等大小的特徵,然後使用逐個元素的平均池化操作去融合這些特徵。Deep continuous fusion for multi-sensor 3D object detection,in ECCV。 該文章利用連續卷積實現了不同解析度下圖像與三維雷射雷達特徵圖的有效融合。具體地說,他們為BEV空間中的每個點提取最近的對應圖像特徵,然後使用雙線性插值,通過將圖像特徵投影到BEV平面中,得到稠密的BEV特徵圖。實驗結果表明,密集BEV特徵圖比離散圖像特徵圖和稀疏雷射雷達特徵圖更適合於三維目標檢測。MMF: Multi-task multi-sensor fusion for 3D object detection,in CVPR。該文章提出了一種用於端到端訓練的多任務,多傳感器的三維物體檢測網絡。其中包含的任務有,2D物體檢測,地面估計,深度完善。這些多種任務使得網絡可以更好地學習特徵表示,交叉模態的特徵表示可以被進一步使用去生成更精確的物體檢測結果。結果在2D,3D,BEV檢測中的性能上。比之前的方法性能都要好。Second:Sparsely Embedded Convolutional Detection,in Sensors. 對屬於點雲進行體素化,而後採用VFE(voxel feature enconder)進行特徵編碼,最後再經過稀疏卷及操作,這之後的特徵經過RPN網絡來回歸物體的分數,邊界框以及朝向角。SCANet: Spatial-channel attention network for 3D object detection, in ICASSP。該文章通過引入了一個空間通道注意力組件(Spatical Channel Attention-SCA)從而應用了多尺度的上下文信息,可以獲取場景中全局和多尺度的信息並且標識出有用的特徵。他們也提出了一種拓展空間上採樣(Extension-Spatial-Unsample-ESU)組件通過結合多尺度低維特徵去獲得帶有豐富空間信息的高維特徵,因此可以生成可靠的3D提議框。RT3D: Real-time 3D vehicle detection in lidar point cloud for autonomous driving, in RAL。雖然上述基於多視圖的檢測方式性能較好,但是由於其需要進行對每個提議進行實行特徵池化使得他們需要很長的運算時間。該文章使用了pre-ROI池化卷積來提高MV3D的效率。具體而言,他們將大部分卷積操作移到了RoI池化模塊之前。因此,對所有物體提議僅框執行一次RoI卷積。整體速度比MV3D快5倍(11.1FPS)。該類方法首先利用語義分割去移除大部分背景點,然後基於前景點生成許多高質量的提議框,以此來節省計算量(上圖b)。相比較於基於多視圖的方法,這類方法更加適用於有高度遮擋和擁擠物體的場景。IPOD: Intensive point-based object detector for point cloud, in arxiv。該方法使用一個2D分割網絡去預測前景像素並且將他們投影到點雲上去移除大部分背景點。他們然後在預測的前景點上去生成提議並且設計了一個名叫PointIoU的方式去減少提議框的冗餘和模糊性。PointRCNN: 3D object proposal generation and detection from point cloud, in CVPR。該文章直接分割3D點雲去獲得前景點然後融合語義特徵和局部空間特徵去生成高質量的3D提議框。PointRGCN: Graph convolution networks for 3D vehicles detection refinement, in arXiv。該文章是利用圖卷積網絡(GCN)進行三維物體檢測的開創性工作。其引入了兩個模塊來使用圖卷積來細化物體提議框。第一個模塊R-GCN利用提議框中包含的所有點來實現每個提議框的特徵聚合。第二個模塊C-GCN融合來自所有提議框的每幀信息,通過利用上下文回歸精確的對象框。PointPainting: Sequential fusion for 3D object detection, in CVPR。該文章將一個點雲投影到基於圖像的分割網絡的輸出上,並將語義分割的預測分數附加到點上。這個帶有分數的點送入現有的探測器(VoxelNet, PointPillars, PointRCNN)去實現性能提升。STD: Sparse-to-dense 3D object detector for point cloud, in arXiv。該文章將每個點與一個球形anchor關聯,然後使用每個點的予以分數去移除冗餘的anchors。該方法相較於IPOD,PointRCNN實現了更高的召回率和更低的計算耗時。此外,該方法還提出了一個PointPool層去學習在提議框內部的點的更加緊湊的特徵,並且引入了一個並行的IOU分支去提升定位精度和檢測性能。這類方法首先利用現有的2D檢測器去生成2D物體的候選框區域,然後從每個二維候選區域中提取一個3D視錐提議(上圖c)。雖然這種方式可以有效的提出可能的三維物體的位置,但是這種方式的性能會被2D圖像檢測器所限制。Frustum convnet: Sliding frustums to aggregate local point-wise features for amodal 3D object detection, in IROS。該文章對每個2D區域沿著視錐軸生成一個序列的視錐,並應用PointNet對個視錐去提取特徵。然後重構視錐級的特徵去生成一個2D特徵圖,然後將該特徵圖輸入到全卷積網絡中進行3D邊框估計。該方法在基於2D圖像的方法中達到了最先進的性能,並在官方KITTI排行榜上排名第一。F-PointNets: Frustum pointnets for 3D object detection from RGB-D data, in CVPR。該文章是這類方式的一個開創性的工作,其對於每個2D區域生成一個視錐提議並且應PointNe或者PointNet++去學習每個3D視錐的點雲特徵用於3D邊框估計。SIFRNet: 3D object detection using scale invariant and feature reweighting networks, in AAAI。該文章提出了一個Point-SENet組件去預測一組尺度因子,這組尺度因子可以被進一步用於自適應的提取有用的特徵並且抑制信息較少的特徵。此外,他們還在網絡中使用了PointSIFT組件去獲得點雲的朝向信息,該方法對於點雲的形狀縮放具有很強的魯棒性。PointSIFT: A sift-like network module for 3D point cloud semantic segmentation, in arXiv。數據集:Sun RGB-D: A RGB-D scene understanding benchmark suite, in CVPR。PointFusion: Deep sensor fusion for 3D bounding box estimation,in CVPR。該文章利用2D圖像區域和對應的視錐點去準確的回歸3D邊框。為了融合圖像特徵和點雲的全局特徵,他們提出了一個全局融合網絡用於直接回歸框體中心位置。此外,他們還提出了一種稠密的融合網絡用於預測逐點與每個中心點的偏移。RoarNet: A robust 3D object detection based on region approximation refinement, in arXiv。 該文章首先從一張2D圖像中估計物體的2D邊界框和3D位姿,然後提取多個幾何上可行的物體候選框。這些3D候選框被送如一個邊框回歸網絡中去預測精確的3D對象框。Patch refinement - localized 3D object detection, in NIPS workshop。該文章首先在BEV圖上得到一個初步的檢測結果,然後基於BEV的預測提取少量點的子集(也叫patch)。之後用一個局部微調網絡去學習patch的局部特徵來預測高精度三維包圍盒。3D IOU LOSS:Iou loss for 2D/3D object detection, in 3DV。由於軸對齊的IoU在圖像目標檢測方面的成功,該文章將兩個3D旋轉邊界框的IoU集成到幾個最新技術的檢測器PointRCNN,PointPillars,SECOND中,以實現性能的提升。Fast Point R-cnn, in ICCV。該文章提出了一種兩階段網絡體系結構,同時使用點雲和體素表示。首先,點雲被體素化,並被送入一個3Dbackbone網絡去產生初始檢測結果。然後,進一步利用初始預測的內部的點的特徵對邊界框進行微調。雖然這種設計在概念上較為簡單,但它在保持速度的同時實現了具有與PointRCNN競爭性的性能,並且可以保持16.7FPS的速率。VoteNet: Deep hough voting for 3D object detection in point clouds, in ICVV。該文章是受到基於霍夫投票的2D物體檢測器的啟發,從而被提出去直接從點雲上去投票產生虛擬的中心點,並且通過整合投票特徵去產生一組高質量的3D物體提議框。該文章比之前僅僅使用幾何信息的方法性能要提升很多,而且在ScanNet和SUN RGG-D數據集上表現出了sota的性能。缺點是對於那種被部分遮擋的物體其預測的虛擬中心點不夠穩定。Relation graph network for 3D object detection in point clouds, in arXiv。該文章添加了一個方向向量的分支來提升虛擬中心點和三維候選框的預測精度。此外,該文章還建立了候選框之間的3D物體到物體的關係圖,以強調對精確目標檢測有用的特徵。Part-A^2: From Points to Parts: 3D Object Detection fromPoint Cloud with Part-aware and Part-aggregation Network, in TAPMI。受到3D物體的真值框提供物體內部部分的精確位置的啟發,該文章提出了Part-A^2網絡,它由部分感知階段和部分聚合階段組成。部分感知階段應用一個具有稀疏卷積和稀疏反卷積的UNet-like網絡來學習用於預測的逐點特徵,並且粗略地生成物體內部分的位置。部分聚集階段採用RoI-aware池化來聚合預測的部分位置,用於邊框的評分和位置細化。
1.2 一階段方法(Single Shot methods)這類方法直接使用單階段網絡預測類別的概率並且回歸3D邊界框。這些方法不需要區域提議生成和後處理。因此,他們可以以很高的速度運行並且適用於實時應用的情況。根據輸入數據的類型,一階段方法可以被分為兩類,基於鳥瞰圖的方法和基於點雲的方法。PIXOR: Real-time 3D object detection from point clouds, in CVPR。該文章用等間距的單元對一個場景的點雲進行離散化,並以類似的方式對反射率進行編碼,從而得到規則的表示。然後採用全卷積網絡(FCN)去估計目標的位置和航向角。該方法優於大多數一階段的方法(包括VeloFCN,3D-FCN和Vote3Deep),並且可以以28.6fps運行。Fast and furious: Real-time end-to-end 3D detection, tracking and motion forecasting with a single convolutional net, in CVPR。HDNET: Exploiting hd maps for 3D object detection, in CoRL。該文章利用高清晰度(HD)地圖提供的幾何和語義先驗信息來提高PIXOR算法的魯棒性和檢測性能。具體來說,他們從高精度地圖中獲得地面點的坐標,然後用相對於地面的距離替換BEV表示中的絕對距離,以補救道路坡度引起的平移方差。此外,他們將一個二進位道路mask與沿著通道維度的BEV表示串聯起來,以聚焦於移動物體。由於高清地圖並不是隨處可見,他們還提出了一個在線地圖預測模塊來估計單個雷射雷達點雲的地圖先驗信息。這種地圖感知方法在TOR4D和KITTI數據集上性能優於PIXOR和Fast and furious的方法。但其對不同密度點雲的泛化性能較差。BirdNet: a 3D object detection framework from lidar information,in ICITS。為了解決HDNET算法對於不同密度的點雲的較差的泛化性能。該文章提出了一個歸一化地圖來考慮不同的雷射雷達傳感器之間的差異。該歸一化地圖是與BEV地圖具有相同解析度的2D網格,它對每個單元格中包含的最大點數進行編碼。結果表明,該歸一化地圖顯著提高了基於BEV的檢測器的泛化能力。這類方法將一個點雲轉換為一個規則的表示(2D地圖)然後使用CNN去預測所有物體的類別和3D邊框。VeloFCN: Vehicle detection from 3D lidar using fully convolutional network, in RSS。該方法轉換點云為一個2D點圖並且使用一個2D全卷積網絡去預測物體的邊界框和置信度。3D-FCN:3D fully convolutional network for vehicle detection in point cloud, in ICIRS。該方法基於VeloFCN,他們將點雲離散化為一個4D張量,其維度是長度,寬度,高度和通道,並且擴展2D基於全卷積網絡的檢測技術到3D領域來實現3D物體檢測。相較於VeloFCN,該方法在精度上獲得了超過20%的提升,但是由於3D卷積和點雲數據的稀疏性,其不可避免的耗費了更多的計算資源。Vote3Deep: Fast object detection in 3D point clouds using efficient convolutional neural networks, in ICRA。為了解決體素網絡的稀疏性問題,該方法利用了一個中心化特徵的投票方案對每一個非空體素來生成一組投票,通過累積票數獲得卷積結果。其計算複雜度方法與所佔體素的數量成正比。130 Three-dimensional Backbone Network for 3DObject Detection in Traffic Scenes, in arXiv。該文章通過對多個稀疏的3D CNN進行堆疊,構建了一個3D主幹網絡。該方法通過充分利用體素的稀疏性,達到節省內存,加速計算的目的。這個三維骨幹網提取豐富的三維特徵用於目標檢測,而不引入沉重的計算負擔。108 VoxelNet: End-to-end learning for point cloud-based 3D object detection, in CVPR。該方法提出了一種基於體素的端到端可訓練框架。他們將一個點雲分割成等間距的空間體素,並將每個體素內的特徵編碼成一個4D張量。然後連接一個區域建議網絡來產生檢測結果雖然其性能很強,但是由於體素的稀疏性和3D卷積,這種方法非常慢。Spatially-sparse convolutional neural networks,in arXiv。SECOND: Sparsely embedded convolutional detection, in Sensors。該方法使用稀疏卷積網絡SparsConv去提升VoxelNet的inference效率。他們還提出了正弦誤差角度損失來解決0-π之間旋轉角的模糊性問題。MVX-Net: Multimodal voxelnet for 3D object detection, in ICRA。該方法通過在早期階段融合圖像和點雲特徵來擴展VoxelNet。具體而言,他們將由VoxelNet產生的非空體素投影到圖像上並且使用一個預訓練的網絡來提取每個投影體素的圖像特徵。然後將這些圖像特徵與體素特徵級聯起來,去產生精確的3D盒子。該方法相較於VoxelNet和SECOND能有效地利用多模態信息來減少假陽性和假陰性。PointPillars: Fast encoders for object detection from point clouds, in CVPR。該方法利用PointNet網絡去學習以豎列(柱)組織的點雲特徵,並將學習到的特徵編碼為偽圖像。然後應用2D對象檢測方法來預測3D邊界框。PointPillars在平均精度(AP)上優於大多數融合方法(MC3D,RoarNet,AVOD)。而且該方法還可以以62FPS的方法進行運行,更具有實用性。LaserNet: An efficient probabilistic 3D object detector for autonomous driving, in CVPR。該方法預測每個點在邊界框上的概率分布,然後組合這些每個點的分布以生成最終的3D對象框。進一步的,利用點雲稠密的距離視圖(Range View)表示作為輸入並且提出了一種快速mean-shift算法來降低每點預測產生的噪聲。該方法在0到50米範圍內達到了最先進的性能,其運行時間明顯低於現有方法。LaserNet++: Sensor fusion for joint 3D object detection and semantic segmentation, in CVPR Workshop。該方法擴展LaserNet去使用由RGB圖像提供的稠密信息。具體而言,他們通過投影3D點雲到2D圖像上去關聯雷達點和像素,並且應用這種關聯去融合RGB信息到3D點中。他們還考慮將3D語義分割作為學習更好表示的輔助任務。該方法在保持LaserNet高效率的同時,在遠距離(例如50至70米)目標檢測和語義分割兩方面都實現了顯著的改進。給定對象在第一幀中的位置,對象跟蹤的任務是估計其在後續幀中的狀態。由於3D目標跟蹤可以利用點雲中豐富的幾何信息,因此它可以克服2D的基於圖像跟蹤所面臨的缺點,包括遮擋,光照和尺度變化。Correlation filter tracking: Beyond an open-loop system, in BMVC。Robust long-term tracking via instance specific proposals, IEEE TIM。SiamFC:Fully-convolutional siamese networks for object tracking, in ECCV。SC3D: Leveraging shape completion for 3D siamese tracking, in CVPR。受到基於圖像的物體跟蹤中孿生網絡成功應用的啟發,該文章提出了一個具有形狀完善歸一化的3D孿生網絡。具體而言,他們首先使用卡爾曼濾波器生成候選框,並且使用形狀歸一化將模型和候選框編碼到一個緊湊的空間表示。然後計算餘弦相似度去搜索被跟蹤物體在下一幀中的位置。該方法被作為物體跟蹤的一個可選方案,並且性能比大多數2D跟蹤器(Staple-CA,SiamFC)效果要好。Staple-CA:Context-aware correlation filter tracking, in CVPR。Efficient tracking proposals using 2D-3D siamese networks on lidar, in arXiv。為了更有效地搜索目標物體,該文章利用一個2D孿生網絡在BEV表示下去生成大量粗糙的物體候選框。他們然後通過在3D孿生網絡中使用餘弦相似度來細化候選框。該方法性能比SC3D在精度和成功率上分別高了18%和12%個點。Complexer-YOLO: Real-time 3D object detection and tracking on semantic point clouds, in arXiv。該方法提出了一個用於語義點雲的3D物體檢測和跟蹤結構,他們首先通過融合2D視覺語義信息生成體素化的語義點雲,然後他們使用時間信息去提升多物體跟蹤的精度和魯棒性。此外,他們引入了一個強健並且簡單的評估方式(尺度旋轉平移分數-SRFs)去加速訓練和測試過程。該文章實現了文章所說的性能並且可以實時運行。與2D視覺中的光流估計類似,一些方法已經開始學習來自序列點雲中的有用的信息(例如3D場景流,時空信息)。142 Flownet3D: Learning scene flow in 3D point clouds, in CVPR。該文章提出了從一對連續點雲中直接學習場景流的方法。該方法通過一個流嵌入層同時學習點級特徵和運動特徵。然而,該方法存在兩個問題。首先,一些預測的運動向量在方向上與地面真值有很大差異。第二,該方法很難應用於非靜態場景,尤其是以可變形物體為主的場景。143 FlowNet3D++: Geometric losses for deep scene flow estimation, in WACV。為了解決Flownet3D存在的問題,該文章引入了一個餘弦距離損失來最小化預測和真值之間的夾角。此外,他們也提出了一個點到面的距離損失去提高剛性和動態場景下的精度。該方法提高了Flownet3D的精度並且加速了其訓練過程的穩定。144 HPLFlowNet: Hierarchical permutohedral lattice flownet for scene flow estimation on large-scale point clouds,」 in CVPR, 2019。該方法直接從大尺度點雲中估計場景流。該方法提出了多個雙邊卷積層來恢復原始點雲的結構信息,同時減少了計算量。145 PointRNN: Point recurrent neural network for moving point cloud processing, in arXiv。該方法提出了PointRNN,PointGRU以及PointLSTM網絡以及一個序列到序列的模型去跟蹤移動點。PointRNN,PointGRU以及PointLSTM能夠去獲取時空信息以及建模動態點雲。146 MeteorNet: Deep learning on dynamic 3D point cloud sequences, in ICCV。該方法提出了直接從動態點雲中學習一個表示。這個方法學習去聚合來自時空相鄰點的信息。進一步引入直接分組和鏈流分組來確定時間鄰域。然而,該方法受到數據集規模的限制。147 Just go with the flow: Self-supervised scene flow estimation, in CVPR。該方法提出了兩個自監督損失去在大的未標記的數據集上訓練他們的網絡。其主要思想是一個魯棒的場景流估計方法應該在前向和反向預測中是有效的。由於場景流標註的不可用性,預測變換點的最近鄰被認為是偽地面真值。然而,真正的真相可能與最近鄰點並不相同。為了避免這個問題,他們計算了反方向的場景流,並提出了一個循環一致性損失來將點平移到原始位置。實驗結果表明,這種自監督學習方法的性能優於現有的基於監督學習的方法 。
在這兩類方法中,基於區域建議的方法是最常被研究的方法,在KITTI測試3D和BEV基準測試中,它的性能都大大優於單階段的方法。
現有的3D物體檢測器有兩個限制。一是現有方法的遠距離檢測能力比較差。其次,如何充分利用圖像中的紋理信息仍然是一個開放的問題。
多任務學習是三維目標檢測的未來方向。例如,MMF[99]學習跨模態表示,以通過合併多個任務來實現最先進的檢測性能。
3D目標跟蹤和場景流估計是新興的研究課題,自2019年以來逐漸受到越來越多的關注。
這篇綜述中對關於點雲中目標檢測與跟蹤的方法總體概述了很多文章和內容,非常全面,分類的邏輯也很清晰。但是在目標跟蹤部分所敘述的內容還是有所缺失,因為我個人在研究基於點雲的目標跟蹤相關的內容,該綜述文章在敘述目標跟蹤的時候多是敘述的單目標跟蹤以及部分圖像中的視頻物體跟蹤(VOT)的方法,而現有的方法中有很多關於多目標跟蹤的方法,該文章並沒有對其進行綜述。比如PointTrackNet,JRMOT等等很多優秀的工作。所以我個人認為該文章在綜述時還存在一定的不足。不過關於目標檢測方面的確綜述的非常全面,值得學習。