?

基于Transformer的3D點云目標檢測算法

2024-01-03 07:43劉明陽楊啟明胡冠華郭巖張建東
西北工業大學學報 2023年6期
關鍵詞:熱圖解碼器中心點

劉明陽,楊啟明,胡冠華,3,郭巖,張建東

(1.沈陽飛機設計研究所,遼寧 沈陽 110035;2.西北工業大學 電子信息學院,陜西 西安 7101291;3.中國船舶集團有限公司系統工程研究院,北京 100094;4.空裝駐沈陽地區第一軍事代表室,遼寧 沈陽 110850)

傳統的基于錨框的圖像目標檢測算法其本質是對預定義的密集錨框進行內部物體類別的分類和邊框位置的微調[1]。而將其應用于點云目標檢測時由于空間維度的增加,大部分基于錨框的檢測算法在部署時面臨新的困難,一方面在錨框鋪設時需要考慮高度因素,涉及到錨框數量、大小、角度和密度等超參數,這些參數的手動試錯過程需要耗費極大的精力和時間成本;另一方面錨框角度回歸的增加使得這一類算法在檢測框微調時難度大大提升[2]。

作為將Transformer[3]應用于機器視覺領域的先驅,DETR算法[4]將目標檢測視為一個集合預測問題。Transformer本質上起到的是一個序列轉換作用,因而可以將DETR視為一個將圖像特征序列向目標集合序列的轉換模塊。具體來說,DETR中設計了一系列的目標查詢向量負責檢測圖像中不同位置的物體[5],每個目標查詢向量都與來自卷積神經網絡的空間視覺特征進行交互,并利用交叉注意力機制[6]自適應地收集目標相關信息,用于估計檢測框位置和目標類別。

(1)

(2)

本文從基于體素化表達的檢測算法出發,采用DETR的結構構造一種新型的針對戶外場景的3D點云目標檢測算法,并且結合點云數據和3D目標檢測場景下的特點對原有的DETR進行了改進。其包含3個主要模塊:①體素化及三維體素編碼網絡;②二維特征提取網絡以及特征金字塔網絡;③結合空間調制交叉注意力(spatially modulated cross-attention,SMCA)的解碼器。

1 問題描述

假定原始點云輸入記為{pn=(xn,yn,zn,rn),n=1,2,…,N},其中(xn,yn,zn)是點云的三維空間坐標位置,rn是反射強度,N是集合中包含的點云總數。3D目標檢測任務中要求對于場景內的所有真實目標{yi=(Ti,bi),i=1,2,…,M}進行定位和分類,Ti和bi分別表示目標的類別和檢測框。檢測框如圖1所示。

圖1 三維檢測框鳥齲示意圖

三維檢測框通常采用底部中心點坐標加三維尺寸和角度的表示方法,即b=(xc,yc,zc,l,w,h,α)。其中(xc,yc,zc)維底部中心點坐標,l,w,h為目標的三維尺寸長、寬、高,α是目標行進方向和X軸正方向的夾角。

2 算法設計

2.1 原理概述

本文所提出的基于Transformer的3D點云目標檢測器結構如圖2所示。與大部分三維目標檢測器類似,包含3D體素編碼網絡、2D骨干網絡以及頭部檢測網絡。本算法在2D/3D特征提取過程中所

圖2 基于Transformaer的3D點云目標檢測器主體結構

采用的三維體素特征編碼網絡和二維特征提取骨干網絡與SECOND相同。本文的研究內容主要集中在頭部檢測網絡,一方面采用熱度圖初始化目標查詢向量的方法,使得編碼器無需從頭開始學習目標特征;另一方面改進原有的空間調制注意力機制使其與熱圖初始化策略相適應,極大地加快了網絡的訓練速度。

2.2 熱圖初始化的目標查詢

DETR采用編碼器-解碼器的Transformer架構,編碼器和解碼器都各自級聯6層。編碼器由多頭自注意力和前饋網絡組成,起到的作用與卷積層類似,都是從輸入中關聯并提取上下文特征,只是自注意力機制更多關注全局特征,其感受野要遠大于卷積網絡。解碼器則具有額外的多頭交叉注意力,將固定數量的目標查詢與編碼器的輸出特征進行交互,并利用交叉注意力機制自適應地聚合相關信息。

