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

?

基于光流法與背景建模法融合的車道線識別算法研究

2021-04-12 06:48都雪靜張美歐
關鍵詞:像素點高斯車道

都雪靜,張美歐

(東北林業(yè)大學 交通學院,哈爾濱 150040)

目前,國內外車道線識別的主要研究集中在基于模型的方法和基于特征的方法兩大類?;谀P偷姆椒ㄖ饕谢舴蜃儞Q[1-2]、最小二乘法[3-4]等,通過建立直線或者曲線模型來檢測車道線。P.Pankiewicz等[1]運用霍夫變換的方法對車道線進行檢測,引入并行計算提高識別效率,但此種方法受陰影和車輛的干擾影響較大,導致非車道線像素點混入,在增加計算量的同時,降低了車道線識別的精度。許華榮等[4]應用Canny邊緣檢測算法提取道路邊緣,將B樣條曲線模型與最小二乘法結合,配合霍夫變換的方法計算出道路中央線,此方法檢測的效率不高。而基于特征的方法主要是通過圖像的特征查找搜索車道線,例如線段檢測器[4-6]、消失點投票法[7]等。Gioi R G V等[6]運用線段檢測器提取所有潛在的車道線,結合K-Means聚類法和輔助判定條件,獲得最佳車道線檢測結果,但此種方法在車道線不連續(xù)時,準確性不高。Kong H等[7]和Rasmussen C[8]運用消失點投票法,通過投票在預定義區(qū)域來估計消失點,但在位置變換迅速的情況下不能準確地估計消失點。

針對無人駕駛車輛在在動態(tài)背景下車道線的識別效率,本文采用光流法與背景建模相融合的方法,排除背景無關像素的干擾,在一定程度上提高車道線識別的效率和效果。

1 圖像預處理

1.1 相機的標定與圖像校正

在機器視覺應用中,由于光線投射導致實際對象物體跟投影到2D平面的圖像不一致,因此,需要對相機進行標定,計算出畸變參數(shù)實現(xiàn)對后續(xù)圖像的畸變校正。本文使用OpenCV(開源發(fā)行的跨平臺計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上)中封裝好的函數(shù)實現(xiàn)相機的標定與校正。OpenCV源碼在其sample/data目錄下面有一個自帶的校準棋盤圖(chessboard.png),如圖1(a)所示,將其打印出10張,擺放于鏡頭前的不同位置進行測試,通過棋盤格圖片組計算出相機校正矩陣(camera calibration matrix)和失真系數(shù)(distortion coefficients)。有了目標點和圖像點的角點信息后,利用OpenCV中的API(應用程序編程接口)矯正每1幀圖片,則返回值是無畸變的圖像。其中某一位置的棋盤格圖片和角點識別后的棋盤格圖片,如圖1(b)(c)所示。校正后的棋盤格圖片如圖1(d)所示。

圖1 棋盤格矯正圖像

1.2 視頻圖像導入

無人駕駛車輛在行駛過程中,車道線的檢測是動態(tài)且實時的,本文運用OpenCV中的VideoCapture函數(shù),通過數(shù)字控制不同的設備,改變函數(shù)的內置參數(shù)來捕獲攝像頭的實時視頻流,通過循環(huán)代碼不斷顯示下一幀圖像,進而進行后續(xù)的處理操作。

2 基于光流法的車道線檢測

2.1 方法概述

一般來說,光流是由于場景中前景目標本身的移動,相機的運動,或者兩者共同的運動產生的,是指空間運動物體在觀測成像平面上的像素運動的“瞬時速度”,利用圖像序列中像素強度的時域變化和相關性確定各個像素點的速度矢量特征[7],從圖片序列中近似得到不能直接獲得的運動場,可以對圖像進行動態(tài)分析,在車道線的檢測中,運用光流估計法觀測車道線像素點的速度矢量特征進行檢測,在檢測的復雜度和實時性方面,都優(yōu)于運用Canny算子、Sobel算子或復合算子等算子提取圖像邊緣信息。本文采用光流估計算法(lucas-kanade,LK)實時動態(tài)地預估車道線的范圍,提取感興趣區(qū)域的范圍,進一步縮小車道線的范圍后再使用圖像分割算法,提高車道線識別的精度,最后在視頻圖像上進行標注。

