国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

融合點柱網(wǎng)絡(luò)和DETR的三維復(fù)雜道路目標(biāo)檢測

2023-12-12 03:00:56李偉文繆小冬顧曹雨左朝杰
關(guān)鍵詞:支柱注意力編碼

李偉文,繆小冬,顧曹雨,左朝杰

(南京工業(yè)大學(xué) 機(jī)械與動力工程學(xué)院, 南京 211816)

0 引言

智能駕駛在改善出行與減少交通事故中具有重要的作用,近年來得到了廣泛的關(guān)注。目標(biāo)檢測作為智能汽車環(huán)境感知中的一項基礎(chǔ)工作,對保障車輛行駛安全具有重要意義[1]。

目前智能汽車搭載的環(huán)境感知傳感器主要包括毫米波雷達(dá)、相機(jī)與激光雷達(dá)。毫米波雷達(dá)可以精準(zhǔn)探測障礙物與車輛的距離,但是檢測范圍較小,常用作倒車?yán)走_(dá);相機(jī)可以獲取豐富的圖像紋理信息,并且基于圖像的二維目標(biāo)檢測技術(shù)已經(jīng)取得了非常好的效果,但是相機(jī)難以獲取深度信息[2],因此純視覺算法在三維檢測中表現(xiàn)不佳;激光雷達(dá)作為一種高效的感知深度信息的傳感器,隨著硬件技術(shù)的提升,激光雷達(dá)的成本不斷降低,因此利用激光雷達(dá)進(jìn)行三維檢測的方法得到了越來越多的關(guān)注。

近年來,三維目標(biāo)檢測發(fā)展迅速,國內(nèi)外專家提出了許多有效地檢測方法。由于三維點云分布復(fù)雜,研究者最先是通過將點云轉(zhuǎn)化為非點云的方式去進(jìn)行處理,對位置信息的利用率較低,并且計算量很大,劉永剛等[3]提出的PointNet網(wǎng)絡(luò)利用了點云的置換不變性,直接對點云數(shù)據(jù)進(jìn)行升維拓展,再利用對稱函數(shù)池化,保留了關(guān)鍵位置信息,實現(xiàn)了直接利用點云提取位置特征,但是該方法難以完成在室外復(fù)雜環(huán)境中的檢測任務(wù)。

在處理室外場景時,點云的數(shù)據(jù)量過于龐大,對每個點進(jìn)行特征提取難以實現(xiàn),為了更有效地進(jìn)行檢測任務(wù),需要濾除大部分冗余點云,通常的做法是將點云空間劃分成若干體素,對非空體素取關(guān)鍵點進(jìn)行特征提取。Xie等[4]提出的VoxelNet網(wǎng)絡(luò)為典型的基于體素形式的檢測方法,其對非空體素中的點云利用PointNet網(wǎng)絡(luò)進(jìn)行特征提取,然后通過三維卷積神經(jīng)網(wǎng)絡(luò)提取全局特征后使用區(qū)域提案網(wǎng)絡(luò)(region proposal network,RPN)對物體進(jìn)行分類檢測和定位[5]。

為了提升檢測算法的速度,Stanisz 等[6]提出了PointPillar方法,通過強(qiáng)化車輛檢測水平方向的特征,弱化豎直方向的特征來提取點云特征,并基于鳥瞰圖(bird’s eye view,BEV)對空間進(jìn)行劃分,形成空間支柱,再對非空支柱中的點進(jìn)行特征提取生成偽圖像,使用二維卷積神經(jīng)網(wǎng)絡(luò)提取全局特征,保證精度的同時大幅提升了檢測速度。不同于上述文獻(xiàn)中的改變體素劃分的方法,Yan等[7]提出了一種Second方法,利用稀疏卷積來降低三維卷積中的冗余計算,也能有效提升檢測速度。

將點云空間劃分為體素塊或支柱都能有效減少噪聲點云的冗余計算,是智能車輛道路三維目標(biāo)檢測中最常用的兩類主要方法,其中基于體素塊的劃分更細(xì)膩,特征分辨率更高,但是在特征提取過程中花費的時間更多,計算量更大,而基于支柱的劃分雖然在檢測精度方面有所降低,但在檢測速度上有極大提升。

