?

基于原始點云網格自注意力機制的三維目標檢測方法

2023-11-19 06:52魯斌孫洋楊振宇
通信學報 2023年10期
關鍵詞:體素中心點尺度

魯斌,孫洋,楊振宇

(1.華北電力大學計算機系,河北 保定 071003;2.復雜能源系統智能計算教育部工程研究中心,河北 保定 071003)

0 引言

近年來,三維目標檢測技術作為機器人和自動駕駛感知系統的關鍵技術之一,已經取得了顯著的進步。該技術利用由激光雷達捕獲的點云數據來描繪物體的三維結構,估計其姿態,并感知空間距離。因此,激光雷達成為三維目標檢測的首選傳感器?;谠键c云的三維目標檢測旨在利用這些點云數據來識別環境中物體的類別、位置、大小和方向,為深入理解場景提供基礎。然而,與圖像不同,點云數據是無序且不均勻的,這使無法直接使用卷積神經網絡(CNN,convolutional neural network)來學習特征,從而增加了基于點云的三維目標檢測技術的挑戰性。

目前,大多數檢測方法采用兩階段范式,以獲得更好的檢測效果。例如,PV-RCNN[1]使用SECOND(sparsely embedded convolutional detection)[2]和PointNet++[3]作為其基礎網絡,以分別提取點和體素的特征,并在第二階段通過采用最大池化方法對點特征進行聚合。Voxel R-CNN[4]則省略了PV-RCNN 中的點采樣步驟,并在第二階段同樣基于最大池化方法聚合多尺度的體素特征,來學習點云的局部特征。目前,現有算法大都基于PointNet[5]及其變種[3]對點云進行特征提取和基于置換不變特性的最大池化法聚合局部點云特征,沒有充分考慮點云之間的幾何關系。當遇到點云稀疏情況,例如距離較遠時,僅依靠局部特征聚合難以學習到更魯棒的目標特征。為了進一步提高特征的表達能力以改善檢測效果,需要對點和點之間的關系進行建模。

Transformer[6]架構在自然語言處理領域取得了顯著成功,其將輸入的文本序列切分成多個單獨的詞或字符,然后通過自注意力機制來學習每個詞或字符之間的關系。其置換不變的特性適于對無序的點云數據進行編碼。PCT(point cloud transformer)[7]和Point transformer[8]將Transformer 應用于點云的分類和分割任務,取得了較好的效果。本文將Transformer 引入點云目標檢測領域,以更好地處理點云數據的無序性和點之間的關聯信息,學習更魯棒的點云特征。

另一方面,在實際復雜環境中,檢測效果往往受到多種因素的影響,例如遮擋和噪聲等,這些因素可能導致點云數據的質量不穩定,而提升性能的關鍵在于從稀疏點云中提取更魯棒的特征。此外,點云的稀疏性導致在人工標注數據時易受到環境因素影響,從而使數據標簽含有模糊信息,并對學習目標點云的魯棒特征造成影響。傳統方法[9]通常把回歸目標當作一個固定值,而忽略了標簽不確定性可能造成的影響,限制了檢測性能的進一步提升。同時,如果目標包含的點較少,那么圍繞目標的候選框位置的不確定性就會增加,如圖1 所示。對于尺寸相同的目標,由于其包含的點云的稀疏性,可能會產生不同的回歸目標,從而對檢測性能產生不利影響。為解決標簽不確定性問題,本文引入了一種基于概率分布的軟回歸損失。通過檢測模塊預測候選框位置的不確定性,并將其作為回歸損失的一部分,在訓練過程中重新量化預測框與其對應標簽的相似度,從而提升模型的檢測性能。

綜上所述,本文提出了一種基于原始點云網格自注意力機制的二階段三維目標檢測方法GT3D。該方法在第二階段采用基于Transformer 的自注意力機制來對第一階段得到的感興趣區域(RoI)內部的點云進行上下文編碼,能夠更有效地學習點云之間的依賴關系,提取更魯棒的目標特征。同時,考慮到數據標注過程中的不確定性對回歸任務的影響,使用基于概率分布的回歸損失重新度量預測框和真實標簽的相似性,降低由數據標注過程帶來的標簽歧義問題。在公開的三維目標檢測數據集KITTI[10]上對本文所提方法進行評估,結果顯示,本文所提方法比現有目標檢測方法具有競爭力的性能優勢。此外,本文將KITTI 測試集檢測結果提交至KITTI 官網進行驗證,并公開實驗結果。

