張冬冬,郭 杰,陳 陽
陸軍工程大學,南京 210007
目標檢測,作為三維數據處理與分析的基礎技術、基礎算法,是計算機視覺當前熱門研究方向之一。目前主流的3D數據表示方法主要有深度圖、三角網格、體素和點云。其中,點云是最簡單的一種3D數據表示方法,具有獲取簡單、易于存儲、可視性強、結構描述精細等優點,而且能夠方便地與深度圖、體素等其他數據格式相互轉換,已成為最基本的3D數據格式。近年來,隨著深度傳感器和三維激光掃描儀的普及運用,點云的獲取變得越來越便捷,數據量、數據種類迅速增長,針對點云場景中的三維目標檢測也因此深受關注,應用前景非常廣泛。
隨著深度學習的迅速發展和廣泛應用,研究人員提出了大量基于深度學習的三維目標檢測方法[1-4]。按照輸入數據劃分,主要有圖像點云融合方法和純點云方法。圖像點云融合方法,結合了圖像的高分辨率優勢和點云的精確位置信息優勢,首先利用成熟的二維目標檢測算法從圖像中獲得目標位置,然后利用圖像與點云的映射關系從點云中獲得目標的候選區域,再從該區域提取目標的3D包圍盒,典型的方法有F-PointNet[5]、Point-Fusion[6]、SIFRNet[7]、F-ConvNet[8]等。純點云方法,按照點云的特征提取方式區分,可分為基于體素的方法和基于原始點云的方法。其中,基于體素的方法首先將點云轉化為一個個堆疊的、相同大小的規則體素網格,然后提取體素網格特征,再進行類別和位置的預測回歸,典型的方法有VoxelNet[9]、SECOND[10]、CIA-SSD[11]、SE-SSD[12]等;基于原始點云的方法直接作用于原始點云,直接學習提取點的特征,然后回歸物體的3D包圍盒,典型的方法有VoteNet[13]、PointRCNN[14]、STD[15]、3DSSD[16]等。
盡管上述方法在三維目標檢測任務上都取得了不錯的效果,達到了較高的精度和速度,但仍存在一定局限性。其中,圖像點云融合方法的精度受二維目標檢測器影響非常大,如果目標在二維圖像中未被檢測到,那么就不會在點云中繼續檢測,會出現漏檢,并且此類方法需要將圖像中檢測的目標映射回點云,因此對傳感器的同步要求很高。基于體素的方法,在將點云體素化過程中會有信息的隱性丟失。基于原始點云的方法,由于點云自身的稀疏性、離散性、無序性和旋轉平移不變性等特點,特征提取算法設計較為復雜,且難以處理大規模點云。
基于原始點云的三維目標檢測是一個非常具有挑戰性的任務,主要有三大難點:一是原始點云數據量大,數據降采樣計算代價昂貴、內存占用大;二是原始點云特征提取不充分、特征信息隱性丟失、感受野有限,且特征提取算法復雜、計算代價高;三是原始點云中的點均為物體表面點而非物體中心點,直接用物體表面點回歸預測會導致候選包圍盒質量不高。
為提高三維目標檢測的精度和速度,本文提出了基于原始點云、單階段、無錨框的RPV-SSD算法,針對以上問題,設計了隨機體素采樣層,能夠利用隨機采樣的效率優勢和體素網格采樣的相對均勻分布優勢,解決原始點云降采樣難的問題,使得采樣點鋪滿整個空間且包含更多前景點;設計了特征聚合層,能夠聚合關鍵點逐點特征、3D稀疏卷積特征和鳥瞰圖特征,解決點云特征提取不充分等問題;設計了候選點生成層,能夠利用點的聚合特征將點向物體中心進行自修正,解決3D包圍盒回歸質量不高的問題。
RPV-SSD算法網絡結構如圖1所示,具體可分為五個部分:(1)隨機體素采樣層,主要是將原始點云按照隨機體素采樣方法進行降采樣,獲得關鍵點點云。(2)3D稀疏卷積層,先將原始點云體素化,然后利用3D稀疏卷積提取點云特征,并將之投影到俯視圖下獲得鳥瞰圖特征,待后續進行特征聚合。(3)特征聚合層,首先利用PointNet++[17]的SA(set abstraction)模塊提取關鍵點逐點特征,然后從上一層獲得的3D稀疏卷積特征和鳥瞰圖特征中,取出每個關鍵點對應位置的特征,與逐點特征進行連接聚合。(4)候選點生成層,首先從關鍵點點云中取出關鍵點坐標,然后利用關鍵點的聚合特征為每個點生成一個坐標偏移量,兩者相減即得到修正的候選中心點坐標。(5)區域建議網絡層,將候選中心點坐標與特征聚合層獲得的聚合特征組合,回歸預測物體類別、3D包圍盒及物體朝向。

