?

基于改進YOLOv5s的道路場景多任務感知算法

2023-05-29 05:21宮保國陶兆勝趙瑞李慶萍伍毅吳浩
關鍵詞:多任務解碼器車道

宮保國,陶兆勝,趙瑞,李慶萍,伍毅,吳浩

基于改進YOLOv5s的道路場景多任務感知算法

宮保國,陶兆勝,趙瑞,李慶萍,伍毅,吳浩

(安徽工業大學 機械工程學院,安徽 馬鞍山 243032)

針對單一任務模型不能同時滿足自動駕駛多樣化感知任務的問題,提出了一種基于改進YOLOv5s的快速端到端道路多任務感知方法。首先,在YOLOv5s網絡輸出端設計兩個語義分割解碼器,能夠同時完成交通目標檢測、車道線和可行駛區域檢測任務。其次,引入RepVGG block改進YOLOv5s算法中的C3結構,借助結構重參數化策略提升模型速度和精度。為了提升網絡對于小目標的檢測能力,引入位置注意力機制對編碼器的特征融合網絡進行改進;最后基于大型公開道路場景數據集BDD100K進行實驗驗證該算法在同類型算法的優越性。實驗結果表明,算法車輛平均檢測精度為78.3%,車道線交并比為27.2%,可行駛區域平均交并比為92.3%,檢測速度為8.03FPS,與同類型算法YOLOP、HybridNets對比,該算法綜合性能最佳。

無人駕駛;目標檢測;多任務網絡

自動駕駛環境感知作為影響后續決策系統和控制系統的關鍵技術,將周邊物體、行駛路徑、駕駛狀態等作為感知對象,為車輛平穩運行提供豐富、準確的數據支撐[1-3]。目前,研究人員主要通過單任務模型解決環境感知問題,例如將單階段目標檢測模型YOLO用于車輛檢測[4],語義分割用于可行駛區域檢測的EdgeNet[5],將結合逐片卷積的語義分割模型SCNN[6]用在車道線檢測。然而,上述模型忽視了不同任務之間存在的關聯性,可行駛區域中包含其他檢測任務所需要的車道線和交通車輛位置信息,因此,不同感知任務模型會造成特征的重復提取。同時,車載平臺受到制造成本和便攜性限制,計算性能較弱,多個單任務模型同時運行會對車載計算平臺的運算能力造成挑戰。為了充分利用不同任務之間的關聯性,提高子任務準確性,同時降低模型的內存占用,提高計算效率,研究滿足車載平臺精度和實時性需求的多任務環境感知模型具有重要意義。

在多任務環境感知方法研究中,TEICHMANN等[7]提出了同時完成道路場景分類、車輛檢測、可行駛區域檢測的多任務模型MultiNet,驗證了檢測任務和分割任務之間存在特定關聯性。但是由于分類任務的存在,MultiNet需要進行模型預訓練,提高了時間成本。孫宇菲[8]提出了一種結合MultiNet和改進SCNN的多任務學習模型同時檢測車道線和可行駛區域,但是該算法忽略了道路場景中最重要的目標檢測任務。QIAN等[9]提出了DLT-Net同時進行車輛檢測、車道線和可行駛區域分割,通過構建上下文張量將3個分支任務中的特征圖進行級聯,顯著提高了檢測精度,但是實驗結果表明該模型在車道線不連續時檢測效果不佳。WU等[10]提出了一種能夠在嵌入式平臺實時運行的多任務模型YOLOP,通過3個分支任務解碼器共享一個特征編碼器,以降低計算量,在檢測精度和實時性上都要優于DLT-Net,但是YOLOP中每個編碼器都是獨立設計,多個任務之間沒有共享信息。

為了解決以上問題,本文基于YOLOv5s提出了一種快速準確完成交通車輛檢測、車道線檢測、可行駛區域分割的多任務環境感知算法。實驗結果表明,本文算法能夠有效提高模型檢測準確度和實時性能。

1 算法理論介紹

