張亞秋,劉雅莉*,趙 珣
(1.玉溪師范學院,云南 玉溪 653100;2.華加日西林實業有限公司,廣東 深圳 518000)
隨著我國經濟水平的提升,國家對基礎設施持續大量投入,道路基礎設施建設取得巨大成就。截至2021 年末,全國公路總里程達528 萬公里,高速公路16.9 萬公里,高速公路里程居世界第一。與此同時,汽車保有量和汽車駕駛人數量均大幅增加,截止2022 年3 月底,全國汽車保有量達3.07 億輛,汽車駕駛人4.50 億人。然而,因道路交通事故造成的傷亡人數和經濟財產損失數額巨大。根據世界衛生組織《2018 年全球道路安全現狀報告》統計,全球每年約有135 萬人死于道路交通事故,另約2 000 萬至5 000 萬人受到非致命傷害。據統計,80%的交通意外是由于駕駛員超速行駛、酒駕、疲勞駕駛或操作不當造成的,而車輛偏離車道行駛問題僅次于超速行駛,位于駕駛人因素導致交通事故原因的第二位[1]。車輛行駛過程中,若駕駛員不是主動變道,當車輛發生側向偏離時,若輔助駕駛系統能夠及時發出預警信號提醒駕駛員謹慎駕駛,則此類事故將會大大減少。因此,車道偏離預警系統的研究具有重要的現實意義。
車道偏離預警的實現途徑有機器視覺、雷達以及磁性導航技術等[2-4]。對于標識規范的城市道路和高速公路,基于機器視覺的方法是實現車道偏離預警使用最多也最為成熟的方法。該方法利用車載相機采集車輛的道路行駛視頻,經圖像預處理提取、識別車道線,然后根據車輛與當前車道的相對位置和車輛行駛狀態估計車輛偏離風險,據此進行偏離預警。系統工作流程如圖1 所示。系統功能實現的關鍵在于車道線識別和對車輛是否偏離車道的判斷。

圖1 基于機器視覺的車道偏離預警系統工作流程
本文使用的道路視頻圖像采集于東風雪鐵龍C4L 車型車前擋風玻璃下沿車身正中位置,距地面1.10 m,像平面垂直于車身行駛方向。采集到的道路視頻圖像為彩色圖像,為減少數據量,先轉化為灰度圖像。該灰度圖像包含了成像系統(CCD)本身的噪聲和外部環境(如光照強度、天氣狀況等)的噪聲,因此,還需進一步進行降噪處理。常用的降噪方法有均值濾波、中值濾波及自適應濾波。本文選用速度較快且效果較好的中值濾波方法。
在直線檢測之前,需將視頻轉換為幀圖像。由于每秒視頻可以轉換成30 幀圖像,這樣產生的大量圖片會導致后續處理過程中計算量過大,因此本文提出關鍵幀的概念,用于改善圖片處理效率。關鍵幀可以根據自身需求設定,本文每隔10 幀提取一幀關鍵幀。這樣既保留了重要信息,又減少了信息處理量。
Hough 變換基于點-線的對偶性[5],即在圖像空間中同一條直線上的點對應在參數空間中是相交的直線。反過來,在參數空間中相交于同一點的所有直線,在圖像空間中都有共線的點與之對應。
設在圖像空間XY中,已知二值化圖像中有一條直線,所有過點(x,y)的直線都滿足斜截式方程:

式中:u0為斜率,v0為截距。如果將x和y視為參數,式(1)可改寫為:

式(2)代表參數空間UV中過點(u0,v0)的一條直線,該方程即直角坐標中對點(x,y)的Hough 變換。
如圖2 所示,圖2(a)是圖像空間中的一條直線,圖2(b)是對應的參數空間。在圖像空間XY中點P1確定了一簇直線,它們在參數空間中是一條直線;同理,過圖像空間中點P2的直線在參數空間中也是一條直線。由于P1和P2是同一條直線上的兩點,所以它們有相同的參數(u0,v0),而這一點正是參數空間UV中兩條直線的交點。由此可見,圖像空間XY中過P1和P2的直線上的每一點,都對應于參數空間中的一條直線,且這些直線必定相交于點(u0,v0),(u0,v0)恰恰就是圖像空間中直線方程的參數。這樣,通過Hough 變換,可以將圖像中直線檢測的問題轉化為參數空間中的點的檢測問題,而參數空間中點的檢測只要完成簡單的累加統計、尋找極大值就可完成。