1 相關工作

按照從非結構化點云中提取特征的方式劃分,現有的三維目標檢測方法主要分為三類:基于體素的方法、基于點的方法以及點和體素融合的方法。

基于體素的方法通過將點云劃分成規則網格,并利用三維卷積技術來提取特征。例如,Zhou 等[9]提出VoxelNet,首先將點云進行體素化,然后對這些體素進行特征編碼,并應用三維卷積來提取特征,最后將這些特征壓縮到鳥瞰視角(BEV,bird’s eye view)以生成候選框。Yan 等[2]提出SECOND,通過設計專門針對點云特征提取的三維稀疏卷積模塊,有效地提升了三維卷積的處理效率。為了進一步提高三維目標檢測的效率,Lang 等[11]提出PointPillars,該方法直接將特征壓縮至BEV 中來生成候選框,從而避免了三維卷積的過程。然而,基于體素的方法在進行體素特征編碼的過程中可能會丟失點云的精確位置信息,限制了方法性能的提升。

基于點的方法使用原始點云進行檢測,并且由于點的數量眾多,它們通常采用多層次的采樣和特征聚合。PointNet[5]和PointNet++[3]通常被用作這類方法的基礎網絡。PointRCNN[12]將點云分為前景點和背景點,并在前景點上生成高質量的候選框。3DSSD[13]利用歐氏距離和特征距離進行分層點采樣,以獲取更多的前景點,并去除了效率較低的上采樣和細化步驟,從而在準確性和效率之間取得了良好的平衡。BADet[14]通過將每個候選區域視為一個節點來構建局部圖,從而顯式地利用邊界間的相關性來優化候選框。CIA-SSD[15]引入了一個置信度修正模塊,以解決目標定位精度與類別置信度之間的不一致問題,從而獲得更加精確的邊界框和類別置信度預測。PDV(point density-aware voxel)[16]則為點云引入密度信息,并使用Transformer 對點進行編碼?;邳c的方法需要在原始點云中進行分層采樣,這通常會導致較低的處理效率。

有很多研究嘗試融合點和體素各自的優勢來進行檢測。例如,CT3D[17]在使用三維體素特征生成區域建議的同時,利用逐通道的Transformer 從原始點中提取特征。同樣,PV-RCNN 引入了體素集抽象模塊,使用三維體素特征生成建議后,利用點特征進行特征精細化。后續的工作嘗試通過引入新的特征提取方法來改進第二階段,例如RefinerNet[18]和VectorPool[19]。然而,將點和體素的特征相融合在加強檢測性能的同時,不可避免地增加了內存的占用,并對檢測效率產生影響。在這種將點和體素相結合的主干網絡中,特征的整合通常取決于具體的特征轉換機制,這可能會導致額外的計算負擔。需要注意的是,這類方法雖然在檢測精度上往往超過純粹基于體素的方法,但通常以增加推理過程的時間開銷為代價。

Transformer 架構在自然語言處理領域已取得顯著成功,其核心模塊自注意力機制能夠對輸入序列間的相關性進行建模。DETR[20]將Transformer 應用到圖像目標檢測領域,并把目標檢測當作集合預測問題來處理,為使用Transformer 進行目標檢測建立了新的范式。接著,DETR 的一個變種——Deformable DETR[21],引入了可變形注意力模塊,以提升DETR的訓練效率。文獻[7-8]則將Transformer 應用于點云的特征提取。但是,由于點的數量較多,直接將Transformer 應用到點云中可能會導致計算復雜度過高、檢測效率難以提高的問題。

2 本文模型

GT3D 是一個兩階段的三維目標檢測模型,第一階段用于生成RoI,第二階段則利用原始點云來精細化特征,以充分保留點云的空間信息。圖2 展示了GT3D 的框架,輸入為原始點云。首先,通過三維主干網絡生成包含目標的RoI。然后,對每個RoI 進行網格化,并對RoI 內部的原始點云進行采樣。接著,對采樣點的空間信息進行建模,并輸入多頭Transformer 中進行上下文編碼。最后,將編碼后的RoI 特征輸入檢測頭中,以進行候選框的分類和回歸。

圖2 GT3D 的框架

2.1 基于體素法的三維主干網絡