1.1 YOLOv5s算法原理

圖1 YOLOv5s模型結構

圖2 C3模塊基本結構

圖3 SPPF模塊基本結構

1.2 REPVGG算法原理

圖4 RepVGG Block結構重參數化過程

1.3 位置注意力機制原理

圖5 位置注意力機制結構

2 道路場景多任務感知模型

本文研究模型整體網絡結構如圖6所示,網絡結構由編碼器和解碼器組成,其中編碼器由主干網絡和特征融合網絡組成,解碼器由可行駛區域解碼器、車道線解碼器和車輛檢測解碼器構成,編碼器用于提取不同任務所需的圖像特征,并對特征進行聚合,從而使得模型學習到多尺度的特征信息。解碼器則按照不同任務的特性設計了相對應的語義分割結構或目標檢測結構,以便網絡同時檢測3種對象。

圖6 本文多任務網絡模型

2.1 主干網絡改進

為了滿足多任務環境感知模型在邊緣設備等移動硬件的實時性和準確性需求,本文引入RVB結構對圖2所示的C3模塊的殘差單元進行替換,得到RepC3模塊,其結構如圖7所示。與原來的C3模塊結構相比,在訓練階段,RepC3模塊增加梯度回傳支路;在模型推理階段中,將3分支卷積層轉換為單分支結構,更好的提升設備的內存利用率,從而提升模型的推理速度。

圖7 RepC3模塊結構

2.2 特征融合網絡改進

YOLOv5s的Neck結構構建特征金字塔網絡(Feature Pyramid Network, FPN)[19]和特征聚合網絡(Feature Aggregation Network, PAN)[20]對提取的多尺度特征進行融合和再分配,提高網絡對不同尺度目標檢測結果的可靠性,FPN和PAN結構如圖8(a)所示。PAN結構運用Concat將不同尺度特征圖在通道維度上進行拼接,造成輸出特征圖通道數量增加。此外由于道路場景的物體之間存在相對位移,會導致目標的姿態發生改變,不利于小目標的檢測。為了提高多任務網絡算法在車載計算平臺上的推理效率和關注重要小尺度目標的能力,本文結合RepC3、位置注意力機制模塊構建一種更加有效的特征融合結構,其結構如圖8(b)所示。

圖8 特征融合網絡結構

2.3 語義分割任務解碼器結構設計

由于車道線為細長狀且線條紋理不同于道路表面的長條狀指示標志,在道路場景中占比遠遠小于可行駛區域。因此在可行駛區域分割解碼器的基礎上引入SPPF模塊增強其特征提取能力,應用多個小尺寸卷積核替換SPP模塊中的單個大尺寸卷積核,既融合不同尺度的感受野,又提高了運行速度。網絡層結構如圖10所示,與可行駛區域解碼器結構相比,除了在調整通道維度后,增加了一個SPPF模塊,其余結構基本相同。

3 損失函數選擇

因本文模型需要同時完成交通車輛檢測、車道線檢測、可行駛區域分割,所以使用一種由3個任務各自對應的加權損失函數訓練模型,如式(1)所示。

目標檢測分支損失函數由分類損失、置信度損失、目標框回歸損失3部分構成:

車道線檢測分支損失函數由交叉熵損失和Dice[23]損失函數組成,交叉熵通過逐個對比每一個像素得到損失值。由于車道線像素數量遠遠少于背景像素,此時僅僅使用交叉熵損失函數,會導致損失函數趨向于背景像素,因此本文通過Dice損失函數抑制樣本類別不平衡問題,其公式為

可行駛區域檢測由于目標像素數量較多,檢測難度較低,因此僅使用交叉熵作為損失函數:

4 實驗結果及分析

4.1 實驗數據集