由于智能車輛目標(biāo)檢測對計算速度的要求非常高,使用點柱網(wǎng)絡(luò)的特征提取方式可以有效提升計算速度,但傳統(tǒng)的點柱網(wǎng)絡(luò)的檢測頭部分使用了三維RPN結(jié)構(gòu),需要人工設(shè)置錨框與非極大值抑制閾值等參數(shù),這些參數(shù)依賴人工先驗知識,與實際特征匹配性較差,會使運算結(jié)果出現(xiàn)偏差。為了減少手工預(yù)設(shè)參數(shù),Facebook團(tuán)隊提出的Detection Transformer(DETR)[8]方法簡化了檢測模型,利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)與Transformer[9]相結(jié)合,采用COCO數(shù)據(jù)集進(jìn)行測試,測試得出的平均檢測精度(average precision,AP)高于經(jīng)過優(yōu)化的RPN算法。

基于該方法在二維檢測中的優(yōu)異表現(xiàn),本文將其引用至三維檢測中,但在三維空間中直接對一幀數(shù)百萬的點云進(jìn)行編碼難以滿足實際工程需要的效率,因此提出了一種融合支柱編碼與DETR解碼頭相結(jié)合的方法,提升了支柱網(wǎng)絡(luò)的檢測精度。

1 相關(guān)算法

1.1 支柱編碼

點云數(shù)據(jù)的處理存在數(shù)據(jù)量大,冗余噪點多等問題,支柱編碼是基于點云的三維檢測中典型的特征提取主干網(wǎng)絡(luò),能夠有效減少檢測算法的計算量,并且保留點云的關(guān)鍵位置特征,其主要由支柱劃分、點云采樣、支柱編碼和生成偽圖像4個部分組成,將三維點云轉(zhuǎn)為二維偽圖像流程,如圖1所示。

圖1 點柱網(wǎng)絡(luò)將三維點云轉(zhuǎn)為二維偽圖像流程

1.1.1點柱劃分

首先將一個樣本的點云劃分成[X,Y,Z]的空間,再將點云空間切割成尺寸為[x,y,Z]的支柱空間,得到X/x×Y/y×1個支柱,能夠被采集特征的點被包含在各個支柱中,沒有點的支柱視為空支柱。由于點云具有稀疏性,支柱劃分可以有效減少計算量。

1.1.2點云采樣

設(shè)點云空間中的非空支柱數(shù)量為P,同時限制每個非空支柱中的點數(shù)為N,如果一個支柱中點的數(shù)量不及N,則用0補(bǔ)全。

1.1.3點云編碼

對支柱中的每個點進(jìn)行編碼,其中每個點的信息包括點的坐標(biāo)、反射強(qiáng)度和時間戳,在進(jìn)行完采樣以后,又能得到支柱中點的坐標(biāo)均值與采樣點到支柱中心的距離,拓展了點的信息,將每個點的信息長度記為D。這樣一個點云空間樣本就可以用一個(P,N,D)的張量來表示。

1.1.4生成支柱偽圖像

得到空間樣本張量后,需要對其進(jìn)行處理提取特征,通過使用PointNet中的點集抽象(set abstraction,SA)模塊來處理每個非空支柱。先對每個支柱中的點使用多層感知機(jī)(multilayer perceptron,MLP)來使得每個點的維度從D變成C,這樣張量變成了(P,N,C),然后對每個支柱中的點使用最大池化(max pooling),得到每個支柱的特征向量,也使得張量中的N的維度消失,得到了(P,C)維度的特征圖,根據(jù)支柱的位置將P個支柱的特征映射到尺寸為(W,H)的特征圖上,生成(C,W,H)的支柱偽圖像。

1.2 DETR解碼器