雖然體素化會帶來點云空間信息的損失,但是檢測方法在第一階段主要關注如何快速找到包含目標的RoI??紤]到體素法具有較高的處理效率,本文使用基于體素法的SECOND 作為第一階段的主干網絡,并基于多尺度體素特征生成RoI。具體來說,輸入原始點云pi={xi,yi,zi,ri},i∈[1,n],其中xi、yi、zi為點云的三維空間坐標,ri為反射率,n為點的數量。然后將點云進行體素化處理,對點云空間進行等間距劃分。對于每個體素所包含的點,使用PointNet對其進行升維處理,記作fi={a(i,1),a(i,2),…,a(i,m)},i∈[1,n],m∈[1,k],其中k為點映射到高維空間后的維度。接著,通過最大池化函數對每個體素內的點進行特征聚合。最后,使用多層子流形卷積和稀疏卷積[2]對體素進行特征提取,如圖3 所示,并將提取到的特征fv沿z軸壓縮到BEV,輸入區域建議網絡(RPN,region proposal network)中生成RoI,其中,k為卷積核尺寸,pad 為填充操作,s為步長。

圖3 三維主干網絡結構

2.2 網格特征編碼

為了更準確地提取點云的局部特征,本文采用兩步策略對點云進行有效編碼。第一步,采用最遠點采樣對RoI 內的點進行采樣,并對RoI 進行網格化處理。計算采樣點到每個網格中心的距離,以增強采樣點的空間信息。第二步,對網格中心點的局部特征進行聚合。通過使用PointNet++來聚合網格中心點附近的多尺度局部特征,能夠進一步增強中心點的特征表達能力。

2.2.1 網格中心點位置編碼

本文對每個RoI 應用最遠點采樣策略。值得注意的是,目標的真實框與RoI 之間可能在角度和位置上有差異。在特定情況下,例如當目標位于樹木下或緊鄰突出的建筑物時,如果不限制采樣空間的高度,可能會導致目標的采樣點數量減少,從而對檢測結果產生不利影響。為了在最大程度上采樣到真實框內的點,同時減少對檢測效果不利的背景點的采樣,本文采用圓柱體空間結構來對RoI 進行采樣,如圖4 所示。

圖4 RoI 點采樣

圖4 中,圓形點表示采樣區點,方形點表示非采樣區點 。圓柱體的底部半徑為,高度為h=βhr,其中,wr、lr、hr分別表示RoI 的寬、長和高,α和β表示柱體的擴張比例參數。在這個區域內對點云進行采樣,本文設定采樣點的數量為256。如果RoI 內的點數少于256,則重復進行隨機采樣,直到達到256 個點。本文將α設置為1.1,β設置為1。

定義P={p1,p2,p3,…,pn}?Rn,其中pi(i∈[1,n])表示點云中的點坐標,Rn表示通過RPN 生成的RoI。那么,該區域內點pi到任意點pj的距離為

首先,從點云中隨機選取一個點p0作為起始點,然后利用式(1)計算其他n-1個點與p0的距離d1,d2,…,d(n-1),并將距離p0最遠的點pm放入采樣點集合S中。然后,計算剩余點與采樣點集合S中所有點的距離,選擇到所有采樣點的距離最遠的點加入采樣點集合S中。重復這個過程,直到采樣點的數量達到預定值。

通過實驗發現,對空間點的幾何特征進行建??梢栽鰪婞c的特征表達能力?;诖?,本文提出一種新的坐標位置編碼方法,用于精細化點的空間位置信息,如圖5 所示。首先,將RoI 劃分為均勻網格,網格數量設置為6×6×6(長、寬、高3 個方向),則每個RoI 包含216 個網格。然后,定義每個網格的中心點為gm(m表示RoI 內的網格索引),并計算每個網格中心點到采樣點的相對距離Δdi=gm-pi,m∈[1,216],i=[1,256]。使用Δdi對網格點的空間位置進行建模并統一位置編碼的坐標尺度,最終得到gm的位置特征fd。具體計算方式為

圖5 網格中心點坐標編碼

其中,g(·) 表示特征變換函數(這里使用前饋神經網絡(FFN,feed forward network)將距離特征映射到高維特征空間),Δxi,m、Δyi,m和Δzi,m分別表示點pi到每個網格中心點的歐氏距離的3 個分量,Δfi,m表示點的額外特征,包括反射率等。

