【摘要】針對自卸車外形尺寸大導(dǎo)致車輛右轉(zhuǎn)彎時存在較大視野盲區(qū)的問題,提出一種自卸車右轉(zhuǎn)盲區(qū)風(fēng)險目標(biāo)動態(tài)檢測算法,該算法利用YOLOv8模型的C2f模塊和損失計算模塊,提高了模型的檢測精確率。同時,在盲區(qū)中預(yù)設(shè)4條位置閾值線,增加盲區(qū)風(fēng)險預(yù)警模塊,建立了自卸車右轉(zhuǎn)盲區(qū)輔助駕駛系統(tǒng)。結(jié)果表明:所提出的風(fēng)險目標(biāo)動態(tài)檢測算法能夠識別小型乘用車、載貨汽車、公交車、行人和電動自行車等多種類型的目標(biāo),且所有類別目標(biāo)的50%交并比閾值下的平均精度均值(mAP50)為0.87;自卸車右轉(zhuǎn)盲區(qū)輔助駕駛系統(tǒng)能夠根據(jù)圖像中風(fēng)險目標(biāo)框的位置進行不同程度的預(yù)警。
關(guān)鍵詞:自卸車盲區(qū) 目標(biāo)檢測 YOLOv8 預(yù)警系統(tǒng)
中圖分類號:U491.6" 文獻標(biāo)志碼:A" "DOI: 10.20104/j.cnki.1674-6546.20240167
Study on the Dynamic Detection Algorithm for Risk Targets in the Blind Spot of Right-Turning Dump Trucks
He Penglin1, Chen Zhifang2, Wang Chang3
(1. Shenzhen Smart Chelian Technology Co., Ltd., Shenzhen 518100; 2. Zhejiang Haikang Technology Co., Ltd., Hangzhou 310000; 3. Chang’an University, Xi’an 710064)
【Abstract】To address the issue of extensive blind spots during right turns due to the oversized nature of dump trucks, this paper proposes a dynamic detection algorithm for risk targets in the right-turn blind spots of dump trucks. The algorithm improves the YOLOv8 model by enhancing the C2f module and lossing calculation module to refine the model’s detection accuracy. Additionally, four position threshold lines are preset in the blind spots, the risk warning module of the blind spots of the dump truck is added, and the auxiliary driving system of the blind spots of the dump truck is established. The results indicate that the proposed dynamic detection algorithm can recognize various types of targets, including cars, trucks, buses, pedestrians and electric bicycles, with a mean Average Precision (mAP50) of 0.87 at a 50% intersection over union threshold for all categories of targets. The right-turn blind spots assisted driving system of the dump truck can make different degrees of early warning according to the position of the risk target box in the image.
Key words: Dump truck blind area, Object detection, YOLOv8, Warning system
【引用格式】 賀鵬麟, 陳志芳, 王暢. 自卸車右轉(zhuǎn)盲區(qū)風(fēng)險目標(biāo)動態(tài)檢測算法研究[J]. 汽車工程師, 2024(8): 36-41.
HE P L, CHEN Z F, WANG C. Study on the Dynamic Detection Algorithm for Risk Targets in the Blind Spot of Right-Turning Dump Trucks[J]. Automotive Engineer, 2024(8): 36-41.
1 前言
受整體尺寸影響,大型商用車右轉(zhuǎn)彎時存在內(nèi)輪差盲區(qū),給盲區(qū)內(nèi)突然出現(xiàn)的行人或小型機動車等小型目標(biāo)造成一定的安全隱患。如何避免大型商用車右轉(zhuǎn)時視覺盲區(qū)引起的交通事故,已成為當(dāng)下交通運輸安全領(lǐng)域急需解決的問題之一。
車輛盲區(qū)目標(biāo)檢測系統(tǒng)是解決上述問題的有效方法[1]。Liu等基于毫米波雷達(dá)檢測車輛后方盲區(qū)中的運動目標(biāo),提出單元最大、最小和平均-恒定誤報率(Cell Greatest, Smallest and Averaging Constant False-Alarm Rate,CGSA-CFAR)目標(biāo)檢測算法,通過調(diào)整功率檢測閾值保持較高的檢測精度[2]。Ra等引入側(cè)直線圖像生成模型實現(xiàn)視野盲區(qū)中汽車和摩托車檢測,建立的盲區(qū)檢測系統(tǒng)解決了目標(biāo)在不同位置外觀不一致的問題,該系統(tǒng)的精確率與召回率均較基于雷達(dá)的檢測系統(tǒng)更高[3]。Zhao等基于車輛側(cè)邊盲區(qū)攝像機,提出結(jié)合深度可分離卷積(Depthwise Separable Convolution)、殘差學(xué)習(xí)(Residual Learning)及擠壓和激勵(Squeeze and Excitation)的Sep-Res-SE模型,可以用更少的參數(shù)和操作實現(xiàn)相近的檢測精度,相較于計算機視覺組(Visual Geometry Group,VGG)模型,該模型計算復(fù)雜度更低,目標(biāo)檢測精度近似一致[4]。楊煒等基于車輛右后側(cè)的紅外攝像頭,提出一種應(yīng)用于車輛右轉(zhuǎn)工況的盲區(qū)檢測系統(tǒng),采用Inception-V3模型檢測行人和自行車,驗證結(jié)果表明,預(yù)警系統(tǒng)的平均準(zhǔn)確率可達(dá)97%[5]。高鮮萍等考慮視覺盲區(qū)的動態(tài)特性,基于YOLOv3對算法的骨干網(wǎng)絡(luò)進行了改進,通過引入密集連接增強了網(wǎng)絡(luò)層間特征復(fù)用的能力,利用空間金字塔加強多尺度特征的融合,從而提升檢測精度,使模型對15 m范圍內(nèi)的近距離目標(biāo)的檢測精度比基礎(chǔ)的YOLOv3和單次多框檢測器(Single Shot MultiBox Detector,SSD)等高出3%以上,在CPU上的推理時間縮短了約10%[6]。孟銀闊等基于超聲波模塊,根據(jù)接收反射波的時間判斷車輛側(cè)后方有無車輛及障礙物,該檢測系統(tǒng)具有簡單、可靠和成本低的優(yōu)點[7]。
目前,國內(nèi)外車輛盲區(qū)目標(biāo)檢測系統(tǒng)的目標(biāo)物識別種類較為單一,且雷達(dá)等檢測設(shè)備成本較高。同時,盲區(qū)目標(biāo)檢測作為一種實時嵌入式應(yīng)用功能,不僅需要較高的識別精確率,還需要高推理速度和低計算復(fù)雜度。因此,本文提出一種自卸車右轉(zhuǎn)盲區(qū)風(fēng)險目標(biāo)動態(tài)檢測算法,基于YOLOv8模型,采用改進的C2f模塊和損失(Loss)計算模塊提高模型的檢測精確率,并通過預(yù)設(shè)位置閾值實現(xiàn)右轉(zhuǎn)盲區(qū)預(yù)警,最后在自卸車右轉(zhuǎn)盲區(qū)數(shù)據(jù)集上進行訓(xùn)練與評估。
2 風(fēng)險目標(biāo)動態(tài)檢測算法
本文提出的自卸車右轉(zhuǎn)盲區(qū)風(fēng)險目標(biāo)動態(tài)檢測算法如圖1所示,利用YOLOv8模型引入“C2f結(jié)構(gòu)+解耦頭+任務(wù)對齊學(xué)習(xí)(Task Alignment Learning,TAL)+分布焦點損失(Distribution Focal Loss,DFL)”等結(jié)構(gòu)的特點,增強檢測算法的識別精度,最后,在盲區(qū)中預(yù)設(shè)位置閾值線,實現(xiàn)分級預(yù)警。
2.1 YOLOv8算法
YOLOv8支持圖像分類、目標(biāo)檢測和圖像分割等任務(wù)[8],YOLOv8目標(biāo)檢測模型通常采用“骨干(Backbone)-頸部(Neck)-頭部(Head)”的網(wǎng)絡(luò)結(jié)構(gòu)。與YOLOv5相比,其對骨干網(wǎng)絡(luò)和頸部進行了改進,將C3結(jié)構(gòu)替換為具有更豐富梯度流的C2f結(jié)構(gòu),并根據(jù)不同規(guī)模的模型調(diào)整了通道數(shù)量,從而顯著提高了性能。在Head部分,YOLOv8采用了解耦頭的設(shè)計,將分類頭和檢測頭分離,并從基于錨點的策略轉(zhuǎn)變?yōu)闊o錨點策略。在損失函數(shù)計算方面,使用TAL正樣本分配策略,并引入了DFL[9]。
2.2 C2f模塊
YOLOv8中的骨干與頸部網(wǎng)絡(luò)結(jié)構(gòu)中均使用了C2f模塊,如圖2所示,包含卷積(Conv)模塊、分割(Split)模塊、瓶頸(Bottleneck)模塊、直連拼接(Concat)模塊,其中,w、h分別為輸入圖片的寬度、高度,cin為輸入通道數(shù),k為核尺寸(Kernel Size),s為步長(Stride),p為池化層(Pooling Layer)參數(shù),cout為輸出通道數(shù),c=cout/2,用于后續(xù)分通道處理,n為瓶頸層的數(shù)量。由圖2可知,C2f模塊中每一級瓶頸都直連拼接模塊,同時分割模塊可將單個張量(Tensor)拆分為多個,相當(dāng)于拼接的逆過程。C2f模塊不僅具有輕量化的優(yōu)點,也提供了更多的梯度流信息。
2.3 無錨點目標(biāo)檢測與頭部網(wǎng)絡(luò)
如圖3所示,相比于之前的YOLO版本,YOLOv8將耦合頭替換為解耦頭(Decoupled Head),損失計算僅有邊界框損失(Bounding Box Loss,Bbox Loss)和分類損失(Cla Loss),取消了之前的目標(biāo)(Obj)二元交叉熵?fù)p失(Binary Cross-Entropy Loss,BCE Loss),并且增加了分布焦點損失。
基于錨框(Anchor based)的目標(biāo)檢測算法會通過顯式或隱式的方法生成一組具有不同尺寸和長寬比的檢測框(錨框),然后對這些錨框進行分類或回歸。算法通常根據(jù)訓(xùn)練數(shù)據(jù)中物體的尺寸和長寬比的分布來確定錨框的大小、比例、數(shù)量,以及交并比閾值等超參數(shù)。這些超參數(shù)的設(shè)置對模型的最終準(zhǔn)確性具有顯著影響,所以此方法不僅依賴于先驗知識,而且泛化能力也較為有限。無錨點(Anchor-Free)目標(biāo)檢測算法在訓(xùn)練時直接學(xué)習(xí)真實的目標(biāo)框,在推理過程中不依靠聚類來生成錨框,而是通過學(xué)習(xí)到的邊框距離或關(guān)鍵點位置估算物體的尺寸,先確定目標(biāo)中心點,然后預(yù)測目標(biāo)中心點到邊框的距離。
2.4 模型損失計算
2.4.1 正負(fù)樣本分配策略
通過TAL實現(xiàn)動態(tài)分配策略,從而計算目標(biāo)真實框的對齊程度:
T=sα×uβ (1)
式中:s為預(yù)測的分類得分,u為預(yù)測框與實際框的完全交并比,α、β為可調(diào)參數(shù)。
根據(jù)與T的匹配程度進行排序,選擇排名靠前的K個樣本為正樣本,且當(dāng)一個預(yù)測框與多個真實目標(biāo)框匹配時,只保留完全交并比(Complete Intersection over Union,CIoU)最高的個例。
2.4.2 損失計算
分類損失為二元交叉熵?fù)p失,與YOLOv5中的分類損失一致,計算公式為:
[LCla=-1Ni=1Nyilogyi∧+1-yilog1-yi∧] (2)
式中:N為樣本實例總數(shù)量,yi、[yi]分別為第i個樣本的實際標(biāo)簽值和預(yù)測標(biāo)簽值。
回歸損失包含DFL與完全交并比損失(Complete Intersection over Union Loss,CIoU Loss)2個部分。DFL解決了目標(biāo)框邊界較為靈活或者邊界不夠明確的情況(如目標(biāo)框之間存在遮掩),將邊界框的位置坐標(biāo)分布假設(shè)為一種通用分布函數(shù),使用交叉熵改進最接近邊界框的2個位置的概率,促使網(wǎng)絡(luò)迅速聚焦于靠近目標(biāo)位置的區(qū)域。該策略通過調(diào)整網(wǎng)絡(luò)對目標(biāo)位置附近區(qū)域的關(guān)注度,提高這些區(qū)域的概率,以便更有效地捕捉目標(biāo)的位置信息。
利用完全交并比損失計算目標(biāo)框損失,公式為:
[LCIoU=1-IOU+D2(b,bgt)c2+αv] (3)
其中:
[v=4π2arctanwgthgt-arctanwabhab2] (4)
[α=v1-IOU+v] (5)
式中:IOU為交并比;D為中心點間歐式距離計算函數(shù);b、bgt分別為錨框和目標(biāo)框的中心點;c為目標(biāo)矩形框的最小對角線距離;α為權(quán)衡參數(shù),用于平衡比例;v為修正因子,用于衡量錨框和目標(biāo)框的比例一致性;wab、hab分別為錨框的寬度、高度;wgt、hgt分別為目標(biāo)框的寬度、高度。
2.5 右轉(zhuǎn)盲區(qū)分級預(yù)警
以自車邊緣線為基準(zhǔn)線(藍(lán)色),其與圖像上邊緣的真實距離記為h0,以真實距離0.5 m為間隔,依次標(biāo)定出紅色、黃色、綠色框線,作為預(yù)設(shè)位置閾值。因攝像頭安裝位置與角度不同,在不同圖像中位置閾值線間的距離存在差異。根據(jù)攝像頭的標(biāo)定結(jié)果,獲取4條閾值線在圖像中的位置,與圖像上邊緣的距離分別記作HB、HR、HY、HG,如圖4所示。
算法輸出識別結(jié)果中目標(biāo)框的中心點(x,y),以及目標(biāo)框的高度hgt和寬度wgt,則可計算出識別目標(biāo)框在圖像中位置閾值線的坐標(biāo)(以視頻中圖像的左上角點為坐標(biāo)原點)為y+hgt/2,將其與系統(tǒng)設(shè)定的閾值進行比較,可進行不同級別的預(yù)警:
a. y+hgt/2≤HG時,目標(biāo)處于安全區(qū)域,無需預(yù)警;
b. HGlt;y+hgt/2≤HY時,車輛可能對盲區(qū)中的目標(biāo)造成安全威脅,需預(yù)警提示駕駛?cè)耍?/p>
c. HYlt;y+hgt/2≤HR時,車輛對盲區(qū)中目標(biāo)造成安全威脅的可能性迅速增大,需持續(xù)預(yù)警提示駕駛?cè)耍?/p>
d. HRlt;y+hgt/2≤HB時,持續(xù)預(yù)警提示駕駛?cè)?,并輔助制動;
e. y+hgt/2gt;HB時,緊急制動。
3 模型訓(xùn)練與結(jié)果分析
3.1 數(shù)據(jù)集與試驗設(shè)備
自卸車右轉(zhuǎn)時的右后方盲區(qū)視頻數(shù)據(jù)由某商用車智能監(jiān)控平臺提供,道路場景包括城市普通道路和快速干道,天氣場景包括白天、夜間及雨天等。
基于Python語言腳本,將視頻數(shù)據(jù)逐幀輸出為圖片,經(jīng)過人工剔除相似度較高及無關(guān)的圖片,得到包含小型乘用車(Car)、載貨汽車(Truck)、公交車(Bus)、行人(Person)、電動自行車(E-Bike)、自行車(Bicycle)等類別的樣本4 000張,采用LabelImg矩形框標(biāo)注腳本對圖片進行人工標(biāo)注。最終,將總數(shù)據(jù)集以6∶1的比例劃分為訓(xùn)練集和評估集,如圖5所示。
試驗設(shè)備配置英特爾酷睿i7-13700KF處理器、英偉達(dá)GeForce GTX 4070顯卡,采用Windows 10操作系統(tǒng)?;赑yCharm編程軟件搭建YOLOv8網(wǎng)絡(luò)模型。
3.2 模型訓(xùn)練與評估
使用YOLOv8網(wǎng)絡(luò)架構(gòu),并采用遷移學(xué)習(xí)的方法減少模型訓(xùn)練配置資源,加載預(yù)訓(xùn)練的權(quán)重“yolov8s.pt”。在訓(xùn)練過程中,選擇合適的超參數(shù)來調(diào)整訓(xùn)練過程,尋找最優(yōu)模型。
模型訓(xùn)練過程中,使用精確度-召回率(Precision-Recall,P-R)曲線以及50%交并比閾值下的平均精度均值(mean Average Precision at 50% intersection over union,mAP50)作為評估指標(biāo)。由P-R曲線可獲得不同閾值下訓(xùn)練得到的模型精確度與召回率之間的聯(lián)系。曲線下面積越大,表明模型在精確度和召回率之間的平衡效果越好。平均精度(Average Precision,AP)和mAP50的計算公式分別為:
[AP=01P(R)dR] (6)
[mAP50=i=1mAPim] (7)
式中:P、R分別為精確度、召回率,APi為第i個類別的平均精度,m為類別數(shù)量。
模型每次迭代訓(xùn)練集和評估集的損失結(jié)果如圖6所示。
由圖6可知,隨迭代次數(shù)增加,模型訓(xùn)練損失下降,評估集損失出現(xiàn)上升趨勢,即模型出現(xiàn)了過擬合。模型訓(xùn)練后的P-R曲線與mAP50指標(biāo)結(jié)果如圖7所示,各檢測類別的平均精度如表1所示。
由圖6、圖7可知,模型評估指標(biāo)mAP50在迭代后仍處于波動上升狀態(tài),但考慮評估集損失下降趨勢,最優(yōu)的模型權(quán)重參數(shù)應(yīng)處于總迭代次數(shù)(迭代過程中mAP最大值對應(yīng)的迭代次數(shù))前,即169輪。
3.3 檢測速度測試
模型檢測單張圖像需要的時間分為3個部分:預(yù)處理時長、推理時長、后處理時長。部署最優(yōu)模型后,在本文試驗設(shè)備的計算下,檢測500張圖片的總時間為1 100 ms,單張圖片平均處理時長為2.2 ms,幀速率超過25 幀/s,滿足試驗車輛的使用需求。
3.4 盲區(qū)動態(tài)目標(biāo)檢測
采用上述最優(yōu)模型檢測右后盲區(qū)中的動態(tài)目標(biāo),檢測結(jié)果如圖8所示。
由圖8可知,檢測目標(biāo)不完整以及邊界不夠明確時,算法仍能識別出目標(biāo)類型,且目標(biāo)識別置信度較高。
4 結(jié)束語
本文提出一種自卸車右轉(zhuǎn)盲區(qū)風(fēng)險目標(biāo)動態(tài)檢測算法,通過YOLOv8模型改進的C2f模塊和損失計算模塊提高了風(fēng)險目標(biāo)動態(tài)檢測算法的精確率,最終在自卸車右轉(zhuǎn)盲區(qū)數(shù)據(jù)集上進行訓(xùn)練與評估,結(jié)果表明,算法在識別小型乘用車、載貨汽車、公交車、行人和電動自行車等方面具有較高的檢測精度,各類別的整體mAP50為0.87,模型檢測幀速率超過25 幀/s,滿足實時性要求。同時,通過預(yù)先設(shè)定目標(biāo)框位置閾值線,構(gòu)成右轉(zhuǎn)盲區(qū)輔助駕駛系統(tǒng),可根據(jù)圖像中風(fēng)險目標(biāo)框的位置,實現(xiàn)不同程度的預(yù)警。
參考文獻
[1] 中華人民共和國工業(yè)和信息化部. 機動車輛 間接視野裝置 性能和安裝要求: GB 15084—2022[S]. 北京: 中國標(biāo)準(zhǔn)出版社, 2023.
Ministry of Industry and Information Technology of the People’s Republic of China. Motor Vehicles—Device for Indirect Vision-Requirement of Performance and Installation: GB 15084—2022[S]. Beijing: Standards Press of China, 2023.
[2] LIU G R, ZHOU M Z, WANG L L, et al. A Blind Spot Detection and Warning System Based on Millimeter Wave Radar for Driver Assistance[J]. Optik, 2017, 135: 353-365.
[3] RA M, JUNG H G, SUHR J K, et al. Part-Based Vehicle Detection in Side-Rectilinear Images for Blind-Spot Detection[J]. Expert Systems with Applications, 2018, 101: 116-128.
[4] ZHAO Y M, BAI L, Lü Y C, et al. Camera-Based Blind Spot Detection with a General Purpose Lightweight Neural Network[J]. Electronics, 2019, 8(2): 233.
[5] 楊煒, 張志威, 周凱霞, 等. 大型車輛右轉(zhuǎn)彎盲區(qū)預(yù)警系統(tǒng)設(shè)計[J]. 中國科技論文, 2019, 14(7): 737-742.
YANG W, ZHANG Z W, ZHOU K X, et al. Design of Right Turn Blind Area Warning System for Large Vehicles[J]. China Sciencepaper, 2019, 14(7): 737-742.
[6] 高鮮萍, 卞學(xué)良, 成英, 等. 汽車視覺盲區(qū)動態(tài)目標(biāo)智能檢測算法[J]. 機械設(shè)計與制造, 2023(4): 65-69.
GAO X P, BIAN X L, CHENG Y, et al. Intelligent Detection Algorithm of Dynamic Target in Blind Spot[J]. Machinery Design amp; Manufacture, 2023(4): 65-69.
[7] 孟銀闊, 劉江濤, 龔佑祥, 等. 基于超聲波的汽車盲區(qū)檢測[J]. 現(xiàn)代信息科技, 2023, 7(6): 168-171.
MENG Y K, LIU J T, GONG Y X, et al. Automobile Blind Spot Detection Based on Ultrasound Wave[J]. Modern Information Technology, 2023, 7(6): 168-171.
[8] HUSSAIN M. YOLO-v1 to YOLO-v8, the Rise of YOLO and Its Complementary Nature Toward Digital Manufacturing and Industrial Defect Detection[J]. Machines, 2023, 11(7).
[9] LI X, Lü C Q, WANG W H, et al. Generalized Focal Loss: Towards Efficient Representation Learning for Dense Object Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 45(3): 3139-3153.
(責(zé)任編輯 斛 畔)
修改稿收到日期為2024年6月10日。