摘 ?要:在無(wú)人駕駛和駕駛輔助領(lǐng)域,交通標(biāo)志識(shí)別是非常重要的。利用YOLOv4算法的實(shí)時(shí)性檢測(cè)效果,本文提出了一種基于YOLOv4的交通標(biāo)志識(shí)別框架,主要識(shí)別LISA數(shù)據(jù)集中的四種交通標(biāo)志:禁止標(biāo)志、行人通過(guò)標(biāo)志、前進(jìn)標(biāo)志、限速標(biāo)志,為了進(jìn)一步提高YOLOv4的實(shí)驗(yàn)性能,采用K-means算法對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行聚類分析,確定適合LISA數(shù)據(jù)集的先驗(yàn)框大小,實(shí)驗(yàn)結(jié)果表明改進(jìn)后的框架對(duì)比原始的yolov4框架和YOLOv3框架,其mAP值分別提高了0.37%和1.04%,說(shuō)明改進(jìn)后的YOLOv4框架在交通標(biāo)志識(shí)別方面具有較高的實(shí)用價(jià)值。
關(guān)鍵詞:目標(biāo)檢測(cè);交通標(biāo)志識(shí)別;K-means算法;LISA數(shù)據(jù)集
中圖分類號(hào):TP311.5 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
Traffic Sign Recognition based on Target Detection Network
HE Kaihua
(Zhejiang Sci-Tech University, Computer Technology, Hangzhou 310018, China)
1137730657@qq.com
Abstract: Traffic sign recognition plays a crucial role in the field of unmanned driving and driving assistance. In view of the real-time detection effect of YOLOv4 (You Only Look Once, YOLO) algorithm, this paper proposes a traffic sign recognition framework based on YOLOv4, which mainly identifies four types of traffic signs in LISA dataset: stop, crosswalk, go, and speed limit. In order to improve the experimental performance of YOLOv4, K-means algorithm is used to conduct cluster analysis on the experimental data and determine a suitable size for the LISA dataset. Experimental results show that compared with the original YOLOv4 and YOLOv3 framework, the improved framework's mAP (mean Average Precision) value is improved by 0.37% and 1.04%, indicating that the improved YOLOv4 is of great practical value in traffic sign recognition.
Keywords: target detection; traffic sign recognition; K-means algorithm; LISA dataset
1 ? 引言(Introduction)
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域中一項(xiàng)重要的研究課題,主要是利用機(jī)器的自主學(xué)習(xí)能力來(lái)檢測(cè)圖像中是否存在預(yù)定的目標(biāo)。目標(biāo)檢測(cè)網(wǎng)絡(luò)的定義為在給定的圖像或者視頻中,判斷其中是否存在多個(gè)預(yù)定義類別的任何目標(biāo)實(shí)例。如果存在,則返回每一個(gè)實(shí)例的空間位置和覆蓋范圍。傳統(tǒng)的目標(biāo)檢測(cè)算法的基本流程分為:區(qū)域選擇、特征提取及分類器分類,區(qū)域選擇使用傳統(tǒng)的滑動(dòng)窗口對(duì)整幅圖像進(jìn)行遍歷,來(lái)確定圖像中目標(biāo)的位置。常用SIFT(Scale-Invariant Feature Transform,尺度不變特征變換)和HOG(Histogram of Oriented Gradient,方向梯度直方圖)對(duì)圖像進(jìn)行特征提取,最后使用SVM(Support Vector Machine,支持向量機(jī))、Adaboost等分類器進(jìn)行分類。但是傳統(tǒng)的目標(biāo)檢測(cè)算法步驟流程在基于滑動(dòng)窗口的區(qū)域選擇時(shí),時(shí)間復(fù)雜度高、窗口冗余,并且手工提取特征的魯棒性不高。綜上所述,傳統(tǒng)的目標(biāo)檢測(cè)方法受限條件比較多,很難達(dá)到很好的識(shí)別準(zhǔn)確率。近年來(lái),隨著深度學(xué)習(xí)廣泛運(yùn)用于圖像領(lǐng)域,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法[1]也取得了很大的成就,其大致可以分為兩大類:基于區(qū)域生成的目標(biāo)檢測(cè)算法:如R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]?;诨貧w的目標(biāo)檢測(cè)算法:如SSD[5]、YOLO[6]系列、retina-net[7]。本文使用YOLOv4[8]目標(biāo)檢測(cè)算法對(duì)交通道路場(chǎng)景下的4種主要的交通標(biāo)志進(jìn)行識(shí)別。
本文主要的工作內(nèi)容如下:
(1)針對(duì)目標(biāo)定位不準(zhǔn)確的問(wèn)題,對(duì)于不同的實(shí)驗(yàn)數(shù)據(jù)集,重新調(diào)整anchor值的大小。
(2)通過(guò)圖像增強(qiáng)的方法,分別從旋轉(zhuǎn)角度、飽和度、曝光量、色度這四個(gè)方面來(lái)增加實(shí)驗(yàn)數(shù)據(jù)集的數(shù)量。
(3)將YOLOv4、YOLOv3和更改anchor值后的YOLOv4進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明更新anchor值后的YOLOv4的實(shí)驗(yàn)效果是最好的。
2 ? YOLOv4算法(YOLOv4 algorithm)
2.1 ? YOLOv4框架介紹
YOLOv4目標(biāo)檢測(cè)算法是眾多目標(biāo)檢測(cè)算法中的一種,是一種端到端的檢測(cè)算法。主要以CSPDarknet53網(wǎng)絡(luò)為基礎(chǔ),利用殘差網(wǎng)絡(luò)來(lái)進(jìn)行深層特征的提取,最終經(jīng)過(guò)多尺寸的特征層得到目標(biāo)的類別和位置。
YOLOv4網(wǎng)絡(luò)的整體框架和YOLOv3[9]網(wǎng)絡(luò)是一樣的,主要是在YOLOv3的基礎(chǔ)之上進(jìn)行四個(gè)方面的改進(jìn)。
(1)輸入端的改進(jìn):主要是對(duì)輸入數(shù)據(jù)進(jìn)行Mosaic增強(qiáng),通過(guò)選取四張圖像進(jìn)行隨機(jī)裁剪、隨機(jī)拼接、隨機(jī)排布來(lái)達(dá)到豐富數(shù)據(jù)集的效果,并且由于拼接操作增加了很多小目標(biāo),增加了網(wǎng)絡(luò)對(duì)于小目標(biāo)識(shí)別的魯棒性。
(2)Backbone主干特征提取網(wǎng)絡(luò)的改進(jìn):使用CSPDarknet53,相比YOLOv3中的Darknet53網(wǎng)絡(luò)多了五個(gè)CSP[10]模塊,并且只在主干網(wǎng)絡(luò)中使用Mish[11]激活函數(shù),網(wǎng)絡(luò)其余部分使用Leaky_relu激活函數(shù)。使用Dropblock[12]正則化方式隨機(jī)刪除神經(jīng)元的數(shù)量,簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu),防止過(guò)擬合。
(3)Neck:目標(biāo)檢測(cè)網(wǎng)絡(luò)在Backbone和最后的輸出層之間添加了SPP[13](Spatial Pyramid Pooling,空間金字塔)模塊和FPN+PAN[14](Path Aggregation Network,路徑聚合網(wǎng)絡(luò))模塊。
(4)預(yù)測(cè)模塊:將訓(xùn)練時(shí)的損失函數(shù)改為CLOU_Loss,將預(yù)測(cè)篩選框的nms改為DIOU_nms。這樣做的好處是將重疊面積、中心點(diǎn)距離、長(zhǎng)寬比這三個(gè)因素都考慮到了。
2.2 ? anchors的更新
anchor值的大小對(duì)于YOLOv4目標(biāo)檢測(cè)網(wǎng)絡(luò)十分重要,它是由當(dāng)前數(shù)據(jù)集通過(guò)K-means[15]聚類算法統(tǒng)計(jì)出來(lái)的,合適的anchor值能夠加快網(wǎng)絡(luò)的收斂速度,降低誤差。在原始的YOLOv4目標(biāo)檢測(cè)網(wǎng)絡(luò)中,anchor值是針對(duì)coco數(shù)據(jù)集的,所以為了提高對(duì)于本次實(shí)驗(yàn)物體的定位精度,重新使用K-means聚類算法對(duì)anchor值進(jìn)行更新,更新后的anchor值,詳見表1。
3 ? 實(shí)驗(yàn)(Experiment)
3.1 ? 實(shí)驗(yàn)框架結(jié)構(gòu)
使用CSPDarknet-53網(wǎng)絡(luò)時(shí),首先根據(jù)檢測(cè)的對(duì)象對(duì)算法中的配置文件進(jìn)行修改,將檢測(cè)類別按照檢測(cè)所需修改為四類,然后將CSPDarknet-53網(wǎng)絡(luò)加入到Y(jié)OLOv4網(wǎng)絡(luò)中,根據(jù)GPU的實(shí)際使用情況,修改網(wǎng)絡(luò)參數(shù),然后使用訓(xùn)練集進(jìn)行模型訓(xùn)練。
交通標(biāo)志識(shí)別檢測(cè)過(guò)程,如圖1所示。
首先利用YOLOv4檢測(cè)算法對(duì)已經(jīng)完成預(yù)處理的圖像數(shù)據(jù)進(jìn)行模型訓(xùn)練,得到適合該場(chǎng)景的最優(yōu)模型并保存。測(cè)試檢測(cè)目標(biāo)時(shí)將輸入圖像放入對(duì)應(yīng)的YOLOv4目標(biāo)檢測(cè)測(cè)試腳本中,并通過(guò)保存下來(lái)的最優(yōu)模型進(jìn)行多目標(biāo)測(cè)試,最終選擇置信度最高的邊框輸出。由于本實(shí)驗(yàn)的檢測(cè)對(duì)象為交通場(chǎng)景下的四種主要交通標(biāo)志,具體為禁止標(biāo)識(shí)、行人通過(guò)標(biāo)識(shí)、限速標(biāo)識(shí)和前進(jìn)標(biāo)識(shí),所以得到的模型僅能夠檢測(cè)這四種交通標(biāo)識(shí)類別。
3.2 ? 實(shí)驗(yàn)數(shù)據(jù)集的準(zhǔn)備
本文的數(shù)據(jù)集為L(zhǎng)ISA[16]數(shù)據(jù)集,主要檢測(cè)四種交通標(biāo)志,分別為禁止標(biāo)志(Stop)、行人通過(guò)標(biāo)志(Crosswalk)、前進(jìn)標(biāo)志(Go)、限速標(biāo)志(Speed Limit)。其各自的標(biāo)志樣例,如圖2所示。
實(shí)驗(yàn)數(shù)據(jù)集參考Pascal voc 2007數(shù)據(jù)集的制作格式,對(duì)數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行標(biāo)注,標(biāo)注完成后生成對(duì)應(yīng)的XML文件。本文中的交通標(biāo)識(shí)主要分為四大類,涵蓋了日常生活中最常見的幾種交通標(biāo)志。一共制作了4750張圖像,數(shù)據(jù)集會(huì)通過(guò)旋轉(zhuǎn)角度、調(diào)整飽和度、調(diào)整曝光量、增加色度這四個(gè)方面來(lái)增加數(shù)據(jù)集的數(shù)量,然后按照8:2的比例分成訓(xùn)練集和測(cè)試集。
3.3 ? 網(wǎng)絡(luò)的訓(xùn)練參數(shù)及實(shí)驗(yàn)設(shè)備配置
在ubuntu18.04操作系統(tǒng)下對(duì)YOLOv3、YOLOv4和優(yōu)化過(guò)的YOLOv4網(wǎng)絡(luò)分別進(jìn)行訓(xùn)練,實(shí)驗(yàn)所用計(jì)算機(jī)的硬件參數(shù),詳見表2。
訓(xùn)練的初始參數(shù),詳見表3。在訓(xùn)練迭代次數(shù)達(dá)到6400和7200時(shí),將學(xué)習(xí)率分別降至初始學(xué)習(xí)率的10%和1%。
本實(shí)驗(yàn)訓(xùn)練圖像的大小為416×416,因此不同特征對(duì)應(yīng)的尺度是13×13、26×26、52×52,即每一個(gè)yolo層會(huì)輸出三個(gè)預(yù)測(cè)框(有三個(gè)yolo層,故共有九個(gè)anchor值),預(yù)測(cè)種類數(shù)為4,則卷積層的輸出維度為3×(4+1+4)=27。這樣能夠在維持準(zhǔn)確率的同時(shí),減少網(wǎng)絡(luò)的運(yùn)算量,節(jié)約訓(xùn)練時(shí)間,提高實(shí)驗(yàn)?zāi)P偷臋z測(cè)精度和檢測(cè)速度。
3.4 ? 實(shí)驗(yàn)結(jié)果展示
實(shí)驗(yàn)數(shù)據(jù)AP值,如圖3所示。圖(a)為原始anchor大小下YOLOv4的目標(biāo)檢測(cè)結(jié)果、圖(b)為使用K-means聚類后YOLOv4的目標(biāo)檢測(cè)結(jié)果、圖(c)為YOLOv3的目標(biāo)檢測(cè)結(jié)果。
為了評(píng)估網(wǎng)絡(luò)模型的檢測(cè)效果,本文采用AP(Average Precision)值來(lái)衡量模型的效果,其值越大表明效果越好。
(a)YOLOv4+原始anchor值(b)YOLOv4+新anchor值(c)YOLOv3+原始anchor值
圖(a)和圖(c)使用的都是網(wǎng)絡(luò)原始的anchor值,實(shí)驗(yàn)結(jié)果表明YOLOv4的實(shí)驗(yàn)mAP值比YOLOv3的提升0.67%,更新anchor值后的YOLOv4的實(shí)驗(yàn)結(jié)果,如圖(b)所示,相比圖(a)其mAP值提升0.37%。更直觀的實(shí)驗(yàn)結(jié)果分析對(duì)比,詳見表4。
4 ? 結(jié)果(Result)
原始的YOLO架構(gòu)中的anchor值是對(duì)應(yīng)COCO數(shù)據(jù)集的,當(dāng)訓(xùn)練新的數(shù)據(jù)集時(shí),需要使用K-means聚類方法對(duì)anchor值的大小重新進(jìn)行計(jì)算。從表4可得,這種做法能夠提升實(shí)驗(yàn)的mAP值。并且在測(cè)試階段,使用YOLOv3框架平均處理一張圖片的時(shí)間為66.31毫秒,而更新anchor值后的YOLOv4框架平均處理一張圖片的時(shí)間為52.72毫秒。綜上所述:不管是檢測(cè)的準(zhǔn)確性還是實(shí)時(shí)性,更新anchor值后的YOLOv4框架的總體性能是最優(yōu)的。
5 ? 結(jié)論(Conclusion)
本文介紹了道路交通場(chǎng)景下基于YOLOv4目標(biāo)檢測(cè)算法的交通標(biāo)志識(shí)別方法,包括了數(shù)據(jù)集的預(yù)處理、模型訓(xùn)練、調(diào)參優(yōu)化、檢測(cè)結(jié)果分析。實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的YOLOv4的交通標(biāo)志識(shí)別模型已經(jīng)達(dá)到很好的效果,四種交通標(biāo)志類別識(shí)別的mAP值能夠達(dá)到98.9%,能夠準(zhǔn)確快速地檢測(cè)出四種交通標(biāo)志。并且使用相同的數(shù)據(jù)集和網(wǎng)絡(luò)參數(shù)在YOLOv3上進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明YOLOv4框架對(duì)比YOLOv3,其mAP值有1.04%的提升,并且前者對(duì)比后者的檢測(cè)時(shí)間快了13.59毫秒。CNN的訓(xùn)練需要大量的數(shù)據(jù),在使用數(shù)據(jù)增強(qiáng)的方法之后,實(shí)驗(yàn)mAP值提高將近5.02%,使得最終的網(wǎng)絡(luò)模型具有非常優(yōu)秀的檢測(cè)效果。
參考文獻(xiàn)(References)
[1] 李杰. 基于卷積神經(jīng)網(wǎng)絡(luò)的交通標(biāo)志檢測(cè)算法研究[D]. 華中科技大學(xué),2019.
[2] Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]. Proceedings of the IEEE conference on computer vision and pattern recognition, 2014: 580-587.
[3] Girshick R. Fast r-cnn[C]. Proceedings of the IEEE international conference on computer vision, 2015: 1440-1448.
[4] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards real-time object detection with region proposal networks[C]. Advances in neural information processing systems, 2015: 91-99.
[5] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]. European conference on computer vision. Springer, Cham, 2016: 21-37.
[6] Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection[C]. Proceedings of the IEEE conference on computer vision and pattern recognition, 2016: 779-788.
[7] Lin T Y, Goyal P, Girshick R, et al. Focal loss for dense object detection[C]. Proceedings of the IEEE international conference on computer vision, 2017: 2980-2988.
[8] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: Optimal Speed and Accuracy of Object Detection[J]. Computer Vision and Pattern Recognition, 2020, 17(9): 198-215.
[9] Redmon J, Farhadi A. Yolov3: An incremental improvement[J]. Computer Vision and Pattern Recognition, 2018, 22(4): 17-23.
[10] Wang C Y, Mark Liao H Y, Wu Y H, et al. CSPNet: A new backbone that can enhance learning capability of cnn[C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2020: 390-391.
[11] Misra D. Mish: A self regularized non-monotonic neural activation function[J]. Machine Learning, 2019, 18(5): 5-21.
[12] Ghiasi G, Lin T Y, Le Q V. Dropblock: A regularization method for convolutional networks[C]. Advances in Neural Information Processing Systems, 2018: 10727-10737.
[13] Ghiasi G, Lin T Y, Le Q V. Dropblock: A regularization method for convolutional networks[C]. Advances in Neural Information Processing Systems, 2018: 10727-10737.
[14] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]. Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 8759-8768.
[15] Cover T, Hart P. Nearest neighbor pattern classification[J]. Nearest neighbour pattern classification. IEEE Transactions on Information Theory, 1967, 13(1):21-27.
[16] Li L, Li X, Cheng C, et al. Research collaboration and ITS topic evolution: 10 years at T-ITS[J]. IEEE Transactions on Intelligent Transportation Systems, 2010, 11(3): 517-523.
作者簡(jiǎn)介:
何凱華(1995-),男,碩士生.研究領(lǐng)域:圖像處理.