国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OpenCV的車道線檢測算法改進研究

2023-02-28 08:17曹樂樂金宗毅李明穎孟慶宇
北方交通 2023年2期
關(guān)鍵詞:矩形車道灰度

羅 恒,曹樂樂,金宗毅,李明穎,孟慶宇

(1.大連工業(yè)大學(xué) 大連市 116000;2.中鐵建電氣化局集團軌道交通器材有限公司 常州市 213000)

0 引言

基于計算機視覺的車道線檢測是自動駕駛領(lǐng)域中的一個重要組成部分。溫云燕等[1]通過小車仿真實驗驗證圖像處理算法在車道檢測中的效果,由于車道模型簡單,忽視了行人、車輛等客觀因素帶來的干擾,不具有很強的說服性。張勇等[2]基于RGB圖像灰度處理后進行Canny邊緣檢測,這種檢測在復(fù)雜路況,不能準(zhǔn)確識別車道線并排除無關(guān)因素影響。王文豪等[3]通過攝像機采集圖像并對原始圖像進行了標(biāo)定,獲得無畸變圖像后進行圖像處理,但在ROI區(qū)域的劃定上模棱兩可,如果在復(fù)雜路況不能快速選定特征點時,容易造成檢測異常,不能準(zhǔn)確識別車道。李軍等[4]使用速度更快的漸進概率Hough變換(PPHT)識別車道線,卻難以避免車道線的誤檢和漏檢。但是基于機器學(xué)習(xí)的方法計算復(fù)雜且需要依賴大量樣本數(shù)據(jù),考慮到實際路況復(fù)雜多變,計算成本太高,難以滿足自動駕駛對車道信息的及時處理和實時反饋需要[5]。

基于上述車道檢測研究現(xiàn)狀,采用基于OpenCV函數(shù)庫的算法對車道線進行檢測,采用的面積和外接矩形過濾算法可以達到對車道線精準(zhǔn)檢測的目的,此方法可以為自動駕駛領(lǐng)域內(nèi)的車道線檢測提供更加便捷高效的檢測路徑。

1 車道線識別檢測的基本步驟

車道線檢測主要包括車道線圖像采集,圖像的預(yù)處理,圖像特征區(qū)域的Canny邊緣檢測,霍夫直線檢測[6]和直線擬合等步驟,最終實現(xiàn)車道線的在線識別與檢測。以行車記錄儀拍攝為素材進行車道線檢測,使用OpenCV函數(shù)庫中的VideoCapture.read()函數(shù)來讀取視頻,再通過簡單的設(shè)置獲得車道線實時圖像。

2 車道線預(yù)處理

由于在獲得的車道線實時圖像中包含許多噪聲和無關(guān)特征,需要對原始圖像進行預(yù)處理操作,如圖1所示,經(jīng)過預(yù)處理的圖像可以有效地消除圖像中無關(guān)信息,提高車道線檢測的準(zhǔn)確性。

圖1 車道線預(yù)處理流程圖

2.1 圖像的灰度化處理

彩色圖像中的每一個像素點都是由R、G、B三個分量共同決定。而灰度圖像是一種特殊的彩色圖像,它只有一個通道256個灰度等級。經(jīng)過灰度處理的彩色圖像,可以最大限度簡化圖像處理的工作量,還能保證圖像的基本信息不丟失。目前灰度化處理常用的方法有以下幾種:

最大值法 Gary(i,j)=max{R(i,j),G(i,j),B(i,j)}

(1)

平均值法 Gary(i,j)=[R(i,j)+G(i,j)+B(i,j)]/3

(2)

加權(quán)平均法 Gary(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)

(3)

由于最大值法獲得的灰度圖像亮度較高,會丟失很多圖像細(xì)節(jié),而經(jīng)過平均值法獲得的灰度圖像會丟失一部分亮度信息,又考慮到人眼對綠色比較敏感,對藍色不太敏感,所以選用加權(quán)平均法進行圖像的灰度化處理,如圖2所示。

圖2 加權(quán)平均法灰度圖

2.2 圖像的去噪處理

圖像在數(shù)字化和成像過程中會受到外界環(huán)境的影響產(chǎn)生噪聲,這些噪聲會模糊圖像特征,在進行車道線檢測前,需要對圖像進行降噪處理??臻g域局部濾波器是圖像最為常用的一類降噪濾波器。這類濾波器比較經(jīng)典的濾波算法有均值濾波、高斯濾波、中值濾波和雙邊濾波,其中均值濾波和高斯濾波[7]為線性濾波,中值濾波和雙邊濾波為非線性濾波。

均值濾波的不足是圖像在去噪的同時也破壞了圖像的細(xì)節(jié),使圖像變得模糊。高斯濾波器的不足是在降噪的同時也會對圖像邊緣信息進行平滑處理。中值濾波是一種非線性濾波,缺點是易造成圖像的不連續(xù)性。