在DETR及其諸多改進版本中,目標查詢通常采用0初始化或隨機初始化,這使得解碼器需要更多層的級聯才能使目標查詢具備物體地空間特征。Efficient DETR算法[7]中指出,通過更好地初始化目標查詢向量或者對解碼器輸出進行輔助損失計算,能夠有效減少解碼器的級聯層數并且增強其目標感知能力。受到這一觀點的啟發,本算法采用了熱圖初始化的目標查詢策略,使得初始的目標查詢位于或靠近真實的目標中心,從而無需多層解碼器來進行位置的細化。在本算法中,對于來自骨干網絡的深度點云特征首先送入解碼器進行全局特征感知,熱圖頭接收解碼器輸出的全局特征并進行熱圖預測。

(3)

式中:px,py是真實目標檢測框的中心點;σp是與檢測框大小相關的分布半徑。熱圖頭的損失函數可以描述為

(4)

式中:α和β是用于訓練的超參數;N是當前樣本中所有待檢測目標數量。

圖3 熱圖初始化查詢向量計算流程

(5)

(6)

在CenterNet[8]中直接采用關鍵點熱圖的局部熱峰作為預測框的中心點。但是在DETR的解碼器中,設定的解碼器中目標查詢數量要遠大于真實目標數量,若只采用目標中心點進行特征進行查詢初始化,在解碼器的自注意力計算中,會產生大量待檢測目標與遠處背景的無意義交互,造成極大的計算開銷。而在目標周邊生成諸多稀疏的查詢點,中心點查詢也會與邊界點查詢進行特征交互,從而起到輔助類別判斷和類似于偏移頭的位置細化作用,但同時位于目標周圍數量眾多的查詢會導致大量假陽性檢測結果。對此,本節結合了2種查詢點生成方式,用孤立的中心查詢點代替一部分在上一步中獲得的稀疏查詢點。

Tt=?pt/(H×W)」

it=pt-?pt/(H×W)」×(H×W)

(7)

需要注意的是此處的空間位置坐標i是每個單一類別熱圖拉直后的位置坐標。此外對每個查詢的類別屬性進行獨熱向量編碼,再通過多層感知機升維后產生類別編碼。

最后將鳥瞰圖下的特征圖沿每個通道展開,并將所有it位置下的特征進行拼接,并疊加類別編碼從而生成目標查詢向量qt∈RD。

2.3 改進的空間調制交叉注意力機制

DETR另一個重要的問題在于其需要比現有的目標檢測器訓練更長的時間才能收斂[9]。在COCO 2014[10]數據集上DETR需要進行500周期的訓練才能完全收斂,相較于Faster R-CNN[11]周期長了大約10~20倍。這主要是在初始狀態下,交叉注意模塊在整個特征圖上平均分配注意力。而在收斂狀態下,其注意力只關注特定的空間位置,變得極為稀疏。這種顯著的注意力變化需要很長的周期進行學習。另外在解碼器中采用交叉注意力進行特征聚合時,巨大的鍵和值的數量稀釋了注意力權重,最終導致輸入特征的梯度模糊。

注意力機制的本質就是定位到感興趣的信息[12],抑制無用信息。而上述的2個問題可以總結歸納為檢測器無法快速將注意力集中在關鍵點信息上。而對于該問題,一種直接快速的解決方法是采用動態調制策略,受到SMCA-DETR的啟發,本文設計了一種與熱圖初始化目標查詢相適應的空間調制交叉注意力。在DETR所采用的Transformer中,來自骨干網絡的特征圖與位置嵌入相疊加,生成查詢、鍵以及值,并輸入編碼器與所有空間位置的特征進行信息交互。同時為增加特征的多樣性,采用多頭自注意力機制

(8)

獲得來自編碼器視覺特征E后,DETR在對象查詢Oq∈RT×D和視覺特征E∈RL×D之間執行交叉注意力計算

(9)