在獲取點云特征以后,需要將特征傳入檢測頭進(jìn)行檢測。在傳統(tǒng)的二維檢測中,檢測頭部分利用RPN進(jìn)行大量的回歸計算來進(jìn)行預(yù)測,為了簡化檢測通道,DETR算法將應(yīng)用于自然語言處理領(lǐng)域的Transformer模型用于目標(biāo)檢測,在進(jìn)行機(jī)器翻譯時,利用了注意力機(jī)制,令處理結(jié)果在輸入文本中找到相關(guān)性最強(qiáng)的部分,使最終的處理結(jié)果更為精確。DETR遵循Transformer的結(jié)構(gòu),利用注意力機(jī)制建立了預(yù)測集合與圖像之間的聯(lián)系,并對其解碼器進(jìn)行改進(jìn),使模型可以在每個解碼層并行計算出結(jié)果。該解碼器結(jié)構(gòu)包含多頭注意力機(jī)制(multi-head attention)、前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network,FNN)和殘差連接等模塊,結(jié)構(gòu)如圖2所示。

圖2 DETR解碼頭結(jié)構(gòu)

1.2.1位置編碼

位置編碼(position encoding)將圖像的位置信息編碼為向量,使目標(biāo)查詢向量可以在注意力機(jī)制的幫助下,找到需要關(guān)注的位置[10]。常用的位置編碼公式為:

PE(pos,2i)=sin(pos/10 0002i/dm)

(1)

PE(pos,2i+1)=cos(pos/10 0002i/dm)

(2)

式中:PE為二維矩陣,尺寸與經(jīng)過卷積的特征圖(H×W)一致,dm表示向量的通道數(shù),通常與下采樣后的特征圖通道數(shù)C保持一致。上述公式表示在向量的偶數(shù)通道添加正弦向量,在奇數(shù)通道添加余弦向量,然后將該矩陣與預(yù)測特征圖相加即可完成位置編碼的引入。

1.2.2多頭注意力機(jī)制

注意力機(jī)制可以通過查詢向量(query)、鍵向量(key)和值向量(value),在經(jīng)過卷積提取的特征中找到需要關(guān)注的部分,通過計算query和各個key的內(nèi)積得出對應(yīng)的相似性,利用softmax函數(shù)得到對應(yīng)value的權(quán)重系數(shù),利用這個權(quán)重系數(shù)乘上value向量,得到最終的注意力向量,數(shù)學(xué)表達(dá)式如下所示,查詢向量、鍵向量、值向量以及向量維度分別用Q、K、V、dk表示。

(3)

由于query和key的值很大,進(jìn)行softmax時反向傳播使梯度很小,需要除以根號dk保持方差穩(wěn)定,避免梯度消失。

多頭注意力機(jī)制[11]可以將模型的注意力映射到不同的維度上,在每一個維度均生成對應(yīng)的查詢向量、鍵向量以及值向量并且計算各自注意力值。并行計算完成以后,模型將各子層的輸出拼接在一起得到最終的注意力值,計算公式為

MultiHead(Q,K,V)=Concat(head1,…h(huán)eadm)W

(4)

(5)

式中:headm表示m個注意力頭,W為線性投影矩陣。多頭注意力機(jī)制可以讓模型學(xué)習(xí)到更加全面和豐富的特征表示,從而增強(qiáng)模型的魯棒性,提高了模型的泛化能力,使其能夠更好地適應(yīng)不同的任務(wù)和場景。

2 網(wǎng)絡(luò)結(jié)構(gòu)

根據(jù)上述理論,對點柱網(wǎng)絡(luò)的編碼部分與DETR的解碼部分進(jìn)行了結(jié)合,改進(jìn)的點柱網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。

圖3 改進(jìn)的點柱網(wǎng)絡(luò)結(jié)構(gòu)

首先利用支柱編碼生成偽圖像提取點云特征。為了更好地從偽圖像中捕捉復(fù)雜特征,需要對生成的點云偽圖像使用ResNet50[12]進(jìn)行進(jìn)一步特征提取,利用二維卷積生成特征金字塔,獲得多尺度的信息。在訓(xùn)練中使用ResNet的殘差塊結(jié)構(gòu),可以更好地傳遞梯度,避免梯度消失或爆炸的問題,提高了模型的訓(xùn)練效率。本文中使用的位置編碼是一種可學(xué)習(xí)的絕對位置編碼,利用位置編碼不僅減少了算法的復(fù)雜性[13],還能提高目標(biāo)檢測的精度。最后利用多頭自注意力機(jī)制與多頭注意力機(jī)制,使每一個初始目標(biāo)查詢從點云中提取的特征向量中,找到相關(guān)性最高的特征,并且通過位置編碼實現(xiàn)定位,最后在該位置通過前饋神經(jīng)網(wǎng)絡(luò),輸出類與三維盒框完成預(yù)測。

