成都錦城學(xué)院自動(dòng)駕駛實(shí)驗(yàn)室 高 揚(yáng) 陳旭淼 張皞宇
目標(biāo)檢測(cè)是自動(dòng)駕駛汽車與外界環(huán)境實(shí)現(xiàn)信息交互的重要環(huán)節(jié),為了能有效地對(duì)多個(gè)目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè),本文針對(duì)在道路目標(biāo)檢測(cè)中小目標(biāo)和被物體遮擋的目標(biāo)易被漏檢或檢測(cè)框定位不準(zhǔn)確等問(wèn)題,提出一種基于YOLOv4的目標(biāo)檢測(cè)模型。增加152x152的特征融合結(jié)構(gòu),減少每個(gè)YOLO層前的兩個(gè)卷積層,以優(yōu)化目標(biāo)特征提取,模型訓(xùn)練前用kmeans++聚類算法優(yōu)化錨框,以提升模型對(duì)自動(dòng)駕駛多目標(biāo)的檢測(cè)性能。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)YOLOv4算法比原始算法提升1.5個(gè)百分點(diǎn),在檢測(cè)精度和檢測(cè)速度上均有一定提升,改進(jìn)算法具有一定的實(shí)用價(jià)值。
自動(dòng)駕駛汽車是未來(lái)汽車產(chǎn)業(yè)發(fā)展的必然趨勢(shì),也是具有革命性影響的交通工具。自動(dòng)駕駛技術(shù)涉及計(jì)算機(jī)科學(xué)、車輛工程、傳感器技術(shù)等交叉學(xué)科內(nèi)容,它對(duì)于社會(huì)經(jīng)濟(jì)發(fā)展、科學(xué)技術(shù)研究等方面都有重大影響。在自動(dòng)駕駛技術(shù)的組成單元中,環(huán)境感知是至關(guān)重要的環(huán)節(jié)。其中多目標(biāo)檢測(cè)是環(huán)境感知的重要分支,通過(guò)對(duì)行人、車輛、交通信號(hào)燈、交通標(biāo)志等物體的檢測(cè),結(jié)合激光雷達(dá)的探測(cè)、道路交通規(guī)則以及汽車行駛狀態(tài)等信息對(duì)自動(dòng)駕駛汽車進(jìn)行規(guī)劃與控制。
本文基于YOLOv4網(wǎng)絡(luò),增加152x152的特征融合結(jié)構(gòu),用于提升小目標(biāo)檢測(cè)性能,優(yōu)化特征檢測(cè)層的卷積層數(shù),平衡網(wǎng)絡(luò)參數(shù),提高模型檢測(cè)速度,用kmeans++聚類算法優(yōu)化適用于本實(shí)驗(yàn)所用數(shù)據(jù)集的錨框,減少非必要誤差。
實(shí)際駕駛場(chǎng)景下部分目標(biāo)對(duì)象存在因距離或物體遮擋、重合等因素被漏檢或識(shí)別框定位不準(zhǔn)確等情況,多尺度特征融合層可以有效地解決此類問(wèn)題。本文提出一種采用四種檢測(cè)尺度的特征融合結(jié)構(gòu)。改進(jìn)后的YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)化圖如圖1所示,輸入圖像尺寸為608x608時(shí),在CSPDarkNet-53網(wǎng)絡(luò)的主體結(jié)構(gòu)中進(jìn)行五次下采樣,同時(shí)使用四個(gè)上采樣層作為FPN結(jié)構(gòu),使用三個(gè)PAN結(jié)構(gòu)組成特征金字塔。FPN結(jié)構(gòu)自下而上提取豐富的語(yǔ)義信息,PAN結(jié)構(gòu)自上而下提取準(zhǔn)確的位置信息,從而實(shí)現(xiàn)不同的主干層對(duì)不同的檢測(cè)層的特征融合。網(wǎng)絡(luò)檢測(cè)尺度增加到四個(gè)后得到的152x152、76x76、38x38和19x19的特征圖,能更有效地應(yīng)不同大小的目標(biāo)物體。
圖1 改進(jìn)YOLOv4網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)圖
為平衡網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)量和避免模型學(xué)習(xí)效果因網(wǎng)絡(luò)結(jié)構(gòu)加深而退化的情況,在每個(gè)YOLO層前減少兩個(gè)卷積層,由之前的5層卷積轉(zhuǎn)為3層卷積,如圖2所示。在平衡和避免以上情況的同時(shí)一定程度上提高了模型檢測(cè)速度,優(yōu)化了模型性能。
圖2 三層卷積
為避免Anchor Box造成的聚類局部最優(yōu)的情況,本文采用K-means++聚類算法生成適用于本實(shí)驗(yàn)所用數(shù)據(jù)集的錨框,算法基本流程如下:
每個(gè)樣本點(diǎn)成為下一個(gè)聚類中心的概率為P,其計(jì)算公式為:
本文使用KITTI數(shù)據(jù)集訓(xùn)練YOLOv4系列模型。本文將KITTI數(shù)據(jù)集的Car、Van、Truck、Tram類合并為Car類,將Person_sitting、Pedestrain合并為Pedestrain類,Cyclist不變,共計(jì)三類。利用Python批處理方法將數(shù)據(jù)集處理為PASCAL VOC2007數(shù)據(jù)格式,訓(xùn)練集(含驗(yàn)證集)與測(cè)試集的比例為9:1,具體標(biāo)記圖數(shù)與標(biāo)記個(gè)數(shù)見(jiàn)表1所示。
表1 標(biāo)記數(shù)
數(shù)據(jù)集制作完成后,使用Kmeans++聚類算法生成適用于該數(shù)據(jù)集的錨框,聚類散點(diǎn)分布如圖6所示,12個(gè)錨框參數(shù)值分別為(13,40),(25,55),(13,116),(45,63),(33,92),(29,220),(62,104),(77,155),(58,305),(116,190),(133,300),(192,354)。
圖3 Kmeans++聚類散點(diǎn)圖
本文實(shí)驗(yàn)采用顯卡配置為Nvidia GeFo orce RTX 1080Ti的Windows操作系統(tǒng)和Darknet深度學(xué)習(xí)框架搭建實(shí)驗(yàn)環(huán)境。
在訓(xùn)練前需準(zhǔn)備預(yù)訓(xùn)練權(quán)重(即yolov4.conv.137文件),結(jié)合本文2.1節(jié)給出的參數(shù)優(yōu)化結(jié)果修改YOLOv4模型配置文件,以滿足本文所用數(shù)據(jù)集的訓(xùn)練要求,部分參數(shù)的設(shè)置詳見(jiàn)表2。初始學(xué)習(xí)率為0.0013,本文設(shè)置當(dāng)模型訓(xùn)練至總迭代次數(shù)的80%(24000輪)和90%(27000輪)時(shí)學(xué)習(xí)率下降90%,以達(dá)到訓(xùn)練初期模型快速收斂,訓(xùn)練后期模型收斂至最優(yōu)解的目的。
表2 部分訓(xùn)練參數(shù)
本文模型訓(xùn)練的損失值和平均精度均值變化如圖7所示,在前18000輪迭代中模型的loss值和mAP值變化相對(duì)較快,在迭代24000輪后loss值穩(wěn)定在1.6左右,迭代25000輪后mAP值穩(wěn)定在92%左右。
用k-means++聚類算法優(yōu)化錨框后,改進(jìn)的YOLOv4網(wǎng)絡(luò)在KITTI數(shù)據(jù)集上訓(xùn)練的mAP結(jié)果為91.99%,和原始YOLOv4在該數(shù)據(jù)集上訓(xùn)練的mAP結(jié)果相比,提升了1.5個(gè)百分點(diǎn)。為進(jìn)一步驗(yàn)證改進(jìn)模型的效果,將本文改進(jìn)模型與原YOLOv4模型、多尺度特征融合結(jié)構(gòu)改進(jìn)模型(YOLOv4-A)、特征檢測(cè)層改進(jìn)模型(YOLOv4-B)以及Faster-RCNN網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3、圖4所示。
圖4 loss與mAP訓(xùn)練過(guò)程變化
表3 對(duì)比實(shí)驗(yàn)的各項(xiàng)數(shù)據(jù)
由表3可看出,本文改進(jìn)算法各類別準(zhǔn)確率和mAP指標(biāo)均高于其余三種算法,且FPS指標(biāo)高于Faster-RCNN網(wǎng)絡(luò)。綜合mAP指標(biāo)和FPS指標(biāo),本文算法優(yōu)于其他檢測(cè)算法,提升了自動(dòng)駕駛多目標(biāo)檢測(cè)性能。
本文提出了一種改進(jìn)YOLOv4算法,旨在提升自動(dòng)駕駛多目標(biāo)檢測(cè)的檢測(cè)性能,為自動(dòng)駕駛汽車的智能決策提供更有效的數(shù)據(jù)支撐。增加152x152特征融合結(jié)構(gòu),減少特征檢測(cè)層的兩層卷積層,用Kmeans++聚類算法可以在最大程度上減小隨機(jī)生成初始聚類中心的誤差,避免聚類局部最優(yōu)導(dǎo)致訓(xùn)練的模型魯棒性低和檢測(cè)精度低的問(wèn)題出現(xiàn)。因此,本文改進(jìn)的YOLOv4算法將模型的mAP指標(biāo)相較于原YOLOv4算法提升了1.5個(gè)百分點(diǎn),F(xiàn)PS指標(biāo)基本持平。
本文從網(wǎng)絡(luò)結(jié)構(gòu)、數(shù)據(jù)集聚類的角度改進(jìn)算法使模型檢測(cè)性能得到一定的提升,但對(duì)于YOLOv4主體網(wǎng)絡(luò)而言還有很大的改進(jìn)空間。這些都需要在未來(lái)的科研中研究和解決的內(nèi)容。