胡晟圓,游波,崔立冬
(1.上海寰創通信科技股份有限公司,上海 200241;2.武昌工學院信息工程學院,湖北 武漢 430065)
據公安部交通管理局統計,截止2019年3月我國機動車保有量達3.3億輛,其中汽車有2.46億輛。汽車的普及給我們生活帶來了便利,但交通事故卻也隨之日益劇增。據公安部門統計,2018年我國汽車發生交通事故一共有166906起,導致169046人受傷、46161人死亡,直接財產損失高達118671.6萬元[1-2]。據美國一次調研數據顯示,因駕駛員偏離車道線而造成毀滅性的交通事故高達44%以上。據美國聯邦公路局研究表明,如果能提前預測車輛是否偏離車道并及時提示駕駛員正確操作,就能減少24%以上由于汽車偏離車道而造成的交通事故[3]。
車道偏離預警系統設計的前提是要檢測出車道線,這也是實現偏離預警功能需要研究的關鍵技術。目前,國內外的一些學者對車道線的檢測識別算法有了大量的研究。王玲[4]提出了一種基于Hough變換并結合圖像灰度塊匹配的方法來檢測車道線;李福俊、顧敏明[5]提出了一種改進版的Hough變換算法并結合四點標定逆透視變換算法對車道線進行動態檢測;邱康、王子磊[6]提出了一種基于圖像語義分割的方法檢測車道線;Lee Chanho、Moon Ji-Hyun[7]提出一種通過掃描線測試并把線聚類的方法檢測車道線;Yong Ding、Zheng Xu[8]等人提出一種基于鳥瞰視野的快速車道檢測方法;Fang Z、Sheng L[9]等人提出了一種利用Hough變換處理車道圖像得到車道線的特征點,再將特征點轉換成車道線的方程對車道線進行擬合;丁蒙、戴曙光[10]等人提出了基于消失點的自適應 ROI 提取和基于蟻群算法的邊緣檢測方法提取車道線。論文在MATLAB平臺上做了大量的仿真試驗,對圖像預處理方法和車道線提取的方法進行了對比優化,提出了魯棒性和抗干擾能力較好的車道線提取方法,并設計出了車道偏離預警系統。
車載視頻中的圖像是彩色的,包含了圖像的亮度信息和色彩信息,而色彩信息對車道線的檢測屬于無用信息,所以要先對車道圖像進行灰度化處理將其轉換成灰度圖像,只保留車道圖像的亮度信息,以提高算法的效率。論文采用加權平均法對車道圖像灰度化處理,其處理結果如下圖1所示。

圖1 加權平均法灰度化圖
為了突出車道線的特征信息,需要對圖像進行對比度增強處理。目前,在工程上較常用的圖像對比度增強的方法有直方圖均衡化和分段線性灰度變換。通過實驗發現,分段式線性灰度變換相比于直方圖均衡化更能夠突顯出車道線的特征,并且直方圖均衡化對處理曝光度較差和曝光度較強的圖片效果比較好,處理正常曝光的圖片效果不明顯,而車載視頻所獲取的車道圖像在大多數情況下都是正常曝光,故論文采用分段式線性灰度變換對車道圖像進行對比度增強,其處理結果如下圖2所示。

圖2 分段線性變換法對比度增強圖
車載視頻獲取的車道圖像存在著很多噪聲,這些噪聲一部分來自行車過程中外在環境的影響,另一部分則是車載視頻在傳輸過程中受到一些隨機信號的干擾造成的。這些噪聲會對后續的圖像預處理帶來干擾,直接會影響到車道線的識別結果,因此為了抑制噪聲提高信噪比,需要對車道圖像采取平滑濾波處理。目前,常用的平滑濾波算法有均值濾波、高斯濾波和中值濾波。
通過仿真試驗發現,均值濾波和高斯濾波都會使車道圖像變模糊,濾波效果不理想,并且高斯濾波算法比較復雜,對實時性有一定的影響,而中值濾波處理后的車道圖像很好的過濾掉了噪聲,原圖像的細節部分保留較好,算法也相對較簡單。綜上所述,論文決定用中值濾波法對車道圖像做平滑濾波處理,加入椒鹽噪聲后(模擬雨雪天氣)利用中值濾波平滑處理結果如下圖3所示。

圖3 中值濾波平滑處理圖
在車道圖像中,車道線和車道背景間的灰度值存在明顯的跳變,所以邊緣檢測可以較好的提取車道線的邊緣信息,有利于后期對車道線的提取和識別。目前,在車道線檢測領域中相對使用頻率較高的邊緣檢測算子主要為Roberts算子、Canny算子和Sobel算子。
三種常用于車道邊緣檢測的算子有著各自的優缺點,Roberts算子算法最簡單,定位精度高,運算速度快,對于垂直邊緣的檢測較友好,但它對噪聲十分敏感;Canny算子算法復雜,運算速度慢,定位精度高,抗噪聲能力強,能夠檢測出圖像的弱邊緣;Sobel算子算法較簡單,運算速度較快,定位精度高,檢測斜向邊緣效果好,有一定的抗噪聲能力。總體來說,檢測效果為Canny算子最好,Sobel算子其次,Roberts算子較差。但在車道圖像的路面有干擾時,Canny算子也會把干擾信息的邊緣(弱邊緣)檢測出來,這些弱邊緣信息可能會影響車道線的識別,綜合考慮后,論文決定選擇Sobel算子對車道圖像進行邊緣檢測。三種邊緣檢測對比圖如下圖4所示。