DETR中原始的交叉注意力無法感知目標的空間位置,因此需要多次迭代才能為每個對象查詢生成適當的注意圖。針對這一問題,SMCA-DETR[13]將可學習的交叉注意力特征圖與手工創建的查詢先驗空間相結合。通過對僅嵌入位置編碼的空初始化查詢向量進行學習,生成先驗的感知位置,并通過堆疊的編碼器進行位置細化。在本文算法中,由于熱圖初始化目標查詢機制的存在,初始的目標查詢已經位于或靠近真實的目標中心,因而無需從查詢中學習先驗的感知位置。其計算過程描述如下。

每個查詢生成其負責對象的中心和尺寸,用于生成二維高斯空間注意力權重圖[14]。目標查詢的中心ch,cw由熱圖初始化得到的位置坐標i計算得到,高斯分布尺寸Σ∈R2×2則通過學習目標查詢得到。目標查詢的中心點僅需在第一個解碼器中進行計算,并與之后的解碼器共享。

(10)

三維空間場景下,不同類別的物體尺寸差別極大,并且在具備角度信息的情況下更為復雜。SMCA模塊動態生成不同的權重半徑,使得較大的目標能夠聚合足夠信息或抑制小目標的背景雜波。同時該模塊生成反對角線非零的權重尺寸,使得權重圖并非單一地沿橫縱方向延展,更利于細化目標朝向。在獲取到目標中心以及分布尺寸后,SMCA生成的類高斯權重圖如(11)式所示。其中v∈R2是特征圖上任意一點,c=[ch,cw]是中心點坐標,β為手動調整的超參數,以確保權重圖在訓練開始時覆蓋較大的空間范圍,使網絡能接收到更多的梯度信息。

(11)

在得到動態生成的空間權重圖G的情況下,利用其調制目標查詢Oq和編碼器輸出特征E之間的交叉注意權重。

(12)

空間權重圖的對數與點積獲得的注意力得分之間逐元素相加,然后對所有空間位置進行softmax歸一化。解碼器中的交叉注意模塊會在潛在的目標中心附近增加權重,限制了注意力搜索空間,從而提高了收斂速度。

(13)

區別于由所有注意力頭共享的空間權重,多頭調制的權重能有效突出不同的特征信息。

2.4 預測頭及優化目標

對于解碼器輸出的T個查詢向量,分別輸入到多個并列的預測頭中,生成檢測結果。包括底部中心點坐標o∈R2×T,底部中心點高度h∈R1×T,檢測框三維尺寸d∈R3×T,檢測框角度r∈R2×T以及分類結果T∈RC×T,其中檢測框角度由該角的正弦和余弦值編碼而成。

遵循DETR中集合預測的檢測算法,首先由各個查詢生成的底部中心點、三維尺寸和角度生成預測框,并賦予對應的類別。通過匈牙利算法計算真實框與預測的二分匹配,其中匹配成本由分類損失、中心點回歸損失和IoU損失的加權和構成

(14)

式中:Lcls是二分類交叉熵損失;Lreg是預測框的鳥瞰投影中心點與真實框中心之間歸一化后的的L1損失;LIoU是預測框和真實框之間的IoU3D損失,λ1,λ2,λ3是各損失項的加權系數。

(15)

對于匹配成功的正樣本對,通過L1損失來監督檢測框中心點的回歸,并計算IoU3D損失[16]。2個3D 檢測框的IoU可以表示為(16)式

(16)

式中:a表示檢測框在鳥瞰圖上的投影;h是檢測框高度;overlap是交集區域。相比于圖像檢測中軸對齊的預測框回歸任務,帶有旋轉角度的3D檢測框最主要的區別是在計算交集部分時較為復雜。其損失計算與IoU2D類似,可以被定義為

LIoU=1-LIoU3D

(17)

3 實驗評估

本文主要采用KITTI 3D Object數據集進行有效性驗證。將官方給出的訓練樣本集劃分為3 712個訓練樣本和3 769個驗證樣本。實驗中所有模型分別在訓練集和驗證集上進行訓練和分析比較。

3.1 與相關工作的對比

在KITTI[17]驗證集中,將本文算法與其他算法進行對比,并計算了在汽車類別中3種難度下的平均檢測精度,平均精度的計算方式采用Recall 11 Position。比較結果如表1所示。