本文采用加州大學伯克利分校發布的自動駕駛公開數據集BDD100K[24]作為實驗數據集。BDD100K包含了不同天氣和時間段下的復雜道路場景圖像,并對道路車輛、車道線、可行駛區域進行了標注,能夠有效驗證算法性能。BDD100K包含10萬張圖片,其中7萬張為訓練集,1萬張為驗證集,2萬張為測試集,由于測試集標簽并未公開,因此本文在驗證集上評估算法性能。

4.2 實驗參數設置與評估指標

本文所做的驗證實驗均基于Pytorch1.10框架,CUDA版本為11.3,計算平臺使用的CPU為Intel Core i7-11700K,GPU為NVIDIA RTX 3070,Python版本為3.7。

本文實驗采用召回率(Recall)、錨框交并比閾值設置為0.5時的類別平均精度均值(mean Average Precision,mAP)評估算法車輛檢測性能、交并比(Intersection over Union,IOU)評估算法車道線分割性能,平均交并比(mean Intersection over Union,mIOU)評估算法可行駛區域分割性能,每秒檢測幀數(Frames Per Seconds,FPS)、參數量、十億次浮點運算次數(Giga Floating Point Operations,GFLOPs)評估模型的輕量化性能和復雜度。

召回率和類別平均精度均值的計算公式如式(7)和式(9)所示:

交并比和平均交并比計算公式如下:

模型迭代訓練100個epoch過程中的算法平均精度均值、損失函數變化曲線如圖11(a),(b)所示??梢钥闯?,前50個epoch內,訓練損失下降較快,50個epoch后逐漸收斂,第80個epoch后訓練過程總損失趨于穩定。最終選取在驗證集上評價指標最高的作為最終權重。

圖11 訓練過程可視化

在推理過程中,模型加載已訓練的權重,并將輸入圖像前向傳播。模型輸出結果后,經過非極大值抑制濾除重復錨框后,將其繪制在原圖上,得到圖12所示的可視化結果。由圖12可知,本文模型的車輛檢測解碼器能夠較為準確識別前方車輛位置,并且置信度分數較高。車道線和可行駛區域解碼器能夠準確識別道路兩旁的車道線以及可行駛區域。同時,本文模型在光照較弱的黑夜場景下仍能保持較好的檢測效果。

圖12 模型推理可視化結果

4.3 對比實驗結果

為了驗證本文提出算法在同類型的多任務環境感知算法的優越性,本文與現有的道路場景多任務算法YOLOP、HybridNets[25]進行了對比實驗,定量評價實驗指標已在4.2節詳細說明,定量實驗結果如表1所示。

從表1中不同多任務算法感知模型的對比結果可知,與YOLOP算法比較:在車輛檢測任務中,本文算法召回率比YOLOP高了0.6個百分點,平均檢測精度高了1.8個百分點;在車道線檢測任務中,本文算法交并比IOU比YOLOP算法高了1個百分點;在可行駛區域檢測任務中,本文算法平均交并比mIOU比YOLOP高了0.8個百分點;在模型整體復雜度和實時性方面,本文算法的浮點計算量和參數量都要低于YOLOP算法,反映在本文算法FPS指標比YOLOP算法快了1.72幀。由上述分析可知,對比YOLOP算法,本文算法無論是在檢測精度還是檢測速度都占有優勢。與HybridNets算法比較,在車輛檢測任務中,本文算法召回率比HybridNets低了3個百分點,平均檢測精度高了1個百分點;在車道線檢測任務中,本文算法交并比比HybridNets低了4.4個百分點;在可行駛區域檢測任務中,本文算法平均交并比HybridNets高了1.8個百分點;在模型整體復雜度和實時性方面,本文算法的參數量遠遠小于HybridNets算法,FPS指標比HybridNets算法快了2.64幀。由上述分析可知,本文算法雖然在召回率和車道線檢測任務中的指標稍遜于HybridNets算法,但是本文的實時性能優于HybridNets方法。綜上所述,與同類型的多任務感知方法比較,本文基于YOLOv5s改進的模型有著最快檢測速度的同時,保持著較好的檢測精度,更能滿足實際部署需求。為了更加直觀展示不同算法的檢測效果,分別選取3種不同道路場景進行比較,結果如圖13所示,(a)~(c)為HybridNets檢測效果,(d)~(f)為YOLOP檢測效果,(g)~(i)是本文算法檢測效果。