2.2 Lucas-Kanade光流估計算法

在車道線的檢測過程中,由于視頻圖像中,前提假設為車道線像素點在相鄰幀之間的亮度是近似恒定的,且受車輛行駛速度的限制,相鄰幀之間車道線像素點的運動比較“微小”,此外,同一個子圖像的像素點具有相同的運動,滿足Lucas-Kanade光流估計算法的前提假設。同時,車道線像素點的運動小且較為簡單,因此其光流并不稠密,運用Lucas-Kanade光流估計算法識別車道線可以滿足其精度要求[9-15]。

2.2.1 基本模型

設t時刻位于點(x,y)的像素值為I(x,y),在t+d t時刻其位置(x+d x,y+d y)在的像素值為I(x+d x,y+d y),由于相鄰幀之間像素點的運動比較微小,因此:

泰勒展開后得到:

因此可以得到:

式中:u為像素點x軸的運動速度;v為像素點y軸的運動速度。

即:

因其同一個子圖像的像素點具有相同的運動,將其拓展到更多像素即可得到:

若窗口大小為n*n,則共有n2個像素,n2個方程:

2.2.2 背景建模

在車道線檢測過程中,需要將車道線信息作為前景,而車輛行駛過程中,天空中云朵的運動,道路兩旁樹的運動等需要將其作為背景濾除,因此本文針對圖像中的背景采用混合高斯模型(GMM)進行模擬,區(qū)分出背景和前景像素。

假設混合高斯模型由k個高斯模型組成,則GMM的概率密度函數(shù)為:

式中:p(x|k)=N(x|uk,∑k)是第k個高斯模型的概率密度函數(shù),p(x|k)=是第k個高斯模型的權重。

在遍歷像素點的過程中,如果該像素值能夠匹配其中的一個高斯模型,則認為是背景,否則認為是前景。主要算法步驟如下:

1)初始化高斯模型矩陣參數(shù)。

2)截取視頻中t幀圖像用來訓練高斯混合模型。遍歷第一個像素時將它作為第一個高斯分布。

3)遍歷后續(xù)像素值時,與前面已有的高斯的均值比較,如果該像素點的值與其模型均值差在3倍的方差內,則屬于該分布,并對其進行參數(shù)更新。

4)如果下一次來的像素不滿足當前高斯分布,用它來創(chuàng)建一個新的高斯分布。

5)對新來像素點的值與混合高斯模型中的每一個均值進行比較,若其差值在3倍的方差內,則認為是背景,否則認為是前景。將前景賦值為255,背景賦值為0。視頻中某一幀原圖如圖2(a)所示,處理后可以得到前景二值圖,如圖2(b)所示。

圖2 背景處理圖像

2.2.3 高斯濾波去噪

從圖2(b)中可以看到,道路中央存在許多細小的不穩(wěn)定噪音點,例如在路中央及車道線附近由于部分像素點光照條件的不同產生細小的噪音點,需要將其消除,以免干擾后續(xù)對車道線的提取操作。常用的濾波器有均值濾波、中值濾波和高斯濾波[16]。均值濾波使用模板內所有像素的平均值代替模板中心像素的灰度值,容易受到噪聲的干擾,不能完全地消除噪聲,只能相對地減弱噪聲;中值濾波通過計算模板內所有像素中的中值并用其替代模板中心像素的灰度值,對于噪聲并不是很敏感,只能夠較好地消除椒鹽噪聲,容易導致圖像的不連續(xù)性;高斯濾波將圖像領域內不同位置的像素賦予不同的權值,能夠較好地保留圖像的總體灰度分布特征,因此,本文在背景建模后,進一步通過高斯濾波消除道路細小噪音點,如圖3所示。

