?

基于行距離及粒子濾波的車道線識別算法

2020-05-08 05:08楊金鑫謝純祿
關鍵詞:車道坐標系濾波

楊金鑫, 范 英, 謝純祿

(太原科技大學 交通與物流學院, 山西 太原 030000)

在無人駕駛視覺感知方面,車道線識別技術是重要的一個應用,一個優秀的車道線識別算法必須保證在多種路況下識別的可靠性和魯棒性.

當前,國內外學者提出的車道線檢測算法主要包括2部分: ① 傳統車道線檢測算法; ② 基于機器學習的檢測算法.傳統車道線檢測也可分為2類:基于特征與基于模型的檢測方法,U. SUDDAMALLA等[1]利用車道線像素強度與邊緣梯度,通過自適應閾值檢測車道線.J. M. COLLADO等[2]根據車道線的幾何特征及Hough Transform對車道線進行檢測.DENG J. Y.等[3]將車道線分成遠端和近端2部分,近端根據直線模型擬合車道線,遠端利用B樣條對車道線進行擬合.傳統車道線檢測在特定環境下檢測性能良好,但對于復雜環境下魯棒性較低.在機器學習方面,M. REVILLOUD等[4]根據駕駛員行為建立置信度網絡和多機構檢測模型.PAN X. G.等[5]提出通過上下文特征的設計網絡架構傳遞空間信息對車道線進行檢測,并公布了一個大型車道線標記數據集.機器學習的方法大多不需要人工提取特征,需要大量計算空間,且算法優化較難,J. RUYI等[6]構造了3D車道線模型,需要優化的參數較多.

為了解決上述方法出現的問題,筆者在圖像行距離[6]的基礎上建立一個簡單車道線模型,并利用粒子濾波來進行車道線檢測.此方法利用行距離可將車道線虛線部分連接起來,從而得到一個連續的車道線信息,有利于算法迭代運行.通過建立一個簡單的車道線模型聯合粒子濾波,可以很好地追蹤車道線邊界點,以適應復雜的城市道路環境.

1 簡單車道線模型

現實環境中道路狀況復雜,一個嚴格的車道線模型無法適應多種路況.因此可根據先驗知識來簡化道路模型,提出一種簡單車道線模型如下: ① 假設車道線由左右兩條曲線組成,且曲線均連續; ② 假設車道線寬度在一定路況中變化微小; ③ 假設車道平面水平,車道線邊界光滑根據以上假設構建的車道線模型如圖1所示.

圖1 車道線模型

圖1中:W0為逆透視圖像下車道線的計算寬度;Pc為車道線每行的中點;PL為左車道線邊界點;PR為右車道線邊界點.通過W0和Pc可算出PL與PR,即

(1)

2 圖像預處理

2.1 圖像二值處理

實際環境中路況會受到類車道線、光照變換等噪聲干擾,單純的圖像二值化無法適應多變的環境.由相機直接采集的圖片數據色彩空間是RGB格式,當對其灰度圖進行二值化時,魯棒性較差,而車道線亮度明顯高于其他部分,因此可采用HSV的色彩空間,并提取其中的V通道進行灰度處理,為突出車道線部分需要分離出前景和背景,計算方法如下:

G(x,y)=HV(f(x,y)),

(2)

(3)

Im(x,y)=G(x,y)+G(x,y)-G(x,y-s)-
G(x,y+s)-|G(x,y-s)-G(x,y+s)|,

(4)

(5)

式中:G(x,y)為新的灰度圖;f(x,y)為尺寸是N×M的RGB圖片;HV為HSV格式中的V通道處理函數;Bm為亮度均值;s為平移常量,設定s=8 pix;Im(x,y)為簡單濾波器[7].

為了提高濾波效果可根據Bm做進一步判斷,然后利用簡單二值處理得到最終二值圖像.

2.2 逆透視圖像

單目相機基于單孔模型建立,因此拍攝的圖片不能真實反映大地坐標系下車道線平行且等寬的物理特性.為了令車道線模型可迭代運行,需進行車載相機的標定,假設路面平坦,利用標定后求解得到的單目相機的內參和外參,獲得世界坐標系點與圖像坐標系點之間的關系,即單應性矩陣,從而可得到逆透視圖像.世界坐標系、相機坐標系和圖像坐標系位置關系如圖2所示[8].

圖2中:Fw=(Xw,Yw,Zw)為世界坐標系;Fc=(Xc,Yc,Zc)為相機坐標系;Fi=(u,v)為圖像坐標系;α與β分別為相機相對于車輛的俯仰角和偏轉角;h為相機相對于大地平面的高度.利用相機內參焦距(fu,fv)和光學中心(cu,cv)可得圖像點到世界坐標點的單應性矩陣[8],即

(6)

式中:c1=cosα;c2=cosβ;s1=sinα;s2=sinβ.

也容易得到世界坐標系點到圖像上的單應性矩陣,即

(7)

根據Tig可得W0=80 pix.二值化的逆透視圖像如圖3所示.

圖2 逆透視坐標變換

圖3 二值化的逆透視圖像

3 行距離計算

實際路況中常含有虛線車道線,為了將虛線連接成連續的直線,突出車道線狹長的特征,在二值化的基礎上對圖像中每個像素進行行距離計算[9].令車道線邊緣點像素值為255,對圖像中每個像素點求距離它最近像素值為255的點,即

D(I(x,y),Iedge(xedge,yedge))=|x-xedge|,

(8)

d=minD(I(x,y),Iedge(xedge,yedge)),

(9)

式中:Iedge(xedge,yedge)為車道線邊緣點;x為像素點的橫坐標.