表1 多任務模型對比實驗結果

圖13 多任務算法對比結果

由檢測效果(a),(d),(g)可知,HybridNets對可行駛區域的檢測結果中出現明顯的空洞,YOLOP算法對圖像左下方像素進行了錯誤分類。由檢測效果(b),(e),(h)可知,HybridNets對可行駛區域的檢測結果中出現明顯的空洞,YOLOP算法對圖像左下方像素進行了錯誤分類。HybridNets模型和YOLOP方法得到的車道線檢測結果在完整度上明顯不如本文算法。檢測效果(f)中,YOLOP模型錯誤地將路邊的電動車誤檢為汽車。綜上所述,與HybridNets方法、YOLOP方法比較,本文算法的車道線和可行駛區域連續性更好,缺失程度更低,在檢測出小車輛目標的同時,不易發生誤檢。

5 結束語

針對單一任務模型處理自動駕駛環境感知任務實時性差、準確度低的問題,本文首先基于YOLOV5s進行改進,使其由單一任務模型轉換為多任務模型,同時完成交通車輛檢測、車道線和可行駛區域檢測。其次借助參數重參數化策略,對C3模塊進行改進,提升了模型的推理速度。最后,在特征融合網絡中引入位置注意力模塊,提升模型對于小目標的檢測能力。在公開數據集BDD100K上的實驗結果表明,本文算法能夠準確、快速地完成交通車輛檢測、車道線和可行駛區域檢測。同時與近年來的同類型多任務檢測算法比較,本文算法明顯提高了3個分支任務的檢測精度和推理速度,在計算能力欠缺的車載設備場景下,有著更強的實用價值。

[1] 王龍飛,嚴春滿. 道路場景語義分割綜述[J]. 激光與光電子學進展,2021, 58(12): 44-66.

[2] 于向軍,槐元輝,姚宗偉,等. 工程車輛無人駕駛關鍵技術[J]. 吉林大學學報(工學版),2021, 51(04): 1153-1168.

[3] 彭育輝,江銘,馬中原,等. 汽車自動駕駛關鍵技術研究進展[J]. 福州大學學報(自然科學版),2021, 49(05): 691-703.

[4] 王得成,陳向寧,趙峰,等. 基于卷積神經網絡和RGB-D圖像的車輛檢測算法[J]. 激光與光電子學進展,2019, 56(18): 119-126.

[5] HAN H Y, CHEN Y C, HSIAO P Y, et al. Using channel-wise attention for deep CNN based real-time semantic segmentation with class-aware edge information[J]. IEEE Transactions on Intelligent Transportation Systems, 2020, 22(2): 1041-1051.

[6] PAN X, SHI J, LUO P, et al. Spatial as deep: Spatial cnn for traffic scene understanding[C]//Proceedings of the AAAI Conference on Artificial Intelligence, 2018.

[7] TEICHMANN M, WEBER M, ZOELLNER M, et al. Multinet: Real-time joint semantic reasoning for autonomous driving[C]//2018 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2018: 1013-1020.

[8] 孫宇菲. 基于多任務學習的車道線檢測算法研究[D]. 西安:長安大學,2021: 20-28.

[9] QIAN Y, DOLAN J M, YANG M. DLT-Net: Joint detection of drivable areas, lane lines, and traffic objects[J]. IEEE Transactions on Intelligent Transportation Systems, 2019, 21(11): 4670-4679.

[10] WU D, LIAO M W, ZHANG W T, et al. YOLOP: You only look once for panoptic driving erception[J]. Machine Intelligence Research, 2022, 19(6): 550-562.

[11] REDMON J, FARHADI A. Yolov3: An incremental improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[12] WANG C Y, LIAO H Y M, 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.