圖3 高斯濾波后的前景二值圖

3 車道線的識別與標注

3.1 自適應ROI分割方法

由于車輛行駛道路環(huán)境比較復雜且在時刻變化著,因此為了保證車道線識別的實時性,縮短不必要像素的處理時間,增加識別精度,需要對視頻圖像進行ROI感興趣區(qū)域的分割。傳統(tǒng)的固定區(qū)域的ROI分割方法基于先驗知識,將道路圖像的上半部分作為背景,下半部分作為路面部分,雖然分割方法簡單方便,但是對道路的要求較高,局限性較大,容易導致道路幾何形狀信息的丟失,識別結果不夠魯棒[17]。

本文運用基于邊緣統(tǒng)計特性的自適應ROI分割方法,先使用OpenCV中的Canny邊緣檢測,Canny邊緣檢測通過高斯濾波器平滑圖像,進一步濾除噪聲,計算出每個像素點的梯度強度和方向,使用非極大值(Non-Maximum Suppression)抑制,消除雜散響應,應用雙閾值(Double-Threshold)檢測確定真實的和潛在的邊緣,最后抑制孤立的弱邊緣完成邊緣檢測,可以較為準確地得到邊緣圖像,如圖4所示。

在道路圖像中,越靠近車輛的部分,路面所占的比例越大,圖像的內容越簡單。距離車輛越遠的圖像越復雜,延伸到地平線的部分,道路背景產生的無效邊緣越多,利用此邊緣點的統(tǒng)計特性來確定感興趣區(qū)域,識別出車道區(qū)域。

圖4 道路邊緣檢測圖像

根據路面處于視頻道路圖像下方的先驗知識,將圖像分為兩部分,下半部分作為ROI分割線的搜索區(qū)域,將邊緣點的像素賦值為1,若某點為邊緣點,則Sij取值為1,統(tǒng)計ms行n列搜索區(qū)域內每行邊緣點的個數(shù)Si,即:

假設第l行的邊緣點個數(shù)最多,則將具有特征點個數(shù)最多的行Pl作為ROI分割線l,即:

運用上述圖像分割方法,可以得到ROI分割線,如圖5所示。

圖5 自適應ROI分割圖像

3.2 車道線檢測

3.2.1 透視變換

采用仿射變換,可以保持原來的線共點、點共線的關系不變,保持原來相互平行的線仍然平行,保持原來的中點仍然是中點,保持原來在同一直線上的幾段線段之間的比例關系不變[17-20]。因此,可以將感興趣區(qū)域的圖像轉變?yōu)楦┮晥D,計算出道路曲率,調用OpenCV的cv2.get Perspective Transform函數(shù)返回轉換的矩陣M,Minv是反轉換矩陣,warped是轉換后車道線鳥瞰圖方便后續(xù)劃窗多項式擬合對車道線進行定位。此種方法能夠找到多條車道線,實時性比較好。仿射變換后,車道線的俯視圖如圖6所示。

圖6 仿射變換后的道路車道線圖像

3.2.2 車道線位置定位

計算出鳥瞰圖的像素直方圖,在像素最多的位置作為車道線的起始位置,然后定義200*200像素的2個窗口向上做滑窗操作,以搜尋起始點作為當前搜尋的基點,并以當前基點為中心,做一個網格化搜尋,求出每個窗口中像素點的x和y坐標作為車道線的x、y坐標,當前窗口像素的平均x坐標作為下一個滑窗的中心位置,并對這些中心點做一個2階的多項式擬合,得到當前搜尋對應的車道線曲線參數(shù),用cv2.fitpoly函數(shù)擬合車道線曲線方程。