選用既能平滑降噪,又能保存邊緣信息的雙邊濾波進行圖像去噪。雙邊濾波是一個非線性濾波,采用的是加權(quán)求和的方法,其權(quán)值矩陣由一個與空間距離相關(guān)的高斯函數(shù)和一個與灰度距離相關(guān)的高斯函數(shù)相乘得到,如圖3所示。

圖3 雙邊濾波降噪圖

空間域核:由像素位置歐式距離決定的模板權(quán)值ωd,p(k,l)為模板窗口中心點坐標(biāo),q(i,j)為模板窗口其他系數(shù)坐標(biāo),σd為高斯函數(shù)標(biāo)準(zhǔn)差。

(4)

值域核:由像素值的差值決定的模板權(quán)值ωr,f(k,l)為模板窗口中心坐標(biāo),f(i,j)為模板窗口其他系數(shù)坐標(biāo),σr為高斯函數(shù)標(biāo)準(zhǔn)差。

(5)

將上述兩個模板相乘就得到了雙邊濾波器的模板權(quán)值, 因此,雙邊濾波原理的數(shù)學(xué)表達式為:

(6)

2.3 Otsu二值化

圖像經(jīng)過雙邊濾波去噪后,為了更好地提取圖像特征,需要對圖像進行二值化處理,傳統(tǒng)圖像分割方法有基于閾值、邊緣、區(qū)域、圖論等4類算法,選用閾值分割算法中的Otsu算法[8],背景和前景的分界值就是我們要求出的閾值。遍歷不同的閾值,計算不同閾值下對應(yīng)的背景和前景之間的類內(nèi)方差,當(dāng)類內(nèi)方差取得極大值時,此時對應(yīng)的閾值就是大津法所求的閾值,如圖4所示。

圖4 Otsu二值化圖像

最佳閾值的評估標(biāo)準(zhǔn)稱為類間方差,在閾值T下的類間方差公式為:

(7)

2.4 圖像的形態(tài)學(xué)處理

通過Otsu二值化處理后,為了更好地進行特征檢測,需要對圖像進行形態(tài)學(xué)處理,常用的形態(tài)學(xué)算法有腐蝕、膨脹、開運算、閉運算、頂帽等。選用形態(tài)學(xué)處理中的開運算來優(yōu)化圖像特征,開運算先進行腐蝕增加黑色面積,后進行膨脹增加白色面積。經(jīng)過形態(tài)學(xué)處理的圖像會過濾掉一些孤立的區(qū)域,減少了特征檢測的干擾,增大了特征檢測的準(zhǔn)確性。

2.5 獲得車道線ROI區(qū)域

經(jīng)過形態(tài)學(xué)處理后,為了排除道路兩旁車輛、樹木以及前方車輛的干擾,需要劃定ROI[9](region of interest)區(qū)域剔除無關(guān)信息,作為后續(xù)檢測算法的圖像輸入。

目前在車道檢測領(lǐng)域的ROI圖像分割方法主要是固定比例(區(qū)域法),該方法是依據(jù)行車圖像中兩旁車輛、樹木等分布情況觀察和總結(jié),采用某一種固定比例(區(qū)域)對車道線圖像進行分割。例如文獻[10]采用的是靠近圖像底部的2/3區(qū)域作為檢測的ROI區(qū)域。根據(jù)行車記錄儀圖像特點,將目標(biāo)區(qū)域縮小為上窄下寬的梯形區(qū)域,這種選擇更貼合實際車道在圖像中的位置,檢測性能也更好,見圖5。

圖5 ROI區(qū)域掩膜圖

2.6 圖像特征篩選

在獲得車道線ROI區(qū)域后,為了更好地獲得特征區(qū)域,篩選掉其它因素干擾,采用面積過濾、外界矩形過濾等方法,篩選出需要的特征區(qū)域。

在提取特征目標(biāo)時將面積較小的區(qū)域屏蔽掉,采用OpenCV的這個函數(shù)庫中的ContourArea函數(shù)求面積,這個面積指的是連通域輪廓線所包含的區(qū)域的面積,輪廓線包含N個頂點,這些頂點的位置是對應(yīng)像素的中心點,面積就是從這些個中心點開始算,如圖6所示,每個方格代表一個像素,圖示彩色部分面積為3.5個像素單位。通過多次圖像處理驗證,得出過濾面積小于等于5個像素單位面積時,就能很好地過濾較小面積,不會對特征區(qū)域造成干擾。

圖6 像素面積原理圖

