杜 娟,崔少華,晉美娟,茹 琛
1.太原科技大學(xué) 機(jī)械工程學(xué)院,太原 030024
2.山西平陽重工機(jī)械有限責(zé)任公司,山西 臨汾 043000
在過去的幾年中,隨著計(jì)算機(jī)技術(shù)和深度學(xué)習(xí)的發(fā)展,道路目標(biāo)檢測技術(shù)在實(shí)現(xiàn)自動(dòng)駕駛和智能交通系統(tǒng)等領(lǐng)域中扮演著越來越重要的角色。道路目標(biāo)檢測的主要目的是在道路圖像中檢測和識(shí)別各種交通標(biāo)志、行人、車輛和其他障礙物,從而為自動(dòng)駕駛和智能交通系統(tǒng)提供必要的信息。因此,準(zhǔn)確地檢測和識(shí)別這些目標(biāo)對(duì)于保證車輛和行人的安全和提高道路交通效率至關(guān)重要。
道路目標(biāo)檢測技術(shù)已經(jīng)經(jīng)歷了多個(gè)發(fā)展階段。早期的目標(biāo)檢測方法主要基于傳統(tǒng)的計(jì)算機(jī)視覺算法,如Haar[1]特征分類器、HOG[2]特征分類器和SIFT[3]特征分類器等。這些方法需要手動(dòng)選擇特征并且對(duì)特征提取和分類算法進(jìn)行調(diào)試,難以適應(yīng)復(fù)雜的場景,并且準(zhǔn)確率和魯棒性相對(duì)較低。
近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的道路目標(biāo)檢測方法逐漸興起。深度學(xué)習(xí)模型能夠自動(dòng)學(xué)習(xí)特征,并且在目標(biāo)檢測和識(shí)別任務(wù)中表現(xiàn)出色。常用的深度學(xué)習(xí)目標(biāo)檢測框架主要分為兩類:基于區(qū)域的目標(biāo)檢測(region-based detection)和單階段目標(biāo)檢測(single-stage detection)。基于區(qū)域的目標(biāo)檢測算法主要是通過提取圖像中的區(qū)域(region proposal)來實(shí)現(xiàn)目標(biāo)檢測,這些區(qū)域通常是預(yù)先選定的,然后通過CNN進(jìn)行分類和定位?;趨^(qū)域的目標(biāo)檢測算法主要包括RCNN[4]、Fast R-CNN[5]、Faster R-CNN[6]等。單階段目標(biāo)檢測算法則是直接在圖像中進(jìn)行分類和定位,通常比基于區(qū)域的算法速度更快,但在精度方面稍遜一籌。單階段目標(biāo)檢測算法主要包括SSD[7]、RetinaNet[8]、YOLO[9-12]系列等算法在復(fù)雜道路場景目標(biāo)檢測方面,這些算法已經(jīng)得到了廣泛的應(yīng)用。
例如針對(duì)道路中的行人檢測問題,樊嶸等人[13]以DETR[14]為基礎(chǔ)模型,引入注意力編碼器來有效利用小目標(biāo)的特征信息,并在訓(xùn)練時(shí)使用Smooth-L1與GIoU[15]結(jié)合的損失函數(shù)來加速收斂,在Wider-Person數(shù)據(jù)集上取得了較好的檢測效果。針對(duì)道路中的交通標(biāo)志檢測問題,韋強(qiáng)等人[16]以YOLOv5 為基礎(chǔ)模型,引入遞歸門控卷積[17]用于骨干網(wǎng)絡(luò),并引入F-EIoU[18]損失函數(shù)和SOCA[19]注意力進(jìn)一步小目標(biāo)的檢測精度,并在TT100K數(shù)據(jù)集上得到了較大的檢測精度提升。對(duì)于復(fù)雜道路場景中的目標(biāo)檢測問題,盛博瑩等人[20]提出基于反饋機(jī)制的特征提取網(wǎng)絡(luò)(RFP-PAN),并提出級(jí)聯(lián)注意力機(jī)制(SECA)用來提高雜交通場景下的小目標(biāo)檢測精度;冉險(xiǎn)生等人[21]基于YOLOv5算法,改進(jìn)了特征融合方式并改進(jìn)了感受野模塊以增大網(wǎng)絡(luò)感受野從而更好地學(xué)習(xí)目標(biāo)特征信息,最后引入quality focal loss[22]進(jìn)一步加速網(wǎng)絡(luò)收斂,在BDD100K 數(shù)據(jù)集和自制數(shù)據(jù)集上得到了較高的精度提升,且檢測速度沒有下降,使復(fù)雜道路場景下的檢測性能得到提升。
目前,雖然基于深度學(xué)習(xí)的目標(biāo)檢測算法在復(fù)雜道路場景中的目標(biāo)檢測方面已經(jīng)取得了很好的效果,但是對(duì)于場景中的小目標(biāo)檢測仍然存在一些問題。首先,目前的算法在小目標(biāo)檢測方面仍然存在一定的誤檢率和漏檢率。這是由于小目標(biāo)的尺寸和形狀各異,加之環(huán)境因素的干擾,容易導(dǎo)致誤檢或漏檢。其次,復(fù)雜道路場景中的背景干擾也是一個(gè)難點(diǎn)問題。由于道路場景中背景復(fù)雜多變,很容易出現(xiàn)背景中的物體被誤檢為小目標(biāo)的情況。另外,復(fù)雜道路場景中小目標(biāo)的檢測速度也是一個(gè)需要關(guān)注的問題。對(duì)于自動(dòng)駕駛這些對(duì)實(shí)時(shí)性和準(zhǔn)確性要求較高的任務(wù)而言,算法的檢測速度需要足夠快,準(zhǔn)確度要足夠高,以便及時(shí)做出決策。
針對(duì)上述問題,本文提出一種基于YOLOv7[23]的改進(jìn)算法,可以有效改善復(fù)雜道路場景中的小目標(biāo)檢測精度低的問題,且滿足了精度與速度的平衡。改進(jìn)主要包括以下5 點(diǎn):(1)在檢測頭部增加了一個(gè)小目標(biāo)檢測層,用于降低對(duì)小目標(biāo)的漏檢誤檢概率;(2)對(duì)先驗(yàn)框用K-means++算法進(jìn)行重聚類,用于增加對(duì)小目標(biāo)的定位能力;(3)替換損失函數(shù)為WIoU loss[24],增加對(duì)低質(zhì)量錨框的聚焦能力,加快模型收斂速度;(4)在頸部和頭部引入?yún)f(xié)調(diào)坐標(biāo)卷積,增強(qiáng)對(duì)特征圖的空間感知能力;(5)提出一種partial convolution(PConv)與ELAN 結(jié)構(gòu)融合的P-ELAN 結(jié)構(gòu)來使網(wǎng)絡(luò)輕量化,減少模型參數(shù),加快推理速度。
YOLOv7 是一款優(yōu)秀的一階段目標(biāo)檢測器,它是在YOLOv5 的基礎(chǔ)上進(jìn)行改進(jìn)和優(yōu)化得到的,它結(jié)合了眾多優(yōu)秀的先進(jìn)思想,共有YOLOv7-tiny、YOLOv7、YOLOv7-d6、YOLOv7-e6、YOLOv7-e6e、YOLOv7-w6六個(gè)版本。其中YOLOv7 保證了在邊緣設(shè)備推理時(shí)的精度與速度平衡,本文也是在此版本基礎(chǔ)上進(jìn)行改進(jìn),在推理速度不受影響的前提下使其獲得更高的精度。
YOLOv7 算法由輸入端(InPut)、特征提取網(wǎng)絡(luò)(Backbone)、頸部網(wǎng)絡(luò)(Neck)、多尺度檢測頭(Head)組成。YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
輸入端進(jìn)行圖像的預(yù)處理,包括一些mixup、mosaic等數(shù)據(jù)增強(qiáng)方案,并把圖像對(duì)齊為特定尺寸大小的圖片,之后送入特征提取網(wǎng)絡(luò)。
特征提取網(wǎng)絡(luò)主要由多個(gè)CBS,ELAN[25]和MP 模塊的連續(xù)堆疊組成,總共對(duì)圖像進(jìn)行了32 倍下采樣。CBS 由Conv、BN、SiLu[26]組成,ELAN 由多個(gè)CBS 模塊堆疊組成,含有豐富的梯度流信息,能夠有效地使用網(wǎng)絡(luò)參數(shù)并且加速網(wǎng)絡(luò)的推理,MP模塊由CBS和最大池化層組成,主要用于下采樣操作,能夠有效減少特征丟失。各個(gè)模塊結(jié)構(gòu)圖如圖2所示。
頸部網(wǎng)絡(luò)主要由SPPCSPC、ELANW、CBS、MP 等模塊組成一個(gè)自上而下的FPN 和自下而上的PAN。ELANW 相比于ELAN 增加了兩個(gè)拼接操作,SPPCSPC主要用于增大感受野。FPN 主要對(duì)含有高維強(qiáng)語義信息的特征進(jìn)行上采樣,增強(qiáng)多個(gè)尺度上的語義表達(dá),PAN主要將淺層的定位信息傳遞到深層,增加多個(gè)尺度上的定位能力,從而實(shí)現(xiàn)特征高效融合。各個(gè)模塊結(jié)構(gòu)如圖3所示。
圖3 頸部網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure diagram of Neck
多尺度檢測頭主要為REP 結(jié)構(gòu)。REP 采用重參數(shù)化設(shè)計(jì),通過加大訓(xùn)練代價(jià)換取推理時(shí)的迅速。融合的多尺度特征圖(分別為80×80×128,40×40×256,20×20×512)通過REP模塊進(jìn)行錨框位置和物體分類的預(yù)測,最后用CIoU 損失函數(shù)進(jìn)行反向傳播從而更新權(quán)重參數(shù),從而實(shí)現(xiàn)模型對(duì)不同尺度目標(biāo)的檢測。REP結(jié)構(gòu)如圖4所示。
圖4 REP結(jié)構(gòu)圖Fig.4 Structure diagram of REP
針對(duì)YOLOv7對(duì)于復(fù)雜道路場景中的密集目標(biāo),遠(yuǎn)處的小尺度目標(biāo)檢測精度低,容易出現(xiàn)漏檢誤檢等問題對(duì)其進(jìn)行改進(jìn),改進(jìn)后的YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示。
圖5 改進(jìn)的YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Improved YOLOv7 network structure
由于道路場景目標(biāo)情況復(fù)雜,離得比較遠(yuǎn)的目標(biāo)尺度較小,原YOLOv7在經(jīng)過骨干網(wǎng)絡(luò)特征提取之后經(jīng)過特征融合網(wǎng)絡(luò)進(jìn)行特征融合,最后在檢測頭輸出三個(gè)不同尺度的特征圖,分別為20×20、40×40、80×80,在原有的YOLOv7 架構(gòu)中,發(fā)現(xiàn)對(duì)于小目標(biāo)的檢測效果不佳,為解決YOLOv7對(duì)小目標(biāo)檢測的能力較弱,本文增加了一個(gè)輸出尺寸為160×160 的小目標(biāo)檢測層用于提高YOLOv7的小目標(biāo)檢測精度,該層位于原有的最后一個(gè)特征融合模塊之后,該層的輸入由兩部分拼接組成,一部分來自于骨干網(wǎng)絡(luò)第一個(gè)ELAN 模塊經(jīng)過卷積之后的特征圖,另一部分為FPN繼續(xù)上采樣為一個(gè)160×160的特征圖,之后經(jīng)過ELANW 模塊融合特征之后,得到一個(gè)具有高維度信息的特征圖,該征圖感受野較小,包含的位置信息更為豐富,能夠充分降低小目標(biāo)的誤檢漏檢概率,更適用于小目標(biāo)的檢測。增加小目標(biāo)檢測層之后進(jìn)一步使得YOLOv7網(wǎng)絡(luò)的目標(biāo)檢測尺寸范圍增大,增加了在復(fù)雜道路背景下的檢測魯棒性。增加的小目標(biāo)檢測層如圖5中的紅色虛線框所示。
原YOLOv7 網(wǎng)絡(luò)的先驗(yàn)框是通過在COCO 數(shù)據(jù)集使用K-means 算法聚類得來,雖然也能用于本文數(shù)據(jù)集,但并不完全符合道路目標(biāo)的特征,導(dǎo)致其先驗(yàn)框高寬尺寸與道路目標(biāo)的尺寸不吻合,從而導(dǎo)致尺寸較小目標(biāo)定位存在一定的偏差。
針對(duì)這一問題,本文在增加小目標(biāo)檢測層的基礎(chǔ)上提出優(yōu)化先驗(yàn)框的方法,以提高YOLOv7網(wǎng)絡(luò)的目標(biāo)定位精度。首先使先驗(yàn)框總數(shù)增加到12,然后使用K-means++算法對(duì)SODA10M數(shù)據(jù)集標(biāo)注的物體邊界框進(jìn)行聚類分析,以得到更適用于道路目標(biāo)的先驗(yàn)框。具體而言,K-means++算法首先隨機(jī)選取一個(gè)點(diǎn)作為第一個(gè)聚類中心,然后以概率的形式選取其他點(diǎn)作為新的聚類中心,使得新的聚類中心與已選取的聚類中心距離越遠(yuǎn)的點(diǎn)被選中的概率越高,重復(fù)執(zhí)行該過程,直到所有聚類中心被選出為止。這一方法使得網(wǎng)絡(luò)能夠更好地檢測復(fù)雜道路場景中的小目標(biāo)。重聚類后的先驗(yàn)框尺寸如表1所示。
表1 先驗(yàn)框重聚類結(jié)果Table 1 Priori box reunites class results
損失函數(shù)是用來衡量預(yù)測結(jié)果與實(shí)際標(biāo)簽之間的差異,一個(gè)好的損失函數(shù)能夠加速網(wǎng)絡(luò)收斂,提高網(wǎng)絡(luò)精度,原YOLOv7 采用的損失函數(shù)為CIoU loss[27],CIoU loss 把預(yù)測框與真實(shí)框的長寬比、中心點(diǎn)距離、重疊面積這三個(gè)對(duì)損失函數(shù)影響較大的因素都考慮進(jìn)去了,但是對(duì)于一些標(biāo)注質(zhì)量較低的錨框并不能很好地收斂。CIoU的相關(guān)公式如下:
式(1)中b、bgt分別表示預(yù)測框和真實(shí)框的中心點(diǎn),ρ代表兩個(gè)中心點(diǎn)的歐氏距離,c代表真實(shí)框和預(yù)測框最小外接矩形的對(duì)角線長度,α是權(quán)重函數(shù),v用來衡量寬高比的一致性。
從式(3)中可以看出CIoU 中使用的是預(yù)測框與真實(shí)框之間的比值,當(dāng)預(yù)測框的寬高比滿足一定條件時(shí),CIoU 的懲罰函數(shù)會(huì)退化失效,會(huì)阻礙模型的收斂。CIoU中w、h相對(duì)于v的梯度如式(4)和(5),通過觀察發(fā)現(xiàn)這兩個(gè)梯度是一對(duì)相反數(shù),也就是說,w和h不能同時(shí)增大或減小。
因此本文引入WIoU loss,WIoU是基于動(dòng)態(tài)非單調(diào)的聚焦機(jī)制設(shè)計(jì)的,動(dòng)態(tài)非單調(diào)聚焦機(jī)制使用“離群度”替代IoU對(duì)錨框進(jìn)行質(zhì)量評(píng)估,并提供了明智的梯度增益分配策略,使得模型更聚焦于低質(zhì)量的錨框,提高模型的定位能力。WIoU包含三個(gè)版本,分別為WIoUv1、WIoUv2、WIoUv3,本文使用WIoUv3 版本,它是在WIoUv1、WIoUv2基礎(chǔ)上優(yōu)化得來的。其中WIoUv1相關(guān)公式如下:
式中,RWIoU∈[1,e) 這將顯著放大普通錨框的LIoU。LIoU∈[0,1],這將顯著降低高質(zhì)量錨框的RWIoU,并在錨框與目標(biāo)框重合較好的情況下顯著降低其對(duì)中心點(diǎn)距離的關(guān)注。Wg、Hg分別為最小外接矩形的寬和高。*表示將Wg、Hg從計(jì)算圖中分離,作用是為了防止RWIoU產(chǎn)生阻礙收斂的梯度。
WIoUv3在WIoUv2的基礎(chǔ)上引入動(dòng)態(tài)非單調(diào)聚焦系數(shù)。其相關(guān)公式如下:
式(11)中β為離群值,式(12)中α和δ是控制梯度增益r的超參數(shù),本文選取α=1.9,δ=3。
為了使網(wǎng)絡(luò)更好地感知特征圖中的位置信息,引入了協(xié)調(diào)坐標(biāo)卷積,它可以感知空間信息。該方法是標(biāo)準(zhǔn)卷積的簡單擴(kuò)展,其中卷積由空間坐標(biāo)作為條件。通過為過濾器提供像素的位置信息,可以在笛卡爾空間和像素空間之間建立映射。一般而言,卷積具有三個(gè)主要特征:少量的訓(xùn)練參數(shù)、通過GPU進(jìn)行快速計(jì)算以及平移不變性。然而,就許多任務(wù)而言,關(guān)于平移不變性是否真正有助于模型性能是有爭議的。CoordConv[28]允許網(wǎng)絡(luò)根據(jù)任務(wù)需要保留或丟棄平移不變性的特性。在這個(gè)過程中,CoordConv確保了卷積和空間特征的最佳效果。CoordConv的實(shí)現(xiàn)方式是通過將兩個(gè)額外的i和j通道連接到輸入通道來完成的。如果連接CoordConv的坐標(biāo)層與卷積的權(quán)重不為零,會(huì)使得CoordConv允許學(xué)習(xí)具有一定程度平移依賴性的函數(shù),或者如果它們?cè)O(shè)置為零,則可以模擬常規(guī)卷積層。本文使用CoordConv替換FPN 中的1×1 卷積和檢測頭前的REP 卷積。常規(guī)卷積如圖6所示,CoordConv如圖7所示。
圖6 常規(guī)卷積Fig.6 Convolution
圖7 協(xié)調(diào)坐標(biāo)卷積Fig.7 CoordConv
為了降低網(wǎng)絡(luò)參數(shù)量和計(jì)算量,加快網(wǎng)絡(luò)推理速度,本文基于PConv 算子提出輕量化的P-ELAN。P-ELAN結(jié)構(gòu)如圖8所示。
圖8 P-ELAN結(jié)構(gòu)Fig.8 P-ELAN structure
PConv 算子是Chen 等人[29]提出來的一種能夠提高每秒浮點(diǎn)運(yùn)算效率的輕量化卷積模塊,通過同時(shí)減少冗余計(jì)算和內(nèi)存訪問從而更有效地提取空間特征。
圖9 為PConv 基本工作原理。它只需要對(duì)輸入特征圖中的一部分通道進(jìn)行常規(guī)卷積運(yùn)算(圖9 中*操作),其余通道保持不變并進(jìn)行Identity操作。
圖9 部分卷積工作原理Fig.9 Principle of PConv
對(duì)于大小為k的卷積核,輸入特征圖大小為h×w,通道數(shù)為c,若輸入和輸出特征圖大小和通道數(shù)相同,則常規(guī)卷積的計(jì)算量為:
由此可知,ELAN作為原YOLOv7骨干網(wǎng)絡(luò)中的主要組成模塊,在ELAN中引入PConv算子能夠大幅降低計(jì)算量和內(nèi)存訪問量,從而使模型輕量化并加速推理速度。
本文所有實(shí)驗(yàn)所使用的運(yùn)行環(huán)境:13th Gen Intel?Core?i5-13600KF@3.5 GHz 處理器,NVIDIA GeForce RTX 4090(24 GB 顯存)顯卡,32 GB 內(nèi)存;Windows10專業(yè)版操作系統(tǒng),Python3.9.16 編譯語言,Pytorch1.13.1深度學(xué)習(xí)框架,CUDA11.7加速計(jì)算架構(gòu)。
本文以YOLOv7 為基礎(chǔ)模型,采用SGD 方法訓(xùn)練300 個(gè)epoch,初始學(xué)習(xí)率設(shè)置為0.01,批次大小設(shè)置為16,動(dòng)量參數(shù)設(shè)置為0.937,預(yù)熱訓(xùn)練3 個(gè)epoch,并按一定概率使用mixup、mosaic、fliplr等一系列數(shù)據(jù)增強(qiáng)操作。
本文選用華為諾亞方舟實(shí)驗(yàn)室聯(lián)合中山大學(xué)發(fā)布的自動(dòng)駕駛數(shù)據(jù)集SOAD10M[30]。該數(shù)據(jù)集收集了我國不同城市在不同天氣條件、不同時(shí)間段、不同位置的場景。劃分后的數(shù)據(jù)集包含5 000張訓(xùn)練集,2 500張驗(yàn)證集和2 500張測試集,共包含6種主要的人車場景類別:Pedestrian、Cyclist、Car、Truck、Tram、Tricycle。
本文選用的算法評(píng)價(jià)指標(biāo)包括參數(shù)量(Parameters)、計(jì)算量(FLOPs)、準(zhǔn)確率(Percision)、召回率(Recall)、平均精度(mAP)、每秒傳輸幀數(shù)(FPS)。相應(yīng)的計(jì)算公式如下:
其中,TP代表正確檢測框,F(xiàn)P代表誤檢框,F(xiàn)N代表漏檢框,len(GTs)代表所有標(biāo)簽框數(shù)量,AP代表一個(gè)目標(biāo)的檢測精度,N代表檢測類別數(shù),F(xiàn)rames代表幀數(shù),Time代表檢測時(shí)間。
采用消融實(shí)驗(yàn)驗(yàn)證本文所提各個(gè)改進(jìn)方法的有效性,本消融實(shí)驗(yàn)共分為10 組,各組實(shí)驗(yàn)均保持輸入圖像、訓(xùn)練超參數(shù)等的一致性。其中Head、K-means++、WIoU、CoordConv、P-ELAN為本文所提改進(jìn)方法,表中“√”表示引入此改進(jìn)方法。消融實(shí)驗(yàn)結(jié)果如表2所示。
表2 消融實(shí)驗(yàn)結(jié)果Table 2 Ablation experimental results
從表2 可以得出,第一組為原始YOLOv7 算法,mAP 為62.2%;第二組為加入小目標(biāo)檢測層,mAP 上升了1個(gè)百分點(diǎn),說明加入小目標(biāo)檢測層能夠增加小目標(biāo)尺寸的可檢測范圍;第三組為使用K-means++重聚類先驗(yàn)框,mAP 上升了0.9 個(gè)百分點(diǎn),說明重聚類先驗(yàn)框能夠增加對(duì)小目標(biāo)的定位能力;第四組為使用WIoU損失函數(shù),使模型對(duì)普通質(zhì)量錨框更加關(guān)注,mAP上升了0.6個(gè)百分點(diǎn);第五組為使用CoordConv 模塊,mAP 上升了0.6 個(gè)百分點(diǎn),說明CoordConv 模塊可以使網(wǎng)絡(luò)更好地感受特征圖中的空間位置信息;第六組為將ELAN模塊替換為P-ELAN 模塊,雖然mAP 略微下降,但是換來了參數(shù)量和運(yùn)算量的下降,使模型更加輕量化;第七組為在第二組的基礎(chǔ)上使用K-means++重聚類先驗(yàn)框,mAP上升了2.2 個(gè)百分點(diǎn);第八組為在第七組的基礎(chǔ)上更換損失函數(shù)為WIoU,mAP上升了2.7個(gè)百分點(diǎn);第九組為在第八組的基礎(chǔ)上引入CoordConv 模塊,mAP 上升了3.4 個(gè)百分點(diǎn);第十組為本文所提最終算法,mAP 較原YOLOv7 上升了2.6 個(gè)百分點(diǎn),達(dá)到了64.8%,且參數(shù)量和運(yùn)算量分別下降12%和7%,證明了本文各個(gè)改進(jìn)方法對(duì)復(fù)雜道路場景目標(biāo)的有效性。
3.5.1 增加小目標(biāo)檢測層實(shí)驗(yàn)分析
基于YOLOv7提出YOLOv7-H(增加一個(gè)輸出尺寸為160×160 的檢測層),為驗(yàn)證增加小目標(biāo)檢測層的有效性,將改進(jìn)后的算法與原始算法在SOAD10M數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
表3 小目標(biāo)檢測層實(shí)驗(yàn)結(jié)果Table 3 Experimental results of small target detection layer
從表3 中可以看出,增加了小目標(biāo)檢測層之后,參數(shù)量和運(yùn)算量都有所上升,在一定程度上增加了計(jì)算復(fù)雜度,但在可接受范圍內(nèi)使mAP 增加了1.0 個(gè)百分點(diǎn),證明了改進(jìn)方法的有效性。
3.5.2 改進(jìn)ELAN模塊實(shí)驗(yàn)分析
為了驗(yàn)證P-ELAN 模塊的有效性,將P-ELAN 模塊與根據(jù)不同算子提出的ELAN 模塊進(jìn)行對(duì)比分析。G-ELAN 模塊是由GhostConv[31]組成;DS-ELAN 模塊是由高效卷積(DSConv[32])組成;D-ELAN是由可變形卷積(DCNv2[33])組成。實(shí)驗(yàn)結(jié)果如表4所示。
表4 改進(jìn)ELAN模塊實(shí)驗(yàn)結(jié)果Table 4 Improved experimental results of ELAN module
從表4 中可以得出P-ELAN 模塊相較于其他模塊而言,F(xiàn)PS 最高,達(dá)到了94,參數(shù)量最少,運(yùn)算量只比DS-ELAN 模塊多了4.2×109,mAP 達(dá)到了61.3%。實(shí)驗(yàn)結(jié)果表明P-ELAN 模塊在保持較高檢測精度的同時(shí)檢測速度更快。
為了進(jìn)一步驗(yàn)證本文算法的有效性,將本文所提最終算法與SSD、Faster R-CNN、YOLOv3、YOLOv5、YOLOX、YOLOv6、YOLOv8m、RetinaNet等主流的目標(biāo)檢測算法在SOAD10M 數(shù)據(jù)集上進(jìn)行mAP 和FPS 指標(biāo)的比較,實(shí)驗(yàn)結(jié)果如表5所示。
表5 對(duì)比實(shí)驗(yàn)結(jié)果Table 5 Comparative experimental results
通過對(duì)比表5中不同算法的實(shí)驗(yàn)結(jié)果,可以看出本文算法在SOAD10M 數(shù)據(jù)集上的mAP 指標(biāo)明顯高于其他主流的目標(biāo)檢測算法,達(dá)到了64.8%;FPS比其他一階段檢測算法略微低一些,但比二階段檢測FasterR-CNN算法高很多。本文算法的FPS為80,相較于主流的一階段檢測算法,犧牲了一點(diǎn)檢測速度換取了更高的檢測精度,達(dá)到了速度和精度的平衡。綜上所述,本文所提算法與其他主流算法相比更加符合復(fù)雜道路場景目標(biāo)檢測的實(shí)時(shí)性和準(zhǔn)確性需求。
針對(duì)復(fù)雜道路場景中目標(biāo)遮擋以及小尺度目標(biāo)漏檢誤檢等問題。本文在YOLOv7 的基礎(chǔ)上增加一個(gè)小目標(biāo)檢測層,用于增加對(duì)小目標(biāo)特征的學(xué)習(xí)能力并增加小尺寸目標(biāo)的可檢測范圍;使用K-means++算法重聚類先驗(yàn)框,使先驗(yàn)框尺寸更加貼合本文數(shù)據(jù)集,增加對(duì)小目標(biāo)的定位能力;替換損失函數(shù)為WIoU,進(jìn)一步增加網(wǎng)絡(luò)對(duì)普通質(zhì)量錨框的關(guān)注度,使錨框預(yù)測更加準(zhǔn)確,有效降低漏檢誤檢概率;在頸部和頭部引入CoordConv,使網(wǎng)絡(luò)能夠更好地感受特征圖中的空間位置信息,從而更好地檢測出小目標(biāo);提出一種P-ELAN結(jié)構(gòu)用來降低網(wǎng)絡(luò)的復(fù)雜度,使檢測速度和精度能夠達(dá)到更好的平衡。改進(jìn)后的算法在SOAD10M 數(shù)據(jù)集上進(jìn)行了大量實(shí)驗(yàn),證明了本文算法在速度和精度上的平衡,能夠更好地適用于復(fù)雜道路場景下的目標(biāo)檢測任務(wù)。在未來的工作中,將對(duì)本文算法在嵌入式設(shè)備上進(jìn)行部署,并與實(shí)例分割等領(lǐng)域進(jìn)行結(jié)合,進(jìn)一步提高模型的實(shí)用性。