將計算后的距離d放入I(x,y)的位置中,令像素值為255點的行距離d=0.因為邊緣點有可能在像素點的左側或者右側,可得

L=x-xedge,

(10)

式中:L為不包含絕對值的距離,L為正值表明像素點在邊緣點的右側,反之為左側.

將L保存到另一個與輸入圖片尺寸相同的矩陣K中,留存使用.行距離圖如圖4b所示,由于像素為255點的距離值為0,距離邊緣點越遠的點其d值越大,反映到圖中的情況就是車道線部分成黑顏色區域,兩車道中間部分d相對較大,則為白色區域.

圖4 逆透視圖像及行距離圖

從圖4可以看出:逆透視圖中虛線通過行距離運算連接了起來,利于使用粒子濾波進行迭代處理.

4 利用粒子濾波進行車道線檢測

首先利用行距離步驟中的K矩陣進行初始粒子搜尋,在車道區域內部從左往右,先是距離左側車道線較近,然后在向右移動的過程中L的值增大,在某一點達到最大值,根據式(1),L突然變成負值,直至達到右側車道線變成0.這樣就可以找到車道中點的初始粒子位置,如圖5所示.

圖5 搜尋初始粒子

根據初始車道中心粒子位置xc0,以及根據逆透視計算得到的W0,可得初始粒子狀態X0(xc0,W0).

將粒子濾波[10]應用在建立的車道線模型中,狀態向量為X=(xcn,Wn)T,式中:xcn為迭代后的粒子x向坐標;Wn為迭代后的車道線寬度.根據動態線性模型,可得下一個粒子的更新狀態,即

Xin=AXi(n-1)+kn,

(11)

式中:X為粒子狀態;i為候選車道點索引;A為2×2的單位矩陣;因為假設路面是水平的,故kn為一個滿足高斯分布的隨機向量.

在測量階段,每一個粒子會按照觀測模型分配一個權重,每一次迭代僅在y方向上進行,有

ycn=yc0+nΔ,n=0,1,…,N,

(12)

式中:ycn為迭代后粒子的y坐標;yc為粒子初始y向位置;N,Δ分別為候選車道點個數和搜索框個數,根據實際情況,設定N=23個,Δ=20 pix.

模型基于行距離圖建立.由行距離得知,車道線中心值較大,車道線上的值很小,因此可計算每個粒子按Wn在J內的行距離之和Si,設定J=20,可得

(13)

式中:g為隨機數.

對每一個粒子計算權重值wrodti,即

(14)

式中:b1,c1為試驗系數.

據多次試驗,設置b1=1,c1=5,利用圖4得到更新的中心點坐標,然后更新其寬度,計算式如下:

Wcenter=2d(xupdate_center,ycn),

(15)

(16)

Wupdate_width=Wn+kg(Wcenter-Wn),

(17)

式中:Wcenter為更新后的車道線寬度;xupdate_width為更新點位置;k,g分別為試驗系數;Wupdate_width為每行更新后的單側車道線寬度.

粒子濾波識別車道線的檢測結果如圖6所示.

圖6 粒子濾波識別車道線的檢測結果

5 試驗結果及分析

采用離線處理數據的方式,圖像分辨率設置為640×480 ppi,使用編程語言為Python,主要使用OpenCV,NumPy,Matplotlib庫,硬件配置:英特爾i7處理器,英偉達MX150顯卡.單幀處理時間約為20 ms.試驗所使用的數據均來自城市道路環境,包括車輛阻擋、路面干擾和彎曲道路等路況.

復雜場景下的檢測結果表明,提出的利用粒子濾波來進行車道線檢測的方法能夠很好地識別多種環境下的車道線信息.粒子濾波效果如圖7所示.

圖7 粒子濾波效果

從圖7可以看出: ① 路面有交通標識干擾,在行距離圖中心線部分明顯受到干擾(圖7d),車道線區域大部分都有噪聲干擾(圖7g),左側車道線附近有類車道線影響的情況下(圖7h),算法根據計算行距離圖,盡可能突出車道線狹長、等寬的特性,迭代處理后仍可以識別出車道線位置; ② 在有車輛及行人影響(圖7b)、有前車阻擋車道線(圖7f)、大量車輛阻擋以及車道線均為虛線(圖7c)、尤其是在行人阻擋嚴重(圖7e)的情況下,算法仍可以根據行距離圖將阻擋部分顯示出來,然后利用粒子濾波搜尋到權值最大點,識別出準確車道線; ③ 在直道及彎道,算法表現良好(圖7a,i),說明根據一個簡單的車道線直線模型基于粒子濾波算法,不需要給定過于嚴格的車道線模型,算法仍能識別出不同路況的車道線.

6 結 論

1) 根據車道線在經過逆透視變換之后,常為狹長、平行的特征,利用行距離圖可以將車道線斷裂、虛線部分根據上下文關系連接起來,提高了車道線整體識別水平.

2) 由于過于嚴格的車道線模型在多變的環境下魯棒性較低,根據設定的線性模型及概率密度函數,基于簡單車道線模型的粒子濾波算法,在復雜環境下車道線識別準確度較高.

3) 試驗結果表明,提出的算法在復雜路況中具有較好的魯棒性和抗噪性.

猜你喜歡
車道坐標系濾波
獨立坐標系橢球變換與坐標換算
北斗+手機實現車道級導航應用
避免跟車闖紅燈的地面車道線
淺談MTC車道改造
解密坐標系中的平移變換
坐標系背后的故事
一種GMPHD濾波改進算法及仿真研究
基于自適應Kalman濾波的改進PSO算法
低速ETC/MTC混合式收費車道的設計與實現
RTS平滑濾波在事后姿態確定中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合