經(jīng)過面積過濾后,可以把形態(tài)學(xué)操作和ROI區(qū)域未處理掉的細(xì)小區(qū)域過濾,對于面積較大的非特征區(qū)域過濾還需要考慮其它方式,如圖7所示。結(jié)合實際情況,對ROI區(qū)域內(nèi)的圖像特征進行外接矩形,判定靠近ROI圖像左邊區(qū)域的矩形左上角頂點的x坐標(biāo),靠近ROI圖像右邊區(qū)域的矩形右上角頂點的x坐標(biāo),以及外接矩形中心位置x坐標(biāo)與ROI圖像寬度之間的關(guān)系。一般情況下,進行ROI區(qū)域劃分。左右兩側(cè)有車輛行駛時,獲得的干擾區(qū)域會靠近ROI圖像兩側(cè)邊緣,調(diào)整閾值,選取左側(cè)外接矩形x坐標(biāo)落在[0,1/6 width],選取右側(cè)外接矩形x坐標(biāo)落在[5/6 width,1],左側(cè)外接矩形中心點坐標(biāo)落在[0,1/5 width],右側(cè)外接矩形中心點坐標(biāo)落在[4/5 width,1],width為ROI圖像像素寬度,同時考慮外接矩形的寬高比是否大于1來過濾,如圖8所示。

圖7 面積過濾前后對比圖

圖8 外接矩形過濾前后對比圖

3 Canny邊緣檢測

對車道線圖像進行預(yù)處理后,需要對預(yù)處理后的圖像進行邊緣檢測,選用抗干擾性強、計算復(fù)雜度低的Canny邊緣檢測算子。

Canny邊緣檢測算法主要步驟有以下四步:

(1)使用高斯濾波使圖像平滑,濾除圖像中存留噪聲。

(2)用Sobel算子計算,得到邊緣及其方向。

(3)對梯度幅值進行非極大值抑制,細(xì)化邊緣。

(4)用雙閾值檢測算法消除偽邊緣,連接邊緣。

4 霍夫直線檢測及圖像融合

經(jīng)過Canny邊緣檢測后的圖像,只能得到圖像中的一些邊緣像素點,需要對這些邊緣點進行篩選,考慮到車道線均為直線段,采用霍夫直線檢測篩選。

理論上直線可以在直角坐標(biāo)系中表示,也可以在極坐標(biāo)系中表示,但是當(dāng)直線接近垂直時,直線斜率會趨于無窮大,為了克服這個困難,選擇在極坐標(biāo)下表示直線。

ρ=xcosθ+ysinθ

(8)

式(8)中(x,y)為直角坐標(biāo)系直線上一點,ρ為原點到直線的距離,θ為原點到直線距離與x軸的夾角。在極坐標(biāo)系中給定兩個參數(shù)ρ和θ,就代表直角坐標(biāo)系中的一條直線。而對于直角坐標(biāo)系中的某一點來說,其ρ和θ的值不是固定的,因為過此點的直線可能有很多條,每條的ρ和θ的值也可能不同,因此,直角坐標(biāo)系中的一個點對應(yīng)參數(shù)方程中的一條曲線,如圖9所示。

圖9 霍夫變換原理圖

經(jīng)過變換,圖像空間中的每一個點(x,y)都映射為極坐標(biāo)中的一條正弦曲線,且圖像空間中共線的點在極坐標(biāo)系中的正弦曲線相交于一點。如果交于一點的曲線的數(shù)量超過了閾值,則認(rèn)為是一條直線。選用OpenCV函數(shù)庫中的HoughLinesP函數(shù)檢測圖像中的直線。

根據(jù)斜率,將左邊和右邊的點分別用最小二乘法線性擬合,把斜率絕對值小于0.5的線舍去,將檢測到的線分為左右兩組,并在與原圖像相同尺寸、相同通道的掩膜圖像中畫出車道線,最后用OpenCV函數(shù)庫中的addWeighted函數(shù)把掩膜圖像與原圖像進行合并,完成車道線實時檢測,如圖10所示。

圖10 車道線檢測圖

最后將上述圖像處理與檢測的過程封裝在一個函數(shù)里,對每一幀圖像都執(zhí)行封裝函數(shù),得到的返回值是處理后的圖像,這樣用行車記錄儀拍攝的視頻就完成檢測車道線的任務(wù)。

5 結(jié)論

車道線檢測技術(shù)是自動駕駛的關(guān)鍵技術(shù)之一,使用Python語言和調(diào)用OpenCV庫,在Pycharm開發(fā)環(huán)境中編寫,通過代碼編譯,算法整合,最終實現(xiàn)了在白天、黑夜、有障礙等環(huán)境中的成功檢測與準(zhǔn)確識別,達到了此次研究的目的,為自動駕駛領(lǐng)域內(nèi)的車道線檢測提供更加便捷高效的方法。

猜你喜歡
矩形車道灰度
采用改進導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
北斗+手機實現(xiàn)車道級導(dǎo)航應(yīng)用
避免跟車闖紅燈的地面車道線
淺談MTC車道改造
兩矩形上的全偏差
化歸矩形證直角
從矩形內(nèi)一點說起
基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
基于灰度線性建模的亞像素圖像抖動量計算
低速ETC/MTC混合式收費車道的設(shè)計與實現(xiàn)