本發(fā)明涉及目標檢測和模型輕量化領(lǐng)域,針對真實的駕駛場景中,由于場景的復雜,包含了很多遮擋以及較小的目標,導致了在檢測過程中出現(xiàn)漏檢、誤檢等現(xiàn)象的出現(xiàn)。提出了一種基于多尺度輕量級模型的自動駕駛目標檢測方法,適用于復雜的交通場景下的目標檢測任務(wù)。
背景技術(shù):
1、隨著城市化的加速發(fā)展,道路上的車輛越來越多。一方面,車輛給人們的出行帶來了方便,尤其是在自駕旅行中。另一方面,它也引發(fā)了交通擁堵和交通事故等諸多社會問題。自動駕駛技術(shù)就可以通過優(yōu)化交通流量和避免交通事故來解決這些問題,同時也可以為駕駛者提供休息,減少長時間駕駛造成的疲勞。其中目標檢測在自動駕駛中是一個很重要的環(huán)節(jié),可以通過深度學習在車輛行駛過程中識別和檢測周圍環(huán)境中的各種物體和障礙物,以幫助車輛做出適當?shù)臎Q策和行駛規(guī)劃。利用深度學習的目標檢測算法可以在實際交通情況下檢測出道路上的車輛、行人、交通信號等物體。然而一些研究人員為了獲得更高的目標檢測性能,采用了復雜的模型,由于車輛的計算資源有限,這些復雜的模型難以部署在嵌入式設(shè)備上,也無法在自動駕駛過程中實現(xiàn)實時檢測。因此在車載計算單元上部署,并提升這些模型的檢測精度依然具有挑戰(zhàn)性。
2、近年來,隨著計算機視覺技術(shù)的不斷發(fā)展,許多基于深度學習的算法在目標檢測方面表現(xiàn)突出。一方面是girshick等人提出的的r-cnn[2]、fast?r-cnn[3]、faster?r-cnn[4]和mask?r-cnn[5]等兩階段目標檢測算法,這些算法雖然具有較高的檢測精度,但是由于計算量太大,檢測所需的時間太多,影響目標檢測的效率。另一方面是joseph?redmon等人提出的yolo[6-8]、ssd[9]等單階段目標檢測算法。目前單階段的檢測算法的準確率也有了很大的提高,這使得近些年單階段的算法被應(yīng)用在對實時性有較高要求的任務(wù)中,于是很多研究者就將單階段的算法應(yīng)用在駕駛場景中的目標檢測中。在駕駛場景中的目標檢測任務(wù)中,提升檢測精度往往就需要增加網(wǎng)絡(luò)的深度,這也將導致模型參數(shù)量和計算量的增加。因此,如何在保持檢測精度的同時,有效的較少模型的參數(shù)量和計算量,成為一個需要解決的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提出了一種基于跨空間學習的多尺度自動駕駛目標檢測方法,為解決自動駕駛場景中傳統(tǒng)目標檢測存在的對復雜背景漏檢、誤檢等現(xiàn)象的出現(xiàn),以及遮擋、小目標檢測精度低的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)解決方案:一種基于跨空間學習的多尺度自動駕駛目標檢測方法,步驟如下:
3、步驟1:將kitti和bdd100k數(shù)據(jù)集的標簽類別進行重新分類,并將分類后的數(shù)據(jù)集以8:1:1的比例劃分為訓練集、驗證集和測試集。
4、步驟2:在主干網(wǎng)絡(luò)中,通過多尺度線性注意力模塊來實現(xiàn)全局感受野和多尺度學習。
5、步驟3:利用一種新的跨空間學習方法聚合多個并行子網(wǎng)絡(luò)的輸出特征圖,同時在頸部的c2f中結(jié)合新的pconv卷積來有效的減少冗余計算和內(nèi)存訪問。
6、步驟4:改進了一種siou結(jié)合歸一化高斯wasserstein距離的回歸損失算法來更準確地定位目標。
7、步驟5:對網(wǎng)絡(luò)分別在kitti和bdd100k數(shù)據(jù)集上進行訓練和測試。
8、進一步地,所述步驟一中kitti數(shù)據(jù)集和bdd100k是用于自動駕駛和車輛行人檢測性能評估的一個非常重要的數(shù)據(jù)集。對kitti數(shù)據(jù)集進行處理后,類別主要分為八類:car,truck,person,van,cyclis,misc,tram,person_sitting。對bdd100k數(shù)據(jù)集進行處理后,類別主要分為七類:car,truck,bicycle,pedestrian,bus,rider,motorcycle。其中kitti數(shù)據(jù)集7481張,bdd100k數(shù)據(jù)集15800張。將兩個數(shù)據(jù)集按訓練集、驗證集、測試集隨機分為8:1:1的比例。
9、進一步地,所述步驟二中采用了計算量和內(nèi)存訪問更小的網(wǎng)絡(luò)efficientvit_m0替換原本的主干網(wǎng)絡(luò)。efficientvit-b0是一種基于cnn(convolutional?neural?network)和transformer的輕量型混合架構(gòu),同時具有cnn結(jié)構(gòu)和transformer結(jié)構(gòu)的優(yōu)點。efficientvit-b0保留了卷積神經(jīng)網(wǎng)絡(luò)的歸納偏置能力,加速網(wǎng)絡(luò)收斂,使模型更加穩(wěn)定。efficientvit-b0的transformer結(jié)構(gòu)使模型建立全局圖像的長距離連接,具有更強的全局感受野與魯棒性,提高了模型的泛化能力。
10、進一步地,所述步驟三中為了改善輕量化骨干帶來的精度損失,增強骨干網(wǎng)絡(luò)的特征表示和注意力分配能力,在骨干網(wǎng)絡(luò)中添加ema(efficient?multi-scale?attentionmodule?with?cross-spatial?learning)跨空間學習高效多尺度注意力機制,該模塊對部分通道進行重組,將通道維度劃分為多個子特征組,實現(xiàn)空間語義特征的均勻分布。
11、進一步地,在前端使用兩個并行分支來提取特征圖的注意力權(quán)重,具有更好地捕捉跨通道之間關(guān)系的優(yōu)點。在模塊后端,采用跨維度交互方式對兩個分支輸出的特征進行處理。這樣,網(wǎng)絡(luò)可以更好地利用不同分支的信息,從而提高模型的性能和泛化能力。
12、進一步地,為了確保模型尺寸要求,實現(xiàn)自動駕駛車輛的實時檢測,引入了輕量級網(wǎng)絡(luò)fasternet,fasternet是用于目標檢測的輕量級高效神經(jīng)網(wǎng)絡(luò)。提出了一種新的卷積模塊部分卷積(partial?convolution,pconv),pconv通過同時減少計算冗余和內(nèi)存訪問次數(shù)能更有效地提取空間特征。
13、進一步地,所述步驟四中為了進一步提高模型檢測小目標的性能,本文將ciou損失替換為siou損失函數(shù)結(jié)合nwd損失形成新的損失函數(shù)siou-nwd。siou損失通過添加角度懲罰項來提升定位精度和收斂速度,優(yōu)化了模型的訓練和推理過程,提高了車輛檢測網(wǎng)絡(luò)的檢測速度和精度。而nwd損失通過wasserstein距離的框相似度度量方法來提高小目標的檢測能力。計算公式如下:
14、
15、lnwd=1-nwd(na,nb)
16、ls_nwd=0.5lsiou+0.5lnwd
17、ls_nwd損失是將siou損失與nwd損失相融合,既保持了siou損失的高速度,又增強了對小目標的檢測性能。
18、進一步地,所述步驟五中將原始的yolov8網(wǎng)絡(luò)模型和改進后的網(wǎng)絡(luò)模型在處理后的數(shù)據(jù)集上進行訓練。為了證明改進模型的有效性,設(shè)置多組模塊對比實驗。
19、進一步地,深度學習的框架為torch-1.13.1+cu117,每次實驗迭代次數(shù)150次,批量大小batchsize為16,初始學習率為0.01,權(quán)重衰減系數(shù)為0.0005。
20、本發(fā)明的有益效果:本發(fā)明提出一種基于跨空間學習的多尺度自動駕駛目標檢測方法,針對傳統(tǒng)自動駕駛中目標檢測算法對遮擋以及小目標檢測精度低的問題,在主干部分通過引入efficientvit基于級聯(lián)組注意力的記憶高效視覺transformer,它能夠很好的在速度和準確性之間取得良好的平衡,比現(xiàn)有的高效模型表現(xiàn)的更好。然而我們?yōu)榱诉M一步減少模型的大小,可以使模型更好的應(yīng)用于實際場景中,我們對頸部的c2f模塊進行了修改,融合了一重基于pconv卷積的輕量、快速的神經(jīng)網(wǎng)絡(luò),使其在真實場景中獲得更快的運行速度,同時又不影響目標檢測精度,此外,我們還在骨干網(wǎng)絡(luò)中以及c2f中融入了跨空間學習的高效多尺度注意力模塊ema,進一步提升檢測性能。最后為了提升檢測中小目標的檢測精度,融合siou損失函數(shù)和nwd損失函數(shù)改進了新的損失siou-nwd來替換ciou。