圖1 RPV-SSD網絡結構示意圖Fig.1 Network framework of RPV-SSD
激光雷達掃描的原始點云可能包含幾十萬甚至百千萬個點,為降低數據規模,需對點云進行降采樣。降采樣難點主要有二,一是降采樣算法的時間復雜度較高,二是點云的有效空間特征信息難保持。
現有的采樣方法主要有最遠點采樣、格點采樣、曲率采樣、隨機采樣等。其中,最遠點采樣每次從點云中取一個距離已采樣點集最遠的點作為新采樣點,該方法能夠較好地保證采樣點的均勻分布和場景覆蓋率,但計算復雜度較高,與輸入點云的點數量呈平方相關。格點采樣將點云體素網格化后,從每個網格里采樣自定義數量個點,其效率非常高,采樣點分布也比較均勻,但均勻性相對最遠點采樣較低。曲率采樣在曲率越大的地方采樣點個數越多,由于噪點附近曲率較小,所以其抗噪性較強。隨機采樣隨機地從點云中進行采樣,每個點具有相同的被選中概率,其采樣效率非常高,但場景覆蓋率和點的均勻分布較差。
本文設計了隨機體素采樣算法,首先將點云體素網格化,然后對點云進行隨機采樣并放入對應體素網格。由于設置了體素網格最大采樣點數,所以密集區域點云采樣會受到抑制,相對地稀疏區域點云采樣概率會得到提升,致使采樣點更可能覆蓋整個點云空間。該算法核心思想是利用了隨機采樣和格點采樣二者的優勢,在保證采樣效率的情況下,提高場景覆蓋率和前景點比例,最大限度保持原始點云有效空間特征信息,隨機體素采樣算法描述如下所示:

首先,輸入N×3維的原始點云LiDAR,設置采樣點總數量K,體素網格尺寸vd、vh、vw,單個體素網格最大采樣點數T,以及采樣點的范圍xrange、yrange、zrange。初始化相關參數,主要包括計算體素網格尺寸范圍D、H、W(高、寬、長),初始化體素網格內點的數量counts矩陣,隨機排列原始點云的數組順序,初始化已采樣點個數k和已采樣關鍵點集合keypoints。然后,從隨機排列的點云LiDAR中按順序取出第i個點(xi,yi,zi)。對于第i個點,首先判斷該點是否在采樣范圍內,如果“否”則舍棄該點繼續循環下一個點,如果“是”則計算該點所處的體素網格坐標(di,hi,wi),并進行兩個判斷:(1)判斷當前已采樣點的總個數k是否已達到采樣目標數量K,如果達到則跳出循環結束采樣,否則繼續循環;(2)判斷第i個點所處的體素網格內已采樣點數量counts[di,hi,wi]是否達到單個體素網格最大采樣點數T,如果“是”則舍棄該點繼續循環,如果“否”則將該點添加到關鍵點集合keypoints中,同時將counts[di,hi,wi]和k分別加1,至此第i個點循環結束。遍歷整個點云,最終輸出K×3維的關鍵點集合keypoints。
表1和圖2所示為隨機體素采樣和最遠點采樣在KITTI數據集[18]上的對比實驗結果(采樣率設置為0.1),可以明顯看出,隨機體素采樣在相同采樣率條件下,較最遠點采樣能夠采集更多的前景點。

