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