劉景鋒 李炎亮 江奎 郭雨婷
摘 要: 針對智能車輛在不同環(huán)境條件下識別道路車道線出現(xiàn)偏移的問題,提出了一種基于改進(jìn)逆透視變換的車道線檢測算法。首先利用HSL和Lab融合模型提取車道線顏色特征,經(jīng)過二值化處理后利用透視變換將圖像轉(zhuǎn)換為鳥瞰圖,然后根據(jù)二值圖建立直方圖,進(jìn)行車道線位置的粗定位。最終通過滑動窗口算法以及直線擬合等處理,實現(xiàn)對車道線的精準(zhǔn)識別。通過實驗結(jié)果對比分析,提出的車道線檢測算法能夠解決車道線識別偏移問題。
關(guān)鍵詞: 車道線檢測; 逆透視變換; 滑動窗口; 特征融合
文章編號: 2095-2163(2021)03-0109-04 中圖分類號:U461.99 文獻(xiàn)標(biāo)志碼:A
【Abstract】Aiming at the problem that smart vehicles recognize the deviation of road lane lines under different environmental conditions, a lane line detection algorithm based on improved inverse perspective transformation is proposed. First, the HSL and Lab fusion model is used to extract the color features of the lane line, and after the binarization process, the image is converted into a bird's-eye view using perspective transformation. Then a histogram is established based on the binary image to perform coarse positioning of the lane line position. Finally, through sliding window algorithm, straight line fitting and other processing, the accurate recognition of lane lines is realized. Through comparative analysis of experimental results, the proposed lane line detection algorithm can solve the problem of lane line recognition offset.
【Key words】 lane line detection; inverse perspective transformation; sliding window; model fusion
0 引 言
為提高智能車駕駛安全性,實現(xiàn)自適應(yīng)巡航、跟車行駛和車道保持等功能,實時精確的感知車道線信息是智能車自主安全行駛的基礎(chǔ)?;谝曈X算法是識別車道線常用的方法。
目前關(guān)于車道線識別的研究有很多。文獻(xiàn)[1]提出了一種可以適應(yīng)多路況的車道線識別方法,通過利用改進(jìn)的TLC預(yù)警模型,提高了檢測精度以及預(yù)警精度。劉萍等人[2]提出反透視變換算法解決道路遮擋干擾問題。彭浪[3]提出基于目標(biāo)特征蒸餾的車道線檢測算法,通過蒸餾技術(shù)和添加的解碼器獲取更準(zhǔn)確的車道線信息。唐陽山等人[4]基于Roberts算子提高對車道線圖像的精準(zhǔn)分割。蔣一國[5]提出了基于GAN的車道線檢測算法,利用pix2pix將車道線識別轉(zhuǎn)化為圖像的自動生成任務(wù),然后提取細(xì)節(jié)特征。謝昌剛等人[6]提出了車道線隔行檢測算法,通過動態(tài)確定ROI區(qū)域,識別效率提高40%,精度高達(dá)88.57%。
綜上論述可知,本文提出一種基于逆透視變換的車道線檢測算法,解決了對光照變化以及陰影遮擋等環(huán)境干擾較為敏感而導(dǎo)致車道線識別不精確和魯棒性不足的問題。
1 圖像預(yù)處理
對視覺采集的圖像采取加權(quán)平均、中值濾波和最大類間方差法分別進(jìn)行灰度化、平滑濾波和二值化處理[7-9],結(jié)果如圖1所示。
2 透視變換
透視變換通過將攝像頭采集的圖像信息投影到新的平面,以獲取車道線特征,消除透視形變,用矩陣表示為:
其中,(X,Y,Z) 和(x,y,z)分別表示世界坐標(biāo)系和圖像坐標(biāo)系下的坐標(biāo)值。
視覺采集的車道線圖像是二維像素點,令Z軸數(shù)值為1。將(X,Y)與(x,y)帶入表達(dá)式中可得:
為驗證對應(yīng)點選取的合理性和透視變換算法的有效性,利用Carsim軟件建立理想的道路模型,如圖2(a)所示,通過不斷調(diào)整對應(yīng)點的坐標(biāo),以獲取直線道路上較為良好的透視變換圖像如圖2(b)所示。將該調(diào)整好的變換矩陣應(yīng)用在彎道圖像2(c)上來檢驗效果,結(jié)果如圖2(d)所示。
由實驗結(jié)果分析得出:透視變換圖中越接近底部的車道線越清晰,上方的圖像由于像素點逐漸稀少,車道線稍有模糊。
3 車道線檢測
3.1 基于直方圖車道線粗定位
直方圖的像素點只有兩種色值,分別為表示車道線特征的白色(色值為1)和設(shè)置為黑色的其他部分(色值為0)。通過直方圖統(tǒng)計處理后的圖像如圖3所示。
由圖3可知,直方圖左半邊縱坐標(biāo)峰值點對應(yīng)的橫坐標(biāo)為左車道線起始點的位置。右半邊縱坐標(biāo)峰值點所對應(yīng)的橫坐標(biāo)為右車道線起始點的位置。
3.2 基于滑動窗口法的車道線檢測
基于直方圖的方法進(jìn)行車道線的粗定位后,利用滑動窗口原理,以峰值點的位置作為滑動窗口的起始點,設(shè)定固定大小的窗口,進(jìn)行網(wǎng)格化搜尋圖像中所有車道線的點。
通過窗口滑動進(jìn)行像素點的搜尋,在進(jìn)行第二個窗口滑動搜尋時,以第一個窗口的上邊緣作為第二個窗口的下邊緣。對窗口中的非零像素(白色)個數(shù)加以統(tǒng)計,過濾掉數(shù)目小于設(shè)定值的窗口;大于設(shè)定值則更新窗口位置。此時,所有滑窗中的白點可能屬于待檢測的車道線,如圖4中紅色和藍(lán)色所示。
3.3 曲線擬合處理
分別對所有藍(lán)色像素點和紅色像素點用最小二乘法進(jìn)行曲線擬合,即可得到車道線的曲線方程[10],處理結(jié)果如圖5所示。
3.4 逆透視變換處理
由于處理圖像時使用了透視變換矩陣M得到了車道線圖像的鳥瞰圖,在檢測完車道線后需要利用逆透視變換矩陣Minv將鳥瞰視角下的擬合結(jié)果轉(zhuǎn)換到原始圖像空間[11],并與原圖疊加,處理結(jié)果如圖6所示。
實驗結(jié)果分析可得:基于Carsim建立的理想化道路模型的檢測下,車道線的擬合效果非常好,檢測邊緣與車道線貼合緊密,十分穩(wěn)定,沒有波動。
4 實驗結(jié)果分析
為進(jìn)一步驗證本文提出算法的有效性,在現(xiàn)有的真實道路數(shù)據(jù)集中選取正常無陰影和有陰影、光線急劇變化的道路狀況進(jìn)行實驗測試,檢測結(jié)果如圖7所示。
由實驗結(jié)果分析得出:當(dāng)光線無明暗變換,且路面沒有陰影時,檢測效果較好。當(dāng)彎道工況中出現(xiàn)光線明暗變化或路面有陰影時,車道線的檢測效果較差。
通過上述過程分析得出,由于透視變換前的邊緣檢測不準(zhǔn)確導(dǎo)致在出現(xiàn)光線明暗變化和陰影的條件下,車道線的檢測效果較差。查看2種工況的邊緣檢測圖可以發(fā)現(xiàn),經(jīng)過Canny算子邊緣檢測的處理,將光線明暗交替位置的邊緣像素點以及樹木陰影的輪廓像素全部提取出來,處理圖像如圖8所示。
針對在光線明暗變化或路面有陰影時的彎道工況下,車道線檢測效果較差的問題,本文首先采用HSL和Lab 顏色模型提取車道線的顏色特征。通過HSL和Lab特征融合處理后,分別將車道線的白色和黃色分割出來,再進(jìn)行疊加達(dá)到去噪的目的。增加HSL和Lab顏色模型后處理結(jié)果如圖9所示。
由本文的實驗分析可以得出:通過HSL和Lab特征融合處理不僅能更好地突出車道線信息,而且還能保留邊緣信息。將改進(jìn)后的算法處理前后對比分析如圖10所示。
由圖10的對比分析可以得出:通過HSL和Lab特征融合提取車道線顏色特征、并進(jìn)行后續(xù)處理后,車道線的檢測效果得到了極大的改善,檢測精度與穩(wěn)定性有了很大的提高。
5 結(jié)束語
本文提出的基于改進(jìn)逆透視變換的車道線檢測算法,解決了不同環(huán)境下道路車道線識別出現(xiàn)偏移的問題。實驗表明,本文提出的算法在陰影、光線急劇變化、車道線磨損以及陰影遮擋等干擾較為敏感的路況下,都能夠保證車道線的精確檢測,為智能車實現(xiàn)自適應(yīng)巡航、跟車行駛以及車道保持等功能提供了很好的基礎(chǔ)。
參考文獻(xiàn)
[1]?覃雄臻,魯若宇,陳立明,等. 多場景車道線檢測與偏離預(yù)警方法研究[J]. 機(jī)械科學(xué)與技術(shù),2020,39(9):133-143.
[2] 劉萍,孫耀航. 基于反透視變換的車道線檢測算法[J]. 計算機(jī)與數(shù)字工程,2019,47(3):678-681.
[3] 彭浪. 復(fù)雜道路場景下的多車道線檢測方法研究[D]. 重慶:重慶理工大學(xué),2020.
[4] 唐陽山,徐忠?guī)?,黃賢丞,等. 基于Roberts算子的車道線圖像的邊緣檢測研究[J]. 遼寧工業(yè)大學(xué)學(xué)報(自然科學(xué)版), 2017,37(6):383-386,390.
[5] 蔣一國. 基于GAN的車道線檢測算法研究[D]. 長春:吉林大學(xué),2020.
[6] 謝昌剛,黎向鋒,李堃,等. 基于動態(tài)劃分感興趣區(qū)域的車道線檢測算法[J]. 機(jī)械制造與自動化,2019,48(6):150-154.
[7] 宋揚(yáng),李竹. 基于深度圖像增強(qiáng)的夜間車道線檢測技術(shù)[J]. 計算機(jī)應(yīng)用,2019,39(S2):103-106.
[8] 呼超,汪杰,馮玉松. 基于改進(jìn)Hough變換的夜間內(nèi)側(cè)車道線檢測[J]. 公路與汽運(yùn),2019(6):1-3,8.
[9] 韋唯. 基于單目視覺的車道線識別方法研究[D]. 長春:吉林大學(xué),2015.
[10]李齊權(quán). 車道偏移預(yù)警車道線檢測技術(shù)研究[D]. 成都:成都理工大學(xué),2018.
[11]錢基德,陳斌,錢基業(yè),等. 基于感興趣區(qū)域模型的車道線快速檢測算法[J]. 電子科技大學(xué)學(xué)報,2018,47(3):356-361.