與PointPillars 所采用的柱體特征編碼(PFE,pillar feature encoding)方法不同,本文通過將采樣區域網格化,并計算采樣點到每個網格中心點的相對距離,以實現對點的空間位置信息更精細的表達,而PFE 則是通過計算點與每個柱體的中心點的相對距離來強化點坐標的空間位置信息,精細程度有所欠缺。

2.2.2 網格中心點多尺度局部特征編碼

考慮到原始點云包含更準確的空間信息,本文利用原始點云對網格點進行多尺度局部信息編碼。具體而言,對于每個網格的中心點gm,查詢其周圍半徑為r的球形區域內的點,并使用PointNet 對這些點進行升維處理,以獲得該網格中心點在指定半徑內的所有點的特征集合,其中k表示該半徑范圍內的點的數量,如圖6 所示。為了滿足置換不變性要求,本文使用最大池化函數對特征進行聚合,從而得到該中心點在特定半徑下的特征。

圖6 網格中心點多尺度局部特征編碼

其中,G(·) 表示聚合函數,這里采用向量拼接來進行處理。然后,通過調整球查詢半徑大小,獲得中心點在不同尺度下的特征表達。最后,將多尺度特征進行拼接處理,得到最終的中心點局部特征

多尺度局部特征編碼模塊如圖7 所示。本文設定了多個不同尺寸的半徑來對點進行聚合。由于不同半徑內的點數量可能不同,本文對每個半徑內的點的數量進行統一限制:如果點的數量超過規定值,則進行隨機選??;如果點的數量低于規定值,則使用點坐標的平均值進行填充;如果該半徑內沒有點,則使用0 進行填充。然后,通過三層FFN 對聚合后的坐標進行升維,并利用最大池化函數對各個尺度的特征進行聚合。最終,通過FFN 調整fg的維度,并將位置編碼特征與多尺度局部特征進行相加,得到網格中心點特征

圖7 多尺度局部特征編碼模塊

其中,fgrid表示RoI 的空間幾何特征和點云多尺度局部特征。

2.2.3 空間上下文編碼

雖然每個網格編碼了目標的空間特征和多尺度局部特征,但仍然缺乏對網格點之間相互依賴關系的建模。為解決此問題,本文引入自注意力機制來捕捉網格點間的遠程依賴關系,為網格點的特征賦予不同的權重。這使算法能夠捕捉到網格點特征與RoI 之間更加復雜的關系。圖8 展示了通過自注意力機制加權后的網格點特征對RoI 特征的貢獻度,其中亮度較高的區域表示對RoI 特征的貢獻權重較大。

圖8 自注意力機制對網格點特征加權

Transformer 在處理點云數據方面展現出顯著的效果,但由于包含大量線性運算,常常伴隨較高的計算成本和內存消耗。針對這個問題,本文選擇不對RoI 內的原始點云直接進行注意力編碼,而是采納局部注意力策略,即通過在網格中心點聚合點云的空間和局部特征以降低輸入特征的維度。此外,這種策略也使本文提出的兩階段細化方法能夠適于不同密度的點云數據。

在Transformer 的編碼階段,本文對網格點的特征進行注意力編碼計算。假設輸入特征為。沒有特征的空網格則不參與注意力編碼,僅保留其位置編碼。本文采用網格中心點的原始坐標作為位置編碼

接著,使用標準Transformer 編碼器計算特征注意力矩陣

其中,Wk、Wq和Wv分別為線性映射函數,dq為矩陣Qi的特征維度,⊙為點乘運算。本文采用多頭自注意力機制來處理Ki、Qi和Vi,以捕獲RoI更豐富的特征。多頭注意力的計算式為

其中,concat(·) 用來將多頭注意力特征進行拼接,FFN 用來對特征進行維度變換。

接著,在網格空間位置編碼與注意力編碼之間構建類似于殘差連接的結構,將點的空間位置編碼和注意力特征進行拼接,以增強特征的表達能力。經過FFN 處理后,得到最終的RoI 特征

最后,將fi輸入檢測頭進行候選框的分類和回歸。

2.3 軟回歸損失

本文提出的軟回歸損失函數可用于量化預測候選框與其對應的標簽之間的相似度,以減輕點云數據標注過程中的不確定性。首先,用高斯分布來表示預測框的位置,并將其所對應的標簽視為該分布中的概率,計算式為

其中,G={gx,gy,gz,gl,gw,gh,gθ}表示候選框所對應的真實標簽值;p為概率密度;N(·) 為二維高斯分布,可表示為

