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