韓 磊,高永彬,史志才,2
(1.上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201600;2.上海市信息安全綜合管理技術(shù)研究重點(diǎn)實(shí)驗(yàn)室,上海 200240)
三維目標(biāo)檢測(cè)廣泛應(yīng)用于自動(dòng)駕駛[1]、增強(qiáng)現(xiàn)實(shí)[2]和機(jī)器人控制[3-4]領(lǐng)域中。三維目標(biāo)檢測(cè)算法根據(jù)輸入形式的不同,分為基于圖像、基于多傳感器融合和基于點(diǎn)云的三維目標(biāo)檢測(cè)算法。
基于圖像的三維目標(biāo)檢測(cè)算法根據(jù)輸入RGB圖像中2D/3D 約束、關(guān)鍵點(diǎn)和形狀,通過(guò)推理目標(biāo)幾何關(guān)系解決圖像深度信息缺失的問(wèn)題。文獻(xiàn)[5]利用單支路網(wǎng)絡(luò)檢測(cè)三維框的多個(gè)角點(diǎn)以重構(gòu)三維中心點(diǎn),通過(guò)二分支關(guān)鍵點(diǎn)檢測(cè)網(wǎng)絡(luò)銳化目標(biāo)辨識(shí)能力。文獻(xiàn)[6]考慮到2D 投影中的幾何推理和未觀察到深度信息的維度,通過(guò)單目RGB 圖像預(yù)測(cè)3D 對(duì)象定位。文獻(xiàn)[7]通過(guò)視覺(jué)深度估計(jì)方法從圖像中估計(jì)像素深度,并將得到的像素深度反投影為3D 點(diǎn)云,利用基于雷達(dá)的檢測(cè)方法進(jìn)行檢測(cè)。文獻(xiàn)[8]基于左右目視圖的潛在關(guān)鍵點(diǎn)構(gòu)建左右視圖關(guān)鍵點(diǎn)一致性損失函數(shù),以提高選取潛在關(guān)鍵點(diǎn)的位置精度,從而提高車(chē)輛的檢測(cè)準(zhǔn)確性。
多傳感器融合通常將多個(gè)傳感器獲取的特征進(jìn)行融合。文獻(xiàn)[9]提出在兩個(gè)連續(xù)的步驟中檢測(cè)目標(biāo),基于攝像機(jī)圖像生成區(qū)域建議,通過(guò)處理感興趣區(qū)域中的激光雷達(dá)點(diǎn)以檢測(cè)目標(biāo)。文獻(xiàn)[10]提出引導(dǎo)式圖像融合模塊,以基于點(diǎn)的方式建立原始點(diǎn)云數(shù)據(jù)與相機(jī)圖像之間的對(duì)應(yīng)關(guān)系,并自適應(yīng)地估計(jì)圖像語(yǔ)義特征的重要性。這種方式根據(jù)高分辨率的圖像特征來(lái)增強(qiáng)點(diǎn)特征,同時(shí)抑制干擾圖像的特征。文獻(xiàn)[11]結(jié)合點(diǎn)云的深度信息與毫米波雷達(dá)輸出確定目標(biāo)的優(yōu)勢(shì),采用量綱歸一化方法對(duì)點(diǎn)云進(jìn)行預(yù)處理,并利用處理后的點(diǎn)云生成特征圖。文獻(xiàn)[12]基于二維候選區(qū)域中的像素過(guò)濾激光點(diǎn)云,生成視錐點(diǎn)云,以加快檢測(cè)速度。
基于點(diǎn)云的檢測(cè)算法僅通過(guò)輸入點(diǎn)云學(xué)習(xí)特征,在檢測(cè)網(wǎng)絡(luò)中回歸目標(biāo)類(lèi)別和包圍框[13]。文獻(xiàn)[14]將點(diǎn)云編碼為體素,采用堆疊體素特征編碼層來(lái)提取體素特征。文獻(xiàn)[15]通過(guò)立柱特征網(wǎng)絡(luò)將點(diǎn)云處理成偽圖像,并消除耗時(shí)的3D 卷積運(yùn)算,使得檢測(cè)速度顯著提升。文獻(xiàn)[16]將點(diǎn)云編碼到一個(gè)固定半徑的近鄰圖中,并設(shè)計(jì)圖神經(jīng)網(wǎng)絡(luò),以預(yù)測(cè)類(lèi)別和圖中每個(gè)頂點(diǎn)所屬的對(duì)象形狀。文獻(xiàn)[17]利用三維區(qū)域生成網(wǎng)絡(luò),將多視圖生成器模塊生成的多角度點(diǎn)云偽圖像重新校準(zhǔn)與融合,并根據(jù)提取的語(yǔ)義特征進(jìn)行最終的點(diǎn)云目標(biāo)分類(lèi)和最優(yōu)外接包圍框回歸。
基于圖像的三維目標(biāo)檢測(cè)算法無(wú)法提供可靠的三維幾何信息;基于多傳感器融合的三維目標(biāo)檢測(cè)算法輸入數(shù)據(jù)較多,需要較高的算力和較復(fù)雜的特征處理與融合算法;點(diǎn)云數(shù)據(jù)通常極其稀疏,受噪點(diǎn)影響比較大,基于點(diǎn)云的三維目標(biāo)檢測(cè)算法魯棒性較差。因此,在點(diǎn)云稀疏條件下提升檢測(cè)精度和算法魯棒性具有一定必要性。
本文提出基于稀疏Transformer 的雷達(dá)點(diǎn)云三維目標(biāo)檢測(cè)算法。構(gòu)建稀疏Transformer 模塊并將其應(yīng)用于三維目標(biāo)檢測(cè)領(lǐng)域中,通過(guò)顯式選擇Top-t個(gè)權(quán)重元素,以排除對(duì)注意力干擾性較高的權(quán)重元素,從而提高檢測(cè)精度。設(shè)計(jì)一種粗回歸模塊,將粗回歸模塊生成的邊界框作為檢測(cè)頭模塊的初始錨框,使檢測(cè)結(jié)果生成的邊界框更加精細(xì)。在此基礎(chǔ)上,設(shè)計(jì)基于體素三維目標(biāo)檢測(cè)算法的損失函數(shù),以?xún)?yōu)化檢測(cè)結(jié)果。
本文基于PointPillars 在點(diǎn)云特征處理階段的良好性能,延用了點(diǎn)云特征處理模塊和2D 卷積模塊,并增加了稀疏Transformer 模塊和粗回歸模塊,在回歸階段使用通用的SSD[18]檢測(cè)頭作為檢測(cè)模塊。本文網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 本文網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of the proposed network
首先,將一幀點(diǎn)云圖像輸入到點(diǎn)云特征處理模塊中,由該模塊將點(diǎn)云圖像劃分為H×W的立柱,并對(duì)立柱中的點(diǎn)進(jìn)行采樣;然后,經(jīng)過(guò)Pillar 特征網(wǎng)絡(luò)進(jìn)行特征學(xué)習(xí)和特征展開(kāi),輸出尺寸為(C,H,W)的偽圖像,將該偽圖像分別送入到2D 卷積模塊,經(jīng)過(guò)卷積操作分別產(chǎn)生尺寸為(C,H/2,W/2)、(2C,H/4,W/4)和(4C,H/8,W/8)的特征,通過(guò)反卷積操作生成3個(gè)尺寸為(2C,H/2,W/2)的特征后,再將這3個(gè)特征相連接,輸出尺寸為(6C,H/2,W/2)的空間特征;最后,將空間特征送入到粗回歸模塊,在該模塊的區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)回歸粗略類(lèi)別和坐標(biāo)的同時(shí),另一個(gè)分支經(jīng)過(guò)卷積操作輸出尺寸為(2C,H/2,W/2)的新空間特征。與此同時(shí),本文將Pillar 特征網(wǎng)絡(luò)中偽圖像的特征展開(kāi)為(H×W)×C的序列形式,輸入到稀疏Transformer模塊,并根據(jù)原始位置對(duì)該模塊輸出的序列特征嵌入重新組合成偽圖像特征,進(jìn)行一次卷積操作,輸出尺寸為(2C,H/2,W/2)的稀疏上下文特征。本文將得到的新空間特征與稀疏上下文特征連接后輸入到檢測(cè)模塊,在粗回歸模塊提供的粗略錨框坐標(biāo)的輔助下更精確地回歸目標(biāo)物體的坐標(biāo)。
基于自注意力的Transformer[19]在一些自然語(yǔ)言處理和二維目標(biāo)檢測(cè)任務(wù)中具有較優(yōu)的性能。自注意力能夠模擬長(zhǎng)期的依賴(lài)關(guān)系,但易受上下文中無(wú)關(guān)信息的影響。為解決該問(wèn)題,本文引入稀疏Transformer 模塊[20]。稀疏Transformer 模塊通過(guò)顯式選擇最相關(guān)的片段來(lái)提高對(duì)全局上下文的關(guān)注,增強(qiáng)模型的魯棒性。
稀疏Transformer 模塊是基于Transformer 架構(gòu),通過(guò)Top-t選擇將注意力退化為稀疏注意力,有助于保留注意力的成分,而去除其他無(wú)關(guān)的信息。本文提出的稀疏Transformer 模塊中注意力可以集中在最有貢獻(xiàn)的元素上。這種選擇方法在保留重要信息和去除噪聲方面具有有效性。稀疏Transformer 模塊結(jié)構(gòu)如圖2 所示。
圖2 稀疏Transformer 模塊結(jié)構(gòu)Fig.2 Structure of sparse Transformer module
對(duì)于單頭自注意力,將點(diǎn)柱特征xi經(jīng)線性層變換后變?yōu)橹迪蛄縑[lV,d]、關(guān)鍵向量K[lK,d]和查詢(xún)向量Q[lQ,d]。線性變換過(guò)程如式(1)所示:
其中:WP為對(duì)應(yīng)向量的線性變換矩陣;查詢(xún)向量Q與關(guān)鍵向量K的相似性通過(guò)點(diǎn)乘計(jì)算。注意力得分計(jì)算如式(2)所示:
由注意力機(jī)制可知,注意力得分S越高,特征相關(guān)性越強(qiáng)。因此,本文在S上實(shí)現(xiàn)稀疏注意力操作,以便選擇注意力矩陣中每行的前t個(gè)有貢獻(xiàn)的元素。本文選擇S中每行的t個(gè)最大元素,并記錄它們?cè)诰仃囍械奈恢?i,j),其中t是一個(gè)超參數(shù)。假設(shè)第i行的第t個(gè)最大值是ti,如果第j個(gè)分量的值大于ti,則記錄位置(i,j),連接每行的閾值以形成向量t=[t1,t2,…,tn],n為查詢(xún)向量的長(zhǎng)度。稀疏注意力SSA(·,·)函數(shù)如式(3)所示:
稀疏注意力模塊的輸出計(jì)算過(guò)程如式(4)所示:
本文使用多頭注意力機(jī)制將特征映射到不同的特征空間,以學(xué)習(xí)不同子空間的相關(guān)特征。不同的注意力頭可以獨(dú)立地進(jìn)行特征學(xué)習(xí),互不干擾。最后,將每個(gè)頭部的結(jié)果拼接再進(jìn)行一次線性變換得到的值作為多頭注意力的結(jié)果。將結(jié)果與點(diǎn)柱特征xi進(jìn)行殘差連接,再用層歸一化[21]對(duì)其進(jìn)行歸一化操作,層歸一化操作后得到的結(jié)果即為所求。
本文使用一個(gè)粗回歸模塊,該模塊有兩個(gè)分支,卷積分支用于調(diào)整特征尺度,RPN 分支用于粗略回歸目標(biāo)類(lèi)別和邊界框,回歸結(jié)果用于指導(dǎo)后續(xù)檢測(cè)頭進(jìn)行精細(xì)回歸操作。粗回歸模塊結(jié)構(gòu)如圖3所示。
圖3 粗回歸模塊結(jié)構(gòu)Fig.3 Structure of coarse regression module
從圖3 可以看出,空間特征是骨干網(wǎng)絡(luò)進(jìn)行多尺度特征串聯(lián)后得到的特征,特征大小為(6C,H/2,W/2),該骨干網(wǎng)絡(luò)與PointPillars 算法中的骨干網(wǎng)絡(luò)相同。在卷積分支中主要進(jìn)行1×1 的卷積操作,將骨干網(wǎng)絡(luò)輸出的空間特征降維,降維后的特征大小為(2C,H/2,W/2),將該特征與Transformer 模塊生成的全局上下文特征串聯(lián)。與此同時(shí),將空間特征送入RPN 分支,輸出類(lèi)別和邊界框。RPN 分支的回歸結(jié)果為檢測(cè)頭模塊提供粗略的錨框,用于后續(xù)邊界框的精確回歸操作。
本文在SECOND[22]損失函數(shù)的基礎(chǔ)上提出一種新的損失函數(shù),以更好地優(yōu)化粗回歸和檢測(cè)頭模塊。真值框和錨框由(x,y,z,w,l,h,θ)表示,其中(x,y,z)表示框的中心點(diǎn)坐標(biāo),(w,h,l)表示框的寬、高、長(zhǎng),θ表示框的方向角。邊界框的偏移由真值框和錨框計(jì)算,如式(5)所示:
其中:gt 表示真值框;a 表示錨框。位置回歸損失函數(shù)如式(6)所示:
其中:pre 表示預(yù)測(cè)值。對(duì)于角度回歸,這種減少角度損失的方法解決了0 和π 方向的沖突問(wèn)題。為解決該損失函數(shù)將方向相反的邊界框視為相同的問(wèn)題,本文在離散方向上使用交叉熵?fù)p失函數(shù),使網(wǎng)絡(luò)能夠區(qū)分目標(biāo)的正反方向。方向分類(lèi)損失函數(shù)定義為L(zhǎng)dir。本文使用Focal Loss 定義物體分類(lèi)損失,如式(7)所示:
其 中:pa表示模型預(yù)測(cè)的錨框類(lèi)別概率;α和γ表 示Focal Loss 的參數(shù)。
該檢測(cè)網(wǎng)絡(luò)總的損失函數(shù)如式(8)所示:
其中:上標(biāo)C 和D 分別表示粗回歸模塊和檢測(cè)頭模塊;表示粗回歸框的正錨框數(shù)目表示細(xì)回歸框的正錨框數(shù)目;βcls、βloc和βdir表示用于平衡類(lèi)別損失、位置回歸損失和方向損失的權(quán)重參數(shù);λ表示用于平衡粗回歸模塊和檢測(cè)頭模塊的權(quán)重。
本文在KITTI 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),該自動(dòng)駕駛數(shù)據(jù)集是目前在三維目標(biāo)檢測(cè)和分割領(lǐng)域中使用最廣泛的數(shù)據(jù)集。該數(shù)據(jù)集包含7 481 個(gè)訓(xùn)練樣本,本文按大約1∶1 的比例將訓(xùn)練樣本分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集包含3 712 個(gè)樣本數(shù)據(jù),測(cè)試集包含3 769 個(gè)樣本數(shù)據(jù)。本文在測(cè)試集上對(duì)模型訓(xùn)練的汽車(chē)、行人和騎行者這3 個(gè)類(lèi)別進(jìn)行評(píng)估。對(duì)于每個(gè)類(lèi)別,本文根據(jù)3D 對(duì)象的大小和遮擋程度分為簡(jiǎn)單、中等、困難3 個(gè)級(jí)別。平均精度均值(mean Average Precision,mAP)作為實(shí)驗(yàn)結(jié)果的評(píng)估度量。本文采用官方評(píng)估建議,將汽車(chē)的交并比(Intersection Over Union,IOU)閾值設(shè)置為0.7,將行人和騎行者的IOU 閾值設(shè)置為0.5。
本文實(shí)驗(yàn)的模型訓(xùn)練部分選用的設(shè)備信息:一臺(tái)運(yùn)行系統(tǒng)為Ubuntu18.04、顯卡為NVIDIA RTX 8000 的服務(wù)器,算法由python3.7 和pytorch1.4 框 架實(shí)現(xiàn),使用Adam 優(yōu)化器訓(xùn)練100 輪,批尺寸設(shè)置為6,學(xué)習(xí)率設(shè)置為0.003。
不同算法的三維檢測(cè)結(jié)果對(duì)比如圖4 所示,檢測(cè)的閾值均設(shè)置為0.5。在場(chǎng)景1 中,PointPillars 存在不同程度的誤檢,將環(huán)境中的噪點(diǎn)或者路燈桿檢測(cè)為行人或騎行者。在場(chǎng)景2 中,PointPillars 仍存在不同程度的誤檢和漏檢,將道閘的立柱檢測(cè)為行人,把并排行走或靠近的兩個(gè)人檢測(cè)為一個(gè)人。
圖4 不同算法的三維檢測(cè)結(jié)果對(duì)比Fig.4 Three-dimensional detection results comparison among different algorithms
鳥(niǎo)瞰視角下不同算法的檢測(cè)結(jié)果對(duì)比如圖5 所示,圖中邊為白色的矩形框說(shuō)明預(yù)測(cè)的邊界框與實(shí)際真值框未完全重合。
圖5 鳥(niǎo)瞰視角下不同算法的檢測(cè)結(jié)果對(duì)比Fig.5 Detection results comparison among different algorithms from aerial view
本文選擇VoxelNet、SECOND、PointPillars、3DGIoU[23]、Part-A2[24]、PointRCNN[25]、Point-GNN 和TANet[26]作為對(duì)比算法。表1、表2 和表3 分別表示在KITTI 測(cè)試集上汽車(chē)、行人和騎行者類(lèi)別下本文算法與其他算法的mAP 對(duì)比。3D mAP 是3 種難度類(lèi)別的平均精度均值。從表1~表3 可以看出,當(dāng)檢測(cè)行人和騎行者類(lèi)別時(shí),本文算法相較于其他算法具有較優(yōu)的平均精度均值。
表1 在汽車(chē)類(lèi)別下不同算法的mAP 對(duì)比Table 1 mAP comparison among different algorithms under car category %
表2 在行人類(lèi)別下不同算法的mAP 對(duì)比Table 2 mAP comparison among different algorithms under pedestrian category %
表3 在騎行者類(lèi)別下不同算法的mAP 對(duì)比Table 3 mAP comparison among different algorithms under cyclist category %
本文算法與現(xiàn)有執(zhí)行速度表現(xiàn)優(yōu)異算法的推理速度對(duì)比如表4 所示。從表4 可以看出,本文算法在提高平均精度均值的同時(shí),推理速度平均加快了0.535 8 frame/s。
表4 不同算法的推理速度對(duì)比Table 4 Inference speed comparison among different algorithms
2.3.1t值的選擇
由于注意力矩陣A與查詢(xún)向量Q、關(guān)鍵向量K有關(guān),因此t值的大小與系數(shù)k和關(guān)鍵向量K的長(zhǎng)度相關(guān)。本文1.2 節(jié)中t=k×lK,lK是關(guān)鍵向量K的長(zhǎng)度,也是注意力矩陣的列數(shù)。本文選取k={0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0}進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)設(shè)備的顯卡為RTX 2080,批尺寸設(shè)置為1。在KITTI 測(cè)試集上汽車(chē)類(lèi)別下本文算法的實(shí)驗(yàn)結(jié)果如圖6 所示,以系數(shù)k為橫坐標(biāo)表示選擇不同的t對(duì)本文算法檢測(cè)精度的影響。
圖6 在汽車(chē)類(lèi)別下本文算法的實(shí)驗(yàn)結(jié)果Fig.6 Experimental results of the proposed algorithm under the car category
從圖6 可以看出,隨著k值的增加,mAP 逐漸升高,當(dāng)k=0.3 時(shí),mAP 達(dá)到最高,然后開(kāi)始大幅度降低。其原因?yàn)楸疚牡南∈枳⒁饬δK對(duì)特征學(xué)習(xí)和去除噪點(diǎn)是有效的。在k=0.3 之前,原始的注意力同樣會(huì)注意到除目標(biāo)以外的無(wú)關(guān)成分,對(duì)檢測(cè)難度為中等和困難的目標(biāo)產(chǎn)生的影響較大。在k=0.3 之后,由于過(guò)多地過(guò)濾了目標(biāo)的有用特征,因此檢測(cè)精度明顯下降。雖然稀疏注意力模塊對(duì)檢測(cè)精度的提升幅度比較微小,但是對(duì)推理速度的提升卻十分顯著。從圖6(d)可以看出,相較于原始的Transformer,當(dāng)k=0.3 時(shí),本文算法的平均推理速度加快了約0.54 frame/s。
2.3.2 稀疏Transformer 模塊的作用
由于在KITTI 數(shù)據(jù)集中噪點(diǎn)數(shù)目無(wú)法得知,因此本文在每個(gè)目標(biāo)物的真值框內(nèi)添加相同數(shù)量的噪點(diǎn),模擬實(shí)際場(chǎng)景中噪點(diǎn)對(duì)模型的負(fù)影響,以測(cè)試該模塊對(duì)模型魯棒性和檢測(cè)精度的貢獻(xiàn)?;?.3.1 節(jié)的實(shí)驗(yàn)結(jié)果,本文將k值設(shè)置為0.3,在不改變其他模塊的情況下,在KITTI 測(cè)試集上汽車(chē)類(lèi)別下本文算法(稀疏Transformer 模塊)與PointPillars算法(普通Transformer 模塊)的mAP 對(duì)比如表5 所示。手動(dòng)在每個(gè)目標(biāo)物真值框內(nèi)隨機(jī)添加100 個(gè)噪點(diǎn),本文算法的mAP 僅下降1.60%,優(yōu)于PointPillars算法。
表5 在不同噪點(diǎn)數(shù)量下PointPillars 和本文算法的mAP 對(duì)比Table 5 mAP comparison among PointPillars and the proposed algorithms with different number of noises %
2.3.3 粗回歸模塊對(duì)結(jié)果的影響
在不改動(dòng)其余模塊的情況下,本文去掉粗回歸模塊的回歸分支,以驗(yàn)證粗回歸模塊的有效性。本文算法1 不包含粗回歸模塊,本文算法2 包含粗回歸模塊。本文算法在KITTI 測(cè)試集上汽車(chē)、行人和騎行者類(lèi)別下的實(shí)驗(yàn)結(jié)果分別如表6、表7 和表8 所示。從表中可以看出,相比不包含粗回歸模塊算法的測(cè)試結(jié)果,在不同檢測(cè)難度下有粗回歸模塊算法的mAP 分別提升了0.61、1.01 和0.95 個(gè)百分點(diǎn)。因此,包含粗回歸模塊的算法能夠更精確地回歸目標(biāo)物體的坐標(biāo)。
表6 在汽車(chē)類(lèi)別下粗回歸模塊對(duì)檢測(cè)精度的影響Table 6 Influence of coarse regression module on detection accuracy under car category %
表7 在行人類(lèi)別下粗回歸模塊對(duì)檢測(cè)精度的影響Table 7 Influence of coarse regression module on detection accuracy under pedestrian category %
表8 在騎行者類(lèi)別下粗回歸模塊對(duì)檢測(cè)精度的影響Table 8 Influence of coarse regression module on detection accuracy under cyclist category %
本文提出基于稀疏Transformer 的點(diǎn)云三維目標(biāo)檢測(cè)算法。通過(guò)稀疏Transformer 模塊顯示選擇與注意力相關(guān)的信息,以學(xué)習(xí)點(diǎn)云的全局上下文特征,從而提高模型的精確度。設(shè)計(jì)基于空間特征的粗回歸模塊,將其生成的初始錨框作為后續(xù)回歸精確操作的邊界框。在KITTI 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文算法具有較優(yōu)的檢測(cè)精度和魯棒性。下一步將在點(diǎn)云處理階段引入點(diǎn)云關(guān)鍵點(diǎn)的采樣信息,結(jié)合基于關(guān)鍵點(diǎn)和基于體素點(diǎn)云處理算法的優(yōu)點(diǎn),設(shè)計(jì)一種融合特征提取與體素關(guān)鍵點(diǎn)的目標(biāo)檢測(cè)算法,以擴(kuò)大檢測(cè)網(wǎng)絡(luò)的感受野并提高定位精度。