其中,μ和σ表示高斯分布中的均值和方差。本文將檢測頭對候選框位置的預測{μx,μy,μz,μl,μw,μh,μθ}作為μ,并在檢測頭部增加一個額外的分支來預測不確定性得分,可表示為{σx,σy,σz,σl,σw,σh,σθ},分別對應μ中每個位置的不確定分數。在計算出真實標簽在預測框分布中的概率后,使用softmax 函數對這些概率進行歸一化處理

最后,使用ps對回歸目標進行加權。值得一提的是,本文所提出的軟回歸損失僅在訓練階段使用,以輔助訓練檢測頭的回歸分支,而不會在推理階段增加額外的計算成本。

2.4 檢測頭與損失

算法的損失分為RPN損失Lrpn和細化階段損失Lrcnn兩部分,其中Lrpn包括框的置信度損失Lcls和位置回歸損失Lreg??虻木幋a格式為 (x,y,z,w,l,h,θ),其中,x、y、z表示框的中心點坐標,w、l、h、θ分別表示框的寬、長、高、朝向角度。真實框與

對于Lrpn,使用交叉熵函數來計算置信度損失,以平衡正、負樣本對損失的貢獻程度

其中,為預測置信度,cb為真實標簽值。

框位置回歸使用smooth-L1 損失函數

其中,表示邊界框的預測殘差值,γb表示預測框距離真實框位置的殘差值,i表示正樣本的數量。

最后得到總的Lrpn損失為

其中,β1和β2為損失的權重系數,用于平衡分類和回歸對Lrpn的貢獻程度。

Lrcnn的計算方式和Lrpn類似,最后得到算法總損失為

3 實驗結果與分析

為驗證本文所提方法的有效性,使用公開的自動駕駛數據集KITTI 對其進行驗證,并進行充分的消融實驗,以分析GT3D 各模塊的有效性。KITTI數據集包含7 481 個訓練樣本和7 518 個測試樣本。與Chen 等[22]的工作保持一致,將訓練樣本劃分為3 712 個訓練樣本集和3 769 個驗證樣本集。本文分別在驗證集和測試集中對簡單、中等和困難3 個難度等級的目標進行實驗,使用平均準確率(AP,average accuracy)衡量所提方法性能。

3.1 實驗硬件環境

表1 為實驗所需的軟硬件環境及其參數配置。

表1 實驗所需的軟硬件環境及其參數配置

3.2 實驗細節

對于KITTI 數據集,其x軸檢測范圍為[0,70.4]m,y軸為[-4 0.0,40.0]m,z軸為[-3 .0,1.0]m,每個體素塊在x、y、z這3 個方向上的大小設置為(0.05,0.05,0.1) m。每個體素在3 個方向上的大小均為0.05 m,體素數量在訓練階段設置為16 000,推理階段設置為40 000。為避免目標包含點云數量太少以至于難以提取到特征,對點數少于20 的目標進行過濾[2]。本文采用與SECOND 相同的數據增強方法,具體包括:1) 增加場景中待檢測目標的數量;2) 對點云場景中的點按照范圍在[0.95,1.05]內的隨機倍數進行縮放,范圍在內的隨機角度進行旋轉;3) 對所有真實框在范圍內進行隨機角度旋轉來模擬目標轉向;4) 將點云沿x軸進行隨機翻轉。

RoI 網格數量設置為6×6×6,網格點的球形查詢半徑r=[0.2,0.4,0.6]m,以此來聚合多尺度的局部特征,每個半徑內采樣點數量為[32,32,64],分別被編碼為[32,32,64]維向量,最后每個網格中心點的局部特征編碼共128 維。Transformer 的頭部數量為4,dropout 設置為0.1,隱含層數量為3。

在訓練階段,使用8 個NVIDIA A40 GPU 對整個網絡進行端對端訓練,對于KITTI 數據集,batch size設置為6,使用Adam_onecycle優化器訓練80 個epoch,學習率最大值為0.001,使用one-cycle 策略和余弦退火策略[23]對學習率進行更新。在訓練階段,RoI 數量設置為128,測試階段設置為100。

算法的損失由基于Focal Loss[24]的分類損失和基于smooth-L1 的回歸損失組成。其中,分類損失和回歸損失的權重比例設置為1:1。在后處理階段,使用非極大值抑制算法來去除冗余框,交并比(IoU,intersection over union)閾值設置為0.1,置信度閾值為0.3。其他網絡參數選擇OpenPCDet 工具箱中提供的默認值。