表1 KITTI數據集降采樣對比實驗Table 1 Sampling experiments on KITTI datasets

圖2 KITTI數據集降采樣對比實驗Fig.2 Sampling experiments on KITTI datasets
3D稀疏卷積層主要利用稀疏卷積算法[10]提取點云特征,其核心思想是建立一個輸入輸出規則對照表(RuleBook),使得卷積計算僅在非空體素網格上進行,避免了無效的空卷積操作,大大提高了卷積效率。
稀疏卷積算法包括兩種卷積,一種是常規稀疏卷積,另一種是位置不變稀疏卷積,也譯作子流形卷積。主要區別在于卷積的計算方式:常規稀疏卷積在3D卷積核覆蓋非空體素時即進行卷積計算,而位置不變稀疏卷積只有當3D卷積核的中心覆蓋非空體素時才進行卷積計算,圖3對兩種卷積進行了示意說明。

圖3 兩種稀疏卷積操作區別示意圖Fig.3 Schematic diagram of difference between two sparse convolution operations
3D稀疏卷積層具體實現如下:
(1)點云體素化。對任意輸入的點云,首先將其轉換成體素網格。由于點云本身所處的三維空間是無限大的,為生成體素需確定一個有限的采樣范圍。以KITTI數據集Car為例,其在z軸、y軸、x軸的采樣范圍分別為[-3,1]、[-40,40]、[0,70.4](單位:m),體素網格尺寸vd、vh、vw分別為0.1 m、0.05 m、0.05 m,因此生成的體素網格高度、寬度、深度尺寸D、H、W分別為40、1 600、1 408。單個體素網格最大采樣點數T取5,體素網格采樣最大數量取16 384。
(2)體素特征提取。假設由第一步得到一個非空體素網格V={pi=[xi,yi,zi,ri]T}∈?4}i=1,2,…,t,表示該體素網格中包含t個點(其中t不大于T),每個點pi包含4個維度特征,分別代表點云的三維空間坐標(xi,yi,zi)和反射強度ri,因此初始輸入特征尺寸為(t,4)。首先計算該體素網格中所有采樣點的中心點坐標(vx,vy,vz),計算方法如下:

然后利用中心點坐標計算該體素內每個點的相對偏移量(xi-vx,yi-vy,zi-vz),得到尺寸大小為(t,3)的相對坐標特征,并將每個點的相對偏移量與其初始輸入特征疊加,得到大小為(t,7)的體素特征Vin={p?i=[xi,yi,zi,ri,xi-vx,yi-vy,zi-vz]T}∈?7}i=1,2,…,t。最后,利用體素特征提取層[9(]voxel feature encoding)進一步提取體素網格特征Vout。
(3)稀疏卷積。稀疏卷積網絡結構如圖4所示,其中橙色方形表示位置不變稀疏卷積SubMConv3d,藍色方形表示常規稀疏卷積SparseConv3d,兩類卷積均包含(in_channels,out_channels,kernel_size,stride,padding)5個參數,其中in_channels、out_channels表示輸入、輸出特征通道數,kernel_size表示卷積核尺寸(默認為3),stride表示卷積步長(默認為1),padding表示填充數量(默認為0)。每個卷積后均連接1個批歸一化層和1個ReLU激活函數。該網絡由Conv1、Conv2、Conv3、Conv4四個卷積組構成,每組都進行了padding操作,并且除第一組外,每組都進行了下降樣(卷積步長為2)。輸入第二步得到的體素網格特征Vout,可計算得到每組卷積的體素特征f conv1、f conv2、f conv3、f conv4及鳥瞰圖特征f BEV。以KITTI數據集Car為例,輸入(40,1 600,1 408)尺寸的體素網格特征,最終將得到(2,200,176)的二維鳥瞰圖特征。