[13] XU H, LI B, ZHONG F. Light-YOLOv5: A lightweight algorithm for improved YOLOv5 in complex fire scenarios[J]. Applied Sciences, 2022, 12(23): 12312.

[14] LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO: Common objects in context[C]. 13th European Conference on Computer Vision, Zurich, Switzerland, 2014: 740–755.

[15] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2015, 37(9): 1904-1916.

[16] DING X, ZHANG X, MA N, et al. Repvgg: Making vgg-style convnets great again[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021: 13733-13742.

[17] HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design [C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021: 13713-13722.

[18] LIN M, CHEN Q, YAN S C. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013. https://arxiv.org/abs/1312.4400.

[19] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 2117-2125.

[20] 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.

[21] TAN M, LE Q. Efficientnet: Rethinking model scaling for convolutional neural networks[C]//International Conference on Machine Learning. PMLR, 2019: 6105-6114.

[22] ZHANG Y F, REN W, ZHANG Z, et al. Focal and efficient IOU loss for accurate bounding box regression[J]. Neurocomputing, 2022, 506: 146-157.

[23] MILLETARI F, NAVAB N, AHMADI S A. V-net: Fully convolutional neural networks for volumetric medical image segmentation[C]//2016 Fourth International Conference on 3D Vision (3DV). IEEE, 2016: 565-571.

[24] YU F, CHEN H, WANG X, et al. Bdd100k: A diverse driving dataset for heterogeneous multitask learning[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 2636-2645.

[25] VU D, NGO B, PHAN H. HybridNets: End-to-end perception network[J]. arXiv preprint arXiv:2203.09035, 2022. https://arxiv.org/abs/2203.09035.

A road multi-task perception algorithm based on improved YOLOv5s

GONG Bao-guo,TAO Zhao-sheng,ZHAO Rui,LI Qing-ping,WU Yi,WU Hao

(College of Mechnical Engineering, Anhui University of Technology, Anhui Maanshan 243032, China)

Aiming at the problem that a single task model can not satisfy the diverse perception tasks of autonomous driving at the same time, a fast end-to-end road multi-task perception method based on improved YOLOv5s is proposed. First, two semantic segmentation decoders are designed at the output of the YOLOv5s network, which can simultaneously complete the tasks of traffic object detection, lane line and drivable area detection. Secondly, the RepVGG block is introduced to improve the C3 structure in the YOLOv5s algorithm, and the speed and accuracy of the model are improved with the help of the structural re-parameterization strategy. Then, in order to improve the detection ability of the network for small targets, the position attention mechanism is introduced to improve the feature fusion network of the encoder. Finally, based on the large-scale public road scene dataset BDD100K, experiments are carried out to verify the superiority of the proposed algorithm in the same type of algorithm. The experimental results show that the average vehicle detection accuracy of the algorithm in this paper is 78.3%, the lane line intersection ratio is 27.2%, the average drivable area intersection ratio is 92.3%, and the detection speed is 8.03FPS. Compared with the same type of algorithms YOLOP and HybridNets, this paper the algorithm has the best overall performance.

autonomous driving;object detection;multi-task networks

TP391

A

1007-984X(2023)03-0019-11

2022-11-03

安徽省自然科學基金面上項目(2108085ME166);安徽高校自然科學研究項目重點項目(KJ2021A0408)

宮保國(1998-),男,安徽阜陽人,碩士,主要從事機器視覺研究,GBG3119@163.com。

猜你喜歡
多任務解碼器車道
北斗+手機實現車道級導航應用
科學解碼器(一)
避免跟車闖紅燈的地面車道線
科學解碼器(二)
科學解碼器(三)
淺談MTC車道改造
線圣AudioQuest 發布第三代Dragonfly Cobalt藍蜻蜓解碼器
基于中心化自動加權多任務學習的早期輕度認知障礙診斷
基于判別性局部聯合稀疏模型的多任務跟蹤
基于多任務異步處理的電力系統序網絡拓撲分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合