周 晴, 譚功全,2, 尹宋麟, 趙 亮
(1.四川輕化工大學(xué) 自動(dòng)化與信息工程學(xué)院, 四川 宜賓 644000;2.四川輕化工大學(xué) 人工智能四川省重點(diǎn)實(shí)驗(yàn)室, 四川 宜賓 644005)
道路目標(biāo)檢測(cè)是現(xiàn)代智能駕駛與輔助駕駛技術(shù)的關(guān)鍵部分,在駕駛過(guò)程復(fù)雜的交通場(chǎng)景下,若道路目標(biāo)檢測(cè)系統(tǒng)能根據(jù)檢測(cè)結(jié)果,及時(shí)地將目標(biāo)種類以及數(shù)據(jù)反饋給司機(jī),對(duì)道路駕駛安全性的提升起到很大作用。 研究表明,智能駕駛系統(tǒng)實(shí)現(xiàn)無(wú)人駕駛,可以降低90%的交通事故發(fā)生率。 目前,主流的目標(biāo)檢測(cè)算法分為2 類:一類是基于兩階段的目標(biāo)檢測(cè)算法,主要特點(diǎn)是檢測(cè)準(zhǔn)確率高,但由于參數(shù)量大導(dǎo)致運(yùn)算速度較慢;另一類是基于回歸的目標(biāo)檢測(cè)算法,以YOLO[1],SSD[2]為代表的單階段目標(biāo)檢測(cè)算法。
文獻(xiàn)[3]通過(guò)采用多個(gè)不同尺度的卷積核對(duì)Faster R-CNN 進(jìn)行改進(jìn),并結(jié)合當(dāng)前的卷積神經(jīng)網(wǎng)絡(luò)技術(shù),提高了在復(fù)雜道路交通環(huán)境下的道路目標(biāo)檢測(cè)精度。 文獻(xiàn)[4]構(gòu)建了一種基于Faster R-CNN的快速、精確道路目標(biāo)檢測(cè)算法,通過(guò)引入反卷積結(jié)構(gòu),設(shè)計(jì)AORN 網(wǎng)絡(luò)和OALN 網(wǎng)絡(luò)的損失函數(shù),提高小目標(biāo)的檢測(cè)性能,相對(duì)于原始算法精度提升了0.15%。 文獻(xiàn)[5]將K-Means++聚類算法應(yīng)用到Y(jié)OLOv3 算法中,改善了聚類結(jié)果不穩(wěn)定的問(wèn)題,并改進(jìn)損失函數(shù)利用DIOU-NMS 去除余框,減少錯(cuò)誤抑制,改進(jìn)后的算法模型準(zhǔn)確率有了一定程度的提升。 文獻(xiàn)[6]為解決真實(shí)道路場(chǎng)景下近、遠(yuǎn)目標(biāo)車輛檢測(cè)率低與魯棒性差的問(wèn)題,重新構(gòu)造Darknet-53 的內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu),增加了一個(gè)檢測(cè)層,并利用K-Means聚類算法選取合適的先驗(yàn)框,引入GIOU 損失函數(shù)對(duì)交并比(Intersection over Union,IoU)損失函數(shù)進(jìn)行改進(jìn),模型的實(shí)驗(yàn)結(jié)果平均精度與召回率分別提升了11.05%和5. 20%。 文獻(xiàn)[7]通過(guò)無(wú)人機(jī)獲取樹木數(shù)據(jù)集,并將數(shù)據(jù)集分為2 個(gè)子集分別用來(lái)訓(xùn)練和驗(yàn)證。 基于3 種目標(biāo)檢測(cè)算法R-CNN,YOLOv3以及SSD 分別進(jìn)行訓(xùn)練與驗(yàn)證,結(jié)果表明3 種模型評(píng)估后的準(zhǔn)確率都超過(guò)93%,SSD 模型的牙冠拔除效果最好,R-CNN 模型推斷速度優(yōu)于YOLOv3。
以上研究對(duì)目標(biāo)識(shí)別與檢測(cè)的準(zhǔn)確率有了提升,但是為了提升準(zhǔn)確率導(dǎo)致深度神經(jīng)網(wǎng)絡(luò)[8]變得越來(lái)越深,同時(shí)計(jì)算量與參數(shù)越來(lái)越大。 這些計(jì)算密集型[9]與存儲(chǔ)密集型[10]的深度卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)算力,已經(jīng)不能被移動(dòng)端設(shè)備所承載。 在實(shí)際道路目標(biāo)檢測(cè)中,算法模型的推斷速度對(duì)算法性能的評(píng)估至關(guān)重要。 Howard 等在2017 年提出輕量級(jí)骨干網(wǎng)絡(luò)模型——MobileNet[11],該網(wǎng)絡(luò)模型引入深度可分離卷積模塊,減少了大量的卷積運(yùn)算與浮點(diǎn)運(yùn)算。
為進(jìn)一步減少模型的參數(shù)量,本文以YOLOv3為基礎(chǔ),將主干網(wǎng)絡(luò)替換為輕量化的MobileNetv3-Large 網(wǎng)絡(luò),同時(shí)為了加速訓(xùn)練中模型的收斂,融合注意力機(jī)制CBAM[12]保證模型輕量化。 對(duì)YOLOv3算法網(wǎng)絡(luò)模型使用動(dòng)態(tài)聚類算法ISODATA[13],重新設(shè)計(jì)與檢測(cè)目標(biāo)中相比較匹配的先驗(yàn)錨框,并分配對(duì)應(yīng)的檢測(cè)尺度。 將主干網(wǎng)絡(luò)替換為CBAM 與MobileNetv3-Large 結(jié)合的特征提取網(wǎng)絡(luò),在保證檢測(cè)準(zhǔn)確率的前提下,提升算法的推斷速度,經(jīng)改進(jìn)后的算法模型可以嵌入移動(dòng)設(shè)備端應(yīng)用于輔助駕駛。
2016 年Redmon 等提出了一種單階段的目標(biāo)檢測(cè)算法——YOLO(You Only Look Once)[14],經(jīng)過(guò)一系列發(fā)展從YOLOv1,YOLOv2 再到2018 年提出了YOLOv3。 YOLOv3 相對(duì)于YOLOv2 將主干特征提取網(wǎng)絡(luò)替換為Darknet-53[15],共包含53 個(gè)卷積層且引入了殘差塊,是一個(gè)全卷積網(wǎng)絡(luò),在Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu)中,采用了大量的3×3 和1×1 卷積[16],分別用來(lái)增加網(wǎng)絡(luò)的通道數(shù)和改變數(shù)據(jù)維度。 Darknet-53的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 Darknet-53 的網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of Darknet-53
Darknet-53 是YOLOv3 用來(lái)對(duì)輸入圖像進(jìn)行特征提取的網(wǎng)絡(luò),借鑒了YOLOv2 中的Darknet-19 網(wǎng)絡(luò)結(jié)構(gòu)思想,不同的是,Darknet-53 引入了大量的殘差模塊,為了增加網(wǎng)絡(luò)的深度提取更高級(jí)別的語(yǔ)義特征[17]。
針對(duì)道路目標(biāo)檢測(cè)中算法模型參數(shù)量較大的問(wèn)題,原始YOLOv3 算法模型參數(shù)量較大,不能應(yīng)用于移動(dòng)設(shè)備。 因此本文提出以YOLOv3 檢測(cè)算法為基礎(chǔ),將算法的主干網(wǎng)絡(luò)部分替換為輕量化網(wǎng)絡(luò)模型MobileNetv3,保證了網(wǎng)絡(luò)的輕量化,在特征融合模塊與Bneck[18]模塊中加入了CBAM 注意力機(jī)制,網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。 輸入416×416 圖片在主干特征提取后經(jīng)過(guò)5 次卷積,送入13×13 尺度的預(yù)測(cè)層進(jìn)行預(yù)測(cè)的同時(shí)進(jìn)行上采樣,與主干網(wǎng)絡(luò)26×26 尺度的特征圖進(jìn)行拼接送入26×26 尺度預(yù)測(cè),最后的52×52 尺度預(yù)測(cè)層是由主干網(wǎng)絡(luò)輸出特征圖經(jīng)過(guò)2 次上采樣后與特征提取網(wǎng)絡(luò)中52×52 尺度的特征圖拼接得到。
圖2 YOLOv3_M 算法網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 YOLOv3_M algorithm network structure
MobileNet 輕量化模型是最先進(jìn)的目標(biāo)檢測(cè)算法之一,2019 年由Google 發(fā)布,在輕量級(jí)神經(jīng)網(wǎng)絡(luò)中比較具有代表性。 MobileNet 是能夠在移動(dòng)端使用的輕量化網(wǎng)絡(luò)模型,可以在移動(dòng)終端實(shí)現(xiàn)眾多應(yīng)用。 它的主要思想是使用深度可分離卷積代替普通的2D 卷積,用深度卷積搭配逐點(diǎn)卷積的方式提取待檢測(cè)圖像的特征,以減少卷積層的時(shí)間與空間的復(fù)雜度。 MobileNetv1 與MobileNetv2 的微結(jié)構(gòu)如圖3所示。
圖3 MobileNetv1 與MobileNetv2 微結(jié)構(gòu)Fig.3 MobileNetv1 and MobileNetv2 microstructures
MobileNetv2 相對(duì)于V1 加了一個(gè)1×1 的“擴(kuò)張”層(PW),用來(lái)提升維度,在3×3 網(wǎng)絡(luò)之后再利用1×1 進(jìn)行降維,并去掉第2 個(gè)逐點(diǎn)卷積后的激活函數(shù),不再進(jìn)行ReLU6 層,因?yàn)榻?jīng)過(guò)ReLU6 層將會(huì)損失部分特征,所以直接進(jìn)行殘差網(wǎng)絡(luò)的加法。
MobileNetv3 相對(duì)于2 個(gè)基礎(chǔ)之上加入了輕量化注意力模型,加快了網(wǎng)絡(luò)的運(yùn)算速度。 Bneck 結(jié)構(gòu)如圖4 所示,整體由2 部分構(gòu)成,上半部分是Bneck 結(jié)構(gòu)的主干網(wǎng)絡(luò)部分,下半部分是Bneck 結(jié)構(gòu)的殘差邊部分。 MobileNetv3 與MobileNetv2 一樣,首先會(huì)對(duì)輸入進(jìn)來(lái)的特征層利用一個(gè)1×1 卷積層對(duì)升維,使通道數(shù)擴(kuò)張后進(jìn)行深度可分離卷積特征提取。 Mobile-Netv3 模型會(huì)將提取出來(lái)的圖像特征輸入注意力SE模塊中,全局平均池化(Global Average Pooling,GAP)后輸入全連接層FC1 中,將通道數(shù)減小為原來(lái)的1/4,再經(jīng)過(guò)一個(gè)激活函數(shù)ReLU[19],FC2 將通道數(shù)變?yōu)樵瓉?lái)一樣后接一個(gè)h-swish 函數(shù),將得到的最終向量中的每個(gè)元素相乘后送入SE 層特征的對(duì)應(yīng)通道特征矩陣,經(jīng)過(guò)加權(quán)后再用 1×1 卷積對(duì)特征降維,最終輸出特征圖。
圖4 MobileNetv3 的Bneck 結(jié)構(gòu)Fig.4 Bneck structure of MobileNetv3
傳統(tǒng)YOLOv3 算法中的先驗(yàn)框是由COCO 數(shù)據(jù)集通過(guò)K-means 聚類生成的。 K-means 聚類算法是將樣本聚類成k個(gè)簇,選擇合適的k個(gè)質(zhì)心對(duì)算法收斂速度有直接的影響,K-Means++是對(duì)k進(jìn)行優(yōu)化,再對(duì)數(shù)據(jù)進(jìn)行聚類時(shí)隨機(jī)性很小,可以減少實(shí)驗(yàn)結(jié)果的數(shù)據(jù)偏差。 但是K-Means 與K-Means++算法的聚類中心k是固定不變的。 而ISODATA 聚類算法可以根據(jù)每個(gè)目標(biāo)種類的實(shí)際情況來(lái)調(diào)整聚類中心k,通過(guò)2 個(gè)操作完成對(duì)聚類中心k的調(diào)整,即分裂操作與合并操作,目的是為了使數(shù)據(jù)集的聚類中心靠近客觀真實(shí)的聚類結(jié)果。 本文選用ISODATA算法對(duì)改進(jìn)數(shù)據(jù)集重新聚類生成先驗(yàn)框,具體操作流程如圖5 所示。
圖5 ISODATA 算法聚類流程Fig.5 ISODATA algorithm clustering flowchart
在進(jìn)行分裂操作時(shí)要計(jì)算這個(gè)簇在橫縱維度上的方差,如果最大的方差σmax超過(guò)了設(shè)定的閾值σ,那么就在最大方差的維度上分裂成2 個(gè),另一個(gè)維度的值保持不變,然后刪除原本的聚類中心:
式中,(λi+,η),(λi-,η)表示分裂后的2 個(gè)中心。
在進(jìn)行合并操作時(shí),計(jì)算各個(gè)聚類中心的歐式距離,當(dāng)出現(xiàn)小于設(shè)定的閾值dmin時(shí),將這2 個(gè)簇合并,重新使用加權(quán)平均的方法計(jì)算新的聚類中心:
重新生成的先驗(yàn)框如表1 所示。
表1 更新后的先驗(yàn)框Tab.1 Updated prior box
卷積注意力模塊是一種結(jié)合通道和空間2 個(gè)維度的注意力模塊,原理如圖6 所示。
圖6 卷積注意力模塊Fig.6 Convolutional attention module
對(duì)于特征提取出來(lái)的特征圖,CBAM 模塊會(huì)先沿著通道維度推斷注意力圖,然后與輸入特征圖相乘后得到的特征圖再沿著空間維度進(jìn)行推斷,最后再與通道維度后的特征圖進(jìn)行相乘輸出:
CBAM 是輕量級(jí)的通用模塊且有即插即用的特點(diǎn),因此可以忽略該模塊的計(jì)算量并將其嵌入到所改進(jìn)的卷積網(wǎng)絡(luò)模型中,訓(xùn)練的模型體積也不會(huì)因?yàn)榍度隒BAM 而變大。
通道注意力模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。 首先將提取后的特征圖送入最大池化層與平均池化層,圖片在被進(jìn)行池化操作后輸入全連接層,然后將得到的特征語(yǔ)義信息進(jìn)行相加后經(jīng)過(guò)激活函數(shù)得到基于通道注意力的權(quán)值結(jié)果。 通道注意力的運(yùn)行機(jī)制是在空間維度上對(duì)輸入的特征圖進(jìn)行壓縮,壓縮后得到的矢量結(jié)果再輸入下一步操作。 在操作過(guò)程中,平均池化和最大池化用來(lái)聚合特征映射的空間信息,不同的是平均池化操作對(duì)于特征圖的操作是每一個(gè)像素點(diǎn)都有反饋,而最大池化在進(jìn)行梯度反向傳播計(jì)算時(shí),只有特征圖中響應(yīng)最大的地方有梯度的反饋。
圖7 通道注意力模塊Fig.7 Channel attention module
通道注意力機(jī)制的表達(dá)如下:
空間注意力模塊結(jié)構(gòu)如圖8 所示,輸入特征圖為通道注意力模塊的輸出特征圖。
圖8 空間注意力模塊Fig.8 Spatial attention module
首先對(duì)輸入的特征圖做基于通道的最大池化與平均池化操作,然后將2 個(gè)池化的結(jié)果基于通道做拼接操作,再將特征圖做一個(gè)卷積操作對(duì)通道進(jìn)行降維,降為1 個(gè)通道數(shù)。 最后空間注意力模塊對(duì)通道進(jìn)行壓縮操作,計(jì)算如下:
式中,7×7 表示卷積核大小;σ表示進(jìn)行激活操作。
本文將CBAM 嵌入到改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)中,使得網(wǎng)絡(luò)能夠有效地關(guān)注有用的信息,抑制無(wú)關(guān)的信息,具體的嵌入位置如圖9 所示。
圖9 改進(jìn)的特征融合層Fig.9 Improved feature fusion layer
本文的實(shí)驗(yàn)環(huán)境配置如表2 所示。
表2 實(shí)驗(yàn)室環(huán)境配置Tab.2 Laboratory environment configuration
在實(shí)驗(yàn)過(guò)程中的網(wǎng)絡(luò)參數(shù)配置如下:設(shè)置動(dòng)量為0.9,權(quán)重衰減為0. 000 5,訓(xùn)練中迭代次數(shù)設(shè)置為100 輪(epoch),同時(shí)對(duì)學(xué)習(xí)率使用分步策略,初始值設(shè)置為0.001,比率為0. 15 和0. 1。 學(xué)習(xí)率決定了得到最優(yōu)值參數(shù)的快慢,如果學(xué)習(xí)率過(guò)大,可能使得參數(shù)跳過(guò)最優(yōu)值從而導(dǎo)致網(wǎng)絡(luò)無(wú)法收斂甚至發(fā)散;如果學(xué)習(xí)率過(guò)小,則優(yōu)化效率過(guò)低,長(zhǎng)時(shí)間無(wú)法收斂,可能得到局部最優(yōu)。 因此,在訓(xùn)練中設(shè)置權(quán)值衰減系數(shù),此參數(shù)會(huì)根據(jù)模型訓(xùn)練情況動(dòng)態(tài)改變學(xué)習(xí)率大小,使得網(wǎng)絡(luò)在訓(xùn)練迭代中總能得到最優(yōu)值參數(shù)。
針對(duì)本文所研究的道路目標(biāo)檢測(cè)問(wèn)題需求,實(shí)驗(yàn)所采用的數(shù)據(jù)集為混合數(shù)據(jù)集。 在公開駕駛BDD 數(shù)據(jù)集中隨機(jī)選取7 900 張圖片,數(shù)據(jù)集中共有8 個(gè)類別(car,bus,person,truck,rider,bike,traffic light,traffic sign),在道路目標(biāo)檢測(cè)中,將騎車子的人(rider)以及在道路上的自行車(bike)統(tǒng)歸為rider 類。 同時(shí),使用自動(dòng)駕駛場(chǎng)景下計(jì)算機(jī)視覺數(shù)據(jù)集KITTI,針對(duì)現(xiàn)實(shí)生活中道路上的目標(biāo)以及樣本數(shù)量不均衡問(wèn)題,選擇在KITTI 數(shù)據(jù)集中刪除Van,Train,Dontcare,Misc 這4 個(gè)樣本量很少的類別,并且將騎車子的人(Cyclist)這一類別合并在rider 類中去,將Pedestrain,Person-sitting 這2 類合并為person 類。 實(shí)驗(yàn)中部分?jǐn)?shù)據(jù)集樣本如圖10 所示。
圖10 部分?jǐn)?shù)據(jù)樣本Fig.10 Partial data samples
處理好的數(shù)據(jù)集共15 381 張圖片,分為7 個(gè)類別(car,bus,person,truck,rider,traffic light,traffic sign),并根據(jù)處理后的類別生成對(duì)應(yīng)的xml 格式的標(biāo)簽。 圖片按照9 ∶1 的比例將13 843 張圖片劃分為訓(xùn)練集,1 538 張圖片劃分為測(cè)試集,并且在訓(xùn)練集中也按照9 ∶1 的比例劃分出1 384 張驗(yàn)證集,驗(yàn)證訓(xùn)練效果。
在目標(biāo)檢測(cè)任務(wù)算法中,衡量算法性能好壞的指標(biāo)包括圖像識(shí)別檢測(cè)的準(zhǔn)確率、測(cè)試的時(shí)間長(zhǎng)短以及訓(xùn)練模型的參數(shù)量。 對(duì)實(shí)驗(yàn)結(jié)果的最主要評(píng)價(jià)是看檢測(cè)目標(biāo)值與真實(shí)目標(biāo)值的相符度。 本文中采取如下幾個(gè)指標(biāo)對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)估:
精確率(Precision)是指模型預(yù)測(cè)結(jié)果為正的樣本中,有多少是真的正樣本的數(shù)值的比率:
召回率(Recall)是指原始數(shù)據(jù)集中正樣本有多少被模型成功預(yù)測(cè)正確的數(shù)值的比率:
式中,TP,FP和FN分別表示正確檢測(cè)框、誤檢框和漏檢框的數(shù)量。
平均精度均值(mean Average Precision,mAP)的計(jì)算為單個(gè)類別的精確度的綜合除以整體類別數(shù)。以每秒檢測(cè)幀數(shù)(Frames per Second,FPS)作為道路目標(biāo)檢測(cè)過(guò)程中檢測(cè)實(shí)驗(yàn)結(jié)果的好壞評(píng)價(jià)指標(biāo),即:
本文實(shí)驗(yàn)過(guò)程中, 將混合數(shù)據(jù)集分別在YOLOv3,YOLOv3_ISODATA 以 及YOLOv3_M 上 進(jìn)行訓(xùn)練100 個(gè)epoch,訓(xùn)練每一個(gè)epoch 記錄一次損失值數(shù)據(jù),網(wǎng)絡(luò)模型的損失函數(shù)曲線如圖11 所示。
圖11 損失函數(shù)曲線Fig.11 Loss function curve
可以看出,改進(jìn)后的YOLOv3_M 算法相比較YOLOv3 算法訓(xùn)練的前20 輪下降速度較快,在75 輪之后開始收斂,相比較未改進(jìn)之前的算法收斂性較強(qiáng),可以證明改進(jìn)算法的有效性。
本文為對(duì)比改進(jìn)后算法模型的作用,分別使用BDD 與KITTI 混合數(shù)據(jù)集對(duì)YOLOv3,YOLOv3_ISODATA 以及YOLOv3_M 三種網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練實(shí)驗(yàn)。 編寫代碼使用各個(gè)網(wǎng)絡(luò)訓(xùn)練得到的權(quán)重模型計(jì)算P,R 值,并繪制成PR 曲線圖,得到各個(gè)算法類別AP 值,本次實(shí)驗(yàn)中共有7 個(gè)類別,按照標(biāo)簽框數(shù)量選取4 個(gè)類別的PR 曲線,目標(biāo)類別分別為car,traffic light,person,truck,如圖12 和圖13 所示。 可以看出,4 個(gè)類別在改進(jìn)后的算法模型YOLOv3_M 上的AP 值相對(duì)于原始YOLOv3 算法分別提高了3.81%,5.79%,4.17%和2.66%。
圖12 改進(jìn)前網(wǎng)絡(luò)類別AP 曲線(YOLOv3)Fig.12 AP Curve of network before improvement (YOLOv3)
圖13 改進(jìn)后網(wǎng)絡(luò)類別AP 曲線(YOLOv3_M)Fig.13 AP curve of network after improvement (YOLOv3_M)
為了確定算法改進(jìn)的有效性,選取經(jīng)典的目標(biāo)檢測(cè)算法和改進(jìn)后的算法進(jìn)行實(shí)驗(yàn)結(jié)果對(duì)比分析,對(duì)比實(shí)驗(yàn)的數(shù)據(jù)主要為模型的大小、算法的訓(xùn)練速度以及mAP。 本文選擇了經(jīng)典的一階段目標(biāo)檢測(cè)算法 (Single Shot Multibox Detector,SSD),其主干特征提取網(wǎng)絡(luò)VGG16 包含13 個(gè)卷積層和3 個(gè)全連接層,所有的卷積層采用3×3 的卷積核進(jìn)行卷積,加深了卷積神經(jīng)網(wǎng)絡(luò),由于VGG16 網(wǎng)絡(luò)架構(gòu)權(quán)重?cái)?shù)量相當(dāng)大且全連接節(jié)點(diǎn)的數(shù)量較多,訓(xùn)練數(shù)據(jù)非常慢。另外,選擇了二階段目標(biāo)檢測(cè)算法Faster R-CNN,其主干特征提取網(wǎng)絡(luò)ResNet50 加入殘差學(xué)習(xí)的思想,解決了深層網(wǎng)絡(luò)中梯度彌散和精度下降的問(wèn)題,模型大小相當(dāng)于VGG16 的一半,但是訓(xùn)練的速度卻很緩慢。 為了進(jìn)一步驗(yàn)證算法改進(jìn)的有效性,選擇YOLO 系列的目標(biāo)檢測(cè)算法進(jìn)行訓(xùn)練測(cè)試,YOLOv4算法的主干特征提取網(wǎng)絡(luò)的模型參數(shù)相比較基礎(chǔ)YOLOv3 算法要小很多,但是相比較改進(jìn)后的YOLOv3_M 算法模型,YOLOv4 參數(shù)仍然很大。 輕量化模型YOLOv4_tiny 是YOLOv4 的簡(jiǎn)化版,權(quán)重大小只有87 MB,相對(duì)于本文改進(jìn)的YOLOv3_M 算法模型參數(shù)少了很多,但是更少參數(shù)以及更快速度的代價(jià)是犧牲了準(zhǔn)確率,并且YOLOv4_tiny 只有2 個(gè)檢測(cè)頭,所以對(duì)于小物體檢測(cè)以及目標(biāo)有重疊或者遮時(shí)檢測(cè)精度較差,具體實(shí)驗(yàn)的結(jié)果數(shù)據(jù)如表3 所示。
表3 各網(wǎng)絡(luò)精度對(duì)比Tab.3 Comparison of accuracy of each network
數(shù)據(jù)對(duì)比分析:VGG16 訓(xùn)練模型達(dá)到280 MB,訓(xùn)練速度56 幀/秒,比YOLOv3_M 算法運(yùn)行速度慢且檢測(cè)精度低很多。 ResNet50 模型大小相當(dāng)于VGG16 的一半大小,但訓(xùn)練的速度緩慢,只達(dá)到136 幀/秒,且精度不高。 YOLOv4_tiny 雖然權(quán)重大小只有87 MB,但是檢測(cè)精度較差,只有46.68%,比YOLOv3_M 低14. 27%。 本文的應(yīng)用場(chǎng)景是在輔助駕駛中的道路目標(biāo)檢測(cè),需要兼顧目標(biāo)檢測(cè)的速度與準(zhǔn)確率。 YOLOv3_M 訓(xùn)練后檢測(cè)結(jié)果比YOLOv3算法的mAP 提升了0. 7%,用輕量化模型Mobile-Netv3 代替主干特征提取網(wǎng)絡(luò)Darknet-53,并在特征融合部分引入了注意力機(jī)制CBAM 后,模型的推斷速度達(dá)到了84.3 幀/秒,提升了18.3 幀/秒,且模型的大小相比較原始算法YOLOv3 縮減了229. 4 MB。綜上所述,YOLOv3_M 綜合評(píng)價(jià)上優(yōu)于YOLOv4_tiny算法,兼顧了推斷速度與檢測(cè)精度,在實(shí)際道路目標(biāo)檢測(cè)中場(chǎng)景中,符合輕量化模型這一需求。
針對(duì)傳統(tǒng)YOLOv3 算法模型參數(shù)大、在實(shí)際應(yīng)用中訓(xùn)練數(shù)據(jù)時(shí)間較長(zhǎng)且應(yīng)用終端設(shè)備受限的問(wèn)題,本文提出了一種輕量化的道路目標(biāo)檢測(cè)算法——YOLOv3_M。 該方法以單階段目標(biāo)檢測(cè)算法YOLOv3 為基礎(chǔ),運(yùn)用輕量化模型與注意力機(jī)制的相關(guān)知識(shí),將改進(jìn)后的模型在混合數(shù)據(jù)集上進(jìn)行訓(xùn)練。 所提出的算法在BDD 與KITTI 混合數(shù)據(jù)集上測(cè)試的mAP 為60.95%,訓(xùn)練速度為84.3 幀/秒,結(jié)果證明該算法是可行且有效的,并且可以將該算法移植于移動(dòng)端設(shè)備中以輔助駕駛,具有廣闊的應(yīng)用前景。