圖4 3D稀疏卷積層網絡結構示意圖Fig.4 Network framework of 3D sparse convolutional layer
特征聚合層由兩部分組成,第一部分是生成關鍵點集合的局部特征,第二部分是特征聚合。具體如下:
(1)關鍵點特征生成。利用PointNet++[17]的SA模塊對關鍵點進行逐點特征提取。SA模塊包括采樣、分組、特征提取三個步驟,其中:采樣是將原始點云降采樣成若干個關鍵點,主要利用隨機體素采樣算法進行降采樣;分組,利用球查詢求得以關鍵點為中心的球半徑范圍內所有點集合,將其編為一個組,通過改變球半徑大小可以獲得不同的感受野;特征提取,將PointNet[19]網絡應用于每個分組的點,得到分組特征。重復SA模塊逐級提取過程,可獲得整個點云的特征
(2)特征聚合。主要是聚合關鍵點特征、3D稀疏卷積特征和鳥瞰圖特征。對于keypoints關鍵點集合中的任意點pi來說,將其逐點特征與3D稀疏卷積特征和鳥瞰圖特征進行拼接,得到將其送入多層感知機MLP中,得到(N,d′)維關鍵點聚合特征。
逐點特征不僅包含每個關鍵點的精確坐標,利于后續3D包圍盒回歸,而且由于采用了PointNet++中的SA模塊進行特征提取,因此具有較大且更為靈活的感受野;3D稀疏卷積特征和鳥瞰圖特征由體素化點云稀疏卷積計算得到,不僅計算效率高,而且包含了由低到高多個級別語義特征,能夠描述更為精細的點云空間結構。聚合了上述所有特征,相比于單個點云特征,其涵蓋了更多有用信息,特征提取更充分。
激光雷達通過發射激光束測算物體的位置,激光遇到物體表面即發生反射,故激光雷達采集的點云位于物體表面而非物體中心。然而,利用物體表面點直接進行3D包圍盒回歸,包圍盒質量較差,而利用物體中心點進行回歸,效果相對較好[13]。因此,Qi等人設計了VoteNet,利用霍夫投票網絡生成一些靠近物體中心的虛擬點。為提升包圍盒質量,本文設計候選點生成層,利用MLP將關鍵點(降采樣得到的物體表面點)向物體中心進行修正,如圖5所示。

圖5 關鍵點坐標修正示意圖Fig.5 Schematic diagram of keypoints coordinates correction
首 先 從keypoints={pi=[xi,yi,zi,ri]T}∈?4}i=1,2,…,K中取出關鍵點pi的三維坐標(xi,yi,zi);利用該點的聚合特征,估計該點概略中心位置。具體地,設計一個MLP函數,在對網絡訓練時,引入一個強監督,即利用真值標簽的物體中心點坐標,對物體表面點與中心點的坐標偏移量進行監督學習,監督標簽設為預測時,利用聚合特征估計坐標偏移量,并將其與關鍵點坐標相減得到坐標為的點,稱之為候選點,作為下一步回歸的近似中心點。
區域建議網絡采用anchor-free方法回歸物體的3D包圍盒,采用三維中心度方法計算物體的類別。將候選點坐標與聚合特征拼接組合,作為區域建議網絡的輸入。
(1)3D包圍盒回歸
為實現物體3D包圍盒的無錨預測,將其參數化為(dx,dy,dz,dl,dw,dh,r)7個目標回歸量,其中(dx,dy,dz)表示候選中心點到真值標簽中心點的距離,(dl,dw,dh)表示預測物體的長、寬、高尺寸信息,r代表偏航角yaw,即物體繞y軸(velodyne坐標系下為z軸)的旋轉角度。
(2)物體分類
區域建議網絡會生成許多重復地3D包圍盒,質量參差不齊,一般通過NMS方法去除冗余,僅保留置信度較高的包圍盒。然而,分類置信度和定位精度之間存在不對齊問題[11],也即兩者不完全成正比,存在置信度分值較高但包圍盒質量較差的情況,致使NMS剔除了質量較好的3D包圍盒,導致檢測精度下降。
為了緩解這種不對齊問題,借鑒FCOS[20]提出的二維目標檢測中心度,如圖6所示,提出三維中心度。三維中心度是一個0到1之間的值,計算公式如式(2)所示,反應了候選中心點到真值標簽中心點的(標準化)距離,越大表明該點越靠近物體中心。