訓練損失曲線如圖9 所示,其中,rpn_loss 表示第一階段損失,rcnn_loss 表示第二階段損失。第一階段、第二階段以及總訓練損失的曲線在訓練初期下降較快,但隨著迭代次數的增加,損失的下降速度逐漸變慢,最后趨于平穩,這表示模型已經收斂。

圖9 訓練損失曲線

3.3 與其他算法對比

本文在KITTI 驗證集和測試集上將GT3D 方法與其他先進的三維目標檢測方法進行了比較和分析。對于汽車類別,設定IoU 閾值為0.7,本文分別給出了所提方法在11 個和40 個召回位置上的平均準確率。此外,將GT3D 的測試結果提交至KITTI在線測試服務器,并將結果公開,如表2 所示,所有實驗結果均來自KITTI 官方基線。

表2 不同方法在KITTI 測試集上對汽車的檢測性能對比

為保證公平,本文基于40 個召回位置來計算測試集的平均準確率。在KITTI 測試集上,GT3D 在 3 種不同難度等級上分別達到了91.45%、82.76%和79.74%的檢測準確率,特別是在簡單和困難等級汽車檢測上顯示出優勢。這說明本文所提方法在檢測準確性和泛化能力上表現良好。在評估方法的推理速度時,本文采用每秒幀數(FPS,frame per second)作為評價標準,本文所提方法達到了每秒15 幀的檢測速度,這顯示GT3D 在檢測準確率和推理效率之間實現了良好的平衡(表2 中,‘-’表示該方法未公開代碼和推理速度)。

表3 展示了不同方法在KITTI 驗證集上對汽車的檢測性能對比,其中檢測結果基于11 個召回位置計算,IoU 閾值為0.7。實驗結果表明,GT3D 在3 種不同難度汽車類別檢測中分別達到了89.78%、86.31%和79.22%的準確率,相比其他先進方法表現出顯著的提升,進一步驗證了GT3D 的有效性。這是因為Transformer 在特征提取方面具有強大的能力,使模型能夠有效地學習不同點云稀疏度下目標的特征。

表3 不同方法在KITTI 驗證集上對汽車的檢測性能對比

為了進一步評估GT3D 的性能,表4 展示了不同方法在KITTI 驗證集上對自行車的檢測性能對比,其中準確率基于40 個召回位置計算。實驗結果表明,本文所提方法在檢測效果上具有較強的競爭力,展示出良好的性能。

表4 不同方法在KITTI 驗證集上對自行車的檢測性能對比

表5 展示了不同方法在參數量方面的對比,并提供了不同模型在KITTI 測試集上對汽車的檢測平均準確率,其中,mAP 為KITTI 測試集上對汽車的檢測平均準確率。從表5 可以看出,盡管GT3D 的參數量在兩階段方法中處于中等水平,但其平均準確率明顯優于其他方法。這表明GT3D 在有效提升檢測效果的同時,沒有顯著增加參數規模。

表5 不同方法在參數量方面的對比

3.4 可視化分析

本文對GT3D 方法的檢測效果進行了可視化分析,如圖10 所示。通過比較方法輸出的預測框(虛線)與真實框(實線)的位置來驗證模型的檢測效果。為了清晰展示,在3 個場景中分別展示了相機和點云的視角。第一行展示場景的相機視角,第二行展示場景的點云視角和檢測結果,第三行展示將檢測到的目標框映射回相機視角的效果。

圖10 GT3D 可視化結果

由可視化結果可知,GT3D 在汽車類別上的檢測準確率較高,如場景①所示,所有汽車都被成功檢測到。在場景②中,盡管距離較遠的汽車包含的點云數量較少,但仍然能被準確地檢測到,甚至檢測到了數據集中沒有標注的汽車。對于場景③,該場景較復雜,包含的背景點較多,然而,GT3D 依然能夠正確識別被遮擋的遠處汽車。這表明本文通過使用均勻網格點來描述點云的空間特征,以及利用多尺度局部特征,對遮擋區域進行了有效的特征增強。

圖11 展示了模型檢測到的汽車點云。其中,x軸、y軸和z軸表示以激光雷達傳感器為原點的坐標系,坐標軸上的數值表示點云場景中的全局坐標。從圖11 可以看出,左上角、右上角和左下角的汽車的點云較密集,而右下角的汽車包含的點云較少。盡管如此,GT3D 仍然能夠準確地進行檢測。這說明GT3D 在檢測點云數量較少的目標時具有較強的魯棒性。

