一種改進(jìn)的YOLOv4-tiny車(chē)輛目標檢測方法*
*基金項目:湖南省省市聯(lián)合基金(2019JJ60060),多功能機組絕緣故障診斷關(guān)鍵技術(shù)研究
本文引用地址:http://dyxdggzs.com/article/202109/428434.htm作者簡(jiǎn)介:趙家琪(1996—),男,河南,碩士研究生,主要研究方向為機器學(xué)習、深度學(xué)習、計算機視覺(jué)。E-mail:1262085026@qq.com。
高貴(1981—),男,湖南,西南交通大學(xué)地球科學(xué)與環(huán)境工程學(xué)院教授,博士生導師,國家優(yōu)秀青年科學(xué)基金獲得者,主要研究方向為攝影測量與遙感、雷達信號處理等。
摘要:伴隨深度學(xué)習的不斷發(fā)展,深度學(xué)習的目標檢測方法被廣泛應用?;?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/特征融合">特征融合的思想,本文提出了一種改進(jìn)的YOLOv4-tiny目標檢測方法,通過(guò)添加卷積模塊及調整部分超參數對其網(wǎng)絡(luò )架構進(jìn)行優(yōu)化,以實(shí)現對道路車(chē)輛目標的快速檢測、識別和定位。首先為了改善YOLOv4-tiny網(wǎng)絡(luò )對小目標類(lèi)型檢測精度差的問(wèn)題,基于特征金字塔網(wǎng)絡(luò )對第二標度輸出層的最后一個(gè)CBL輸出特征與網(wǎng)絡(luò )中第二個(gè)CSP輸出特征進(jìn)行融合,并在原有網(wǎng)絡(luò )的基礎上增加52×52的標度輸出;其次,利用遷移學(xué)習權重在自己采集的數據集上進(jìn)行實(shí)驗,訓練得出合適的權重進(jìn)行測試。實(shí)驗結果表明,與YOLOv4-tiny相比,改進(jìn)后的網(wǎng)絡(luò )結構相對YOLOv4-tiny的AP提升4.4%、召回率(Recall)提升4.6%、準確率(Precision)提升8.4%,且可以準確檢測并定位車(chē)輛的位置。
0 引言
伴隨近幾年人工智能的快速發(fā)展,以及深度學(xué)習技術(shù)的不斷突破創(chuàng )新,智能交通系統已經(jīng)成為社會(huì )的發(fā)展趨勢。國家要實(shí)現交通系統的智能化和自動(dòng)化運行,就要將大量的交通信息利用計算機視覺(jué)技術(shù)進(jìn)行處理,例如車(chē)牌識別、車(chē)輛識別與流量統計、無(wú)人駕駛等[1]。目前,深度學(xué)習技術(shù)被廣泛運用到目標檢測領(lǐng)域。為了提高駕駛的便捷性和安全性,自動(dòng)駕駛技術(shù)被廣泛重視并推向了商業(yè)化,高級駕駛輔助系統(ADAS)得到了廣泛的應用,ADAS 可以實(shí)現道路檢測與車(chē)輛目標檢測等多種功能。因此,高效準確的車(chē)輛目標檢測技術(shù)對智慧交通系統的發(fā)展起到了至關(guān)重要的作用。目前,基于計算機視覺(jué)的目標檢測算法分為傳統的目標檢測算法和基于深度學(xué)習的目標檢測算法[2]。傳統的目標檢測算法是基于機器學(xué)習的分類(lèi)器與人工提取的局部特征相結合的算法,主要包括提取特征和分類(lèi)兩個(gè)方面,提取的特征通常是梯度方向直方圖或類(lèi)harr 特征,結合支持向量機或AdaBoost 進(jìn)行目標檢測。使用傳統的基于機器學(xué)習的方法提取特征需要人為設計特征,容易損失信息從而造成誤差,不能滿(mǎn)足高精度和高檢測速度的場(chǎng)景。與傳統的目標檢測算法相比,基于深度學(xué)習的目標檢測算法具有更高的準確率、更快的檢測速度和更強的魯棒性。因此,越來(lái)越多的深度學(xué)習方法被不斷應用到目標檢測領(lǐng)域[3-6]?;谏疃葘W(xué)習的目標檢測方法包括兩階段(Two stage)目標檢測算法[7] 和單階段(One stage)目標檢測算法[8],兩階段算法是對圖像生成可能包含目標的候選區域(region)用卷積神經(jīng)網(wǎng)絡(luò )(CNN)對候選區域進(jìn)行分類(lèi),精度很高,但速度方面欠佳。兩階段目標檢測算法包括R-CNN、Fast R-CN、Faster R-CNN、基于區域的全卷積網(wǎng)絡(luò )(R-FCN) 等,雖然兩階段法比一階段法具有更高的精度,但一階段法比兩階段法具有更快的檢測速度[9-10]。單階段檢測算法目標檢測以整張圖作為輸入,在特征層輸出邊框位置和所屬的類(lèi)別,從而轉變?yōu)橐粋€(gè)回歸問(wèn)題。YOLO(The You Only Look Once)[11]算法是Redmon 等人提出的第一個(gè)基于回歸的單階段算法,之后Redmon 等人又提出了基于YOLO 算法的YOLOv2算法 [12],刪除了完全連通層和最后一個(gè)匯集層,使用錨點(diǎn)框來(lái)預測邊界框,并設計出DarkNet-19 的新基礎網(wǎng)絡(luò )。YOLOv3[13] 是Redmon 等人提出的YOLO 方法的最后一個(gè)版本。它引入了特征金字塔網(wǎng)絡(luò )、更好的基本網(wǎng)絡(luò )darknet-53 和二進(jìn)制交叉熵損失,以提高檢測精度和檢測較小目標的能力。由于YOLOv3 采用的信息融合類(lèi)型沒(méi)有充分利用低級信息,這是限制其在工業(yè)中潛在應用的一個(gè)弱點(diǎn)。因此,Alexey 等人提出了YOLOv4 算法,它使用CSPDarknet53 主干、空間金字塔池模塊、PANet 路徑聚合頸和YOLOv3( 基于錨點(diǎn)) 頭作為YOLOv4 的架構。以上基于深度學(xué)習的目標檢測算法在目標檢測領(lǐng)域雖然取得一定效果,但其在智能交通領(lǐng)域針對小目標的檢測仍然不夠精準。本文通過(guò)對道路車(chē)輛目標圖像進(jìn)行分析,結合最新的YOLOv4-tiny 算法并對其模型進(jìn)行合理優(yōu)化,實(shí)現了對道路圖像車(chē)輛目標的快速準確檢測。
1 YOLOv4-tiny方法改進(jìn)
1.1 YOLOv4-tiny模型
Yolov4-tiny[14](You Only Look Once vision4-tiny) 算法是在Yolov4 算法的基礎上設計的,使其具有更快的目標檢測速度,使用1080Ti GPU, Yolov4-tiny 的目標檢測速度可達到371 幀/s,精度可以滿(mǎn)足實(shí)際應用的要求。Yolov4-tiny 算法使用CSP Darknet53-tiny 網(wǎng)絡(luò )作為骨干網(wǎng)絡(luò )來(lái)代替Yolov4 算法中使用的CSPDarknet53網(wǎng)絡(luò ),空間金字塔池(SPP) 和路徑聚合網(wǎng)絡(luò )(PANet) 也由特征金字塔網(wǎng)絡(luò )(FPN) 代替,以減少檢測時(shí)間。此外,它還使用了兩個(gè)尺度的預測(26×26 和13×13),而不是3 個(gè)尺度的預測。CSPDarknet53-tiny 網(wǎng)絡(luò )在跨級部分網(wǎng)絡(luò )中使用了CSPBlock 模塊,在剩余網(wǎng)絡(luò )中使用了ResBlock 模塊。CSPBlock 模塊將特征映射分成兩部分,通過(guò)跨階段殘差邊緣將兩部分進(jìn)行組合,這使得梯度流可以在兩種不同的網(wǎng)絡(luò )路徑上傳播,增加梯度信息的相關(guān)性差異。與ResBlock 模塊相比,CSPBlock 模塊不僅可以提高卷積網(wǎng)絡(luò )的學(xué)習能力、計算精度,而且還可以減少計算量。消除了ResBlock 模塊中計算量較大的計算瓶頸,提高了Yolov4-tiny 方法在常數情況下的精度,減少了計算量。為了進(jìn)一步簡(jiǎn)化計算過(guò)程,Yolov4-tiny 方法在CSPDarknet53-tiny 網(wǎng)絡(luò )中使用Leaky ReLU 函數作為激活函數,而不使用Yolov4 中使用的Mish 激活函數。在特征融合部分,Yolov4-tiny 方法使用特征金字塔網(wǎng)絡(luò )提取不同尺度的特征地圖,提高了目標檢測速度,而不使用Yolov4 方法中使用的空間金字塔池化和路徑聚合網(wǎng)絡(luò )。與此同時(shí),Yolov4-tiny 使用了13×13和26×26 這兩種不同尺度的特征地圖來(lái)預測檢測結果。假設輸入圖的大小為416×416,特征分類(lèi)為80,Yolov4-tiny 網(wǎng)絡(luò )結構如圖1 所示。Yolov4-tiny 方法的預測過(guò)程與Yolov4 方法相同。首先調整輸入圖像的大小,使所有輸入圖像具有相同的固定大??;其次將輸入圖像劃分為大小為S×S 的網(wǎng)格,每個(gè)網(wǎng)格使用B 個(gè)邊界框檢測目標,因此輸入圖像會(huì )生成S×S×B 的邊界框,生成的邊界框覆蓋了整個(gè)輸入圖像。如果某個(gè)對象的中心落在某個(gè)網(wǎng)格中,網(wǎng)格中的邊界框將預測該對象,為了減少預測過(guò)程中邊界框的冗余,提出了置信閾值。如果邊界框的置信值高于置信閾值,則邊界框保持不變;否則邊框將被刪除。包圍盒的置信值可得如下:
其中代表第i 個(gè)網(wǎng)格中第j 個(gè)邊界框的置信度,pi, j是目標函數。如果目標在第i個(gè)網(wǎng)格的第j個(gè)方格中,則pi, j =1,否則pi, j =0。
表示預測框與真實(shí)框在并集上的交集??杀刃缘梅衷酱?,預測框就越接近地面真相框。Yolov4-tiny 的損耗函數與Yolov4 相同,都是由目標框損失Lcoord 、置信度損失Lcoin 和分類(lèi)損失Lclass 三部分組成,公式如下所示:
loss=loss1+loss2+loss3
loss1 ,loss2 ,loss3分別代表置信度損失、分類(lèi)損失、目標框回歸損失。
置信度損失函數:
圖1 YOLOv4-tiny網(wǎng)絡(luò )框架
這里S2 是輸入圖像的格子的個(gè)數, B 是格子里邊框的個(gè)數,是一個(gè)目標函數。如果jth 邊框是ith 格子里檢測的正確目標,
否則
和
分別是預測框的置信度分數和真實(shí)框的置信度分數,λnoobj是一個(gè)權重參數。
分類(lèi)損失函數:
這里的和
分別代表預測框和真實(shí)框目標屬于c 類(lèi)目標在jth 邊框中是ith 格子里的概率。
位置回歸損失:
其中IOU 是預測框和真實(shí)框之間的交集并集, wgt和hgt分別為真實(shí)框的寬度和高度,W和h分別為預測框的寬度和高度,ρ 2 (b,bgt )為預測框中心點(diǎn)與真實(shí)框中心點(diǎn)之間的歐氏距離,C是能包含預測邊界盒和真值邊界盒的最小對角線(xiàn)距離。
2.2 YOLOv4-tiny改進(jìn)模型
對于卷積神經(jīng)網(wǎng)絡(luò ),不同深度的卷積層對應不同級別的特征信息。低級網(wǎng)絡(luò )具有更高的分辨率和更詳細的特征,而高級網(wǎng)絡(luò )具有更低的分辨率和更多的語(yǔ)義特征。為了使更深層次的網(wǎng)絡(luò )同時(shí)包含豐富的語(yǔ)義特征和圖像表面特征,我們基于特征融合思想改進(jìn)了YOLOv4-tiny的網(wǎng)絡(luò )架構,在原有的框架基礎上增加了52×52 比例的輸出,使分割圖像的像元變小,這有助于提高小尺寸物體檢測的精度。改進(jìn)的YOLOv4-tiny 網(wǎng)絡(luò )架構如圖2 所示。其中實(shí)線(xiàn)代表YOLOv4-tiny 網(wǎng)絡(luò )架構,虛線(xiàn)代表我們改進(jìn)后的網(wǎng)絡(luò )。
1)增加52×52 的標度輸出
①提取高層語(yǔ)義信息和淺層表面信息
我們提取了距離第二輸出最近的CSPBlock 卷積層的輸出信息,由于在網(wǎng)絡(luò )中的深層位置,其包含了豐富的語(yǔ)義信息。此外,提取包含圖像豐富表面信息的淺層CSPBlock 的輸出。
②特征融合
將A 部分提取的兩個(gè)輸出送入1×1×128 的CBL,輸出大小為26×26×128,之后是上采樣層,將其大小改為52×52×128。然后將輸出結果送入concat層進(jìn)行融合,融合后的特征圖大小為52×52×256。這些融合的特征圖被處理成3×3×256 的CBL,用于進(jìn)一步的信息提取。
③增加一個(gè)輸出尺度將B 節中獲得的融合特征圖通過(guò)1×1×255 的Conv層,再增加一個(gè)52×52×255 的輸出。在YOLOv4-tiny中, 網(wǎng)絡(luò )具有13×13 和26×26 的輸出。在改良的YOLOv4-tiny 中,我們增加了52×52 比例的輸出,使分割圖像的像元變小,這有助于提高小尺寸物體檢測的精度。
圖2 改進(jìn)的YOLOv4-tiny網(wǎng)絡(luò )框架
2)損失函數優(yōu)化
YOLOv4-tiny 優(yōu)化后的損失函數由目標框損失Lcoord 、置信度損失Lcoin 和分類(lèi)損失Lclass 組成:
式中: L(c,x, y,w,h)為優(yōu)化后的 YOLOv4-tiny 損失函數; N 為匹配到目標區域的Default Box 的數量; α 為用于調整目標框損失Lcoord 的比例(α初=1 )。目標檢測算法流程如圖3 所示:
2 實(shí)驗結果與分析
本次實(shí)驗的環(huán)境為: 英特爾酷睿TM i7-8700 CPU@3.20 GHz;Window10 帶有Pytorch1.6.0 和Python3.6;GPU是NVIDIA Geforce GTX 3090,計算機配置如表1 所示。
本文使用的車(chē)輛目標數據集是利用攝像裝置在道路上采集得到,并使用圖片標志工具(label Img)對數據集進(jìn)行標注。通過(guò)對圖像中的車(chē)輛目標用矩形框標記,標記后的圖片將以XML 文件存儲,作為對應訓練圖片的標簽。數據由訓練集、測試集、驗證集3 部分組成(如圖表2 所示),共使用8 000 張圖片進(jìn)行訓練,對已標記好的圖像進(jìn)行整理,以XML 文件作為對應圖片訓練的標簽,存儲了3 個(gè)屬性:Label、Pixels、Usage。
2.1 實(shí)驗結果展示
在這篇文章中,我們所用的數據集都是自己在道路中采集的,之后對數據集進(jìn)行標簽處理。該數據集包含6 500 張訓練集和1 200 張驗證集,最后從300 張測試集中隨機抽取2 張圖像分別用YOLOv4-tiny 和改進(jìn)后的YOLOv4-tiny 模型進(jìn)行測試,測試效果如圖4 和圖5 所示。從圖4、圖5 可以看出,通過(guò)對YOLOv4-tiny 與改進(jìn)后的YOLOv4-tiny 模型進(jìn)行檢測效果對比,YOLOv4-tiny沒(méi)有將圖像中的小目標檢測出來(lái),改進(jìn)后的YOLOv4-
圖4 YOLOv4-tiny模型檢測結果
圖5 改進(jìn)的YOLOv4-tiny模型檢測結果
2.2 實(shí)驗對比與評估
文章將提出的方法與YOLOv4、YOLOv4-tiny 進(jìn)行比較,測試它們在檢測效果精確率P(Precision)、召回率R(Recall)、AP 的性能。其公式可表示為:
其中,FP(False Positive)是真實(shí)類(lèi)別為負,預測類(lèi)別為正;FN(False Negative)是樣本真實(shí)類(lèi)別為負,預測類(lèi)別為負;TP(True Positive)是樣本真實(shí)類(lèi)別為正,預測類(lèi)別為正;TN(True Negative)是真實(shí)類(lèi)別為正,預測類(lèi)別為負。
3 結束語(yǔ)
為了提高對小目標的檢測效果,文章提出了一種改進(jìn)的YOLOv4-tiny,將YOLOv4-tiny 提取的高級卷積特征和低級卷積特征進(jìn)行融合,增加52×52 尺度的輸出,并使用K-means 聚類(lèi)方法在數據集上生成檢測框架的錨框。通過(guò)將數據集在改進(jìn)前后的網(wǎng)絡(luò )上訓練,并進(jìn)行對比測試。實(shí)驗結果表明,改進(jìn)后的YOLOv4-tiny 與YOLOv4 相比,各項指標表都比較低;改進(jìn)后的YOLOv4-tiny 與YOLOv4-tiny 相比,準確率(Precision)提高了8.4%,召回率(Recall)提高了4.6%,AP 值提高了4.4%。與YOLOv4-tiny 相比,改進(jìn)后的YOLOv4-tiny可以較好地檢測出圖像中存在的小目標。
參考文獻:
[1] 徐子睿,劉猛,談雅婷.基于YOLOv4的車(chē)輛檢測與流量統計研究[J].現代信息科技,2020,4(15):98-100+103.
[2] 王永平,張紅民,彭闖,等.基于YOLO v3的高壓開(kāi)關(guān)設備異常發(fā)熱點(diǎn)目標檢測方法[J].紅外技術(shù),2020,42(10):983-987.
[3] REDMON J,FARHADI A.YOLOv3:An Incremental Improvement[Z].arXive -prints,2018.
[4] REDMON J,FARHADI A.YOLOv3:An incremental improvement[Z].arXiv preprint,2018.
[5] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large scale image recognition[Z].arXiv preprint,2014.
[6] REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:Unified,real-time object detection[C].In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:779-788.
[7] ZHANG Y,SONG C,ZHANG D.Deep Learning-Based Object Detection Improvement for Tomato Disease[J].IEEE Access,2020(8):56607-56614.
[8] ALGABRI M,MATHKOUR H,BENCHERIF M A,et al.Towards Deep Object Detection Techniques for Phoneme Recognition[J].IEEE Access,2020(8):54663-54680.
[9] ZHOU L,MIN W, ,LIN D, ,et al. .Detecting Motion Blurred Vehicle Logo in IoV Using Filter-Deblur GAN and VL-YOLO[J]. .IEEE Transactions on Vehicular Technology, 2020, ,69(4)::3604-3614. .
[10] ZHANG H,QIN L,LI J,et al.Real-Time Detection Method for Small Traffic Signs Based on Yolov3[J].IEEE Access,2020(8):64145-64156
[11] REDMON J,DIVVALA S,GIRSHICK R,et al.You Only Look Once:Unified,Real-Time Object Detection[C].In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,Las Vegas,NV,USA,2016:779-788.
[12] REDMON J,FARHADI A.YOLO9000:Better,Faster, Stronger[J].IEEE Trans.Pattern Anal.2017,29:6517–6525.
[13] REDMON J,FARHADI A.YOLOv3:An Incremental Improvement[J].IEEE Trans.Pattern Anal.2018,15:1125–1131.
[14] HOU X,MA J,ZANG S.Airborne infrared aircraft t a r g e t d e t e c t i o n a l g o r i t h m b a s e d o n Y O L O v 4 -tiny[J].2021 International Conference on Advances i n Opticsand Computational Sciences (ICAOCS) 2021,Ottawa,Canada,IOP Publishing Ltd.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2021年9月期)
評論