2.1 模型參數(shù)設(shè)置

在編碼器部分,根據(jù)nuScenes數(shù)據(jù)集中點數(shù)的分布,以[-5,3]×[-54,54]×[-54,54](單位:m)沿Z×X×Y軸對點云空間進(jìn)行裁剪。設(shè)定的支柱尺寸為0.2 m×0.2 m×8 m,將每個空體素中的最大點數(shù)設(shè)置為20,訓(xùn)練體素個數(shù)最多為 30 000。在解碼器部分,設(shè)置200個初始化目標(biāo)查詢。

2.2 損失函數(shù)

(6)

(7)

匹配完所有的預(yù)測框與真實框后,需要計算所有配對的匈牙利損失。與常規(guī)目標(biāo)檢測算法損失的定義類似,匈牙利損失為分類損失、回歸損失與IoU損失的線性組合,公式為

(8)

其中用Focalloss[18]計算分類損失,用L1損失計算回歸損失,用廣義的IoU損失[19]計算IoU損失。λ1、λ2、λ3是單個損失項的系數(shù)。

3 實驗

3.1 數(shù)據(jù)集

目前用于輔助駕駛研究的主流公開數(shù)據(jù)集有Kitti數(shù)據(jù)集[15]、Waymo數(shù)據(jù)集[16]和nuScenes[17]數(shù)據(jù)集等。其中,nuScenes數(shù)據(jù)集由Motional團(tuán)隊采集,包含了140萬個圖像、39萬個激光雷達(dá)點云、140萬個雷達(dá)掃描和4萬個關(guān)鍵幀中的140萬個對象邊界框,相對于其他2種數(shù)據(jù)集,搭載的傳感器更先進(jìn),數(shù)據(jù)規(guī)模最大,采集的場景最豐富,同時還提供了高精度的標(biāo)注。nuScenes數(shù)據(jù)集一方面可以充分發(fā)揮Transformer結(jié)構(gòu)的優(yōu)勢,另一方面能使訓(xùn)練出的模型更適應(yīng)實際復(fù)雜道路場景。

3.2 實驗環(huán)境

本實驗在pytorch架構(gòu)下實現(xiàn),操作系統(tǒng)為Windows10,中央處理器為Intel Core i9-12900K,內(nèi)存為64 GB,GPU為NVIDIA GeForce RTX A4000 16 G,python版本為3.7。該模型采用隨機(jī)梯度下降法進(jìn)行訓(xùn)練,學(xué)習(xí)率為 0.000 05,指數(shù)衰減因子為0.8,根據(jù)訓(xùn)練模型進(jìn)行了驗證實驗,包括3D檢測可視化結(jié)果和評價指標(biāo)結(jié)果。

3.3 評價指標(biāo)與結(jié)果對比

3.3.1對比原點柱網(wǎng)絡(luò)

使用檢測任務(wù)中常用的平均精度均值(mAP)來作為評定模型性能的指標(biāo),不過在nuScenes數(shù)據(jù)集中AP指標(biāo)是通過對地面上的2D中心距離d來取閾值而非IoU,這樣做不僅降低了物體尺寸和方向?qū)P計算的影響,還可以檢測較小的平移誤差,其次刪除召回率或準(zhǔn)確率在10%以下的操作點,減少低精度與誤檢區(qū)域的噪聲影響。最終對D={0.5,1,2,4}m的匹配閾值和類別集合C進(jìn)行平均運算。計算公式為

(9)

nuScenes還提出了一個綜合指標(biāo),即nuScenes檢測分?jǐn)?shù)(NDS),該指標(biāo)使用正樣本(TP)指標(biāo)計算得出。由平均精度均值(mAP)、平均平移誤差(ATE)、平均尺度誤差(ASE)、平均方向誤差(AOE)、平均速度誤差(AVE)和平均屬性誤差(AAE)組成,計算公式為