圖11 模型檢測到的汽車點云

為了進一步驗證GT3D 的性能,本文將GT3D與當前經典方法Voxel R-CNN 和PDV 進行比較,實驗結果如圖12 所示。從圖12 中可以看出,Voxel R-CNN 和PDV 在一些情況下出現誤檢,例如,在BEV 視角下,由于左側墻壁的點云較復雜,使Voxel R-CNN 和PDV 將其誤檢為汽車,而GT3D 展示了較強的魯棒性,對于復雜場景中的目標誤識別率較低,取得了較好的檢測效果。

3.5 消融實驗

為了進一步驗證GT3D 中模塊的有效性,本文針對網格中心點位置編碼模塊、多尺度特征聚合模塊和軟回歸損失進行了消融實驗,對每個模塊訓練80 個epoch。使用40 個召回位置進行評估,IoU 閾值設置為0.7,實驗結果如表6 所示。其中,A.L.F.表示多尺度特征聚合模塊,P.E.表示網格點位置編碼模塊,T.R.表示Transformer 模塊,S.L.R.表示軟回歸損失。

表6 GT3D 消融實驗

方法1 不包含兩階段檢測頭,而是僅依靠BEV下的RoI 特征來進行檢測,其平均準確率較低,這突顯了單階段方法的局限性。

方法2 在方法1 的基礎上加入了網格點的多尺度特征聚合模塊,并采用Transformer 對網格點進行注意力編碼。與方法1 相比,方法2 在簡單、中等和困難3 個難度級別車輛檢測中,準確率分別高約1.16%、0.84%和1.20%,這表明通過聚合多尺度的局部特征可以提高檢測準確率,并且進一步證明了兩階段細化在提升模型性能上的重要性。

方法3 在方法1 的基礎上加入了網格點位置編碼模塊,并同樣采用Transformer 對網格點進行注意力編碼。與方法1 相比,方法3 在簡單、中等和困難3 個難度級別車輛檢測中,準確率分別高約2.15%、3.94%和4.56%。這表明,通過顯式地對點的空間位置進行編碼可以有效提升模型的性能。

方法4 在方法1 的基礎上,同時加入了多尺度特征聚合模塊和網格點位置編碼模塊。與方法1 相比,方法4在簡單、中等和困難3個難度級別車輛檢測中,準確率分別高約2.39%、4.50%和5.47%,這表明兩者的結合使用可以進一步提升模型的性能。

方法5 在方法1 的基礎上加入了多尺度特征聚合模塊、網格點位置編碼模塊和軟回歸損失。與方法1 相比,方法5 在簡單、中等和困難3 個難度級別車輛檢測中,準確率分別高約2.51%、4.64%和5.49%。實驗結果表明,加入軟回歸損失后,模型性能得到有效提升,證明軟回歸損失在消除數據標注過程中引入的模糊性方面具有顯著效果。

4 結束語

目前,基于原始點云的三維目標檢測技術正在迅速發展,本文研究了兩階段檢測方法在性能提升方面的關鍵技術,其中包括空間坐標的顯式建模、多尺度局部特征聚合以及基于自注意力機制的特征編碼。為此,本文提出了一種兩階段基于自注意力機制的三維目標檢測方法GT3D。該方法將RPN生成的RoI 在空間上劃分為均勻網格點,并對這些點進行多尺度局部特征聚合和空間位置編碼。然后,采用自注意力機制對網格點特征進行編碼,以獲取更加有效的RoI 特征。最后,通過軟回歸損失來消除數據標注過程引入的模糊性,從而進一步提升檢測性能。接下來,本文將繼續研究聚合多尺度信息的兩階段檢測方法,進一步提高基于體素的三維目標檢測方法準確率,擬考慮引入額外輔助網絡對模型進行監督,以借助自注意力機制進一步提高目標檢測的準確性。

猜你喜歡
體素中心點尺度
基于多級細分的彩色模型表面體素化算法
瘦體素決定肥瘦
財產的五大尺度和五重應對
Scratch 3.9更新了什么?
運用邊界狀態約束的表面體素加密細分算法
如何設置造型中心點?
基于體素格尺度不變特征變換的快速點云配準方法
宇宙的尺度
漢字藝術結構解析(二)中心點處筆畫應緊奏
尋找視覺中心點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合