搜尋基點計算完畢后,需要將其進行更新,利用2階多項式逼近之后,得到像素點x的坐標:

令y=img·height,即可更新搜尋基點。多次迭代計算后,可以得到若干個曲線方程,再用之前的參數(shù)方程進行平滑處理,而后,將曲線方程離散化后的坐標點取均值,再做2階多項式逼近。有了曲線的方程,進而可以根據曲線的曲率半徑的公式計算道路曲率Rcurve:

車道線擬合后,運用標線將車道線進行標注,并且畫出直線圍成的區(qū)域進行高亮,將其顯示在原圖上。

4 識別算法結果分析

為了驗證本文提出的方法,就識別效果與識別效率進行對比分析。

4.1 識別效果對比分析

4.1.1 背景濾除效果

由于車道線顏色為白色和黃色,運用二進制閾值化和閾值法化為0對圖像背景進行濾除,效果如圖7所示。

圖7 閾值化處理圖像

以上2種方法在區(qū)分與車道線相近顏色的天空、云朵等背景時效果不佳,且在出現(xiàn)陰影遮擋車道線時,會出現(xiàn)車道線丟失的狀況,而結合光流法和背景建模方法濾除背景,能夠在動態(tài)情境中更加明顯地突出車道線,將背景中運動微小的部分剔除,效果更加穩(wěn)定。

4.1.2 去噪效果

結合光流法與背景建模法濾除背景得到前景二值圖后,圖像中存在較多不穩(wěn)定的噪音點需要濾除,對比均值濾波與高斯濾波,如圖8所示。運用均值濾波使圖像的邊界更加柔和,但道路中央的細小噪音點的去除效果不佳,相比高斯濾波器,對道路中的噪音點濾除效果較好,且車道線并沒有模糊化,方便后續(xù)的處理。

圖8 去噪后的圖像

4.2 算法效率分析

為了驗證算法的識別效率,本文統(tǒng)計了算法改進前后的識別耗費時間,進而對比出識別效率,如表1所示。

表1 算法識別效率

結合光流法與背景建模法進行車道線識別,在保證識別效果的前提下,對算法的運行效率進行了一定的提升,本文提出的算法主要簡化了前期圖像處理的復雜度,縮小了感興趣區(qū)域的范圍,在一定程度上提升了車道線定位與標記的準確度。

4.3 算法精度分析

為了驗證算法的識別精度,將識別后的道路圖像轉換為鳥瞰圖,如圖9所示,計算其中心線,取其特征點與實際車道中心線的x軸位置坐標相對比,將中心線特征點x軸坐標與實際中心線x軸位置坐標之比轉化為百分比作為其精度評價指標,進而計算出其精度數(shù)據,具體數(shù)據如表2所示。

圖9 標注車道線后的鳥瞰圖

表2 算法識別精度

5 結論

本文中提出的結合光流法和背景建模的車道線識別算法,對比連續(xù)視頻幀中車輛前方的背景的相對運動,濾除微小背景物體,突出前景車道線圖像,并且為了減少計算量,對圖像進行自適應的ROI分割,有效地提高了車道線識別的效果和效率,改進后的算法效率提升了43.9%。此算法為后續(xù)機器學習提升其識別的效率與精度提供了基礎,在采集大量的道路數(shù)據集對其進行訓練后,能夠進一步提升識別的準確率,以達到在各種路況中準確識別車道線的要求。

猜你喜歡
像素點高斯車道
北斗+手機實現(xiàn)車道級導航應用
避免跟車闖紅燈的地面車道線
基于局部相似性的特征匹配篩選算法
淺談MTC車道改造
數(shù)學王子高斯
天才數(shù)學家——高斯
基于5×5鄰域像素點相關性的劃痕修復算法
基于canvas的前端數(shù)據加密
基于逐像素點深度卷積網絡分割模型的上皮和間質組織分割
從自卑到自信 瑞恩·高斯林