圖2 直角坐標下Hough 變換的點-線對偶性
由于Hough 變換是對整張圖片進行處理,對于參數相同的不連續的直線如虛線車道線,Hough 變換后參數空間中點依然累加,通過尋找峰值可將包含虛線車道的長直線檢測出來[6]。由于視頻圖像的上方一般為道路周邊景色,下方為道路信息,為進一步減少計算量,本文將感興趣區域(Region of Interest,ROI)設定為整幅圖像的下半部分,只對ROI 區域進行直線檢測。

圖3 ROI 區域直線檢測
在直角坐標系中,如果直線與x軸垂直,那么它的斜率u0將不存在。為便于檢測,本文采用極坐標下的Hough 變換。
假定車輛在起始位置正常行駛于車道中間,車道為直線車道,攝像頭位于車輛前擋風玻璃下沿中間處,與車輛中軸線重合。根據成像原理,左右兩平行車道在圖像平面相交于一點,取像平面最后一行、中間列為像平面原點,像平面原點即代表車軸中心。結合采集到的視頻,本文中左車道線在極角[10,65]范圍搜索極大值,左車道線在極角[-65,-10],即[135,170]范圍搜索極大值,而后將參數空間選擇出的極大值參數(極角和半徑)一一對偶到原圖中,即可尋找到左右車道線,效果如圖4 所示。

圖4 車道線識別效果
車道偏離風險估計的方法主要有基于車輛當前位置(CCP)和基于跨道時間(TLC)兩類[7]。車輛當前位置估計需要車輛與當前車道的相對位置及參數,主要包括橫向距離和航向角兩個參數;跨道時間計算還需了解車輛行駛速度和加速度等運動狀態參數,從機器視覺角度獲取運動參數難度大、耗時長。本文選用計算較為簡單的橫向距離作為車輛偏離預警觸發的判斷依據。

圖5 所示橫向距離、跨道時間等的計算是基于路面坐標系的分析,而基于視覺的車道偏離判斷以視頻圖像為依據,是基于圖像坐標系的分析。為避免圖像坐標系與道路平面坐標系轉換的復雜標定和運算,本文直接在像平面內進行分析。

圖5 直線車道車輛勻速直線行駛示意圖
如圖6 所示,L1和Lr為左右車道,θ1和θr分別為左右車道的極角,d1和dr分別表示左右車道距圖像原點的垂直距離,L0是L1和Lr所構成角的角平分線,代表車道中軸線,其與y軸的交點為y0,θ0為車道中軸線的極角;y1和yr分別為左右車道L1和Lr與y軸的交點,yr-y1表示圖像平面內的車道寬度。

圖6 圖像坐標系下各參數示意圖

式中:dlane為路面車道實際寬度,db為車輛軸距,代表車輛寬度,min(·)表示求最小值。
根據以上分析,只需設置合理的閾值dT,當橫向距離dmin小于閾值dT時發出警報,即可實現基于橫向距離的車道偏離預警。
為驗證本算法的有效性,拍攝車輛道路行駛視頻進行實驗驗證。圖7 為視頻中道路圖像直線檢測和車道線識別效果。從圖7 可直觀看出,車輛逐漸向右偏離。由于車道線識別設置了極角范圍,第305 幀圖片未識別出右側車道線。


圖7 道路圖像直線檢測及車道識別效果
實驗中,攝像頭安裝的高度為1.1 m,道路寬3.75 m,車軸寬1.80 m,當橫向距離小于0.5 m 時系統警示車輛即將偏離。圖8(a)、圖8(b)、圖8(c)分別為車輛偏離預警系統對視頻第1 幀、第153 幀、第305 幀圖像的車道識別結果和偏離風險估計。若給出第305 幀圖片的右車道參數時,偏離風險估計如圖8(d)所示。從輸出結果可以看出,系統輸出結果與實際情況一致。

圖8 車輛偏離預警系統輸出結果
本文設計了一種基于橫向距離的車道偏離預警算法。該算法在圖像坐標系下進行分析,首先利用Hough 變換檢測直線,通過設定極角范圍識別出左右車道線,然后根據左右車道線參數計算出車輛距左右車道線的橫向距離,并通過設定橫向距離閾值觸發車道偏離警示。實驗結果表明,系統對車道偏離的風險估計與實際情況吻合。本文基于橫向距離的車道偏離預警算法能夠有效估計車輛偏移情況,對防范交通事故具有一定實用價值。