(10)

(11)

式中:ATE是二維歐幾里德中心距離;ASE是1-IoU3d,IoU3d是三維交并比;AOE是預(yù)測值和真實值之間最小的偏航角差;AVE是二維速度差的L2范數(shù)(m/s);AAE是1-acc,acc為分類準(zhǔn)確度。表1為點柱網(wǎng)絡(luò)改進(jìn)前后在不使用任何數(shù)據(jù)增強(qiáng)手段的誤差均值與NDS值。

表1 點柱網(wǎng)絡(luò)改進(jìn)前后誤差均值

由表1中數(shù)據(jù)縱向?qū)Ρ瓤梢缘贸?經(jīng)過融合DETR解碼器的點柱算法,所有的誤差均值指標(biāo)皆小于原模型,并且NDS打分提升了19.02分,即在nuScenes數(shù)據(jù)集上的表現(xiàn)遠(yuǎn)遠(yuǎn)優(yōu)于原算法。為了進(jìn)一步對實驗結(jié)果進(jìn)行分析,繪制了誤差均值對比直方圖,如圖4。

圖4 誤差均值對比直方圖

從直方圖中可以看出,改進(jìn)后的網(wǎng)絡(luò)大幅度提升了預(yù)測框的偏航角準(zhǔn)確度,效果如圖5所示,并且預(yù)測框與真實框的重合度也更高,分類準(zhǔn)確度也有不小的提升,驗證了本文在檢測頭中使用注意力機(jī)制的效果,優(yōu)于通過大量回歸計算擬合的方法。

圖5 車輛檢測效果

3.3.2對比典型三維檢測方法

點柱算法作為一種經(jīng)典的檢測方法,近幾年有許多學(xué)者對其進(jìn)行了優(yōu)化,如調(diào)整點柱劃分參數(shù)、調(diào)整訓(xùn)練超參數(shù)、改進(jìn)特征提取網(wǎng)絡(luò)、使用數(shù)據(jù)增強(qiáng),以及本文的使用優(yōu)化檢測頭的方法。為了驗證本文改進(jìn)方法的有效性,將本文提出的算法與典型的三維檢測算法PointPillars、PointPainting[20]、CenterPoint[21]進(jìn)行對比。為了針對改進(jìn)部分進(jìn)行測試,在對比實驗中采取相同的點柱劃分參數(shù)與特征提取骨干網(wǎng)絡(luò),將各個模型在數(shù)據(jù)集中對小汽車(Car)、卡車(Truck)、施工車輛(C.V.)、公交車(Bus)、拖車(Trailer)、路障(Barrier)、摩托車(Motor)、自行車(Bike)、行人(Ped.)、交通錐(T.C.)的平均精度、NDS打分、mAP值與FPS值進(jìn)行對比,指標(biāo)數(shù)值如表2所示,最優(yōu)數(shù)值經(jīng)加粗處理。

表2 改進(jìn)的點柱網(wǎng)絡(luò)與其他網(wǎng)絡(luò)指標(biāo)

續(xù)表(表2)

根據(jù)表2中數(shù)據(jù)可以看到不同算法對道路上常見的小汽車、卡車、公交車的檢測結(jié)果。首先對道路上常見的小汽車、卡車、公交車的檢測精度進(jìn)行對比,本文方法的檢測精度具有明顯優(yōu)勢;對于道路上不常見的拖車、路障、交通錐、施工車輛等,檢測精度還有較大提升空間;對于復(fù)雜的道路情況,如存在行人、自行車、摩托車時,本文方法的精測精度也達(dá)到了較高水平。其次,對比各個算法的計算速度,多模態(tài)的算法處理速度較慢,本文的方法相較于點柱網(wǎng)絡(luò)FPS值提升了3,可以滿足實時檢測的要求。為了進(jìn)一步對數(shù)據(jù)進(jìn)行分析,繪制了檢測精度對比雷達(dá)圖,如圖6所示。

圖6 模型的十分類平均精度對比雷達(dá)圖

