王世孚 羅惠鐸 黃婷 徐飛兒
摘? 要:基于汽車輔助駕駛技術(shù),文章旨在設(shè)計(jì)出一款能在一定程度上輔助駕駛者“觀察”道路情況以及道路發(fā)生險(xiǎn)情時(shí)及時(shí)預(yù)警的車載汽車輔助駕駛系統(tǒng)。系統(tǒng)采用OpenCV、YOLOv3算法以及語義分割模型,依賴開源學(xué)習(xí)庫、程序庫通過YOLOv3算法監(jiān)測模型和語義分割算法完成車道線檢測以及人物、車輛等障礙物的檢測與識(shí)別,通過識(shí)別內(nèi)容作為判斷路況依據(jù)并做出相應(yīng)的提示,達(dá)到輔助駕駛的目的。
關(guān)鍵詞:汽車輔助駕駛;目標(biāo)檢測;YOLOv3;語義分割;車道線檢測
中圖分類號(hào):TP391.41;U463.6 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)18-0013-04
Abstract:Based on the vehicle assisted driving technology,this paper aims to design an on-board vehicle auxiliary driving system which can help the driver to “observe” the road situation and give early warning when the road is in danger. The system uses OpenCV,YOLOv3 algorithm and semantic segmentation model,relies on open source learning library and program library,completes lane line detection and identification of people,vehicles and other obstacles through the monitoring model and semantic segmentation algorithm of YOLOv3 algorithm. The recognition content is used as the basis for judging road conditions and making corresponding prompts to achieve the purpose of assisting driving.
Keywords:automobile assisted driving;target detection;YOLOv3;semantic segmentation;lane line detection
0? 引? 言
汽車輔助駕駛系統(tǒng)旨在結(jié)合傳感器技術(shù)、視覺識(shí)別技術(shù)、定位導(dǎo)航技術(shù)等多種先進(jìn)的科學(xué)技術(shù),構(gòu)建一個(gè)龐大的汽車駕駛應(yīng)用,設(shè)計(jì)出一款能夠輔助駕駛者避免發(fā)生交通事故的車載汽車輔助駕駛系統(tǒng)。通過攝像頭設(shè)備采集獲取汽車行駛環(huán)境圖像數(shù)據(jù),經(jīng)過計(jì)算機(jī)視覺算法與技術(shù)對(duì)于行車道路的車道線位置和可能出現(xiàn)的障礙物(包括汽車、行人等)做出識(shí)別并判斷,快速收集圖像中的對(duì)象信息,判斷車輛的位置是否偏離車道以及障礙物的存在并及時(shí)地對(duì)駕駛者做出預(yù)警提醒。
縱觀汽車安全配置發(fā)展歷程,汽車由此前搭配的簡單樣式配置時(shí)代逐漸發(fā)展到了復(fù)雜的車載輔助系統(tǒng)的時(shí)代,駕駛場景也由此前完全靠人為的觀察、預(yù)判、行為反應(yīng)到現(xiàn)在汽車能夠自動(dòng)預(yù)警甚至自主控制汽車,保護(hù)了駕駛者自身乃至其他道路使用者的安全。要實(shí)現(xiàn)這一能力,視覺系統(tǒng)是關(guān)鍵部分。從導(dǎo)航協(xié)助到自主化駕駛,必須采用可靠和安全的技術(shù),而視覺處理技術(shù)提供了視覺系統(tǒng)應(yīng)用所需的性能和功能。
基于全球汽車電子市場在未來幾年內(nèi)都將保持著高速增長的預(yù)測,桂林電子科技大學(xué)組織了由導(dǎo)師教授指導(dǎo)、學(xué)生自主研發(fā)的創(chuàng)新創(chuàng)業(yè)團(tuán)隊(duì),提出并研發(fā)汽車輔助駕駛系統(tǒng)。通過整合硬件、軟件和算法,結(jié)合計(jì)算機(jī)視覺與主流的檢測識(shí)別算法YOLOv3,在智能手機(jī)上實(shí)現(xiàn)輔助駕駛。根據(jù)軟件工程原型設(shè)計(jì)的理念,目前已經(jīng)初步完成了PC端的系統(tǒng)開發(fā),能夠做到路況信息的實(shí)時(shí)采集和分析,現(xiàn)已進(jìn)入PC端測試階段。
1? 系統(tǒng)技術(shù)路線
系統(tǒng)技術(shù)路線如圖1所示。
先由攝像頭組采集信息,接著由攝像頭組中的EPS8266模塊通過Wi-Fi傳輸云平臺(tái)。同時(shí)將BOF算法和計(jì)算機(jī)圖像處理構(gòu)架在云平臺(tái)中。云平臺(tái)接收到了攝像頭組采集的信息后,使用OpenCV模塊讀取視頻文件,使用YOLOv3算法完成行人、汽車檢測模型以獲取車輛、行人等坐標(biāo)框和類別以及置信度,使用語義分割模型來完成車道線檢測獲取分割掩碼圖。檢測識(shí)別的數(shù)據(jù)發(fā)回到用戶的手機(jī)端APP,由APP為駕駛?cè)诉M(jìn)行提醒。
2? 汽車輔助駕駛系統(tǒng)設(shè)計(jì)
系統(tǒng)有四個(gè)部分功能構(gòu)成,具體功能要實(shí)現(xiàn)的功能有如下四點(diǎn):
(1)道路信息采集功能:外置的微型攝像頭組合的高清攝像頭實(shí)時(shí)采集車輛附近道路信息,并將信息由ESP8266模塊通過Wi-Fi傳輸云平臺(tái)。
(2)圖像檢測識(shí)別功能:使用YOLO算法、語義分割等方法,對(duì)車道線和障礙物等道路信息進(jìn)行圖像檢測識(shí)別。由YOLOv3算法的檢測模型得到圖像中車輛、行人等障礙物的坐標(biāo)框、類別、置信度;利用語義分割模型得到語義分割掩碼圖。然后完成在原圖像文件上的標(biāo)注操作,作為可視化結(jié)果的復(fù)現(xiàn)。
(3)結(jié)果可視化功能:PC端使用PyQt5編寫的UI界面是用于模擬測試的展示平臺(tái),主要由文件、攝像頭、檢測、控制臺(tái)輸出四個(gè)部分組成。文件功能是系統(tǒng)輸入環(huán)節(jié)的操作,可以將本地圖像或者視頻文件作為道路信息的輸入,模擬代替通過現(xiàn)實(shí)中攝像頭直接獲取的圖像信息;通過攝像頭選項(xiàng)可以對(duì)攝像頭進(jìn)行打開關(guān)閉操作;檢測是對(duì)系統(tǒng)輸入的圖像視頻文件進(jìn)行檢測識(shí)別操作;控制臺(tái)輸出是展示圖像、視頻的檢測識(shí)別結(jié)果,并且進(jìn)行原圖像和結(jié)果圖像進(jìn)行對(duì)比展示,包括同時(shí)在圖像、視頻播放界面顯示識(shí)別出的車道線、行人等。
(4)預(yù)警提示功能:對(duì)由圖像檢測識(shí)別算法模塊得到的圖像信息檢測識(shí)別結(jié)果進(jìn)行解析判斷處理,完成后根據(jù)道路情況數(shù)據(jù)做出相應(yīng)的提示,主要是常規(guī)的匯報(bào)道路情況以及特殊情況下的險(xiǎn)情規(guī)避提示。比如,當(dāng)檢測到前方出車輛行人,系統(tǒng)提醒駕駛員注意車速等。
功能模塊設(shè)計(jì)功能結(jié)構(gòu)圖如圖2所示。
2.1? 道路信息采集模塊設(shè)計(jì)
道路信息采集模塊是通過不同角度的外置微型攝像頭組合(模擬測試時(shí)選擇成品STM32智能小車搭載的高清攝像頭)實(shí)時(shí)采集車輛附近道路信息;存儲(chǔ)傳送方式方面選擇由攝像頭中的ESP8266模塊通過Wi-Fi傳輸云平臺(tái)存儲(chǔ)。具體的實(shí)現(xiàn)流程如圖3所示。
2.2? 圖像檢測識(shí)別算法模塊設(shè)計(jì)
本圖像檢測識(shí)別算法模塊練習(xí)過程中,使用YOLOv3算法的檢測模型得到圖像中車輛、行人等障礙物。首先下載數(shù)據(jù)集,提取含person數(shù)據(jù)并把數(shù)據(jù)格式轉(zhuǎn)化為YOLO支持的格式,下載預(yù)訓(xùn)練權(quán)重。YOLOv3中,每個(gè)單元格對(duì)應(yīng)使用了三個(gè)不同比例和大小的預(yù)選框,構(gòu)建了和FPN目標(biāo)檢測算法相似的特征金字塔,利用不同大小、不同深度的特征層進(jìn)行對(duì)不同大小目標(biāo)的預(yù)測,最終得到的是車輛、行人的坐標(biāo)框和類別和置信度;語義分割模型方法則對(duì)車道線進(jìn)行圖像檢測識(shí)別,從輸入圖像開始就進(jìn)行減少輸入圖像尺寸的操作節(jié)省運(yùn)算,最終得到語義分割掩碼圖;最后再通過在原圖標(biāo)注的方式,實(shí)現(xiàn)檢測識(shí)別結(jié)果的復(fù)現(xiàn)。圖像檢測識(shí)別實(shí)現(xiàn)流程如圖4所示。
2.3? 可視化模塊設(shè)計(jì)
可視化展示的UI界面是用于模擬測試用的展示平臺(tái),PC端使用PyQt5編寫Python腳本的應(yīng)用界面程序,主要由攝像頭、檢測、控制臺(tái)輸出三個(gè)部分組成。其結(jié)構(gòu)如圖5所示。
模擬測試可視化UI界面模塊實(shí)現(xiàn)了結(jié)果的展示,對(duì)于每個(gè)內(nèi)容的操作功能描述如表1所示。
已完成的PC端中既可以從本地文件中選取視頻文件或圖像文件,也可以選擇調(diào)用攝像頭,將識(shí)別標(biāo)注好的路況信息展示在控制臺(tái),如圖6、圖7所示。
2.4? 預(yù)警模塊設(shè)計(jì)
預(yù)警模塊的實(shí)現(xiàn)是通過對(duì)道路信息的識(shí)別結(jié)果進(jìn)行分析,目前的功能就有路況信息匯報(bào)、車道線偏離預(yù)警、行人與車輛碰撞預(yù)警。
2.4.1? 車輛偏離預(yù)警
車道線偏離的判定,是在車道線識(shí)別的基礎(chǔ)上,對(duì)車道線進(jìn)行提取,得到車道線方程后,根據(jù)左右車道線方程的斜率以及行車方向獲得車道線夾角,通過車道線夾角定制車道線偏離決策方法來判定車輛是否存在偏離行車道的可能,并借助智能手機(jī)的語音播報(bào)功能給予駕駛員提醒。圖8為車道線偏離判定的方法流程圖。
2.4.2? 路況信息匯報(bào)、行人與車輛碰撞預(yù)警
在行人與車輛的檢測識(shí)別中,一方面是統(tǒng)計(jì)流量并實(shí)時(shí)播報(bào),提醒駕駛員注意車速;另一方面,獲取到行人和車輛的坐標(biāo)和障礙物的類別,將獲取到的坐標(biāo)和類別記錄下來,推送到終端,由終端發(fā)出預(yù)警提醒。
3? 結(jié)? 論
汽車輔助駕駛系統(tǒng)涉及硬件、軟件、算法,系統(tǒng)集成化高,通過車輛裝載的攝像設(shè)備直接獲取道路圖像信息,然后交由系統(tǒng)圖像檢測識(shí)別算法模塊檢測識(shí)別車道線以及行人、汽車等障礙物并收集數(shù)據(jù)信息,及時(shí)地提示駕駛員注意規(guī)避,在一定程度上完成輔助駕駛的職能。本系統(tǒng)的主體任務(wù)實(shí)現(xiàn)在于圖像檢測識(shí)別算法模塊,故設(shè)計(jì)重點(diǎn)難點(diǎn)主要是該模塊的算法實(shí)現(xiàn),在結(jié)合主流的算法、模型進(jìn)行開發(fā)的過程中做出了適當(dāng)?shù)恼{(diào)整與優(yōu)化。本系統(tǒng)的不足在于沒有加入對(duì)距離的感知,不能感知前方行人和車輛的距離,這會(huì)導(dǎo)致對(duì)駕駛員的提醒不是很精準(zhǔn);如果加入距離的感知,就能夠根據(jù)距離對(duì)險(xiǎn)情做出普通提醒還是強(qiáng)提醒,能夠有效規(guī)避險(xiǎn)情,提升安全駕駛體驗(yàn)。其次是目前識(shí)別的障礙物只有行人和車輛,對(duì)一些其他障礙物如石頭、墻壁、路燈等沒有進(jìn)行訓(xùn)練,只有完善對(duì)障礙物的識(shí)別才能更大程度的保障駕駛者的安全。
在輔助駕駛系統(tǒng)研究領(lǐng)域,對(duì)于道路信息收集與分析的技術(shù)層出不窮,更優(yōu)質(zhì)、更高效的算法、模型方法在許多頗有建樹的論文中被不斷提出,目標(biāo)檢測算法在不斷突破。本課題采用的YOLO是目前比較流行的目標(biāo)檢測算法,速度快結(jié)構(gòu)簡單,是計(jì)算機(jī)視覺領(lǐng)域目標(biāo)檢測的首選算法。在百度,上海萬興科技的汽車輔助駕駛方案中,結(jié)合了計(jì)算機(jī)視覺,也都運(yùn)用了OpenCV、YOLOv3等圖形處理技術(shù)來實(shí)現(xiàn)對(duì)路況的實(shí)時(shí)全方位監(jiān)控跟蹤,并給駕駛者及時(shí)發(fā)出預(yù)警提醒。在汽車智能化的時(shí)代背景下,先進(jìn)的駕駛輔助系統(tǒng)前景十分廣闊。
參考文獻(xiàn):
[1] REDMON J,DIVVALA S,GIRSHICK R,et al. You Only Look Once:Unified,Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016:779-788.
[2] LIU C S,GUO Y,LI S,et al. ACF Based Region Proposal Extraction for YOLOv3 Network Towards High-Performance Cyclist Detection in High Resolution Images [J].Sensors,2019,19(12):2671.
[3] 方卓琳.基于YOLOv3的道路交通環(huán)境行人檢測技術(shù)研究 [D].廣州:華南理工大學(xué),2019.
[4] 鄭寶玉,王雨,吳錦雯,等.基于深度卷積神經(jīng)網(wǎng)絡(luò)的弱監(jiān)督圖像語義分割 [J].南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,38(5):1-12.
[5] LU J Y,MA C,LI L,et al. A Vehicle Detection Method for Aerial Image Based on YOLO [J]. Journal of computer and Communications,2018,6(11):98-107.
作者簡介:王世孚(1998.11—),男,漢族,廣西北海人,本科,研究方向:物聯(lián)網(wǎng)工程;羅惠鐸(1998.12—),男,漢族,廣西玉林人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);黃婷(1998. 06—),女,漢族,廣西桂林人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);徐飛兒,(1998.09—),女,漢族,重慶人,本科,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。