摘" 要: 當(dāng)前主流的防追尾系統(tǒng)普遍存在識(shí)別因素單一、對(duì)駕駛員自身預(yù)防效果欠佳的問題,為此,設(shè)計(jì)一種基于深度學(xué)習(xí)的汽車防追尾預(yù)警系統(tǒng)。將YOLOv5剪枝技術(shù)、注意力機(jī)制、PID優(yōu)化器等方法融入網(wǎng)絡(luò)模型的訓(xùn)練中,以優(yōu)化模型精度并減小模型體積;其次,以距離判斷為主,速度、加速度、事故危害性判斷為輔來計(jì)算車輛的追尾風(fēng)險(xiǎn),每次預(yù)警后通過MQTT協(xié)議將數(shù)據(jù)上傳至物聯(lián)網(wǎng)平臺(tái),并在系統(tǒng)結(jié)束運(yùn)行時(shí)對(duì)駕駛員進(jìn)行安全分析。系統(tǒng)最終部署在TensorRT環(huán)境上進(jìn)行再次優(yōu)化。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的汽車防追尾預(yù)警系統(tǒng)響應(yīng)速度快,適應(yīng)性強(qiáng),判斷風(fēng)險(xiǎn)較為準(zhǔn)確。
關(guān)鍵詞: 汽車防追尾系統(tǒng); 深度學(xué)習(xí); YOLOv5; 物聯(lián)網(wǎng); 追尾判斷; 風(fēng)險(xiǎn)預(yù)警
中圖分類號(hào): TN911.23?34; TP302.1" " " " " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " 文章編號(hào): 1004?373X(2024)14?0157?05
Design of automobile rear end collision prevention warning system
based on deep learning
YE Hao1, XU Jinqiang1, PI Yumeng2, ZUO Kangyu2
(1. School of Electronic and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China;
2. School of Economics and Management, South China Agricultural University, Guangzhou 510642, China)
Abstract: In allusion to the current mainstream rear end collision prevention systems, there is a common problem of single identification factors and insufficient prevention effect on the driver themselves. A deep learning based automotive rear end collision prevention warning system is designed, which can integrate YOLOv5 pruning technology, attention mechanism, PID optimizer and other methods into the training of network models to optimize model accuracy and reduce model volume. The rear end risk of vehicles is calculated mainly based on distance judgment, and supplemented by speed, acceleration, and accident hazard judgment. After each warning, the data is uploaded to the Internet of Things platform by means of the MQTT protocol, and safety analysis is conducted on the driver when the system ends running. The system is ultimately deployed in the TensorRT environment for the further optimization. The experimental results show that the designed car rear end collision prevention warning system has fast response speed, strong adaptability, and accurate risk assessment.
Keywords: car rear end collision prevention system; deep learning; YOLOv5; Internet of Things; tail end judgment; risk warning
0" 引" 言
在車輛行駛過程中發(fā)生的追尾現(xiàn)象較為普遍,據(jù)統(tǒng)計(jì)[1],追尾事故占所有撞車事故的20%~30%,約占所有致命撞車事故的10%。在目前防追尾研究領(lǐng)域,如何快速、準(zhǔn)確地判斷追尾事故的發(fā)生是保障人們出行安全的一大難題。當(dāng)前較為主流的防追尾系統(tǒng)大多局限于單一的判斷因素,主要依靠激光雷達(dá)判別、視覺判別等,同時(shí)其臨時(shí)性的預(yù)警行為難以真正提高駕駛員的安全意識(shí)。理想的預(yù)警機(jī)制是能夠在較短時(shí)間內(nèi)盡可能考慮更加全面的因素,以正確判斷追尾事故的風(fēng)險(xiǎn)并及時(shí)預(yù)警,同時(shí)通過行程數(shù)據(jù)統(tǒng)計(jì)駕駛員的行程風(fēng)險(xiǎn)并反饋給駕駛員或其家人,以更好地督促駕駛員安全駕駛。YOLO剪枝技術(shù)、注意力機(jī)制模塊、多因素計(jì)算等方式為上述難題提供了思路與解決方法,將其有效融入防追尾系統(tǒng)的檢測中,能夠更為快速、準(zhǔn)確地對(duì)當(dāng)前車輛進(jìn)行實(shí)時(shí)的風(fēng)險(xiǎn)判斷,為駕駛員提供更好的保護(hù)。本文設(shè)計(jì)用英偉達(dá)Jetsonnano作為系統(tǒng)的主控,用工業(yè)攝像頭、激光雷達(dá)對(duì)前方車輛的類別、距離進(jìn)行實(shí)時(shí)獲取,利用北斗GPS模塊對(duì)當(dāng)前位置、速度信息進(jìn)行獲取,讓主控能夠獲得當(dāng)前車輛更加全面的信息并計(jì)算車輛的追尾風(fēng)險(xiǎn)。本文重點(diǎn)從軟件的角度進(jìn)行闡述,判別方式利用距離判斷為主,速度、加速度、事故危害性判斷為輔以計(jì)算車輛的追尾風(fēng)險(xiǎn);再利用OpenCV驅(qū)動(dòng)USB工業(yè)攝像頭進(jìn)行YOLOv5目標(biāo)檢測,模型訓(xùn)練過程采用YOLOv5剪枝算法、PID優(yōu)化器以及CA(Coordinate Attention)注意力機(jī)制等進(jìn)行優(yōu)化處理;最終將算法部署到英偉達(dá)TensorRT上進(jìn)行加速優(yōu)化,并在顯示屏上生成攝像頭畫面以及主板所接收的信息,以便觀察防追尾系統(tǒng)的運(yùn)行狀態(tài)。
1" 系統(tǒng)總方案設(shè)計(jì)
基于深度學(xué)習(xí)的汽車防追尾預(yù)警系統(tǒng)由USB攝像頭識(shí)別、追尾風(fēng)險(xiǎn)記錄器、追尾風(fēng)險(xiǎn)判斷器等模塊構(gòu)成,各模塊之間互相配合,共同組成一套完整的汽車防追尾系統(tǒng)。汽車防追尾系統(tǒng)總體結(jié)構(gòu)如圖1所示。
汽車防追尾預(yù)警系統(tǒng)各模塊功能說明如下。
1) USB攝像頭識(shí)別。通過OpenCV驅(qū)動(dòng)USB攝像頭對(duì)車輛前方環(huán)境進(jìn)行信息采集,利用YOLOv5算法對(duì)所采集的信息進(jìn)行目標(biāo)檢測,以獲取前方車輛的坐標(biāo)及類別信息;再選取正前方車輛信息發(fā)送至追尾風(fēng)險(xiǎn)判斷器,進(jìn)行追尾危險(xiǎn)系數(shù)判斷。
2) 追尾風(fēng)險(xiǎn)記錄器:由USB雙頻網(wǎng)卡組成,通過手機(jī)熱點(diǎn)或其他方式組成局域網(wǎng),利用MQTT物聯(lián)網(wǎng)傳輸協(xié)議接入阿里云物聯(lián)網(wǎng)平臺(tái)。當(dāng)系統(tǒng)發(fā)出追尾預(yù)警時(shí),自動(dòng)將此時(shí)行程數(shù)據(jù)上報(bào)至阿里云物聯(lián)網(wǎng)平臺(tái),當(dāng)系統(tǒng)結(jié)束運(yùn)行時(shí),會(huì)通過smtplib庫,以QQ郵箱的方式給其家人發(fā)送駕駛員此次行程的安全情況。
3) 追尾風(fēng)險(xiǎn)判斷器:由北斗GPS模塊、激光雷達(dá)測距模塊的數(shù)據(jù)得到車輛目前距離、速度、加速度,并根據(jù)攝像頭傳遞回來的前車類別以確定本次事故的危害性。該判斷器以距離因素判斷為主,以加速度、速度、事故危害性判斷為輔,對(duì)比各元素理想數(shù)據(jù)后計(jì)算出追尾風(fēng)險(xiǎn)值。當(dāng)計(jì)算出來的結(jié)果大于所設(shè)定閾值,即激活語音播放模塊,發(fā)出追尾預(yù)警,并上傳相關(guān)行程數(shù)據(jù)至阿里云物聯(lián)網(wǎng)平臺(tái)。
2" 系統(tǒng)硬件設(shè)計(jì)
汽車防追尾預(yù)警系統(tǒng)的硬件部分主要包括英偉達(dá)Jetsonnano、激光雷達(dá)測距模塊、北斗GPS模塊、語音播報(bào)模塊、USB雙頻網(wǎng)卡以及USB攝像頭模塊。其中Jetsonnano為主控板,對(duì)所采集的數(shù)據(jù)進(jìn)行處理計(jì)算,判斷當(dāng)前車輛的追尾風(fēng)險(xiǎn),并控制整個(gè)系統(tǒng)的運(yùn)作。
在汽車防追尾預(yù)警系統(tǒng)中,由于英偉達(dá)Jetsonnano需要輸出5 V 4 A的DC電源進(jìn)行供電才能確保其正常工作,但經(jīng)過實(shí)際測試可知,當(dāng)接入元器件時(shí),Jetsonnano實(shí)際輸出電壓僅為1.6~1.7 V,故采取了一個(gè)三極管升壓電路,如圖2所示。當(dāng)輸入電路的電壓為1.6 V時(shí),三極管處于導(dǎo)通狀態(tài)。由于三極管集電極接了5 V電壓,所以三極管導(dǎo)通后,電阻和三極管分壓,集電極端的輸出電壓為主控板所能控制元器件的3.3 V電壓。
本文系統(tǒng)的電源設(shè)計(jì)圖如圖3所示。
除了需要引腳高低電平控制的語音播放模塊外,其余模塊均由主板板載電壓進(jìn)行供電。
3" 系統(tǒng)軟件設(shè)計(jì)
3.1" 系統(tǒng)軟件設(shè)計(jì)
基于深度學(xué)習(xí)的汽車防追尾預(yù)警系統(tǒng)軟件設(shè)計(jì)框架如圖4所示。
整個(gè)軟件系統(tǒng)分為三個(gè)部分:YOLOv5模型訓(xùn)練、防追尾判斷系統(tǒng)、物聯(lián)網(wǎng)統(tǒng)計(jì)系統(tǒng)。輕量化的網(wǎng)絡(luò)模型能夠保證防追尾系統(tǒng)運(yùn)行時(shí)快速識(shí)別與準(zhǔn)確判斷;追尾判斷系統(tǒng)能夠通過攝像頭所采集的圖像數(shù)據(jù)進(jìn)行目標(biāo)檢測,并結(jié)合各模塊數(shù)據(jù)計(jì)算此時(shí)車輛的追尾風(fēng)險(xiǎn)。
3.2" 網(wǎng)絡(luò)模型訓(xùn)練
在防追尾判斷上,系統(tǒng)需要得到前方車輛的準(zhǔn)確信息。一般為了達(dá)到準(zhǔn)確的目的,會(huì)提高訓(xùn)練集與驗(yàn)證集的數(shù)量,但這種方法會(huì)增加過多的時(shí)間成本,故在模型訓(xùn)練的過程中引入CA注意力機(jī)制[2]與PID優(yōu)化器,以提高訓(xùn)練出來模型的精度。其中CA能充分利用通道注意力信息和空間注意力信息,有效提升網(wǎng)絡(luò)模型的識(shí)別性能[3];而PID優(yōu)化器采用PID控制器進(jìn)行控制,利用現(xiàn)在、過去和未來預(yù)測誤差并更新參數(shù),在很大程度上減輕了超調(diào)問題,也比SGD?M優(yōu)化器在DNN訓(xùn)練過程中速度更快[4?5]。在加入CA注意力機(jī)制與PID優(yōu)化器后,模型的準(zhǔn)確率P提高了8.9%,mAP提高了3.8%,對(duì)比結(jié)果如圖5所示。
同時(shí)主流的深度學(xué)習(xí)網(wǎng)絡(luò)存在模型尺寸較大以致于嵌入式系統(tǒng)難以支撐其運(yùn)行的問題,因而在模型訓(xùn)練過程中加入YOLOv5剪枝算法[6],通過對(duì)模型進(jìn)行稀疏訓(xùn)練、剪枝與微調(diào)后得出輕量化的模型,達(dá)到在精確度損失較小的情況下減小模型大小,并加快運(yùn)行速度的效果[7?8]。在加入剪枝算法后,模型體積由14.071 KB下降至5.627 KB,減少了60%,結(jié)果如圖6所示。
3.3" 追尾判斷系統(tǒng)
傳統(tǒng)的防追尾預(yù)警系統(tǒng)往往用單一的視覺或距離來判斷是否有追尾的風(fēng)險(xiǎn),這種方法局限性較大,容易被其他因素所干擾。故本文將追尾風(fēng)險(xiǎn)影響因素主要?jiǎng)澐譃榫嚯x、速度、加速度、事故危害性四部分,通過獨(dú)立計(jì)算的形式來減小外界對(duì)系統(tǒng)判斷的影響。
本文系統(tǒng)的思路仍以兩車之間的距離判斷為主,并根據(jù)當(dāng)前速度、加速度對(duì)比理想距離公式[v2-v20=2ax]所推出的理想速度和理想加速度來判斷當(dāng)前車輛運(yùn)動(dòng)時(shí)各因素的風(fēng)險(xiǎn)值,最終結(jié)合攝像頭所判斷到的目標(biāo)信息(事故危害性)計(jì)算出當(dāng)前車輛的追尾風(fēng)險(xiǎn)值。追尾判斷流程如圖7所示。
3.4" 物聯(lián)網(wǎng)統(tǒng)計(jì)系統(tǒng)
當(dāng)系統(tǒng)發(fā)出追尾預(yù)警時(shí),考慮到傳統(tǒng)汽車防追尾(碰撞)預(yù)警系統(tǒng)僅能對(duì)駕駛員進(jìn)行臨時(shí)預(yù)警,而無法有效加強(qiáng)駕駛員行車安全意識(shí),故本文方案采用MQTT數(shù)據(jù)傳輸協(xié)議[9?10],將產(chǎn)品接入阿里云物聯(lián)網(wǎng)平臺(tái),當(dāng)系統(tǒng)預(yù)警時(shí)會(huì)將當(dāng)前車輛行駛信息上傳至阿里云物聯(lián)網(wǎng)平臺(tái),同時(shí)系統(tǒng)記錄駕駛員預(yù)警次數(shù),并在預(yù)警次數(shù)與時(shí)間比例大于一定值或系統(tǒng)關(guān)閉時(shí),匯總行程期間駕駛員的安全情況,通過smtplib模塊[11]以QQ郵箱的方式發(fā)送給其綁定的家人或朋友。阿里云物聯(lián)網(wǎng)平臺(tái)統(tǒng)計(jì)的數(shù)據(jù)(理想速度)如圖8所示。
4" 結(jié)果與分析
4.1" 目標(biāo)檢測結(jié)果
利用USB攝像頭采集圖像信息,在TensorRT的環(huán)境里通過OpenCV[12]顯示攝像頭畫面,并利用YOLOv5算法對(duì)前方車輛進(jìn)行目標(biāo)檢測,識(shí)別到車輛信息后結(jié)合識(shí)別框的坐標(biāo)信息判斷是否為攝像頭正前方,如是則傳入追尾判斷系統(tǒng)進(jìn)行追尾風(fēng)險(xiǎn)計(jì)算。圖9所示為可視化窗口中顯示的圖像與信息。
4.2" TensorRT部署加速結(jié)果
在對(duì)網(wǎng)絡(luò)訓(xùn)練模型進(jìn)行優(yōu)化后,團(tuán)隊(duì)利用NVIDIA的加速引擎TensorRT對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行重構(gòu)和優(yōu)化,提高GPU運(yùn)行效率,并在嵌入式平臺(tái)上實(shí)現(xiàn)模型的推理與加速[13?14]。經(jīng)測試,在TensorRT實(shí)際部署時(shí)的FPS達(dá)到了13~14 f/s,結(jié)果如圖10所示。
4.3" 防追尾預(yù)警系統(tǒng)實(shí)際運(yùn)行結(jié)果
防追尾預(yù)警系統(tǒng)在實(shí)際測試過程中,受目前條件限制,采用電動(dòng)車進(jìn)行不同類型車輛之間的模擬測試。模擬車輛追尾事故數(shù)據(jù)如表1所示。
經(jīng)過測試可以觀察到:當(dāng)事故危害性相同的汽車在面對(duì)相同的電動(dòng)車時(shí),在加速的情況下更容易觸發(fā)預(yù)警;而平緩速度的情況下,由于加速度減小、速度降低,在距離大致相同的情況下未觸發(fā)預(yù)警??梢娂铀俣茸鳛橐蛩厝谌肫囎肺彩鹿实呐袛嗌?,可以對(duì)車輛運(yùn)動(dòng)趨勢有一個(gè)判斷并提前預(yù)警,以避免追尾事故的發(fā)生。而自定車輛為汽車和貨車時(shí),當(dāng)距離大致為3.5 m且同樣為加速狀態(tài)時(shí),貨車在12.79 km/h的速度下觸發(fā)了預(yù)警,而汽車在16.37 km/h才觸發(fā)預(yù)警,原因是攝像頭在檢測對(duì)方車輛信息后,會(huì)判斷當(dāng)事故發(fā)生時(shí)所造成的危害性。相比汽車而言,在相同情況下貨車危害性較大,故會(huì)適當(dāng)增大追尾風(fēng)險(xiǎn)。綜上可知,當(dāng)情況大致相同時(shí),系統(tǒng)會(huì)判斷此時(shí)事故的危害程度,從而對(duì)危害性高的對(duì)象進(jìn)行加權(quán),以更好地避免追尾事故的發(fā)生。
4.4" 實(shí)驗(yàn)結(jié)果與分析
將攝像頭與激光雷達(dá)測距模塊擺放至車輛前方,汽車防追尾系統(tǒng)實(shí)現(xiàn)對(duì)前方車輛類型信息與距離信息的采集。再利用北斗GPS模塊,其需在室外露天場所,定位精度小于2.5 m,測速精度小于0.1 m/s。雙頻網(wǎng)卡建立與阿里云物聯(lián)網(wǎng)平臺(tái)的連接,數(shù)據(jù)傳輸及時(shí)。所訓(xùn)練的網(wǎng)絡(luò)模型經(jīng)過優(yōu)化后,在精度與準(zhǔn)確率上有所提升;系統(tǒng)部署在TensorRT之后,其運(yùn)行速度也有明顯的提升。防追尾判斷以攝像頭檢測目標(biāo)與距離判斷為主,輔以GPS提供的速度、加速度信息,能夠在相同情況下靈活調(diào)節(jié)不同類型車輛之間的追尾風(fēng)險(xiǎn)值,使其判斷更為真實(shí)、準(zhǔn)確;同時(shí)物聯(lián)網(wǎng)平臺(tái)所統(tǒng)計(jì)的數(shù)據(jù)也能讓家人關(guān)注駕駛員行程安全,共同督促駕駛員安全駕駛。
5" 結(jié)" 語
本文對(duì)基于深度學(xué)習(xí)的汽車防追尾預(yù)警系統(tǒng)進(jìn)行設(shè)計(jì),從理論分析到硬件設(shè)計(jì)、軟件編寫,最終做出實(shí)物。通過對(duì)算法、軟件的使用與實(shí)際分析,證明了它們對(duì)于網(wǎng)絡(luò)模型的訓(xùn)練和系統(tǒng)加速運(yùn)行上有一定的提升與優(yōu)化,也證明了所設(shè)計(jì)系統(tǒng)對(duì)汽車追尾事故判斷是有所幫助的。在追尾風(fēng)險(xiǎn)檢測與計(jì)算處理方面,本文所提及的方法還需要進(jìn)一步優(yōu)化,以達(dá)到更為準(zhǔn)確的判斷效果。
參考文獻(xiàn)
[1] 白中浩,馬偉杰,曹立波,等.乘用車?貨車追尾碰撞事故分析及其試驗(yàn)與仿真研究[J].中國機(jī)械工程,2010,21(14):1742?1747.
[2] HOU Qibin, ZHOU Daquan, FENG Jiashi. Coordinate attention for efficient mobile network design [C]// 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Nashville: IEEE, 2021: 13713?13722.
[3] 馬宏興,董凱兵,王英菲,等.基于改進(jìn)YOLOv5s的輕量化植物識(shí)別模型研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2023,54(8):267?276.
[4] WANG Haoqian, LUO Yi, AN Wangpeng, et al. PID controller?based stochastic optimizationacceleration for deep neural networks [J]. IEEE transactions on neural networks and learning systems, 2022, 31(12): 5079?5091.
[5] IM D J, TAO M, BRANSON K. An empirical analysis of the optimization of deep network loss surfaces [EB/OL]. [2024?01?21]. https://arxiv.org/pdf/1612.04010.
[6] 許興時(shí),王云飛,華志新,等.融合YOLOv5s與通道剪枝算法的奶牛輕量化個(gè)體識(shí)別方法(英文)[J].農(nóng)業(yè)工程學(xué)報(bào),2023,39(15):152?162.
[7] MOLCHANOV P, TYREE S, KARRAS T, et al. Pruning convolutional neural networks for resource efficient transfer learning [EB/OL]. [2023?11?17]. https://arxiv.org/pdf/1611.06440.
[8] ANWAR S, HWANG K, SUNG W. Structured pruning of deep convolutional neural networks [J]. ACM journal on emerging technologies in computing systems, 2017, 13(3): 1?18.
[9] 徐世翔,曹原.基于MQTT協(xié)議的阿里云IoT平臺(tái)遠(yuǎn)程電壓采集系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2023,13(1):134?136.
[10] 陳路遙,林峰,郭清鋒.基于MQTT協(xié)議的智能家居數(shù)據(jù)傳輸系統(tǒng)[J].數(shù)字通信世界,2023(7):52?54.
[11] 周洪斌,苗盼盼.基于Python的辦公自動(dòng)化應(yīng)用[J].現(xiàn)代計(jì)算機(jī),2023,29(21):114?117.
[12] 宋振南,姜麗梅,穆春志,等.基于OpenCV圖像識(shí)別的農(nóng)業(yè)大棚消防滅火機(jī)器人[J].南方農(nóng)機(jī),2024,55(8):134?137.
[13] 楊肖,袁銳波,李兆旭,等.改進(jìn)YOLOv4的蠶豆苗檢測算法及TensorRT加速[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2023,37(3):312?320.
[14] 李健源,柳春娜,盧曉春,等.基于改進(jìn)YOLOv5s和TensorRT部署的魚道過魚監(jiān)測[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(12):314?322.