圖6 中心度示意圖Fig.6 Schematic diagram of centerness
式中,(f,b,l,r,t,d)6個變量分別表示候選中心點到其對應的真值標簽包圍盒前、后、左、右、上、下六個面的距離。
首先,在3D包圍盒NMS操作前將該包圍盒的置信度分值乘以其對應候選中心點的三維中心度,得到真正用于NMS的置信度分值,從而過濾掉中心度較小、質量較差但置信度分值較高的包圍盒。根據候選中心點是否在某一個物體內確定一個lmask,這個是一個非0即1的二值,表示是否在物體內。最后,對于任一候選中心點,將lctrness與lmask相乘得到最終的分類標簽ui。
RPV-SSD的全局訓練損失函數由分類損失、回歸損失和候選點偏移損失三部分組成,計算公式如下:

式中,Nc表示所有候選點的個數,Np表示候選點中屬于前景點(即待檢測物體)的個數,Lc、Lr、Ls分別表示分類損失、回歸損失和候選點偏移損失。
(1)分類損失
分類損失Lr采用交叉熵損失(cross entropy loss)函數計算,計算公式如下:

式中,si表示神經網絡分類分支的預測值,ui表示分類標簽,由lctrness與lmask相乘得到。
(2)回歸損失
回歸損失Lr主要包括距離回歸損失Ldist、尺寸回歸損失Lsize、角度回歸損失Langle和角點回歸損失Lcorner四個方面。
①距離回歸損失Ldist,采用smooth L1損失函數對候選中心點到真值標簽中心點的距離(dx,dy,dz)進行計算,計算公式如下:

其中:

②尺寸回歸損失Lsize,同樣采用smooth L1損失函數對預測目標的長寬高尺寸(dl,dw,dh)與真值標簽尺寸(l,w,h)的差值(dl-l,dw-w,dh-h)進行計算,計算公式如下:

③角度回歸損失Langle,包含bin、res兩部分,其中整數部分bin采用分類損失,小數部分res采用回歸損失,計算公式如下:

式中,dca、dra分別代表預測角度的整數部分和小數部分,tca、tra分別代表真值標簽中偏航角對應的整數部分和小數部分。
④角點回歸損失Lcorner,即預測包圍盒的八個角點{Pm}m=1,2,…,8與真值標簽八個角點{Gm}m=1,2,…,8之間的歐式距離,計算公式如下:

(3)偏移損失
偏移損失是針對候選點生成層中的監督學習任務設計的,計算的是候選點向中心點修正時預測的坐標偏移量(xishift,yishift,zishift)與候選點到對應的真值標簽中心點實際坐標偏移量zi-zigt)之間的誤差,同樣采用smooth L1損失函數計算,計算公式如下:

本文在KITTI三維目標檢測數據集上對RPV-SSD算法性能進行了測試評估,并與當前性能較好的一些方法做了對比,最后對檢測結果進行了可視化分析。
本文所使用的實驗硬件平臺為Intel?Xeon Silver 4110 CPU@2.10 GHz(雙處理器),內存(RAM)64 GB,NVIDIA GTX 2080Ti顯卡(顯存16 GB),操作系統為Ubuntu 16.04LTS,實驗軟件:使用Python3.7.10和Pytorch1.3.1搭建深度學習網絡模型,使用CUDA 10.1和cuDNN 7.6.5進行計算加速,使用mayavi 4.7.1、opencv 3.4.2和matplotlib 3.3.2分別進行點云和圖像可視化。
訓練過程中,按照文獻[21]中所描述的方法將KITTI訓練集按照0.5∶0.5的比例劃分為訓練集與驗證集,二者分別包含3 712張圖像和3 769張圖像。對于不同類別目標的IoU閾值設置,汽車的設為0.7,行人和騎行的人設為0.5,當預測框與真值框交并比超過這一閾值,則認為命中該實例。
訓練時,采用Adam算法對網絡模型參數進行優化更新,訓練的epoch設置為200個,batch_size設置為4,每個epoch迭代928個batch,總迭代步數steps共18.56萬個,Adam優化器初始學習率設置為0.001,動量系數β1和β2設置為0.9和0.999,學習率ηt隨著迭代epoch次數增加而衰減,衰減率ρ設置為0.8,每20個epoch衰減一次,學習率更新公式如下:

式中,t為已完成訓練的epoch總次數,T取20表示衰減周期。
表2列出了不同算法在KITTI汽車(Car)上的3D檢測結果和BEV檢測結果(利用平均精度AP作為評測度量),表中“L”和“R”代表LiDAR點云和RGB圖像。

表2 不同算法在KITTI汽車上的檢測結果Table 2 Detection results of different algorithms on KITTI car
可以看出,RPV-SSD算法在KITTI汽車上的檢測精度較3DSSD有顯著提升。在3D目標檢測基準上,RPV-SSD在簡單、中等、困難三個檢測難度上分別提升約2.13、0.89、1.60個百分點,如圖7所示;在BEV目標檢測基準上,分別提升約2.08、0.63、0.26個百分點。算法精度的提升,分析認為是由于在特征提取時聚合了3D稀疏卷積特征和鳥瞰圖特征。在算法的時間復雜度方面,RPV-SSD較3DSSD相對較長,單幀數據推理時間分別為44 ms和38 ms,分析認為是增加了體素稀疏卷積導致推理時間變長。

圖7 3DSSD和RPV-SSD的3D檢測結果對比Fig.7 Comparison of 3DSSD and RPV-SSD 3D object detection results
為比較逐點特征、3D稀疏卷積特征、鳥瞰圖特征和候選點生成層對算法性能提升的貢獻率,本文做了消融實驗,即把上述模塊分別從原始模型中移除,然后對網絡重新訓練,觀察各個模塊移除后檢測性能的變化,具體實驗結果如表3和表4所示。

表3 各級別特征對模型性能的影響Table 3 Influence of characteristics of different levels on model performance

