宮保國,陶兆勝,趙瑞,李慶萍,伍毅,吳浩
基于改進(jìn)YOLOv5s的道路場景多任務(wù)感知算法
宮保國,陶兆勝,趙瑞,李慶萍,伍毅,吳浩
(安徽工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 馬鞍山 243032)
針對單一任務(wù)模型不能同時滿足自動駕駛多樣化感知任務(wù)的問題,提出了一種基于改進(jìn)YOLOv5s的快速端到端道路多任務(wù)感知方法。首先,在YOLOv5s網(wǎng)絡(luò)輸出端設(shè)計(jì)兩個語義分割解碼器,能夠同時完成交通目標(biāo)檢測、車道線和可行駛區(qū)域檢測任務(wù)。其次,引入RepVGG block改進(jìn)YOLOv5s算法中的C3結(jié)構(gòu),借助結(jié)構(gòu)重參數(shù)化策略提升模型速度和精度。為了提升網(wǎng)絡(luò)對于小目標(biāo)的檢測能力,引入位置注意力機(jī)制對編碼器的特征融合網(wǎng)絡(luò)進(jìn)行改進(jìn);最后基于大型公開道路場景數(shù)據(jù)集BDD100K進(jìn)行實(shí)驗(yàn)驗(yàn)證該算法在同類型算法的優(yōu)越性。實(shí)驗(yàn)結(jié)果表明,算法車輛平均檢測精度為78.3%,車道線交并比為27.2%,可行駛區(qū)域平均交并比為92.3%,檢測速度為8.03FPS,與同類型算法YOLOP、HybridNets對比,該算法綜合性能最佳。
無人駕駛;目標(biāo)檢測;多任務(wù)網(wǎng)絡(luò)
自動駕駛環(huán)境感知作為影響后續(xù)決策系統(tǒng)和控制系統(tǒng)的關(guān)鍵技術(shù),將周邊物體、行駛路徑、駕駛狀態(tài)等作為感知對象,為車輛平穩(wěn)運(yùn)行提供豐富、準(zhǔn)確的數(shù)據(jù)支撐[1-3]。目前,研究人員主要通過單任務(wù)模型解決環(huán)境感知問題,例如將單階段目標(biāo)檢測模型YOLO用于車輛檢測[4],語義分割用于可行駛區(qū)域檢測的EdgeNet[5],將結(jié)合逐片卷積的語義分割模型SCNN[6]用在車道線檢測。然而,上述模型忽視了不同任務(wù)之間存在的關(guān)聯(lián)性,可行駛區(qū)域中包含其他檢測任務(wù)所需要的車道線和交通車輛位置信息,因此,不同感知任務(wù)模型會造成特征的重復(fù)提取。同時,車載平臺受到制造成本和便攜性限制,計(jì)算性能較弱,多個單任務(wù)模型同時運(yùn)行會對車載計(jì)算平臺的運(yùn)算能力造成挑戰(zhàn)。為了充分利用不同任務(wù)之間的關(guān)聯(lián)性,提高子任務(wù)準(zhǔn)確性,同時降低模型的內(nèi)存占用,提高計(jì)算效率,研究滿足車載平臺精度和實(shí)時性需求的多任務(wù)環(huán)境感知模型具有重要意義。
在多任務(wù)環(huán)境感知方法研究中,TEICHMANN等[7]提出了同時完成道路場景分類、車輛檢測、可行駛區(qū)域檢測的多任務(wù)模型MultiNet,驗(yàn)證了檢測任務(wù)和分割任務(wù)之間存在特定關(guān)聯(lián)性。但是由于分類任務(wù)的存在,MultiNet需要進(jìn)行模型預(yù)訓(xùn)練,提高了時間成本。孫宇菲[8]提出了一種結(jié)合MultiNet和改進(jìn)SCNN的多任務(wù)學(xué)習(xí)模型同時檢測車道線和可行駛區(qū)域,但是該算法忽略了道路場景中最重要的目標(biāo)檢測任務(wù)。QIAN等[9]提出了DLT-Net同時進(jìn)行車輛檢測、車道線和可行駛區(qū)域分割,通過構(gòu)建上下文張量將3個分支任務(wù)中的特征圖進(jìn)行級聯(lián),顯著提高了檢測精度,但是實(shí)驗(yàn)結(jié)果表明該模型在車道線不連續(xù)時檢測效果不佳。WU等[10]提出了一種能夠在嵌入式平臺實(shí)時運(yùn)行的多任務(wù)模型YOLOP,通過3個分支任務(wù)解碼器共享一個特征編碼器,以降低計(jì)算量,在檢測精度和實(shí)時性上都要優(yōu)于DLT-Net,但是YOLOP中每個編碼器都是獨(dú)立設(shè)計(jì),多個任務(wù)之間沒有共享信息。
為了解決以上問題,本文基于YOLOv5s提出了一種快速準(zhǔn)確完成交通車輛檢測、車道線檢測、可行駛區(qū)域分割的多任務(wù)環(huán)境感知算法。實(shí)驗(yàn)結(jié)果表明,本文算法能夠有效提高模型檢測準(zhǔn)確度和實(shí)時性能。
圖1 YOLOv5s模型結(jié)構(gòu)
圖2 C3模塊基本結(jié)構(gòu)
圖3 SPPF模塊基本結(jié)構(gòu)
圖4 RepVGG Block結(jié)構(gòu)重參數(shù)化過程
圖5 位置注意力機(jī)制結(jié)構(gòu)
本文研究模型整體網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示,網(wǎng)絡(luò)結(jié)構(gòu)由編碼器和解碼器組成,其中編碼器由主干網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò)組成,解碼器由可行駛區(qū)域解碼器、車道線解碼器和車輛檢測解碼器構(gòu)成,編碼器用于提取不同任務(wù)所需的圖像特征,并對特征進(jìn)行聚合,從而使得模型學(xué)習(xí)到多尺度的特征信息。解碼器則按照不同任務(wù)的特性設(shè)計(jì)了相對應(yīng)的語義分割結(jié)構(gòu)或目標(biāo)檢測結(jié)構(gòu),以便網(wǎng)絡(luò)同時檢測3種對象。
圖6 本文多任務(wù)網(wǎng)絡(luò)模型
為了滿足多任務(wù)環(huán)境感知模型在邊緣設(shè)備等移動硬件的實(shí)時性和準(zhǔn)確性需求,本文引入RVB結(jié)構(gòu)對圖2所示的C3模塊的殘差單元進(jìn)行替換,得到RepC3模塊,其結(jié)構(gòu)如圖7所示。與原來的C3模塊結(jié)構(gòu)相比,在訓(xùn)練階段,RepC3模塊增加梯度回傳支路;在模型推理階段中,將3分支卷積層轉(zhuǎn)換為單分支結(jié)構(gòu),更好的提升設(shè)備的內(nèi)存利用率,從而提升模型的推理速度。
圖7 RepC3模塊結(jié)構(gòu)
YOLOv5s的Neck結(jié)構(gòu)構(gòu)建特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)[19]和特征聚合網(wǎng)絡(luò)(Feature Aggregation Network, PAN)[20]對提取的多尺度特征進(jìn)行融合和再分配,提高網(wǎng)絡(luò)對不同尺度目標(biāo)檢測結(jié)果的可靠性,F(xiàn)PN和PAN結(jié)構(gòu)如圖8(a)所示。PAN結(jié)構(gòu)運(yùn)用Concat將不同尺度特征圖在通道維度上進(jìn)行拼接,造成輸出特征圖通道數(shù)量增加。此外由于道路場景的物體之間存在相對位移,會導(dǎo)致目標(biāo)的姿態(tài)發(fā)生改變,不利于小目標(biāo)的檢測。為了提高多任務(wù)網(wǎng)絡(luò)算法在車載計(jì)算平臺上的推理效率和關(guān)注重要小尺度目標(biāo)的能力,本文結(jié)合RepC3、位置注意力機(jī)制模塊構(gòu)建一種更加有效的特征融合結(jié)構(gòu),其結(jié)構(gòu)如圖8(b)所示。
圖8 特征融合網(wǎng)絡(luò)結(jié)構(gòu)
由于車道線為細(xì)長狀且線條紋理不同于道路表面的長條狀指示標(biāo)志,在道路場景中占比遠(yuǎn)遠(yuǎn)小于可行駛區(qū)域。因此在可行駛區(qū)域分割解碼器的基礎(chǔ)上引入SPPF模塊增強(qiáng)其特征提取能力,應(yīng)用多個小尺寸卷積核替換SPP模塊中的單個大尺寸卷積核,既融合不同尺度的感受野,又提高了運(yùn)行速度。網(wǎng)絡(luò)層結(jié)構(gòu)如圖10所示,與可行駛區(qū)域解碼器結(jié)構(gòu)相比,除了在調(diào)整通道維度后,增加了一個SPPF模塊,其余結(jié)構(gòu)基本相同。
因本文模型需要同時完成交通車輛檢測、車道線檢測、可行駛區(qū)域分割,所以使用一種由3個任務(wù)各自對應(yīng)的加權(quán)損失函數(shù)訓(xùn)練模型,如式(1)所示。
目標(biāo)檢測分支損失函數(shù)由分類損失、置信度損失、目標(biāo)框回歸損失3部分構(gòu)成:
車道線檢測分支損失函數(shù)由交叉熵?fù)p失和Dice[23]損失函數(shù)組成,交叉熵通過逐個對比每一個像素得到損失值。由于車道線像素?cái)?shù)量遠(yuǎn)遠(yuǎn)少于背景像素,此時僅僅使用交叉熵?fù)p失函數(shù),會導(dǎo)致?lián)p失函數(shù)趨向于背景像素,因此本文通過Dice損失函數(shù)抑制樣本類別不平衡問題,其公式為
可行駛區(qū)域檢測由于目標(biāo)像素?cái)?shù)量較多,檢測難度較低,因此僅使用交叉熵作為損失函數(shù):
本文采用加州大學(xué)伯克利分校發(fā)布的自動駕駛公開數(shù)據(jù)集BDD100K[24]作為實(shí)驗(yàn)數(shù)據(jù)集。BDD100K包含了不同天氣和時間段下的復(fù)雜道路場景圖像,并對道路車輛、車道線、可行駛區(qū)域進(jìn)行了標(biāo)注,能夠有效驗(yàn)證算法性能。BDD100K包含10萬張圖片,其中7萬張為訓(xùn)練集,1萬張為驗(yàn)證集,2萬張為測試集,由于測試集標(biāo)簽并未公開,因此本文在驗(yàn)證集上評估算法性能。
本文所做的驗(yàn)證實(shí)驗(yàn)均基于Pytorch1.10框架,CUDA版本為11.3,計(jì)算平臺使用的CPU為Intel Core i7-11700K,GPU為NVIDIA RTX 3070,Python版本為3.7。
本文實(shí)驗(yàn)采用召回率(Recall)、錨框交并比閾值設(shè)置為0.5時的類別平均精度均值(mean Average Precision,mAP)評估算法車輛檢測性能、交并比(Intersection over Union,IOU)評估算法車道線分割性能,平均交并比(mean Intersection over Union,mIOU)評估算法可行駛區(qū)域分割性能,每秒檢測幀數(shù)(Frames Per Seconds,F(xiàn)PS)、參數(shù)量、十億次浮點(diǎn)運(yùn)算次數(shù)(Giga Floating Point Operations,GFLOPs)評估模型的輕量化性能和復(fù)雜度。
召回率和類別平均精度均值的計(jì)算公式如式(7)和式(9)所示:
交并比和平均交并比計(jì)算公式如下:
模型迭代訓(xùn)練100個epoch過程中的算法平均精度均值、損失函數(shù)變化曲線如圖11(a),(b)所示??梢钥闯?,前50個epoch內(nèi),訓(xùn)練損失下降較快,50個epoch后逐漸收斂,第80個epoch后訓(xùn)練過程總損失趨于穩(wěn)定。最終選取在驗(yàn)證集上評價指標(biāo)最高的作為最終權(quán)重。
圖11 訓(xùn)練過程可視化
在推理過程中,模型加載已訓(xùn)練的權(quán)重,并將輸入圖像前向傳播。模型輸出結(jié)果后,經(jīng)過非極大值抑制濾除重復(fù)錨框后,將其繪制在原圖上,得到圖12所示的可視化結(jié)果。由圖12可知,本文模型的車輛檢測解碼器能夠較為準(zhǔn)確識別前方車輛位置,并且置信度分?jǐn)?shù)較高。車道線和可行駛區(qū)域解碼器能夠準(zhǔn)確識別道路兩旁的車道線以及可行駛區(qū)域。同時,本文模型在光照較弱的黑夜場景下仍能保持較好的檢測效果。
圖12 模型推理可視化結(jié)果
為了驗(yàn)證本文提出算法在同類型的多任務(wù)環(huán)境感知算法的優(yōu)越性,本文與現(xiàn)有的道路場景多任務(wù)算法YOLOP、HybridNets[25]進(jìn)行了對比實(shí)驗(yàn),定量評價實(shí)驗(yàn)指標(biāo)已在4.2節(jié)詳細(xì)說明,定量實(shí)驗(yàn)結(jié)果如表1所示。
從表1中不同多任務(wù)算法感知模型的對比結(jié)果可知,與YOLOP算法比較:在車輛檢測任務(wù)中,本文算法召回率比YOLOP高了0.6個百分點(diǎn),平均檢測精度高了1.8個百分點(diǎn);在車道線檢測任務(wù)中,本文算法交并比IOU比YOLOP算法高了1個百分點(diǎn);在可行駛區(qū)域檢測任務(wù)中,本文算法平均交并比mIOU比YOLOP高了0.8個百分點(diǎn);在模型整體復(fù)雜度和實(shí)時性方面,本文算法的浮點(diǎn)計(jì)算量和參數(shù)量都要低于YOLOP算法,反映在本文算法FPS指標(biāo)比YOLOP算法快了1.72幀。由上述分析可知,對比YOLOP算法,本文算法無論是在檢測精度還是檢測速度都占有優(yōu)勢。與HybridNets算法比較,在車輛檢測任務(wù)中,本文算法召回率比HybridNets低了3個百分點(diǎn),平均檢測精度高了1個百分點(diǎn);在車道線檢測任務(wù)中,本文算法交并比比HybridNets低了4.4個百分點(diǎn);在可行駛區(qū)域檢測任務(wù)中,本文算法平均交并比HybridNets高了1.8個百分點(diǎn);在模型整體復(fù)雜度和實(shí)時性方面,本文算法的參數(shù)量遠(yuǎn)遠(yuǎn)小于HybridNets算法,F(xiàn)PS指標(biāo)比HybridNets算法快了2.64幀。由上述分析可知,本文算法雖然在召回率和車道線檢測任務(wù)中的指標(biāo)稍遜于HybridNets算法,但是本文的實(shí)時性能優(yōu)于HybridNets方法。綜上所述,與同類型的多任務(wù)感知方法比較,本文基于YOLOv5s改進(jìn)的模型有著最快檢測速度的同時,保持著較好的檢測精度,更能滿足實(shí)際部署需求。為了更加直觀展示不同算法的檢測效果,分別選取3種不同道路場景進(jìn)行比較,結(jié)果如圖13所示,(a)~(c)為HybridNets檢測效果,(d)~(f)為YOLOP檢測效果,(g)~(i)是本文算法檢測效果。
表1 多任務(wù)模型對比實(shí)驗(yàn)結(jié)果
圖13 多任務(wù)算法對比結(jié)果
由檢測效果(a),(d),(g)可知,HybridNets對可行駛區(qū)域的檢測結(jié)果中出現(xiàn)明顯的空洞,YOLOP算法對圖像左下方像素進(jìn)行了錯誤分類。由檢測效果(b),(e),(h)可知,HybridNets對可行駛區(qū)域的檢測結(jié)果中出現(xiàn)明顯的空洞,YOLOP算法對圖像左下方像素進(jìn)行了錯誤分類。HybridNets模型和YOLOP方法得到的車道線檢測結(jié)果在完整度上明顯不如本文算法。檢測效果(f)中,YOLOP模型錯誤地將路邊的電動車誤檢為汽車。綜上所述,與HybridNets方法、YOLOP方法比較,本文算法的車道線和可行駛區(qū)域連續(xù)性更好,缺失程度更低,在檢測出小車輛目標(biāo)的同時,不易發(fā)生誤檢。
針對單一任務(wù)模型處理自動駕駛環(huán)境感知任務(wù)實(shí)時性差、準(zhǔn)確度低的問題,本文首先基于YOLOV5s進(jìn)行改進(jìn),使其由單一任務(wù)模型轉(zhuǎn)換為多任務(wù)模型,同時完成交通車輛檢測、車道線和可行駛區(qū)域檢測。其次借助參數(shù)重參數(shù)化策略,對C3模塊進(jìn)行改進(jìn),提升了模型的推理速度。最后,在特征融合網(wǎng)絡(luò)中引入位置注意力模塊,提升模型對于小目標(biāo)的檢測能力。在公開數(shù)據(jù)集BDD100K上的實(shí)驗(yàn)結(jié)果表明,本文算法能夠準(zhǔn)確、快速地完成交通車輛檢測、車道線和可行駛區(qū)域檢測。同時與近年來的同類型多任務(wù)檢測算法比較,本文算法明顯提高了3個分支任務(wù)的檢測精度和推理速度,在計(jì)算能力欠缺的車載設(shè)備場景下,有著更強(qiáng)的實(shí)用價值。
[1] 王龍飛,嚴(yán)春滿. 道路場景語義分割綜述[J]. 激光與光電子學(xué)進(jìn)展,2021, 58(12): 44-66.
[2] 于向軍,槐元輝,姚宗偉,等. 工程車輛無人駕駛關(guān)鍵技術(shù)[J]. 吉林大學(xué)學(xué)報(bào)(工學(xué)版),2021, 51(04): 1153-1168.
[3] 彭育輝,江銘,馬中原,等. 汽車自動駕駛關(guān)鍵技術(shù)研究進(jìn)展[J]. 福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2021, 49(05): 691-703.
[4] 王得成,陳向?qū)?,趙峰,等. 基于卷積神經(jīng)網(wǎng)絡(luò)和RGB-D圖像的車輛檢測算法[J]. 激光與光電子學(xué)進(jìn)展,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] 孫宇菲. 基于多任務(wù)學(xué)習(xí)的車道線檢測算法研究[D]. 西安:長安大學(xué),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
安徽省自然科學(xué)基金面上項(xiàng)目(2108085ME166);安徽高校自然科學(xué)研究項(xiàng)目重點(diǎn)項(xiàng)目(KJ2021A0408)
宮保國(1998-),男,安徽阜陽人,碩士,主要從事機(jī)器視覺研究,GBG3119@163.com。