摘 要:為解決交通道路小目標(biāo)檢測(cè)難度大、精度低,容易出現(xiàn)錯(cuò)檢漏檢的問(wèn)題,提出一種基于YOLO v5 (you only look once v5)算法的多尺度特征融合目標(biāo)檢測(cè)改進(jìn)算法。首先,增加小目標(biāo)檢測(cè)頭用于適應(yīng)小目標(biāo)尺寸,緩解漏檢情況。然后,引入可變形卷積網(wǎng)絡(luò)v2 (deformable convolutional networks V DCN V2)提高模型對(duì)運(yùn)動(dòng)中小目標(biāo)的學(xué)習(xí)能力;同時(shí),增加上下文增強(qiáng)模塊,提升對(duì)遠(yuǎn)距離小目標(biāo)的識(shí)別能力。最后,在替換損失函數(shù)、提高邊界框定位精度的同時(shí),使用空間金字塔池化和上下文空間金字塔卷積分組模塊,提高網(wǎng)絡(luò)的感受野和特征表達(dá)能力。實(shí)驗(yàn)結(jié)果表明,所提算法在KITTI數(shù)據(jù)集小目標(biāo)類(lèi)別上平均識(shí)別精度達(dá)到了95.2%,相較于原始YOLO v5,算法總體平均識(shí)別精度提升了2.7%,對(duì)小目標(biāo)的檢測(cè)效果更佳,平均識(shí)別精度提升了3.1%,證明所提算法在道路小目標(biāo)檢測(cè)方面的有效性。
關(guān)鍵詞: YOLO v5; 小目標(biāo)檢測(cè); 上下文增強(qiáng)模塊; 可變形卷積
中圖分類(lèi)號(hào): TP 311.5 文獻(xiàn)標(biāo)志碼: A""" DOI:10.12305/j.issn.1001-506X.2024.10.04
Road small target detection based on improved YOLO v5 algorithm
SONG Cunli, CHAI Weiqin, ZHANG Xuesong*
(School of Software, Dalian Jiaotong University, Dalian 116028, China)
Abstract: In order to solve the problems that small targets on traffic roads faces including detection difficulty, low precision, detection failures, a multi-scale feature fusion target detection improvement algorithm based on the YOLO v5 (you only look once v5) algorithm is proposed. Firstly, the small target detection head is added for adapting to the small target size and alleviating the missed detection. Then, deformable convolutional networks V2 (DCN V2) is introduced to improve the model’s learning ability for small targets in motion. The context augmentation module (CAM) is introduced to improve the recognition ability of small targets at a long distance. The replacement loss function is used to improve the bounding box’s localization accuracy, and the spatial pyramid pooling and context spatial pyramid convolution_group (SPPCSPC_group) module is also used to improve the sensory field and feature expression ability of the network. The experiment results show that the proposed algorithm achieves an average accuracy of 95.2% in the category of small targets in the KITTI dataset, compared with the original YOLO v5 algorithm, the overall average accuracy is improved by 2.7%. For the detection of small targets, the average accuracy is improved by 3.1% with a better detection effect, which proves the effectiveness of the proposed algorithm for the detection of small targets on roads.
Keywords: you only look once v5 (YOLO v5); small target detection; context augmentation module (CAM); deformable convolutional networks (DCN)
0 引 言
隨著智能交通系統(tǒng)和深度學(xué)習(xí)的發(fā)展,實(shí)時(shí)道路檢測(cè)技術(shù)被廣泛應(yīng)用。目前,已建立多個(gè)無(wú)人駕駛示范區(qū),大力研究無(wú)人駕駛系統(tǒng),通過(guò)車(chē)輛檢測(cè)功能可以得到道路上行駛車(chē)輛的種類(lèi)、數(shù)量信息,在無(wú)人車(chē)的車(chē)速控制、安全駕駛、路徑規(guī)劃等各個(gè)方面都起到重要作用。車(chē)輛檢測(cè)作為目標(biāo)檢測(cè)的重要組成部分,在打造智能交通體系中扮演了重要的角色。當(dāng)前,車(chē)輛檢測(cè)的應(yīng)用方向主要是交通監(jiān)控視頻的檢測(cè),其主要任務(wù)是定位、分類(lèi)視頻圖像中的檢測(cè)目標(biāo)。但是在實(shí)際交通場(chǎng)景中,部分擁擠復(fù)雜路段場(chǎng)景下的小目標(biāo)車(chē)輛由于重疊雜亂等問(wèn)題,很容易出現(xiàn)誤檢、漏檢情況。因此,遮擋情況下的小尺度目標(biāo)檢測(cè)是當(dāng)前車(chē)輛檢測(cè)的重要研究方向。
當(dāng)前,基于深度學(xué)習(xí)的小目標(biāo)檢測(cè)是車(chē)輛檢測(cè)的主要研究熱點(diǎn)?,F(xiàn)階段,目標(biāo)檢測(cè)算法可以分為兩類(lèi),一類(lèi)以區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(regions with convolutional neural network, R-CNN)算法[1]、快速R-CNN(faster R-CNN, Faster R-CNN)算法[23]和掩模R-CNN (mask R-CNN, Mask R-CNN)算法[4]等兩階段檢測(cè)算法為代表;另一類(lèi)以單步多框檢測(cè)(single shot multiBox detector,SSD)算法[5]、YOLO(you only look once)系列算法[610]等一階段檢測(cè)算法為代表。兩階段目標(biāo)檢測(cè)網(wǎng)絡(luò)主要由訓(xùn)練區(qū)域候選網(wǎng)絡(luò)(region proposal network,RPN)和目標(biāo)區(qū)域網(wǎng)絡(luò)兩部分組成。首先訓(xùn)練RPN,其次訓(xùn)練目標(biāo)區(qū)域網(wǎng)絡(luò),網(wǎng)絡(luò)的準(zhǔn)確率較高但是速度相對(duì)較慢;一階段目標(biāo)檢測(cè)網(wǎng)絡(luò),不需要通過(guò)RPN,僅由主干網(wǎng)絡(luò)直接給出類(lèi)別信息和位置信息,此類(lèi)算法速度更快,但精度相對(duì)略低。
目前,有很多學(xué)者采用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法進(jìn)行小目標(biāo)檢測(cè)。例如皮駿等[11]提出在主干與頸部的連接處加入坐標(biāo)注意力(coordinate attention,CA),能夠?qū)D片不同的位置信息聚合到通道中,使被檢測(cè)對(duì)象的關(guān)注度得以提高,但是高分辨率圖像對(duì)輕量級(jí)網(wǎng)絡(luò)精度的影響等問(wèn)題有待解決。Yan等[12]將跨階段部分(cross-stage partial, CSP)網(wǎng)絡(luò)中的剩余單元變?yōu)槊芗B接,增加信道注意機(jī)制,緩解網(wǎng)絡(luò)模型梯度消失問(wèn)題,增強(qiáng)了特征傳播,但沒(méi)有深入計(jì)算交并比且未調(diào)整超參數(shù)和學(xué)習(xí)率。
牛為華等[13]將雙線(xiàn)性插值上采樣加入特征融合部分,并插入5個(gè)卷積注意力機(jī)制模塊(convolutional block attention module, CBAM)和小目標(biāo)檢測(cè)層,增強(qiáng)小目標(biāo)語(yǔ)義及位置信息,但其僅實(shí)現(xiàn)了數(shù)據(jù)集中一個(gè)小目標(biāo)類(lèi)別的檢測(cè)。Xu等[14]在局部感知骨干網(wǎng)絡(luò)中引入Swin Transformer[15]來(lái)應(yīng)對(duì)實(shí)例分割與檢測(cè)任務(wù),以此增強(qiáng)網(wǎng)絡(luò)的局部感知能力,提高小尺度物體的檢測(cè)精度,但模型在實(shí)驗(yàn)對(duì)象數(shù)量和類(lèi)型上受到限制,推理速度也有一定降低。Li等[16]采用引入內(nèi)容感知特征重組模塊[17]的方法,并結(jié)合歸一化的注意力模塊,以增強(qiáng)對(duì)小目標(biāo)信息的提取能力。Shen等[18]通過(guò)生成形狀接近真實(shí)盒子的先驗(yàn)盒子,并結(jié)合特征圖裁剪模塊,提升跨尺度檢測(cè)的能力,從而增強(qiáng)對(duì)小目標(biāo)的聚焦能力。Liu等[19]提出使用Ghost-Hards-wish Conv模塊來(lái)簡(jiǎn)化卷積運(yùn)算,并引入坐標(biāo)注意力結(jié)合加權(quán)雙向特征金字塔網(wǎng)絡(luò)(bidirectional feature pyramid network, BiFPN)[20],以增強(qiáng)對(duì)小目標(biāo)特征的表達(dá)能力。Zhang等[21]采用Flip-Mosaic算法緩解小目標(biāo)樣本不平衡問(wèn)題,提高模型泛化能力。趙睿等[22]提出在特征融合層加入SE通道注意力(squeeze-and-excitation-network, SE-Net)[23],使算法聚焦于小目標(biāo)的通道特征,提升檢測(cè)性能,但在暗光條件下,小目標(biāo)的檢測(cè)效果仍然不夠理想。
本文針對(duì)目前車(chē)輛檢測(cè)算法對(duì)于交通道路上小目標(biāo)感知能力較差、缺少針對(duì)性、容易出現(xiàn)錯(cuò)檢漏檢問(wèn)題,提出基于YOLO v5算法的改進(jìn)算法,首先增加小目標(biāo)檢測(cè)頭來(lái)適應(yīng)較小目標(biāo)尺寸,提高網(wǎng)絡(luò)對(duì)小目標(biāo)的關(guān)注度,減少漏檢數(shù)量;然后引入一個(gè)可變形卷積網(wǎng)絡(luò)V2(deformable convolutional network V DCN V2)[24],提高模型對(duì)物體幾何變化的適應(yīng)力;引入上下文增強(qiáng)模塊(context augmentation module, CAM)[25],來(lái)增強(qiáng)背景信息提取;使用增強(qiáng)交并比(enhanced intersection over union, EIoU)損失函數(shù)替換完整的交并比(complete intersection over union, CIoU)損失函數(shù),提高邊界框的定位精度,將快速空間金字塔池化(spatial pyramid pooling fast, SPPF)模塊替換為空間金字塔池化和上下文空間金字塔卷積分組(spatial pyramid pooling and context spatial pyramid convolution_group, SPPCSPC_group)模塊,提升網(wǎng)絡(luò)的特征提取能力。本文將提出的改進(jìn)算法在KITTI[26]數(shù)據(jù)集中進(jìn)行測(cè)試,并與其他算法進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)結(jié)果表明,該方法具有良好的檢測(cè)性能,在道路小目標(biāo)的檢測(cè)精度上有不錯(cuò)的提升。
1 YOLO v5算法與改進(jìn)
1.1 網(wǎng)絡(luò)概述
YOLO v5算法由輸入端、主干、頸部、檢測(cè)端組成。輸入端由自適應(yīng)錨框計(jì)算方法[27]計(jì)算出最佳錨框參數(shù);利用Mosaic數(shù)據(jù)增強(qiáng)進(jìn)行圖片拼接,豐富圖片背景信息以及自適應(yīng)圖片縮放,來(lái)適應(yīng)不同尺寸車(chē)輛的檢測(cè)。在YOLOv5-6.0之后的版本中,主干網(wǎng)絡(luò)由標(biāo)準(zhǔn)卷積層Conv模塊和集中綜合卷積塊(concentrated-comprehensive-convolution block, C3)以及SPPF組成,進(jìn)行特征提取工作。頸部網(wǎng)絡(luò)層將特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)[28]與路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)[29]進(jìn)行多尺度特征融合,使得輸出特征包含淺層特征的強(qiáng)定位信息和深層特征的高級(jí)語(yǔ)義信息。檢測(cè)端部分根據(jù)融合的特征信息對(duì)圖像進(jìn)行多尺度目標(biāo)檢測(cè)。
本文針對(duì)道路上小目標(biāo)像素差、尺度小、遠(yuǎn)距離等問(wèn)題對(duì)YOLO v5算法進(jìn)行優(yōu)化。首先增加160×160尺寸檢測(cè)頭,其次引入可變形卷積C3-DCN,增加CAM,使用SPPCSPC_group模塊進(jìn)行多尺度特征融合,加強(qiáng)算法對(duì)小目標(biāo)的感知能力,提升檢測(cè)精度。優(yōu)化后的YOLO v5算法總體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.2 小目標(biāo)檢測(cè)頭
針對(duì)原始算法下采樣倍數(shù)過(guò)大、深層特征圖學(xué)習(xí)小目標(biāo)的特征信息困難的問(wèn)題,本算法增加一個(gè)160×160的小目標(biāo)檢測(cè)頭。原本的YOLO v5算法在完成特征融合后,檢測(cè)層會(huì)輸出20×20、40×40和80×80 3種尺寸特征圖,分別檢測(cè)不同大小的目標(biāo)。尺度較小的3種特征圖具有較大的感受野和豐富的語(yǔ)義信息,但局部細(xì)節(jié)特征不明顯,因此適合被用于大目標(biāo)檢測(cè)。在實(shí)際道路場(chǎng)景中,由于視距和遮擋問(wèn)題,小目標(biāo)車(chē)輛和行人十分普遍。小目標(biāo)經(jīng)過(guò)下采樣特征層和較多的深層卷積后,會(huì)造成大量淺層位置信息丟失,加之小目標(biāo)本身像素較少,易出現(xiàn)漏檢情況。
為了緩解這種情況,保留淺層有效位置信息,增加網(wǎng)絡(luò)對(duì)道路小目標(biāo)的關(guān)注程度,本文在原網(wǎng)絡(luò)基礎(chǔ)上增加了一個(gè)特征圖尺寸為160×160的小目標(biāo)檢測(cè)頭,用于增強(qiáng)網(wǎng)絡(luò)對(duì)小目標(biāo)的檢測(cè)能力。改進(jìn)后增加的大尺度特征圖可以將目標(biāo)劃分得更加細(xì)致,對(duì)目標(biāo)細(xì)節(jié)關(guān)注度更高,利用淺層位置信息和深層語(yǔ)義信息相結(jié)合的方法,更加準(zhǔn)確地定位和識(shí)別小目標(biāo),從而降低漏檢數(shù)量。
1.3 替換卷積
傳統(tǒng)卷積采用固定尺寸、固定大小卷積核對(duì)特征圖固定位置進(jìn)行采樣,當(dāng)面對(duì)非網(wǎng)狀格的物體時(shí),無(wú)法適應(yīng)其變化,泛化性較差。本算法將主干網(wǎng)絡(luò)尾部C3中的3×3傳統(tǒng)卷積替換為DCN V2可變形卷積,得到C3-DCN模塊,以此來(lái)適應(yīng)不同物體的形狀、大小等幾何形變??勺冃尉矸e為每個(gè)采樣點(diǎn)引入一個(gè)偏移量,使卷積核能按需識(shí)別目標(biāo)區(qū)域的內(nèi)容并進(jìn)行動(dòng)態(tài)調(diào)整,并且學(xué)習(xí)每個(gè)采樣點(diǎn)權(quán)重,以降低干擾因素的影響,從而適用于在擁堵道路上提取形狀復(fù)雜多變行人車(chē)輛的特征,提升網(wǎng)絡(luò)對(duì)動(dòng)態(tài)小目標(biāo)的特征提取能力,如圖2所示。
標(biāo)準(zhǔn)卷積可得到的特征矩陣為
y(p0)=∑pn∈Rw(pn)·x(p0+pn)(1)
式中:y是輸出特征圖;x是輸入特征圖的映射;w是該位置的權(quán)重因子;p0是y中真實(shí)的像素坐標(biāo);pn則是卷積核的位置;R是實(shí)數(shù)集。可變形卷積DCN V2在此基礎(chǔ)上讓模型學(xué)習(xí)采樣點(diǎn)的偏移和每個(gè)采樣點(diǎn)的權(quán)重,其計(jì)算公式如下所示:
y(p0)=∑pn∈Rw(pn)·x(p0+pn+Δpn)·Δmn(2)
式中:Δpn是偏移量;Δmn是權(quán)重系數(shù),介于0~1之間,針對(duì)于無(wú)關(guān)采樣點(diǎn)可直接取0。由于DCN V2會(huì)帶來(lái)額外的推理時(shí)間,本改進(jìn)算法僅將主干最后一個(gè)C3模塊替換成C3-DCN模塊,適當(dāng)增加了網(wǎng)絡(luò)復(fù)雜度,提高網(wǎng)絡(luò)對(duì)可變小目標(biāo)的學(xué)習(xí)能力。
1.4 CAM
為獲取小目標(biāo)更豐富的語(yǔ)義信息和定位信息,本算法在主干網(wǎng)絡(luò)部分增加CAM,利用不同空洞卷積率的空洞卷積,可以獲取更豐富的上下文信息,并將其注入到FPN中,以補(bǔ)充FPN對(duì)上下文信息獲取的不足。該模塊對(duì)大小為[bs,C,H,W]的輸入分別以1、3、5的空洞卷積率通過(guò)空洞卷積進(jìn)行處理,融合不同感受野的特征,獲取背景信息。其中,bs為批次大小,C為通道數(shù),H和W為高和寬。為獲得更多細(xì)節(jié)特征,選用核大小為3×3的卷積核,并將通道數(shù)壓縮為1/4,降低參數(shù)量,然后通過(guò)卷積擴(kuò)張得到3種大小相同而感受野不同的輸出,最后將其進(jìn)行融合,結(jié)構(gòu)如圖3所示。本文算法采用自適應(yīng)融合的方式,首先通過(guò)卷積、拼接、歸一化等步驟將輸入特征圖壓縮成通道為3的空間權(quán)重,然后將其與3個(gè)輸入特征圖(F1、F2、F3)相對(duì)應(yīng),計(jì)算加權(quán)和以將上下文信息聚合到輸出特征圖中,具體流程如圖4所示。通過(guò)這種方式補(bǔ)充檢測(cè)所需信息,緩解小目標(biāo)特征信息前傳丟失的情況,提升檢測(cè)效果。
1.5 SPPCSPC_group結(jié)構(gòu)
為了避免由圖像處理操作所造成的圖像失真、提取圖片特征重復(fù)等問(wèn)題,提升算法特征融合能力,本文采用了SPPCSPC_group結(jié)構(gòu)來(lái)替換SPPF,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示??臻g金字塔池化(spatial pyramid pooling,SPP)模塊用于增強(qiáng)感受野以適應(yīng)不同分辨率的圖像,最大池化可獲得不同感受野。CSP模塊將特征分為兩部分,分別進(jìn)行常規(guī)處理和SPP結(jié)構(gòu)處理,然后再將兩部分拼接。SPPCSPC_group結(jié)構(gòu)通過(guò)卷積、批歸一化、激活函數(shù)以及池化等操作,在減少參數(shù)量的同時(shí)提高了特征提取能力。
1.6 EIoU函數(shù)
原始YOLO v5算法使用CIoU函數(shù)計(jì)算邊界框損失,使用損失函數(shù)計(jì)算置信度損失和分類(lèi)損失。CIoU函數(shù)計(jì)算公式如下所示:
LCIoU=IoU-ρ2(b,bgt)c2-αv(3)
v和α的計(jì)算公式如下所示:
v=4π2arctanwgthgt-arctanwh(4)
α=v1-IoU+v(5)
式中:IoU為預(yù)測(cè)框與實(shí)際框的交并比;ρ為兩者中心點(diǎn)距離;c為兩者最小包圍矩形閉包的對(duì)角線(xiàn)距離;bgt和b分別代表實(shí)際框和預(yù)測(cè)框,wgt、w、hgt、h代表真實(shí)框、預(yù)測(cè)框的寬度和高度;該損失函數(shù)考慮了邊界框回歸的重疊面積、中心點(diǎn)距離、長(zhǎng)寬比,但其使用的是寬高相對(duì)比例,并不是寬高的值。當(dāng)預(yù)測(cè)框的寬高滿(mǎn)足{(w=kwgt,h=khgt)|k∈R+}時(shí),v=0長(zhǎng)寬比的限制就會(huì)失效,如下所示:
vw=8π2arctanwgthgt-arctanwh×hw2+h2(6)
vh=-8π2arctanwgthgt-arctanwh×ww2+h2(7)
由式(6)和式(7)可知vw=-h(huán)wvh,w、h的值一個(gè)增大,一個(gè)減小,不能保持同增同減,與實(shí)際真實(shí)框和預(yù)測(cè)框訓(xùn)練情況不符,有時(shí)會(huì)妨礙模型的優(yōu)化相似度。為了解決此問(wèn)題,引入EIoU函數(shù)將預(yù)測(cè)框和實(shí)際框的寬高比影響因子分開(kāi)處理,分別計(jì)算長(zhǎng)和寬,其計(jì)算公式如下所示:
LEIoU=IoU-ρ2(b,bgt)c2+ρ2(w,wgt)c2w+ρ2(h,hgt)c2h(8)
式中:cw、ch是包圍真實(shí)框與預(yù)測(cè)框最小矩形的寬和高。本模型采用EIoU函數(shù)替換原始CIoU函數(shù),改進(jìn)后的損失函數(shù)考慮了重疊面積,中心點(diǎn)距離、長(zhǎng)寬邊長(zhǎng)真實(shí)差,加快了模型收斂速度,解決了縱橫比的模糊定義和回歸中的樣本不平衡問(wèn)題,并少量提升了檢測(cè)精度。
2 實(shí)驗(yàn)結(jié)果與分析
2.1 實(shí)驗(yàn)準(zhǔn)備
本文選取了自動(dòng)駕駛KITTI數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。KITTI數(shù)據(jù)集從高速公路、鄉(xiāng)村、市區(qū)等多種環(huán)境采集現(xiàn)實(shí)道路圖像,圖像中最多包含15輛車(chē)以及30名行人,且存在不同程度的遮擋與截?cái)?,其中將像素低?0×25或45×30的圖像定義為道路小目標(biāo)。該數(shù)據(jù)集共有car、van、truck、pedestrian、pedestrian(sitting)、cyclist、tram與misc 8個(gè)類(lèi)別,本文將pedestrian類(lèi)別和pedestrian(sitting)類(lèi)別進(jìn)行合并,選擇數(shù)據(jù)集中car、cyclist、pedestrian這3個(gè)類(lèi)別,共選取了7 481張圖像作為實(shí)驗(yàn)數(shù)據(jù),將其中5 984張圖像作為訓(xùn)練集、1 497張圖像作為驗(yàn)證集進(jìn)行實(shí)驗(yàn)。
本實(shí)驗(yàn)選用精準(zhǔn)率(precision, P)、召回率(recall, R)、平均精度(average precision, AP)和AP均值(mean AP, mAP)作為評(píng)價(jià)指標(biāo),其計(jì)算如下所示:
P=TPTP+FP×100%(9)
R=TPTP+FN×100%(10)
AP=∫R0(P)d(R)(11)
mAP=∑ki=1APik(12)
式中:TP代表正確識(shí)別車(chē)輛的數(shù)量;FP代表識(shí)別出車(chē)輛但沒(méi)有正確檢測(cè)的數(shù)量;FN代表車(chē)輛漏檢量;AP為單類(lèi)別AP;mAP為各類(lèi)別AP的平均值。
2.2 消融實(shí)驗(yàn)
為了驗(yàn)證本文算法對(duì)小目標(biāo)車(chē)輛檢測(cè)的有效性,本文在訓(xùn)練方法、訓(xùn)練環(huán)境一致的情況下,設(shè)計(jì)消融實(shí)驗(yàn),依次將EIoU函數(shù)、CAM、SPPCSPC_group模塊、小目標(biāo)檢測(cè)層和DCN模塊加入到原始YOLO v5算法中,消融實(shí)驗(yàn)結(jié)果如表1所示。
表1中“√”代表實(shí)驗(yàn)算法中使用了對(duì)應(yīng)的模塊;“×”代表算法中沒(méi)有使用對(duì)應(yīng)的模塊。由表1可知,在原始網(wǎng)絡(luò)上采用EIoU作為邊界框回歸損失函數(shù)后優(yōu)化了模型學(xué)習(xí)能力,檢測(cè)AP提升了1%,對(duì)于各類(lèi)目標(biāo)的檢測(cè)精度均有提升。加入CAM后,補(bǔ)充了網(wǎng)絡(luò)語(yǔ)義信息,提高了網(wǎng)絡(luò)信息獲取能力,改善漏檢情況,使mAP提升了0.4%。將SPPCSPC_group加入后,改善了圖像失真情況,使目標(biāo)較小的兩個(gè)類(lèi)別精度分別提升了0.4%和0.2%,圖像處理操作相對(duì)于目標(biāo)較大的車(chē)輛類(lèi)別影響較小,因此車(chē)輛類(lèi)別精度并未提升。將小目標(biāo)檢測(cè)頭加入后,在小目標(biāo)提升方面效果較好,小目標(biāo)層保留了淺層信息,提升了模型對(duì)小目標(biāo)的學(xué)習(xí)能力。從表1中可知,其對(duì)行人這類(lèi)小目標(biāo)的檢測(cè)能力更強(qiáng),檢測(cè)AP提升了1.4%,并且使mAP值提升了0.9%??勺冃尉矸e的引入使網(wǎng)絡(luò)可以更好地適應(yīng)圖像中的變形物體,更加準(zhǔn)確地識(shí)別各種形變物體,使運(yùn)動(dòng)中的行人和自行車(chē)輛的AP都有所提升。盡管對(duì)于在運(yùn)動(dòng)中形變較小的汽車(chē)類(lèi)別沒(méi)有提升效果,但汽車(chē)類(lèi)別檢測(cè)精度仍保持在了較高水準(zhǔn),保證了AP的提升。
2.3 改進(jìn)前后效果對(duì)比
本文將改進(jìn)算法與原始YOLO v5模型,在相同訓(xùn)練環(huán)境下,采用batch-size為16、學(xué)習(xí)率為0.01,使用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器,分別在驗(yàn)證集上迭代訓(xùn)練150次,其驗(yàn)證結(jié)果如表2所示。
由表2可知,改進(jìn)后模型的精度有較大提升,mAP提升了2.7%,改進(jìn)模型在車(chē)輛類(lèi)、騎行類(lèi)和行人類(lèi)的效果均有提升,AP值分別提升了0.6%、3.1%、3.1%。本實(shí)驗(yàn)選取的騎行類(lèi)和行人類(lèi)都屬于KITTI數(shù)據(jù)集中的小目標(biāo)類(lèi)別,其尺度較小,在其圖像中目標(biāo)通常密集且重疊,容易出現(xiàn)漏檢、錯(cuò)檢。改進(jìn)后的算法對(duì)這兩類(lèi)目標(biāo)的精度提升值最大,由實(shí)驗(yàn)結(jié)果可以看出改進(jìn)后的算法對(duì)小目標(biāo)的檢測(cè)有一定的改善。
YOLO v5算法和優(yōu)化后的算法在驗(yàn)證集上的精度召回率(precision-recall, P-R)曲線(xiàn)分別如圖6所示。
由圖6可以看出,經(jīng)過(guò)優(yōu)化后,隨著R的提高,優(yōu)化后的算法各個(gè)類(lèi)別以及總體準(zhǔn)確率的下降更迅速,且各類(lèi)別的曲線(xiàn)面積都大于原始算法,尤其在小目標(biāo)的檢測(cè)方面曲線(xiàn)的收斂效果更好。
從數(shù)據(jù)集中選取3組道路圖像進(jìn)行檢測(cè),圖7為原算法與本文改進(jìn)算法檢測(cè)對(duì)比圖像。根據(jù)實(shí)驗(yàn)結(jié)果,可以得知本文改進(jìn)的算法在檢測(cè)道路上的小目標(biāo)和遠(yuǎn)距離遮擋車(chē)輛方面具有良好的效果。
2.4 與其他檢測(cè)算法的性能對(duì)比
為驗(yàn)證本文算法的優(yōu)越性,將改進(jìn)后的算法與YOLO v3、YOLO v4、YOLO v5、SSD、Faster R-CNN、YOLO v5-C2f (faster implementation of CSP bottleneck with 2 convolutions)、添加了有效通道注意力(efficient channel attention, ECA)的YOLO v5-ECA算法、HorNet算法[30]、ConvNeXt[31]算法在同等條件下,采用前文所提方式劃分的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
由表3可知,本文算法總體AP達(dá)到了95.2%,相較于表3中的其他檢測(cè)算法,本文算法在道路小目標(biāo)檢測(cè)中精度最高。與當(dāng)前主流的YOLO v5改進(jìn)方法相比,本文算法在AP上比替換C3模塊為跨階段部分層模塊的YOLO v5-C2f算法高2.2%,并且相較于添加了有效通道注意力(efficient channel attention, ECA)的YOLO v5-ECA算法精度提升了2.3%。在與近年提出的采用遞歸門(mén)控卷積(recursive gated convolutions, gnConv)的HorNet算法和ConvNeXt算法進(jìn)行對(duì)比時(shí),本文算法仍具有一定的優(yōu)勢(shì)。
3 結(jié)束語(yǔ)
本文針對(duì)實(shí)際道路上距離較遠(yuǎn)、像素較低、檢測(cè)目標(biāo)較小的車(chē)輛與行人容易出現(xiàn)的錯(cuò)檢、漏檢而導(dǎo)致的準(zhǔn)確率較低的問(wèn)題,在YOLO v5原始算法的基礎(chǔ)上進(jìn)行改進(jìn)。改進(jìn)的算法首先針對(duì)小尺度目標(biāo)檢測(cè)添加了微小檢測(cè)頭,增強(qiáng)網(wǎng)絡(luò)對(duì)較小目標(biāo)的關(guān)注程度,從而減少漏檢情況,提升準(zhǔn)確率。其次將主干最后一層C3模塊替換成可變形卷積C3-DCN模塊,以提高采樣點(diǎn)偏移量和權(quán)重的學(xué)習(xí),使模型在面對(duì)擁堵路段運(yùn)動(dòng)的行人、車(chē)輛時(shí)可以準(zhǔn)確提取特征,然后添加CAM增強(qiáng)背景信息的獲取,提升了遠(yuǎn)距離車(chē)輛的檢測(cè)能力。接著使用了SPPCSPC_group模塊在減少參數(shù)量的同時(shí)提升特征提取能力,最后使用EIoU函數(shù)作為邊界框回歸損失函數(shù),解決了邊界框回歸不平衡的問(wèn)題。
將改進(jìn)后的YOLO v5算法在經(jīng)過(guò)處理的KITTI數(shù)據(jù)集上與原算法進(jìn)行對(duì)比實(shí)驗(yàn),改進(jìn)后的算法在小目標(biāo)類(lèi)別方面的AP更高,雖增加了一些參數(shù)量,檢測(cè)速度有所下降,但對(duì)于有速度優(yōu)勢(shì)的YOLO v5算法來(lái)說(shuō),下降的速度可忽略不計(jì)。
其次,本文算法相較于SSD、YOLO v3、YOLO v4、Faster R-CNN、YOLO v5-C2f、 YOLO v5-ECA、HorNet、ConvNeXt算法都有更高的精度,具有一定優(yōu)勢(shì)。但本文由于注重小目標(biāo)的檢測(cè),改進(jìn)后的模型較大,對(duì)于硬件的計(jì)算能力和存儲(chǔ)能力要求較高,需要在輕量化方面進(jìn)行進(jìn)一步改進(jìn)。
參考文獻(xiàn)
[1] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2014: 580587.
[2] GIRSHICK R. Fast R-CNN[C]∥Proc.of the IEEE International Conference on Computer Vision, 2015: 14401448.
[3] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Trans.on Pattern Analysis and Machine Intelligence, 2016, 39(6): 11371149.
[4] HE K M, GKIOXARI G, DOLLAR P, et al. Mask R-CNN[C]∥Proc.of the IEEE International Conference on Computer Vision, 2017: 29612969.
[5] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]∥Proc.of the 14th European Conference of Computer Vision-ECCV, 2016: 2137.
[6] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779788.
[7] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 72637271.
[8] GE Z, LIU S T, WANG F, et al. YOLOX: exceeding YOLO series in 2021[EB/OL]. [20230603]. https:∥arxiv.org/abs/2107.08430.html.
[9] LI C Y, LI L L, JIANG H L, et al. YOLOv6: a single-stage object detection framework for industrial applications[EB/OL]. [20230603]. https:∥arxiv.org/abs/2209.02976.html.
[10] WANG C Y, BOCHKOVSKIY A, LIAOH Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023: 74647475.
[11] 皮駿, 劉宇恒, 李久昊. 基于YOLO v5s的輕量化森林火災(zāi)檢測(cè)算法研究[J]. 圖學(xué)學(xué)報(bào), 2023, 44(1): 2632.
PI J, LIU Y H, LI J H. Research on lightweight forest fire detection algorithm based on YOLO v5s[J]. Journal of Graphics, 2023, 44(1): 2632.
[12] YAN F X, XU Y X. Improved target detection algorithm based on YOLO[C]∥Proc.of the 4th International Conference on Robotics, Control and Automation Engineering, 2021: 2125.
[13] 牛為華, 殷苗苗. 基于改進(jìn)YOLO v5的道路小目標(biāo)檢測(cè)算法[J]. 傳感技術(shù)學(xué)報(bào), 2023, 36(1): 3644.
NIU W H, YIN M M. Road small target detection algorithm based on improved YOLO v5[J]. Chinese Journal of Sensors and Actuators, 2023, 36(1): 3644.
[14] XU X K, FENG Z J, CAO C Q, et al. An improved swin transformer-based model for remote sensing object detection and instance segmentation[J]. Remote Sensing, 202 13(23): 4779.
[15] LIU Z, LIN Y T, CAO Y, et al. Swin transformer: hierarchical vision transformer using shifted windows[C]∥Proc.of the IEEE/CVF International Conference on Computer Vision, 2021: 999210002.
[16] LI A, SUN S J, ZHANG Z Y, et al. A multi scale traffic object detection algorithm for road scenes based on improved YOLOv5[J]. Electronics, 2023, 12(4): 878.
[17] WANG J Q, CHEN K, XU R, et al. CARAFE: content-aware reassembly of features[C]∥Proc.of the IEEE/CVF International Conference on Computer Vision, 2019: 30073016.
[18] SHEN L Z, TAO H F, NI Y Z, et al. Improved YOLOv3 model with feature map cropping for multi-scale road object detection[J]. Measurement Science and Technology, 2023, 34(4):045406.
[19] LIU J, CAI Q Q, ZOU F M, et al. BiGA-YOLO: a lightweight object detection network based on YOLOv5 for autonomous driving[J]. Electronics, 2023, 12(12): 2745.
[20] TAN M X, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 1078110790.
[21] ZHANG Y, GUO Z Y, WU J Q, et al. Real-time vehicle detection based on improved YOLO v5[J]. Sustainability, 202 14(19): 12274.
[22] 趙睿, 劉輝, 劉沛霖, 等. 基于改進(jìn)YOLOv5s的安全帽檢測(cè)算法[J]. 北京航空航天大學(xué)學(xué)報(bào), 2023, 49(8): 20502061.
ZHAO R, LIU H, LIU P L, et al. Safety hat detection algorithm based on improved YOLOv5s[J]. Journal of Beijing University of Aeronautics and Astronautics, 2023, 49(8): 20502061.
[23] LIANG Q K, XIANG S, HU Y C, et al. PD2SE-Net: computer-assisted plant disease diagnosis and severity estimation net-work[J]. Computers and Electronics in Agriculture, 2019, 157: 518529.
[24] ZHU X Z, HU H, LIN S, et al. Deformable convnets v2: more deformable, better results[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019: 93089316.
[25] LUO Z X, SHEN T W, ZHOU L, et al. ContextDesc: local descriptor augmentation with cross-modality context[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2019: 25272536.
[26] GEIGER A, LENZ P, STILLER C, et al. Vision meets robotics: the KITTI dataset[J]. The International Journal of Robotics Research, 2013, 32(11): 12311237.
[27] ZHANG S F, CHI C, YAO Y Q, et al. Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 97599768.
[28] LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 21172125.
[29] LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]∥Proc.of the IEEE Conference on Computer Vision and Pattern Recognition, 2018: 87598768.
[30] RAO Y M, ZHAO W L, TANG Y S, et al. HorNet: efficient high-order spatial interactions with recursive gated convolutions[J]. Advances in Neural Information Processing Systems, 202 35: 1035310366.
[31] LIU Z, MAO H Z, WU C Y, et al. A ConvNet for the 2020s[C]∥Proc.of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2022: 1197611986.
作者簡(jiǎn)介
宋存利(1975—),女,教授,碩士研究生導(dǎo)師,博士,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)、智能優(yōu)化算法。
柴偉琴(1998—),女,碩士研究生,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)。
張雪松(1980—),男,副教授,碩士研究生導(dǎo)師,博士,主要研究方向?yàn)橛?jì)算機(jī)視覺(jué)、人工智能。