表4 候選點生成層對模型性能的影響Table 4 Influence of candidate point generation layer on model performance
由表3可以看出,單獨利用逐點特征、3D稀疏卷積特征、鳥瞰圖特征進行訓練時,模型性能下降較大。當只使用來自關鍵點的逐點特征時,模型性能下降4.14個百分點,分析認為是逐點的淺層特征不足以提出較好的候選框。當在逐點特征基礎上再聚合深層的3D稀疏卷積特征或更高級別的鳥瞰圖特征時,則能顯著提高模型性能,分別提升3.56和3.22個百分點。如果更進一步聚合所有特征,則仍能繼續提升性能,分別提升0.58和0.92個百分點,達到最終模型的最佳性能。對于這一步性能提升幅度變小的原因,分析認為是3D稀疏卷積特征與鳥瞰圖特征具有某種相關性,當已經聚合了某一個時,再聚合另一個對模型性能影響減小。從上述數據比較中可以得出,對于模型性能提升的貢獻率,3D稀疏卷積特征>鳥瞰圖特征>逐點特征。
由表4可以看出,移除候選點生成層,平均精度降低了9.18個百分點,說明利用物體不同位置的點進行3D包圍盒回歸,對模型的性能影響較大。分析認為,利用物體近似中心點回歸3D包圍盒,相較于物體表面點,能夠得到更高質量的包圍盒,提升了網絡預測與真值標簽3D包圍盒的交并比,進而提升了精確率和召回率,提高了精度。
本文對RPV-SSD算法預測的類別和3D包圍盒進行了可視化,并與真值標簽進行了對比,圖8展示了四個不同場景的對比結果。其中,每個場景的左上圖為相機圖片,左下圖為點云截圖,右圖為鳥瞰圖。為便于觀察對比,使用綠色包圍盒和文字表示算法的預測結果,紅色包圍盒和文字表示真值標簽,點云截圖中每個包圍盒附近的“Car”“Pedestrian”“Cyclist”(圖像和鳥瞰圖中每個包圍盒附近的“C”“P”“B”)分別表示汽車、行人和騎行的人三類目標。為更好地進行可視化分析,從KITTI數據集calib參數文件中取出相機與激光雷達傳感器的轉換矩陣,將3D包圍盒從velodyne坐標系映射到相機坐標系,并將其顯示在相機圖片中。

圖8 不同場景算法預測結果與真值標簽對比示例Fig.8 Example of comparison between algorithm prediction results and truth labels in different scenarios
根據上述可視化結果,分析得出:
(1)RPV-SSD算法不僅能夠檢測出近處遮擋較少、數據點豐富的物體,而且對于遠處遮擋、截斷、重疊、數據點稀疏的物體同樣有效。以圖8(a)場景為例,算法可以將真值標簽中的7輛汽車(Car)全部命中,并且回歸質量較高的3D包圍盒。對于部分被遮擋未標注的汽車,雖然圖片中無法準確辨識,但算法仍然能夠做出準確預測,說明算法能夠利用物體的部分點云預測出物體的類別和整個包圍盒。圖8(d)中的可視化結果更能說明這一點,算法不僅檢測到了真值標簽中的8個行人(Pedestrian)和1個騎行的人(Cyclist),還檢測出了道路遠處密集重疊在一起的行人和汽車。分析認為,此類目標的點云雖然較為稀疏,但隨機體素采樣方法仍能采集到目標關鍵點,進而實現檢測。另一方面也從側面反映出基于點云的目標檢測優勢,它能夠非常容易辨識和定位二維圖像上難以區分開的遮擋重疊目標。
(2)RPV-SSD算法存在錯誤檢測和虛假檢測的情況。以圖8(b)場景為例,算法雖命中了真值標簽中的所有目標,并檢測出了遠處遮擋重疊的未標注汽車,但卻將遠處騎行的人誤檢測為行人,并且將道路旁邊的墻面和花草虛檢測為行人。圖8(c)場景也出現了此類情況,算法將遠處的廣告標牌虛檢測為行人,將路邊停放的一輛自行車虛檢測為騎行的人。對于誤檢和虛檢的情況,分析認為是其點云分布的三維空間結構與誤(虛)檢目標的形態較為相似,雖然在圖像中能夠清晰的分辨出差異,但是在三維點云中卻難以區分。對于這種情況,一個可行的解決思路是集成學習方法,即利用圖像和點云兩種傳感器數據分別實現目標檢測后再進行集成對比檢測。
本文在梳理三維目標檢測技術路線的基礎上,分析了當前基于原始點云的三維目標檢測任務存在的困難挑戰,提出了一種基于原始點云、單階段、無錨框的三維目標檢測算法RPV-SSD。KITTI數據集上的實驗結果和可視化分析表明,該算法整體表現良好,不僅能夠命中真值標簽中的目標并且回歸質量較高的3D包圍盒,還能夠從物體的不完整點云(距離較遠、存在遮擋截斷重疊等情況)推測出物體的類別及其完整形狀。