唐陽山,李棟梁,朱停仃,黃賢成
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
測試試驗(yàn)
基于canny和霍夫變換的車道線識別算法研究
唐陽山,李棟梁,朱停仃,黃賢成
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
車道線的識別是車道偏離預(yù)警系統(tǒng)的核心部分,文章提出了基于Canny和霍夫變換的車道線識別算法,主要包括中值濾波、圖像增強(qiáng)、二值化、Canny算子的邊緣檢測和霍夫變換的車道線識別。運(yùn)用該算法,對汽車常用工況下的車道線圖像進(jìn)行識別,實(shí)驗(yàn)結(jié)果表明該算法能較好的識別車道線。
車道線識別;中值濾波;二值化;Canny;霍夫變換
近年來,車道偏離預(yù)警技術(shù)受到國內(nèi)外智能交通行業(yè)的普遍重視,并都取得比較明顯的成果[1],并應(yīng)用于智能交通系統(tǒng)中。車道線是道路交通中最重要的交通標(biāo)識,可以對車輛的行駛起到約束保障的作用。無論是在車輛安全駕駛系統(tǒng)中還是在基于機(jī)器視覺的智能車輛導(dǎo)航中,車道線的檢測與識別都是一個基本的、必須的功能模塊,通過它不僅可以降低交通事故的發(fā)生,而且可以為以后智能交通深入研究提供幫助[2]。因此車道線識別質(zhì)量的好壞將直接影響車道偏離預(yù)警技術(shù)的成功與否。本文提出了基于Canny和霍夫變換的車道線識別算法,并對汽車常用工況下的車道線圖像進(jìn)行識別,實(shí)驗(yàn)結(jié)果表明,該算法能有效準(zhǔn)確地對車道線進(jìn)行識別。
車載 CCD拍攝的道路圖像中,除了能夠獲取車道標(biāo)識線等信息外,還包含了許多無用的信息或者噪聲,因此圖像不能完全體現(xiàn)原來圖像的所有信息,所以必須首先對原始圖像進(jìn)行預(yù)處理,達(dá)到抑制無關(guān)信息、改善圖像質(zhì)量、提取感興趣部分以及突出本文所需要的車道標(biāo)志線信息[3]。
對于車載 CCD獲取的道路圖像,圖像預(yù)處理主要依靠圖像灰度化、濾波、圖像增強(qiáng)等方式盡可能地消除干擾信息,同時也可以減小圖像的存儲容量,提高圖像的處理速度,本文采用加權(quán)平均法對圖像進(jìn)行灰度化,用中值濾波對圖像進(jìn)行去燥,并對去噪后的圖像進(jìn)行圖像增強(qiáng)處理,圖像的預(yù)處理效果如下:
圖1 原圖像
圖2 灰度圖
圖3 中值濾波
圖4 圖像增強(qiáng)
圖像處理中,通常用劃分感興趣區(qū)域,來限定處理的范圍。一是可以減少程序運(yùn)算量,二是可以去除其他區(qū)域中不相干的特征的干擾。在車道線識別的過程中,我們只需要關(guān)注路面信息就足夠了,因此我們可以通過設(shè)置ROI來去除其他區(qū)域的信息。
感興趣區(qū)域(ROI)的設(shè)置和攝像機(jī)安裝的位置有關(guān)。一般情況下,在攝像機(jī)獲得的圖像中,行車路面占圖像畫面的大約1 /2一2/3,消失線(可看作遠(yuǎn)方的地平線)大約在圖像畫面的1/2處,是比較合理的。如圖
圖5 感興趣區(qū)域
經(jīng)圖像增強(qiáng)后的圖像仍為256級灰度圖像,圖像的二值化就是使用閾值法將圖像像素變?yōu)橹挥袃杉?0或1)的圖像,這樣就得到了具有明顯黑白效果的圖像。本文采用的是最大類間方差法(OSTU)求取閾值,然后對圖像進(jìn)行二值化[4]。OTSU是按照圖像某些灰度特點(diǎn),把其整體割成兩塊:背景和目標(biāo)。效果如下圖6:
圖6 二值化
道路圖像邊緣檢測算法有Roberts算子、Log算子、Prewitt算子、Sobel算子和Canny算子。本文采用Canny算子的邊緣檢測方法,其中在邊緣檢測方面,Canny綜合能力最佳,因此,在圖像處理有關(guān)方面,其被得到越來越多的使用[5]。
Canny邊緣檢測具體實(shí)現(xiàn)步驟如下:
(1)用高斯濾波器對待處理的圖像進(jìn)行平滑處理,減小圖像噪聲。濾波器公式如下:
其中,f(x,y)表示輸入圖像,G(x,y)表示輸出圖像,H(x,y)表示選取的高斯濾波器。
(2)計(jì)算梯度的幅度和方向:假設(shè)平滑后的行列濾波器的一階偏導(dǎo)數(shù)為Gx與Gv,它們的計(jì)算公式如下:
可以利用直角坐標(biāo)系到極坐標(biāo)的轉(zhuǎn)換關(guān)系來計(jì)算相應(yīng)的幅值和方位:
(3)抑制非極大值
己經(jīng)計(jì)算出來的某點(diǎn)梯度值越大,但不能說明就是邊緣點(diǎn),因?yàn)槭侨钟?jì)算得到的,還必須通過方向找到像素局部最大位置,在不是極大值處對應(yīng)的數(shù)置零。
(4)檢測
在進(jìn)行邊緣檢測時,都會用到閾值,Canny為了避免此類問題,采用了雙閾值的技巧。在得到一個較大的閾值后,將其應(yīng)于處理之中,得到一個對應(yīng)的結(jié)果。之后的下一步,把邊緣輪廓連到一起。當(dāng)?shù)竭_(dá)線段的兩端時,把滿足另一個較小閾值的點(diǎn)構(gòu)成的輪廓按照同樣的做法,以使整個邊緣閉合。使用該方法,其效果見下圖7。
圖7 邊緣檢測
傳統(tǒng)的車道識別方法包括基于霍夫變換的方法、基于神經(jīng)網(wǎng)絡(luò)的方法、基于模板匹配的方法等,但后兩種方法計(jì)算量巨大、運(yùn)算過程復(fù)雜,故采用霍夫變換?;舴蜃儞Q是模式識別領(lǐng)域中對二值圖像進(jìn)行直線檢測的有效方法,該變換屬于全局性檢測方法,在檢測數(shù)據(jù)點(diǎn)集的共線性時具有較強(qiáng)的抗噪聲能力。
Hough變換檢測直線的基本原理是利用點(diǎn)與線的對偶性來實(shí)現(xiàn)的,如圖8。
圖8 點(diǎn)線對偶型
在圖8左側(cè)所示的(x,y)直角坐標(biāo)系中,一條特定直線可以用下述方程來描述:
其中,k表示直線的斜率,b表示直線的截距,式(6-1)還可以改寫為:
式(6-1)可以看做是參數(shù)空間(k,b)中的一條直線方程,如圖8右側(cè)所示,其中直線的斜率為x,截距為y。
從上面描述可以看出,(x,y)空間中的一點(diǎn)對應(yīng)(k,b)空間中的一條直線(x,y)空間中共線的幾點(diǎn)對應(yīng)的(k,b)空間中的幾條直線相交于一點(diǎn),因此可以選用“投票機(jī)制”,遍歷(k,b)空間中各個點(diǎn)或者區(qū)域的得票數(shù),得票數(shù)高的勝出[6]。
Hough變換的具體編程實(shí)現(xiàn)步驟為:首先選用一個二維數(shù)組類似的數(shù)據(jù)結(jié)構(gòu)用來存儲(ρ,θ)平面參數(shù)值,并將該數(shù)據(jù)結(jié)構(gòu)初始化為 0;然后對道路圖像空間中(也就是(x,y)空間)的每一個像素點(diǎn)進(jìn)行Hough變換,接著對上面使用的數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷,使用相應(yīng)的遍歷算法遍歷所有的 θ,計(jì)算出對應(yīng)的ρ值,這時對應(yīng)點(diǎn)(ρ,θ)所在的數(shù)據(jù)結(jié)構(gòu)就要進(jìn)行加1處理。最后根據(jù)數(shù)據(jù)結(jié)構(gòu)中的數(shù)值,采用閾值法選擇數(shù)值較大的點(diǎn)(ρ,θ),該點(diǎn)就是我們所要尋求的直線所對應(yīng)的點(diǎn)。
按以上方法對圖7進(jìn)行霍夫變換檢測,得出的車道線識別結(jié)果如圖9所示,可以看出車道線的識別效果與實(shí)際情況基本吻合。
圖9 車道線識別
本文針對車道偏離預(yù)警系統(tǒng)的核心部分,提出了完整的車道線識別算法,包括中值濾波、圖像增強(qiáng)、二值化、Canny算子的邊緣檢測和霍夫變換的車道線識別。通過對汽車某一工況下的車道線圖像進(jìn)行識別,驗(yàn)證了算法的可行性。從試驗(yàn)結(jié)果可得,本文提出的車道線識別算法能較好地識別車道線,為車道偏離預(yù)警預(yù)警系統(tǒng)的進(jìn)一步設(shè)計(jì)奠定基礎(chǔ)。
[1] 周磊,任國全,肖浩,等.結(jié)構(gòu)化道路車道線快速檢測的一種改進(jìn)算法[J].計(jì)算機(jī)仿真, 2012(04):362-366.
[2] 田鵬.車道偏離預(yù)警系統(tǒng)關(guān)鍵技術(shù)研究[D].遼寧工業(yè)大學(xué),2016.
[3] 張翀,范新南.基于直線模型的車道線實(shí)時檢測方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2012, 33(01):295-299.
[4] 劉天輝.車輛視覺導(dǎo)航中道路檢測算法研究[D].沈陽工業(yè)大學(xué),2015.
[5] 李大新.基于機(jī)器視覺的車道線檢測識別與車道偏離預(yù)警算法研究[D].山東大學(xué),2012.
[6] 牛明花,張建民,李根.基于機(jī)器視覺的車道線識別算法[J].天津職業(yè)技術(shù)師范大學(xué)學(xué)報,2015, 25(3):16-19.
Lane line recognition algorithm based on hough transform and canny
Tang Yangshan, Li Dongliang, Zhu Tingting, Huang Xiancheng
( Cars and traffic engineering of liaoning university of technology college, Liaoning Jinzhou 121001 )
In this paper, a lane mark recognition algorithm based on Canny and Hough transform is proposed, which includes median filtering, image enhancement, binarization, edge detection of Canny operator and Hough Transformed lane mark recognition.The algorithm is used to identify the lane mark image under certain conditions of the automobile.The experimental results show that the algorithm can identify the lane line better.
Lane recognition; Median filter; Canny; Hough transfer
U462.1
A
1671-7988(2017)22-81-03
10.16638 /j.cnki.1671-7988.2017.22.029
唐陽山,就職于遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院。
遼寧省科技廳聯(lián)合基金項(xiàng)目(201602375)。
CLC NO.:U462.1
A
1671-7988(2017)22-81-03