基于單目視覺(jué)的車(chē)輛離道預警系統
(1)設計意圖
本文引用地址:http://dyxdggzs.com/article/201612/326191.htm隨著(zhù)自動(dòng)化和微電子技術(shù)的高速發(fā)展,現代交通輔助工具越來(lái)越智能化,GPS導航、興趣點(diǎn)提示、多功能輔助控制系統、甚至是無(wú)人駕駛,從軍用交通工具融入普及到家用型交通工具,特別是最普遍的家用轎車(chē),已形成一種不可逆的智能化潮流。
在此背景下,本設計將基于A(yíng)vnet Spartan-6 FPGA 工業(yè)視頻處理套件上實(shí)現一個(gè)車(chē)輛離道的關(guān)鍵預警機制系統。
(2)設計思路
目前有數個(gè)國內外汽車(chē)生產(chǎn)商已經(jīng)采用了不同的車(chē)道保持輔助系統(例如奧迪Q5、大眾高爾夫7代),此類(lèi)系統均建立在一個(gè)數字圖像視頻處理的基礎上,再通過(guò)檢測車(chē)道等信息進(jìn)行建模和預警。雖然投入商用的系統已經(jīng)很成熟完善,預警機制的邏輯判斷(啟動(dòng)條件、提前預警)考慮較為周全,但幾乎都忽略了攝像頭因為汽車(chē)載客不同和路面鋪設而發(fā)生傾斜的情況,在算法中加入這個(gè)因素的修正對于未來(lái)精確控制和輔助車(chē)輛行駛具有實(shí)際意義。
本項目針對這個(gè)未考慮的因素,加入三軸加速計對關(guān)于鏡頭傾斜后圖像處理的矯正,突破由于廣角攝像頭的光學(xué)特性的非線(xiàn)性變換問(wèn)題,并建立一個(gè)簡(jiǎn)化的基于單目視覺(jué)的車(chē)輛離道預警系統模塊對結果進(jìn)行探討,驗證其精確度。由于整個(gè)項目側重于圖形算法方面,故只考慮車(chē)輛離道的準確報警,忽略復雜的輔助駕駛系統邏輯,而是為其提供進(jìn)一步成熟完善的理論。
本項目在原始圖像上預處理為邊緣二值圖像后再采用Hough變換算法,魯棒性和抗干擾性較高,代替現有的DSP視頻處理芯片,更快速地實(shí)現實(shí)時(shí)視頻處理。
考慮到軟硬件結合的靈活強大功能特性,本項目將基于EDK嵌入式系統開(kāi)發(fā)平臺,以MicroBlaze處理器為核心,實(shí)現軟硬件的協(xié)同設計。
設計文檔
(1)設計框圖
(2)工作原理
CCD攝像頭安裝在車(chē)盤(pán)中軸前方,其光軸與車(chē)盤(pán)平行;由于車(chē)軸中心距左右分車(chē)道有一定距離,根據透視投影的基本原理,攝像頭路面投影圖像中左右分道線(xiàn)會(huì )形成一個(gè)角度,這個(gè)角度會(huì )因車(chē)的位置變化而改變,當車(chē)處于兩條分道線(xiàn)中間,所得圖像中兩條左右分道線(xiàn)的夾角最大(其斜率一正一負), 當車(chē)輛偏移中線(xiàn)時(shí),這個(gè)角度會(huì )逐漸變小,至離道存在一個(gè)最小夾角,但圖像中該角度信息小于這個(gè)最小夾角的時(shí)候,報警機制就會(huì )發(fā)出警報。
攝像頭攝入路面圖像數據,存儲到板內RAM;通過(guò)畸變矯正,保證顯示的分車(chē)道盡可能實(shí)況;接著(zhù),通過(guò)三軸加速計水平矯正,使得圖像x軸與實(shí)際路面平行;最后通過(guò)閥值分隔、邊緣檢測以及Hough變換的算法,重新構建出路面圖像并建立分道線(xiàn)角度數據傳送到預警邏輯狀態(tài)機。
非線(xiàn)性的畸變矯正是水平矯正的前提操作,也是該系統中最重要的算法之一,通過(guò)攝像頭參數和Matlab等軟件的仿真模擬得出的網(wǎng)格坐標變換表,矯正廣角鏡頭所引起的邊角畸變,才可進(jìn)行正確的水平矯正。
(3)Figure 2 系統工作狀態(tài)圖如下:
本項目中預警邏輯狀態(tài)機較為簡(jiǎn)單,分三個(gè)狀態(tài):未啟用,啟用,報警; 車(chē)輛剛啟動(dòng)時(shí),警報系統處于未啟用狀態(tài),一旦滿(mǎn)足預警啟動(dòng)條件(車(chē)輛正常行駛在兩分道線(xiàn)中間并未打開(kāi)轉向燈)后,警報系統切換到啟用狀態(tài);在啟用狀態(tài)下,如果車(chē)偏離車(chē)道,圖像處理運算得到分道線(xiàn)角度數據滿(mǎn)足離道條件(圖像分道夾角小于警報最小夾角),則進(jìn)入報警狀態(tài),警報立即觸發(fā);警報觸發(fā)有一個(gè)較短的持續緩沖時(shí)間,在該時(shí)間內汽車(chē)重新滿(mǎn)足預警啟動(dòng)條件則警報系統重新進(jìn)入啟用狀態(tài),如果依舊未檢測到滿(mǎn)足啟用狀態(tài)的分道線(xiàn)角度則進(jìn)入未啟用狀態(tài)。如果最近所得分道線(xiàn)的角度數據處于安全范圍內時(shí),即使有小范圍擺動(dòng),但認為車(chē)未偏離車(chē)道,警報不會(huì )觸發(fā);或者,車(chē)要轉向,提前打開(kāi)轉向燈,那么警報系統處于未啟用狀態(tài)。
(4) Figure3 FPGA內處理圖像流程
攝像頭將攝入的原始灰度圖像(如圖1)傳入到FPGA內部,最先通過(guò)閥值邊緣檢測,得到邊緣二值圖像(如圖2)數據;當車(chē)出現傾斜后,攝入的圖像會(huì )出現透視畸變,所以需要通過(guò)光學(xué)畸變矯正,得到矯正后與實(shí)況相符的邊緣二值圖像數據;這時(shí),安裝的陀螺儀會(huì )提供相應參數,對圖像進(jìn)行傾角旋轉矯正,得到水平邊緣二值圖像(如圖3)數據;在通過(guò)Hough算法轉化為參數平面(如圖4)數據,從中提取出分道線(xiàn);隨著(zhù)車(chē)行駛的實(shí)況,隨時(shí)對警報觸發(fā)條件進(jìn)行判斷,出現離道,警報觸發(fā)條件滿(mǎn)足后,FPGA立馬將預警邏輯相關(guān)信息輸出,控制觸發(fā)警報
評論