3D目標檢測中點云的稀疏性問題及解決方案
來源|自動駕駛之心
編輯|深藍學院
1. 點云稀疏性的定義
點云的稀疏性指激光雷達的采樣點覆蓋相對于場景的尺度來講,具有很強的稀疏性。例如,將目前主流的戶外3D目標檢測數據集KITTI[1]的點云投影到對應的RGB圖像上,大約只有3%的像素才有對應的點云;VoxelNet[2]將獲取的點云等間距的劃分到體素空間,超過90%的體素是空的。稀疏性產生的原因包括遠距離、遮擋和反光等。
仍然以KITTI數據集為例,KITTI數據集將不同目標的檢測難度劃分為"Easy"、"Moderate"和"Hard"三類,我們統計了KITTI數據集中不同難度GT框內的點云數目分布情況,如下圖所示,可以看出,"Moderate"和"Hard"目標中分別有超過47%和54%的點云數少于60個points,其對應的形狀和結構是極其不完整的,進而給3D目標檢測帶來困難。
對于遠距離或者遮擋的目標,點云密度隨著距離增大而減小,當距離增大或者發生遮擋時,獲取的目標點云很少,導致目標的結構信息和語義信息不完整。如下圖所示,我們可視化了KITTI數據集中的”Car“目標在真實場景中的點云情況,可以看出:Easy難度目標的可視化形狀是比較完整的,這類目標便于網絡檢出,SOTA方法的檢測精度可以達到90%左右;而Moderate和Hard難度目標的可視化形狀缺失比較嚴重,目標的結構信息和語義信息不完整,這類目標的檢測精度較低。
對于遠距離目標,傳感器獲取的目標點云較少,在這種情況下,待檢測目標可能與場景中的背景混淆,造成誤檢。
如下圖所示,待檢測目標"Pedestrian"和直桿(背景)距離傳感器25米,獲取的點云稀疏,幾乎呈現相同的幾何形狀。這種相似的幾何表示給檢測帶來困難。
相較于整個場景點云,待檢測目標的點云的占比較少。PV-RCNN[3]指出在KITTI數據集中,待檢測目標的點云(point of interest)的個數大約為2K,而整體場景的點云個數大約為15K;這種差距在后續的點云下采樣過程可能會進一步擴大,進而導致可用的前景點特征少,導致檢測精度降低。
3. 點云稀疏性的解決方案針對點云稀疏性帶來3D目標檢測上的困難,涌現了一系列方法來緩解該問題,包括多模態數據融合、點云下采樣方法的改進、基于知識蒸餾的特征學習和點云補全等。下面,本文將對當前研究較多的解決點云稀疏性的方法進行匯總和總結,希望可以給大家帶來一些啟發。
3.1 改進點云下采樣方法整個場景的點云數很多,且背景點占比較大,將整個場景的點云全部送入網絡提取特征會極大的增大計算量,不能保證實時性。因此,現有的基于點云的3D目標檢測方法會先對場景點云進行下采樣,再將下采樣后的點云送入網絡提取特征和檢測。例如PointRCNN[4]在處理KITTI數據時,會先將場景點云隨機下采樣到16384個,再處理這16384個點云,用于特征提取和檢測。
但是,由于前景點在整個場景中占比較少,隨機下采樣點云可能會導致前景點的占比進一步較少,加劇前景點的稀疏性問題,降低檢測精度。因此,一些工作提出基于特征或基于語義感知的下采樣等方法來緩解該問題。
論文標題:3DSSD: Point-based 3D Single Stage Object Detector (2020CVPR oral)
論文地址:https://arxiv.org/pdf/2002.10187.pdf
作者單位:Zetong Yang等,港中文和港科技
核心思想:作者首先分析了基于點云的二階段3D檢測網絡,第一部分利用SA層下采樣和提取點云的語義特征,FP層用于上采樣,并將特征廣播到下采樣期間所丟棄的點,再利用3D RPN生成proposals;第二部分利用refinement模塊進一步提高初始proposals的精度;而作者認為FP層和refinement模塊耗時較多,可以移除;基于此,作者結合距離下采樣和特征下采樣,提出了一種融合的下采樣策略,從而平衡前背景點數量,保證足夠的前景點。
方法簡述:
- 為了盡可能保留前景點,刪除背景點,必須同時考慮距離信息和語義信息。而在深度學習框架中,很容易得到點云的語義信息,因此作者首先提出Feature-FPS(F-FPS),充分利用點云的特征信息進行下采樣,以保留目標的前景點;同時,考慮到背景點囊括了周圍的語義信息,有助于提升分類精度,因此進一步結合Distance-FPS(D-FPS),將距離信息考慮在內,提出了Fusion-FPS,進行場景點云下采樣。分別采樣N/2個點;
- 進一步提取采樣點特征,送入CG層,對于邊界框回歸任務而言,背景點是無用的,因此僅使用F-FPS的點作為初始中心點,這些初始中心點在其相對位置的監督下移動到其相應的實例中,得到候選點。然后,將候選點當做CG層的中心點,再通過預先設置的閾值從F-FPS和D-FPS的集合點中找到他們的周圍點,最后采用MLP提取它們的特征,這些特征用來預測最后的3D邊界框。
- 該方法在保證實時性(25FPS)的同時,在KITTI數據集和nuscene數據集上取得了不錯的精度。
論文標題:SASA: Semantics-Augmented Set Abstraction for Point-based 3D Object Detection (2022 AAAI)
論文地址:https://arxiv.org/pdf/2201.01976.pdf
作者單位:Chen Chen等,悉尼大學等
核心思想:現有的Set Abstraction通常以距離作為標準(如FPS),來選擇較遠的點來盡可能覆蓋整個場景,但是這樣會導致keypoints包含過多的背景點,從而導致pedestrian等點云數較少的object漏檢。針對該問題,作者對PointNet++做了兩處改進:增加一個前景背景點分割模塊來識別前景點作為輸入;提出S-FPS采樣策略來選擇關鍵點。
方法簡述:
- 給定輸入點云,先提取場景點云特征,再將其送入點云分割模塊,進行前背景點分割(二分類網絡,通過2層MLP實現),得到前景點分割得分;前背景點的標注信息通過3D標注的檢測框可以直接得到,即檢測框內的點為前景點,檢測外的點為背景點;
- 利用S-FPS(Semantics-guided Farthest Point Sampling),綜合考慮目標點的語義特征(分割得分)和距離信息,使得下采樣過程中前景點的權重比背景點更大,更容易采樣到前景點,將這部分前景點作為新的關鍵點,送入pointnet++提取更高維的特征,再送入已有的3D檢測框架完成檢測任務;
- S-FPS潛在劃分前景目標出現的區域,有助于后續網絡檢出目標;此外,由于S-FPS是從分割得分最高的點開始下采樣,對于點云的排列順序不敏感;該方法在KITTI和nuscene數據集上取得了不錯的精度。
3.2 基于知識蒸餾的特征遷移
對于現實場景中的點云,由于遮擋、遠距離等原因,采集的點云是稀疏的,導致模型提取的特征不完整,不利于3D檢測;但是,現實場目標存在某些共性特征,例如:車是對稱物體,車都有四個輪子等,對于人類而言,我們只要看到目標的某個部分,我們就可以知道該目標的類別和大概的位置。因此,一些工作考慮通過知識蒸餾、遷移學習等方法,利用完整目標的完整特征指導真實場景中殘缺目標的進行特征學習,或者將點云的深度信息引入到基于RGB圖像的3D目標檢測中。
論文標題:AGO-Net: Association-Guided 3D Point Cloud Object Detection Network (2022TPAMI)
論文地址:https://arxiv.org/pdf/2208.11658.pdf
作者單位:Liang Du等,復旦大學等
核心思想:作者將現實場景的不完整的稀疏點云定義為感知域,將對應場景補全的完整點云定義為概念域,通過孿生網絡輔助稀疏點云從完整點云學習特征,從而生成更完整的特征,進行目標檢測任務,且在測試階段不會引入額外的計算。
方法簡述:
- AGO網絡由一對孿生網絡組成,包括PFE(perceptual feature encoder)和CFG(conceptual feature generator),可以采用已有的3D檢測框架替換;以及SC-weight模塊,輔助網絡對加強場景的前景特征的學習;
- 首先,單獨訓練感知域的網絡(CFG)。該網絡的輸入數據是真實場景的稀疏點云(上圖中的Perceptual)補全后的完整點云(上圖中的Conceptual),經過3D BEV encoder后得到的是完整的目標特征,該特征送入檢測頭可以得到接近100%的檢測精度,當CFG訓練完成后,凍結該網絡,用于給后續PFE的訓練提供完整且穩定的特征;
- 再訓練整個AGO網絡。具體而言,將真實場景的稀疏點云輸入PFE,經過與CFG相同結構的3D BEV encoder,抽取特征;同時,補全后的點云輸入已經訓練過且凍結參數的CFG,用于產生完整的特征;再利用CFG產生的完整特征指導PFE進行特征學習,MSE損失函數作為約束函數,促使PEF產生完整的目標特征;此外,作者還引入SC-weight模塊輔助PFE 更好的學習完整特征,該模塊通過前景mask將前景特征摳出來,使得網絡聚焦于前景特征的學習;
- 測試階段,去除CFG模塊,只留下PFE模塊,在測試階段不會增加額外的計算;而且,由于PFE模塊在訓練階段有了CFG模塊的指導,可以生成更完整的特征,因而可以取得不錯的檢測結果。
論文標題:MONODISTILL: LEARNING SPATIAL FEATURES FOR MONOCULAR 3D OBJECT DETECTION (2022 ICLR)
論文地址:https://arxiv.org/pdf/2201.10830.pdf
作者單位:Zhiyu Chong等,大連理工大學等
核心思想:基于單目圖像的3D目標檢測由于缺乏深度信息,其3D檢測的性能一直差強人意;因此,作者考慮通過teacher-student框架,將點云的深度信息(spatial cues)引入到單目圖像的3D目標檢測網絡,提升檢測精度;對于點云和RGB圖像不同的特征表示,作者將點云投影到圖像平面,進行特征對齊。
方法簡述:
- 基于單目圖像的3D檢測模塊(即student網絡):首先,將單目圖像輸入到已有的3D目標檢測框架,提取RGB圖像特征,具體而言,采用DLA-34 作為 backbone,一些并行的 heads 用于預3d 目標檢測,
- 基于點云的3D檢測模塊(即teacher網絡):為了保證點云和RGB圖像的特征的一致性,使用和student一樣的模型結構,只是將輸入換成深度補全后的點云深度圖,即先將點云輸入投影到RGB圖像平面,得到sparse深度圖,再利用插值算法得到dense深度圖,將其輸入到與student相同的3D目標檢測網絡,提取“點云”特征,該網絡作為teacher網絡;
- 作者進一步在特征層面和結果層面提出scene-level、object-level知識蒸餾,以幫助student網絡更好的從teacher學習到點云的深度信息;
- 同樣,在測試階段,去除teacher網絡,只保留student網絡,沒有引入額外的計算量;且沒有改變原始的單目圖像的3D檢測框架。
3.3 多模態數據融合
基于多模態數據融合的3D目標檢測主要指利用跨模態數據提升模型的檢測精度。一般而言,多模態數據包含:圖像數據、激光雷達數據、毫米波雷達數據、雙目深度數據等,本文主要關注當前研究較多的圖像+點云融合的3D目標檢測模型。點云數據具備目標的幾何信息和深度信息,但缺乏目標的顏色和紋理信息,而這些信息對于目標的識別分類十分重要;圖像數據顏色和紋理信息豐富,但缺乏深度信息,不能很好的定位目標。因此,一些工作考慮結合二者數據的優點,進行3D目標檢測任務。
論文標題:CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection (2020 IROS)
論文地址:https://arxiv.org/pdf/2009.00784.pdf
作者單位:Su Pang等,Michigan State University
核心思想:作者認為,對于決策級的融合而言,多模態數據不需要與其他模態進行同步或對齊,且利用二者的檢測結果排除了大部分冗余背景區域,因此更有助于網絡學習;方法相對而言比較簡單,CLOCs是利用檢測結果進行的跨模態融合,屬于決策級融合的范疇。
方法簡述:
- 將RGB圖像輸入到已有的2D目標檢測模型中,得到k個2D檢測框,表示2D圖像中潛在含有目標的區域;
- 同時將點云輸入到已有的3D目標檢測模型中,得到n個3D檢測框,表示3D場景中潛在含有目標的區域;
- 對于2D和3D檢測結果k和n,構建新的矩陣T,包括描述二者幾何一致性的IoU(IoU=0的檢測框直接去除)、2D檢測框的置信度得分、3D檢測框的置信度得分和3D檢測框到地面的歸一化距離d;
- 進一步對保留的候選框進行特征提取,得到最終的檢測結果。
論文標題:Sparse Fuse Dense: Towards High Quality 3D Detection with Depth Completion (2022CVPR)
論文地址:https://arxiv.org/pdf/2203.09780.pdf
作者單位:Xiaopei Wu等,Zhejiang University
核心思想:作者認為目前戶外點云+圖像的方法沒有純點云的方法效果好的原因包括2個,(1)多模態的數據增廣困難以及(2)現在方法大多是從點云找對應的圖像融合特征,但是點云能對應上的像素點比較少,沒有完全利用好圖像的特征。因此,作者考慮多模態特征加權融合,以及跨模態對齊問題;SFD利用的是3D場景預測出的候選框,并在不同模態數據上進行特征提取,因此屬于RoI-level的融合范疇
方法簡述:
- 先利用深度補全網絡,將原始RGB圖像映射到3D場景中,對圖像上的像素點進行深度補全,在KITTI數據集上預訓練后再訓練目標檢測網絡時不再改變參數,進一步生成偽點云;補全后的點云就由sparse變為dense了,且每個像素都有了對應的點云;
- 再利用dense且包含顏色信息的偽點云進行特征提取,再和原始點云特征融合,進一步生成候選框;
- 在fusion模塊,對每一個候選框,分別提取點云特征和偽點云特征;對點云特征和偽點云特征,利用attention進行重新加權,并輸出最后的檢測結果;
- 此外,作者還提出了一種適用于多模態的數據增強方法SynAugment,包括Manipulate Images like Point Clouds(多模態數據增強的最大挑戰是如何處理像點云這樣的圖像。作者通過深度補全的方法,將2D圖像轉換為偽點云,此時偽點云承載了圖像的所有信息,然后像處理原始點云一樣處理偽點云),和Extract Image Features in 3D Space(即將2D圖像轉化為偽點云,然后在3D空間中提取偽點云特征)
論文標題:Pointpainting: Sequential Fusion for 3D Object Detection (2020CVPR)
論文地址:https://arxiv.org/pdf/1911.10150.pdf
作者單位:Sourabh Vora等,nuTonomy
核心思想:利用細粒度圖像分割信息對3D點云進行補全,即將點云投影到圖像語義分割網絡的輸出中,并將分類分數附加到每個點云上,從而增加點云的語義信息;
方法簡述:
- 2D語義分割網絡:使用一個基于圖像的分割網絡來計算pixel-wise分割分數;
- Painting/Fusion:將2D中預測出的分割結果投影到對應的3D point中,對原始3D信息進行補全;
- 3D目標檢測:利用補全后的3D點云進行預測,不需要改變原始3D目標檢測框架,只需要改變輸入的維度即可,由N變為N+1;
3.4 點云補全
針對稀疏點云的目標,一些方法直接采用點云補全的方式,先將目標補充為較為完整的目標,再進行3D目標檢測。
論文標題:Spatial information enhancement network for 3D object detection from point cloud (2022 PR)
論文地址:https://arxiv.org/pdf/2012.12397.pdf
作者單位:Ziyu Li等,東南大學等
核心思想:作者考慮到距離傳感器遠近目標中點云數量的不平衡的問題,即距離LiDAR較遠的目標收集到的點數相對較少,作者認為網絡是難以處理這種不平衡性;進而提出一種空間信息增強的模塊,從稀疏的、不完整點云預測密集的、完整的空間表示,來緩解這種不平衡性。
方法簡述:
- RPN模塊:首先,對輸入點云體素化,使用SPConv卷積學習體素特征,然后Keypoint分支使用注意力機制動態編碼體素特征,作者還提出一個輔助模塊(將坐標轉換為真實場景坐標,再使用PointNet++特征傳播層進行插值,將每一塊得到的特征進行結合用以學習結構信息)用于學習結構信息;
- Spatial information enhancement(SIE)模塊:來預測完整的空間表示。首先,對于proposal中不完整的點云,將其輸入到一個成熟的3D補全框架(如PCN[5]),來生成完整的目標形狀;然后,對于預測的點云,使用FPS采用m個點云,利用pointnet++提出多尺度特征,再利用全連接層將其轉化為全局特征;
- 特征融合和3D檢測模塊:將生成的全局特征與原始點云pooling后的特征進行加權融合,得到enhanced feature,進行檢測任務,并在KITTI數據集上取得了目前最好的精度;
論文標題: Multimodal Virtual Point 3D Detection(2021 NeurIPS)
論文地址:https://arxiv.org/pdf/2111.06881.pdf
作者單位:Tianwei Yin等,UT Austin等
核心思想:作者結合實例分割網絡,先對2D圖像進行分割,利用分割結果生成虛擬點云,對原始場景補全,得到完整的目標進行3D檢測。
方法簡述:
- 首先對2D圖像進行實例分割,得到分割結果,本文采用的是CenterNet2作為實例分割網絡;
- 再將點云投影到2D圖像上,每個實例上都會有一些投影的點云,如(b)所示,mask內的點云為黑色,其余的點云為灰色;
- 根據前景區域內點云的深度信息生成虛擬點云,生成虛擬點的方法是在2D實例分割區域中進行隨機采樣K個點,根據周圍點云的深度插值得到這K個點的深度值;
- 最后再將這K個點投影到點云坐標系,得到虛擬點云,達到了對原始場景補全的目的,再進行3D檢測。
4. 參考文獻
A. Geiger, P. Lenz, and R. Urtasun, “Are we ready for autonomous driving? the KITTI vision benchmark suite,” in Proc. IEEE Conf. Comput. Vis. Pattern Recog., 2012, pp. 3354–3361.
Zhou Y, Tuzel O. Voxelnet: End-to-end learning for point cloud based 3d object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 4490-4499.
Shi S, Guo C, Jiang L, et al. Pv-rcnn: Point-voxel feature set abstraction for 3d object detection[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2020: 10529-10538.
S. Shi, X. Wang, and H. Li, “PointRCNN: 3D object proposal generation and detection from point cloud,” in Proc. IEEE Conf. Comput. Vis. Pattern Recog., 2019, pp. 770–779.
W. Yuan, T. Khot, D. Held, C. Mertz, M. Hebert, PCN: point completion network, in: 3DV, 2018, pp. 728–737.
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。