圖4 不同算子邊緣檢測對比圖
車載相機采集到的圖像大概可劃分為天空、路面和周圍景物三個部分,天空和周圍景物在本設計中屬于無用信息,為了降低算法復雜度,增強車道線檢測的準確性、實時性,可對車道圖像進行感興趣區域(RIO)劃分,只保留車道線的部分。直線車道在車載視頻的視角下并不是平行的,而是呈現等腰梯形的形狀,梯形裁剪在保留車道線信息的前提下盡可能多的去掉了其他干擾,所以論文對車道圖像采用梯形裁剪作為感興趣區域。
通過對車道圖像的研究分析發現,車道線大約占整幅圖像的1/2~3/5之間,所以梯形的裁剪高度為1/2~3/5之間,裁剪梯形的兩腰可以通過圖像最下方兩個頂點來設計,兩腰斜率的絕對值在0.3~0.6之間。利用梯形裁剪法對車道圖像感興趣區域劃分處理后如圖5所示。

圖5 梯形感興趣區域劃分后的圖像
Hough變換是在1962年由Paul Hough根據數學中點到線的對偶性提出的,是圖像處理中幾何特征提取最基本的算法之一。它的實質是通過將圖像空間的信息映射到參數空間,并結合一種投票算法經過累加器來完成直線檢測的,其變換原理圖如圖6所示。

圖6 Hough變換原理圖
圖6 (a)中,為笛卡爾坐標系下的任意一條直線,ρ為該直線到坐標原點間的距離,ρ和這條直線相交于點(x,y),ρ與x軸正方向之間的夾角為θ,則可以用ρ和θ表示這條直線,其方程為:

用輔助角公式對上式變形可以得到:

由上式知,當x、y為定值時,ρ和θ為正弦函數的關系,即在笛卡爾坐標系下直線上任意一點經過Hough變換后,在極坐標參數坐標系下為一條正弦函數的曲線。同一條直線的ρ和θ是定值,如果將該直線上的所有點都進行Hough變換,則可以得到無數條正弦曲線,且它們必有一個公共的交點,如圖6(b)中所示,交點為(ρ0,θ0),將到ρ0、θ0代入上式中即可以得到原直線的方程。
利用Hough變換會檢測出圖像中所有存在的直線,為了得到當前行駛車道的車道線,需要設計算法對其改進。首先,為了讓虛線車道連成一條車道線,可以通過合并具有相同斜率的直線來實現。然后要從眾多的直線中篩選出真正的車道線,經研究發現,汽車所在車道的車道線斜率的絕對值比其他干擾直線大,將其對應到參數空間的Hough變換中θ的絕對值最小(左車道線為正角度,右車道線為負角度),根據這一特點,可以對經Hough變換得到的θ進行篩選,通過遍歷由Hough變換得到的所有的θ,對其排序得到正角度最小的θ和負角度最大的θ分別作為左邊車道線和右邊車道線的θ,并得到其對應的直線作為左右車道,即可以找到真實的車道線。未篩選和經過篩選算法處理的車道線識別對比如圖7所示。

圖7 車道線篩選前后對比圖
論文提出了簡單實用的斜率法對汽車偏離車道進行提前預警,可以在MATLAB中做仿真試驗。假設通過Hough變換得到的左右車道線的方程為分別為l1:y1=a1x+b1、l2:y2=a2x+b2,則可以用l1、l2上任意兩個點得到左右車道線方程的斜率k和車道線與水平方向的夾角θ,其計算公式為:

斜率法預警策略原理圖如圖8所示。

圖8 斜率法預警策略原理圖
圖8 中,矩形表示車道圖像,θ表示駕駛員在道路正中間行駛時車道線與水平方向的夾角,θmax和θmin表示的是車道偏離時允許的車道線與水平方向的夾角的最大值和最小值,當夾角大于允許的最大值和小于允許的最小值時都會報警。分析汽車在正常行駛未偏離車道時的21幀圖像,其左右車道的斜率統計如圖9所示。則可以將左右車道線的斜率絕對值設置為0.6~0.9之間,如果車道線的斜率不在上述范圍,則報警提示車道偏離。

圖9 未偏離車道時左右車道線的斜率分布圖
選取不同環境影響下的車道圖片和車載視頻在MATALB 2017b平臺上做了大量的仿真實現。經試驗證明,論文提出的算法可以有效合并虛線車道,只保留汽車所在車道的車道線,在一些惡劣環境的影響下,車道線的識別效果依然較好,抗干擾能力較強,在車道即將偏離車道時,可以及時語音和圖像標識提醒駕駛員正確操作,仿真試驗結果圖如圖10所示。


圖10 仿真試驗結果圖
對車載視頻中的1000幀圖片進行仿真實驗,其中正確識別幀數為928幀,識別正確率為92.8%,偏離幀數為10,預警次數為10,預警率達到100%。
針對現有車道線檢測和偏離預警方法對有干擾時處理效果不太理想的問題,論文在圖像預處理方面進行了對比優化,選取了較好的預處理方法,提出了基于改進Hough變換對車道線進行檢測篩選,并利用斜率法設計了偏離預警策略。經仿真試驗證明,論文設計的車道偏離預警系統抗干擾能力較好,識別預警率較高,具有一定的實際應用價值。