邱少林
(安徽博研信息科技有限公司 安徽蕪湖 241000)
道路檢測和跟蹤是許多智能車輛應(yīng)用的重要任務(wù),例如車道偏離預警(LDW)系統(tǒng)、車道保持輔助系統(tǒng)、駕駛員輔助和自動駕駛[1-2]。道路檢測是指在預先不了解道路幾何的情況下,對道路邊界進行定位,包括道路定位、計算車輛相對于道路的位置等基本任務(wù),而道路跟蹤則是從先前的道路參數(shù)中更新道路參數(shù)。基于視頻的道路檢測與跟蹤與主動傳感器相比具有許多優(yōu)點,因此越來越受到人們的關(guān)注[3-4]。一般來說,有兩種道路檢測和跟蹤方法:一種是針對帶有黃色或白色車道標記的結(jié)構(gòu)化道路,另一種是針對非結(jié)構(gòu)化道路。該文基于結(jié)構(gòu)化高度公路駕駛場景對車輛視覺傳感器的輸出進行算法設(shè)計和仿真測試。結(jié)果表明,所設(shè)計的車道線檢測和跟蹤算法可以實現(xiàn)較好的識別和跟蹤效果。
對于結(jié)構(gòu)化道路,車道模型在車道檢測中起著重要的作用,其中一些假設(shè)是為了更好地從二維圖像中恢復三維車道[5-6]。在該文中,假設(shè)兩條車道線是平行線,并且在平面上是同心圓。設(shè)圖像平面中的像素(u,v)對應(yīng)于地平面上的點(x,y)。因此,曲率為k的圓弧近似為
式(1)中,b為地平面上弧的偏移量。地平面上的這些圓弧投影到圖像平面上的曲線中。
式(2)中,k'=αk;b'與b、弧曲率k'和相機傾斜角度有關(guān);u0為地平面上弧切線和相機傾斜角的函數(shù)。
對式(2)取導數(shù),得到
那么式(2)可以表示為
現(xiàn)在,將k',b',vp的3D 參數(shù)空間轉(zhuǎn)換為k',vp的2D參數(shù)空間,從而降低了計算復雜性和存儲要求。此外,所有車道形狀特征的k'和vp均相同,而b'是特定于車道特征的。換句話說,在這些車道形狀特征中,車道邊緣近似共享k'和vp。它們之間的差異是參數(shù)b的值。從而能夠通過隨機霍夫變換(RHT)快速,穩(wěn)健地估計k'和vp。因此,可以直接從原始邊緣點的位置和方向來估計k'和vp,而無需將邊緣點組合在一起成為單獨的特征。
給定兩個像素(u1,v1)和(u2,v2),在灰度邊緣圖中采樣,k'和vp可計算為
最后,將車道檢測定義為估計道路圖像中左右車道的k'和b'。
車道檢測的任務(wù)可以通過簡單的閾值操作或一些標準的邊緣檢測技術(shù)對二值邊緣圖像(通常是灰度圖像)進行。
像素采樣算法具體如下。
(1)使用具有非零梯度大小的像素形成樣本集D。
(2)計算權(quán)重w(n)(u,v)。
(3)將包括累積概率在內(nèi)的所有數(shù)據(jù)存儲在一起,比如(d(n),w(n),C(n)),其中,C(0)=0,C(n)=C(n-1)+w(n),n=0,1,…,N-1。
(4)生成隨機數(shù)量r∈[0,1]。
(5)通過二元細分求C(q)≥r的最小q。
選擇D的q元素作為采樣像素。然后對參數(shù)k和vp進行估計,驗證參數(shù)的正確性。因為不能只從參數(shù)k和vp得到車道形狀,所以必須計算參數(shù)b。該模型的參數(shù)b可以通過對灰度邊緣圖像中曲線上點的梯度幅值的累積形成直方圖來確定。整個曲線的像素可以累積為
式(6)中,M為由k'確定的曲線長度。如果M超過指定的閾值,則為曲線。
原則上,粒子濾波是一種序列貝葉斯濾波方法,即序列蒙特卡羅濾波,粒子濾波廣泛應(yīng)用于車道跟蹤。設(shè)Zk={z0,z1,…,zk},其表示時刻k之前的測量;Sk={s0,s1,…,sk},則表示時刻k之前的狀態(tài)。
遞歸Bayes 濾波包括預測步驟和更新步驟這兩個步驟。在預測步驟當中,根據(jù)動力學系統(tǒng)模型和時刻k-1之前的后驗概率,則有
式(7)中,p(sk|sk-1)為動力學模型的概率密度函數(shù)(pdf)。其更新步驟計算給定似然度的p(sk|Zk)和p(sk|Zk-1)。
式(8)中,P(zk|sk,Zk-1)是一個測量模型;P(sk|Zk-1)是一個先驗?zāi)P?;P(zk|Zk-1)是一個常數(shù),可以表示為
基于采樣算法來尋找后驗概率的表示,用離散的加權(quán)粒子對后驗分布進行采樣:
可以通過直接從建議分布q(s0:k|Zk)中抽樣來近似估計,并得到
上述過程稱為貝葉斯重要性抽樣。
基本粒子過濾算法總結(jié)如下:
(1)初始化:對于k=0,從p(s0)中采樣N個粒子
(4)在下一次測量到達時,繼續(xù)進行重要性采樣步驟。
只有圖像坐標和世界坐標之間的映射模型才能影響觀測狀態(tài)變化。圖像坐標(u,v)和車輛坐標(x,y)之間的關(guān)系為
圖像坐標和像素坐標之間的關(guān)系是
式(15)中,(u0,v0)為相機投影中心,fu和fv分別為相機在i和j方向上的有效焦距。車輛坐標、相機坐標和圖像坐標之間的關(guān)系見圖1。
圖1 坐標變換
等式(14)中使用的攝像機俯仰角,由以下公式計算:
當x→∞時,vh可表示為
式(17)中,vh為水平線上的v坐標。
另外,相機高度為
基于粒子濾波的車道跟蹤算法總結(jié)如下。
(1)輸入:時刻k的粒子集時刻k+1的觀測圖像。
(2)迭代:(n=0,…,N-1)。
(3)計算k+1時刻車道位置:k+1時刻車道位置按計算。
圖2顯示車道檢測與跟蹤仿真建模過程與結(jié)果。
圖2 車道檢測與跟蹤仿真
基于以上,該文車道檢測與跟蹤仿真測試步驟總結(jié)如下。
(1)基于邊緣檢測算法將RGB彩色圖像轉(zhuǎn)換為灰度圖像,提取感興趣區(qū)域。根據(jù)道路或相機傳感器的位置,標定感興趣區(qū)域的大小,其具體情況見圖3。(2)基于Hough變換檢測車道。(3)獲取車道位置,一旦檢測到車道,即可基于簡單的幾何圖形獲得感興趣區(qū)域中左右車道的位置點。在該文中,同時保留前三個時間步長的車道上的這4 個點,并且如果在當前時間步長中未正確檢測到車道,將使用前面步驟中的點。(4)根據(jù)場景視圖信息計算距離。使用距離輸出矩陣和幾何圖形,計算從相機中心到兩條通道的橫向距離。在車輛位置模塊中,計算方向盤轉(zhuǎn)角,該角度用于在車輛偏移時以相反方向轉(zhuǎn)動方向盤,具體見圖4。(5)繪制車道檢測標記線,并顯示橫向距離信息文本?;跈M向距離信息,將轉(zhuǎn)向角應(yīng)用于某個閾值進行偏離預警,具體見圖5。
圖3 感興趣區(qū)域提取
圖4 車輛位置計算
圖5 車道檢測結(jié)果
該文針對高速結(jié)構(gòu)化場景下的車道檢測與跟蹤問題,首先建立機構(gòu)化道路形狀模型,設(shè)計基于邊緣采樣的車道檢測算法;然后基于粒子濾波和圖像的坐標轉(zhuǎn)換設(shè)計車道跟蹤算法;最后在MATLAB-CarSim聯(lián)合仿真環(huán)境下驗證所設(shè)計的車道檢測和跟蹤算法的有效性。研究成果將有利于車道偏離預警(LDW)系統(tǒng)、車道保持輔助(LKA)系統(tǒng)、駕駛員輔助和安全警告系統(tǒng)、自動駕駛系統(tǒng)的集成應(yīng)用。