由表中結果可見本文所提出的檢測算法在性能上已經達到先進水平,特別是在中等難度下取得了81.12%的平均精度。上述結果可以證明,將Transformer用于體素化的點云檢測是完全可行的。此外,本算法在推理過程中速度為16.9 frame/s,達到了較快的處理速度。而與本算法性能相近的PV-RCNN推理速度僅為8.9 frame/s,這主要歸功于本算法中完全基于體素的特征提取,避免了體素和原始點云進行交互時產生的巨大計算開銷。

3.2 消融實驗

本節對基于Transformer的3D目標檢測器頭部網絡中的主要組成部分進行了消融實驗,以驗證每個部分對檢測效果的貢獻。消融實驗的結果如表2所示。

表2 基于Transformer的3D目標檢測器頭部網絡模塊消融實驗

1) 方法C是淺層解碼器堆疊下的完整的基于Transformer的3D目標檢測算法,通過空間調制交叉注意力加速訓練過程,并通過關鍵點熱圖對目標查詢進行初始化,以達到降低網絡深度、提高推理速度的目的。

2) 方法A相比于方法C刪除了用于加速訓練的空間調制交叉注意力模塊,2種方法的收斂曲線對比如圖4所示。在訓練次數同為80輪時,方法C的檢測精度已經趨于平緩,基本收斂完畢。相比之下,未加入空間調制交叉注意力模塊的方法A,此時的檢測精度為75.9%,且波動幅度相對較大。訓練過程截止到150輪時,方法A基本完成收斂,此時2個模型的精度差別可以認為是隨機性誤差。

圖4 方法A和方法C的收斂曲線對比圖

3) 方法B相比于方法C刪除了熱圖初始化目標查詢模塊,此時解碼器的目標查詢采用零初始化方法。其檢測精度相比于方法C下降了7.98%,說明僅依靠3層解碼器不足以將初始查詢擬合至目標真實位置。采用熱圖初始化目標查詢策略使得初始的查詢點靠近潛在的目標位置,在淺層網絡下取得了遠超無此策略模型的性能。

4) 方法D相比于方法C將解碼器層數提升至6層,其余模塊未做變動,檢測精度達到了81.50%,推理速度為12.7 frame/s。相比之下,計算成本的增加遠遠超過檢測精度的提升,這也進一步證明了熱圖初始化查詢策略的有效性。

3.3 可視化結果

圖5是本文算法在驗證集上的檢測結果可視化演示。其中藍色為目標真實框,黃色為本算法產生的預測框。圖中的4個場景均包含有較多的車輛,第一個場景中由于最遠處車輛距離較遠且僅在車體尾部生成激光雷達點云,致使檢測器對該目標尺寸產生誤判。其余3個場景中車輛數量眾多、停放角度復雜,而基于Transformer的3D目標檢測算法依然能精確地定位并識別場景中的車輛。

圖5 基于Transformer的點云目標檢測器可視化檢測結果

4 結 論

本文提出了一種基于Transformer的3D目標檢測算法。在推理過程中首先使用三維體素編碼網絡進行初步特征提取,而后壓縮為鳥瞰圖并采用二位骨干網絡輸出多尺度特征圖,這些特征圖在頸部網絡中進行融合。在頭部網絡中,本算法采用了DETR中集合預測的檢測思想,并采用熱圖初始化目標策略使得模型在淺層網絡下依然能從特征圖中有效匯集數據用于擬合回歸。同時設計了一種改進的空間調制交叉注意模塊用于訓練過程中的加速。本算法在KITTI驗證集中進行了對比和消融實驗,結果均表明基于Transformer的3D目標檢測算法作為一種簡單而有效的算法,能夠勝任三維目標檢測及其他下游任務的應用。

猜你喜歡
熱圖解碼器中心點
科學解碼器(一)
科學解碼器(二)
科學解碼器(三)
Scratch 3.9更新了什么?
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
如何設置造型中心點?
熱圖
每月熱圖
漢字藝術結構解析(二)中心點處筆畫應緊奏
尋找視覺中心點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合