由于基于點云的三維檢測,僅憑借點云的分布位置信息作為依據(jù)進(jìn)行預(yù)測,道路中許多目標(biāo)在點云空間中十分不規(guī)則,或與周圍環(huán)境的點云分布十分類似,因此對于這些目標(biāo)的檢測較為困難。由雷達(dá)圖可以得出,各個模型對施工車輛與自行車的檢測精度都很低,而借助相機(jī)與激光雷達(dá)進(jìn)行雙模態(tài)融合的方法在這方面存在優(yōu)勢。對于道路中常見的汽車、公交車和卡車等本文提出的檢測方法都取得了非常良好的檢測效果。僅憑數(shù)據(jù)并不夠直觀,因此繪制了三維檢測效果對比圖,如圖7所示。

圖7 三維檢測效果

圖7中,第一列是使用了數(shù)據(jù)增強(qiáng)的PointPillars模型,第二列是使用了RegNet[22]作為特征提取網(wǎng)絡(luò),第三列是本文提出的方法,綠色的框為模型的預(yù)測框,紫色的框為真實標(biāo)注框。3種方法的支柱劃分參數(shù)一致,區(qū)別在于,前2種使用了以區(qū)域提案結(jié)構(gòu)作為檢測頭,在空間中的每一個位置進(jìn)行回歸與預(yù)測,而本文提出的方法建立了預(yù)測集與特征的聯(lián)系,在空間中找到需要關(guān)注的位置進(jìn)行預(yù)測。從圖7中藍(lán)色圈中的部分可以看出,本文提出的方法檢測的精度較高,并且無明顯漏檢現(xiàn)象,從圖中棕色圈中的部分可以看出,在對遠(yuǎn)端稀疏點云的檢測中,誤檢率得到了很好的控制。

4 結(jié)論

基于DETR對點柱網(wǎng)絡(luò)進(jìn)行改進(jìn),提出一種利用注意力機(jī)制,建立預(yù)測集合與點云特征的關(guān)聯(lián)方法,避免了預(yù)測結(jié)果對人工先驗知識的依賴,經(jīng)過在Nuscenes數(shù)據(jù)集中驗證,得出本文的方法檢測與典型的三維檢測算法相比具有優(yōu)勢。

1) 對于單個目標(biāo)的檢測效果,對比原點柱網(wǎng)絡(luò),預(yù)測結(jié)果的偏航角誤差大幅減小,預(yù)測包圍盒與真實包圍盒的重合度更高,能夠更精準(zhǔn)地感知目標(biāo)的三維姿態(tài)與尺寸,平均檢測精度均值提升了19.14%,NDS打分提升了14.38。

2) 對于整體的檢測效果,本文的方法可以滿足實時檢測的需求,相對于其他典型的三維檢測算法,對于道路中常見的汽車、公交車和卡車等目標(biāo),在檢測精度方面具有明顯優(yōu)勢。通過利用注意力機(jī)制,關(guān)注關(guān)鍵位置,在沒有明顯漏檢的情況下,誤檢率得到了很好的控制。

猜你喜歡
支柱注意力編碼
讓注意力“飛”回來
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
電子制作(2019年22期)2020-01-14 03:16:24
Genome and healthcare
國電數(shù)字物資的三大支柱
能源(2017年7期)2018-01-19 05:05:05
“揚眼”APP:讓注意力“變現(xiàn)”
傳媒評論(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
實施五大支柱 落實五大任務(wù)
建一座帶支柱的房子
忻州市| 定日县| 突泉县| 昔阳县| 大埔县| 佳木斯市| 乌拉特前旗| 宁蒗| 佛山市| 杨浦区| 德州市| 綦江县| 陆良县| 阿克陶县| 京山县| 班玛县| 清原| 沙湾县| 马山县| 镇赉县| 闵行区| 清苑县| 崇信县| 青川县| 阿城市| 隆德县| 桐柏县| 芜湖县| 门头沟区| 潼南县| 寻甸| 建宁县| 蒙自县| 邢台市| 哈尔滨市| 双峰县| 兴宁市| 重庆市| 汕头市| 蓬溪县| 鹤壁市|