王世孚 羅惠鐸 黃婷 徐飛兒



摘? 要:基于汽車輔助駕駛技術,文章旨在設計出一款能在一定程度上輔助駕駛者“觀察”道路情況以及道路發生險情時及時預警的車載汽車輔助駕駛系統。系統采用OpenCV、YOLOv3算法以及語義分割模型,依賴開源學習庫、程序庫通過YOLOv3算法監測模型和語義分割算法完成車道線檢測以及人物、車輛等障礙物的檢測與識別,通過識別內容作為判斷路況依據并做出相應的提示,達到輔助駕駛的目的。
關鍵詞:汽車輔助駕駛;目標檢測;YOLOv3;語義分割;車道線檢測
中圖分類號:TP391.41;U463.6 ? ? ?文獻標識碼:A 文章編號: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? 引? 言
汽車輔助駕駛系統旨在結合傳感器技術、視覺識別技術、定位導航技術等多種先進的科學技術,構建一個龐大的汽車駕駛應用,設計出一款能夠輔助駕駛者避免發生交通事故的車載汽車輔助駕駛系統。通過攝像頭設備采集獲取汽車行駛環境圖像數據,經過計算機視覺算法與技術對于行車道路的車道線位置和可能出現的障礙物(包括汽車、行人等)做出識別并判斷,快速收集圖像中的對象信息,判斷車輛的位置是否偏離車道以及障礙物的存在并及時地對駕駛者做出預警提醒。
縱觀汽車安全配置發展歷程,汽車由此前搭配的簡單樣式配置時代逐漸發展到了復雜的車載輔助系統的時代,駕駛場景也由此前完全靠人為的觀察、預判、行為反應到現在汽車能夠自動預警甚至自主控制汽車,保護了駕駛者自身乃至其他道路使用者的安全。要實現這一能力,視覺系統是關鍵部分。從導航協助到自主化駕駛,必須采用可靠和安全的技術,而視覺處理技術提供了視覺系統應用所需的性能和功能。
基于全球汽車電子市場在未來幾年內都將保持著高速增長的預測,桂林電子科技大學組織了由導師教授指導、學生自主研發的創新創業團隊,提出并研發汽車輔助駕駛系統。通過整合硬件、軟件和算法,結合計算機視覺與主流的檢測識別算法YOLOv3,在智能手機上實現輔助駕駛。根據軟件工程原型設計的理念,目前已經初步完成了PC端的系統開發,能夠做到路況信息的實時采集和分析,現已進入PC端測試階段。
1? 系統技術路線
系統技術路線如圖1所示。
先由攝像頭組采集信息,接著由攝像頭組中的EPS8266模塊通過Wi-Fi傳輸云平臺。同時將BOF算法和計算機圖像處理構架在云平臺中。云平臺接收到了攝像頭組采集的信息后,使用OpenCV模塊讀取視頻文件,使用YOLOv3算法完成行人、汽車檢測模型以獲取車輛、行人等坐標框和類別以及置信度,使用語義分割模型來完成車道線檢測獲取分割掩碼圖。檢測識別的數據發回到用戶的手機端APP,由APP為駕駛人進行提醒。
2? 汽車輔助駕駛系統設計
系統有四個部分功能構成,具體功能要實現的功能有如下四點:
(1)道路信息采集功能:外置的微型攝像頭組合的高清攝像頭實時采集車輛附近道路信息,并將信息由ESP8266模塊通過Wi-Fi傳輸云平臺。
(2)圖像檢測識別功能:使用YOLO算法、語義分割等方法,對車道線和障礙物等道路信息進行圖像檢測識別。由YOLOv3算法的檢測模型得到圖像中車輛、行人等障礙物的坐標框、類別、置信度;利用語義分割模型得到語義分割掩碼圖。然后完成在原圖像文件上的標注操作,作為可視化結果的復現。
(3)結果可視化功能:PC端使用PyQt5編寫的UI界面是用于模擬測試的展示平臺,主要由文件、攝像頭、檢測、控制臺輸出四個部分組成。文件功能是系統輸入環節的操作,可以將本地圖像或者視頻文件作為道路信息的輸入,模擬代替通過現實中攝像頭直接獲取的圖像信息;通過攝像頭選項可以對攝像頭進行打開關閉操作;檢測是對系統輸入的圖像視頻文件進行檢測識別操作;控制臺輸出是展示圖像、視頻的檢測識別結果,并且進行原圖像和結果圖像進行對比展示,包括同時在圖像、視頻播放界面顯示識別出的車道線、行人等。
(4)預警提示功能:對由圖像檢測識別算法模塊得到的圖像信息檢測識別結果進行解析判斷處理,完成后根據道路情況數據做出相應的提示,主要是常規的匯報道路情況以及特殊情況下的險情規避提示。比如,當檢測到前方出車輛行人,系統提醒駕駛員注意車速等。
功能模塊設計功能結構圖如圖2所示。
2.1? 道路信息采集模塊設計
道路信息采集模塊是通過不同角度的外置微型攝像頭組合(模擬測試時選擇成品STM32智能小車搭載的高清攝像頭)實時采集車輛附近道路信息;存儲傳送方式方面選擇由攝像頭中的ESP8266模塊通過Wi-Fi傳輸云平臺存儲。具體的實現流程如圖3所示。
2.2? 圖像檢測識別算法模塊設計
本圖像檢測識別算法模塊練習過程中,使用YOLOv3算法的檢測模型得到圖像中車輛、行人等障礙物。首先下載數據集,提取含person數據并把數據格式轉化為YOLO支持的格式,下載預訓練權重。YOLOv3中,每個單元格對應使用了三個不同比例和大小的預選框,構建了和FPN目標檢測算法相似的特征金字塔,利用不同大小、不同深度的特征層進行對不同大小目標的預測,最終得到的是車輛、行人的坐標框和類別和置信度;語義分割模型方法則對車道線進行圖像檢測識別,從輸入圖像開始就進行減少輸入圖像尺寸的操作節省運算,最終得到語義分割掩碼圖;最后再通過在原圖標注的方式,實現檢測識別結果的復現。圖像檢測識別實現流程如圖4所示。
2.3? 可視化模塊設計
可視化展示的UI界面是用于模擬測試用的展示平臺,PC端使用PyQt5編寫Python腳本的應用界面程序,主要由攝像頭、檢測、控制臺輸出三個部分組成。其結構如圖5所示。
模擬測試可視化UI界面模塊實現了結果的展示,對于每個內容的操作功能描述如表1所示。
已完成的PC端中既可以從本地文件中選取視頻文件或圖像文件,也可以選擇調用攝像頭,將識別標注好的路況信息展示在控制臺,如圖6、圖7所示。
2.4? 預警模塊設計
預警模塊的實現是通過對道路信息的識別結果進行分析,目前的功能就有路況信息匯報、車道線偏離預警、行人與車輛碰撞預警。
2.4.1? 車輛偏離預警
車道線偏離的判定,是在車道線識別的基礎上,對車道線進行提取,得到車道線方程后,根據左右車道線方程的斜率以及行車方向獲得車道線夾角,通過車道線夾角定制車道線偏離決策方法來判定車輛是否存在偏離行車道的可能,并借助智能手機的語音播報功能給予駕駛員提醒。圖8為車道線偏離判定的方法流程圖。
2.4.2? 路況信息匯報、行人與車輛碰撞預警
在行人與車輛的檢測識別中,一方面是統計流量并實時播報,提醒駕駛員注意車速;另一方面,獲取到行人和車輛的坐標和障礙物的類別,將獲取到的坐標和類別記錄下來,推送到終端,由終端發出預警提醒。
3? 結? 論
汽車輔助駕駛系統涉及硬件、軟件、算法,系統集成化高,通過車輛裝載的攝像設備直接獲取道路圖像信息,然后交由系統圖像檢測識別算法模塊檢測識別車道線以及行人、汽車等障礙物并收集數據信息,及時地提示駕駛員注意規避,在一定程度上完成輔助駕駛的職能。本系統的主體任務實現在于圖像檢測識別算法模塊,故設計重點難點主要是該模塊的算法實現,在結合主流的算法、模型進行開發的過程中做出了適當的調整與優化。本系統的不足在于沒有加入對距離的感知,不能感知前方行人和車輛的距離,這會導致對駕駛員的提醒不是很精準;如果加入距離的感知,就能夠根據距離對險情做出普通提醒還是強提醒,能夠有效規避險情,提升安全駕駛體驗。其次是目前識別的障礙物只有行人和車輛,對一些其他障礙物如石頭、墻壁、路燈等沒有進行訓練,只有完善對障礙物的識別才能更大程度的保障駕駛者的安全。
在輔助駕駛系統研究領域,對于道路信息收集與分析的技術層出不窮,更優質、更高效的算法、模型方法在許多頗有建樹的論文中被不斷提出,目標檢測算法在不斷突破。本課題采用的YOLO是目前比較流行的目標檢測算法,速度快結構簡單,是計算機視覺領域目標檢測的首選算法。在百度,上海萬興科技的汽車輔助駕駛方案中,結合了計算機視覺,也都運用了OpenCV、YOLOv3等圖形處理技術來實現對路況的實時全方位監控跟蹤,并給駕駛者及時發出預警提醒。在汽車智能化的時代背景下,先進的駕駛輔助系統前景十分廣闊。
參考文獻:
[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的道路交通環境行人檢測技術研究 [D].廣州:華南理工大學,2019.
[4] 鄭寶玉,王雨,吳錦雯,等.基于深度卷積神經網絡的弱監督圖像語義分割 [J].南京郵電大學學報(自然科學版),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—),男,漢族,廣西北海人,本科,研究方向:物聯網工程;羅惠鐸(1998.12—),男,漢族,廣西玉林人,本科,研究方向:計算機科學與技術;黃婷(1998. 06—),女,漢族,廣西桂林人,本科,研究方向:計算機科學與技術;徐飛兒,(1998.09—),女,漢族,重慶人,本科,研究方向:計算機科學與技術。