王慶軍
(中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)
道路的識別是智能車輛視覺導(dǎo)航的關(guān)鍵技術(shù),因其較大的復(fù)雜性和挑戰(zhàn)性而備受關(guān)注。基于視覺的導(dǎo)航技術(shù)中,主要分為采用多目視覺技術(shù)和單目視覺技術(shù)兩種方式。多目視覺中存在一個無法回避的問題就是圖像配準(zhǔn)的實時性問題。
道路的邊緣檢測中,最常見的就是直線。而Hough 變換是圖像領(lǐng)域內(nèi)一種常用的提取直線的方法,因此在實驗中我們選擇了Hough 變換作為提取直線道路的工具[2-5]。
Hough 變換是Hough 于1962 年提出的一種形狀匹配技術(shù),運(yùn)用兩個坐標(biāo)之間的變換來檢測平面內(nèi)部的直線和規(guī)則的曲線。這種變換具有將變換空間所希望的邊緣組凝聚在一起形成峰點的特性。這樣就把原始圖像中給定形狀曲線或直線的檢測問題變成尋找變換空間中的峰點問題,也即把檢測整體特性變成檢測局部特性的問題。設(shè)在原始圖像空間的一條直線可以表示為:y=kx+b,其中k為斜率,b為截距。在同一直線上所有的點有相同的參數(shù)(k,b),在以(k,b)為變量的參數(shù)空間中,即b=-kx+y,同一直線上的點將相交于一點(k,b),通過(k,b)就可以確定直線方程,這就是Hough 變換方法的指導(dǎo)思想。為了避免斜率k為∞的情況,把直線寫成xcosθ+ysinθ=ρ的形式,相應(yīng)的參數(shù)空間就為(ρ,θ),其中ρ為原點到直線的距離,θ為直線與x 軸正方向的夾角。
經(jīng)過Hough 變換,空間中的一點就可以變換為參數(shù)空間中的一條正弦曲線,因為兩點可以確定一條直線,所以參數(shù)空間中任意兩條正弦曲線的交點(ρ',θ')就可以表示一條直線。
以上的算法實現(xiàn)的是單條直線引導(dǎo)線的識別。但是在室外公路中通常是雙引導(dǎo)線的識別,因此對Hough 變換做了擴(kuò)展。同時Hough 變換識別雙引導(dǎo)線算法也可用于識別圓和橢圓的情況:
(1)雙引導(dǎo)線的識別
在以上的算法中,我們找出的是整幅圖像中最長的一條直線,即單條直線引導(dǎo)線的識別。同樣,對于兩條引導(dǎo)線的情況,這兩條線即為整幅圖像中最長的兩條直線。所以,算法中只要統(tǒng)計出變換域中兩個最大值點就找到了兩條引導(dǎo)線。
(2)圓和橢圓的識別
橢圓的檢測算法可以仿照圓的算法進(jìn)行。設(shè)橢圓方程為:
對于圓或者橢圓的求解,用Hough 變換非常復(fù)雜,實時性很難達(dá)到要求,因此具有一定的局限性。對于非直線道路邊緣的提取,實驗考慮了其他的提取方法。
邊緣檢測是一種提取道路標(biāo)志線的方法。對于道路線來說,邊緣就是指其與像素灰度有階躍變化或屋頂狀變化的那些像素的集合,它存在于目標(biāo)與背景、目標(biāo)與目標(biāo)、區(qū)域與區(qū)域之間。經(jīng)典的邊緣檢測方法是對原始圖像按像素的某個鄰域構(gòu)造邊緣檢測算子。這里以灰度圖像作為區(qū)域特征進(jìn)行討論,而至于其它區(qū)域的特征(例如紋理)進(jìn)行邊界提取,其基本原理是相同的,不同的是特征的數(shù)目變多了,增加了問題的復(fù)雜性。邊緣提取在應(yīng)用中多用于非結(jié)構(gòu)型的道路[1],在曲率非常復(fù)雜的道路中進(jìn)行邊緣的擬合。因此,邊緣提取對于抗干擾性的能力要比較強(qiáng)。
邊界提取的方法多種多樣,比較常用的方法可以歸納為:微分方法、擬合方法、統(tǒng)計方法、混合方法以及小波變換方法等。而國外的學(xué)者在將邊緣檢測算法用于導(dǎo)航圖像處理時,多是遙感圖像。正是由于論文中的逆投影變換的特點,于是啟發(fā)了在本實驗中用邊緣算子提取道路邊緣的想法[6]。
(1)微分算子法
對于一類圖像,在特征區(qū)域邊界處,灰度要發(fā)生較大的變化,如果以灰度作為邊界檢測的依據(jù),可以運(yùn)用求微分的方法提取邊界,微分的輸出值作為該邊界的強(qiáng)度。在此基礎(chǔ)上,可以根據(jù)某一閾值確定其是否為邊界點,將邊界點連接起來就形成了邊界。
偏導(dǎo)數(shù)算子:
對于數(shù)字圖像,應(yīng)用差分代替相應(yīng)的微分。一階差分為:
(2)梯度模算子
我們知道,函數(shù)的梯度G 給出了方向?qū)?shù)取最大值的方向:
而這個方向的方向?qū)?shù)等于梯度的模:
式中,G 表示梯度模算子。G[f(x,y)]不依賴于坐標(biāo)軸的取向,即f(x,y)在點(i,j)處任意兩個垂直方向上的變化率的平方和都相同,這表明它具有各向同性,顯然它是位移不變的。因此,可以把梯度模作為邊界檢測算子,梯度模給出了邊界強(qiáng)度,梯度的指向給出了邊界的方向。
對于數(shù)字圖像,梯度模及方向為:
我們還可以用Roberts 梯度:
實際應(yīng)用中常常使用差分近似圖象函數(shù)導(dǎo)數(shù)的算子,常用的幾類算子有:
(1)Roberts算子:
Roberts算子是較為古老的算子之一。由于它只是使用了當(dāng)前像素的2×2 鄰域,所以計算非常簡單。它的卷積掩模是:
因此邊緣的幅值計算如下:
Roberts算子的主要缺點就是其對噪聲的高度敏感性,原因在于僅僅只是使用了少數(shù)的幾個像素來近似梯度。
(2)Laplace算子
Laplace算子▽2是近似給出梯度幅值的二階導(dǎo)數(shù)的常用方法。其中▽2定義為:
有的時候,我們只是對邊緣感興趣而不管它的方向,這時我們就可以使用被稱為Laplacian的線性微分算子▽2。Laplacian是各向同性的,因此對圖像中的旋轉(zhuǎn)具有不變性。它在數(shù)字圖像中用卷積和來近似。通常是使用3×3的掩模。對于4-鄰接和8-鄰接的鄰域分別定義為:
有時也使用強(qiáng)調(diào)中心像素或其鄰接性的Laplacian算子。這種近似不再具有旋轉(zhuǎn)不變性:
式中Laplace算子有一個缺點就是它對圖像中的某些邊緣會產(chǎn)生雙重響應(yīng)。
視覺導(dǎo)航雖然有顯著的優(yōu)點,但是存在的問題也非常明顯,這個時候就需要結(jié)合眾多傳感器的優(yōu)勢條件共同進(jìn)行環(huán)境的識別。例如實驗用的智能車輛上已經(jīng)安裝了聲納、雷達(dá)、紅外、激光測距掃描儀等傳感器,對多個傳感器采集得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)圖像的融合可以發(fā)揮多個傳感器的優(yōu)勢,能夠提高系統(tǒng)的魯棒性。隨著傳感器技術(shù)以及處理器技術(shù)的發(fā)展,圖像融合技術(shù)也會運(yùn)用得越來越廣泛,視覺導(dǎo)航也將得到更多的數(shù)據(jù)信息從而為導(dǎo)航?jīng)Q策服務(wù)。
[1]馬頌德.計算機(jī)視覺[M].北京:科學(xué)出版社,1998.
[2]Axel Gern,Uwe Franke,Paul Levi.Advanced Lane Recognition – Fusing Vision and Radar[J].IEEE Intelligent Vehicles Symposium,2000,10:3-5.
[3]Christian Altmayer.Enhancing the Integrity of Integrated GPS/INS Systems by Cycle Slip Detection and Correction[J].IEEE Intelligent Vehicles Symposium,2000,10:3-5.
[4]Andrew J.Davision.Real-Time Simultaneous Localisation and Mapping with a Single Camera[G].Proceedings of the Ninth IEEE International Conference on Computer Vision,2003.
[5]David Schreiber,Bram Alefs,Markus Clabian.Single Camera Lane Detection and Tracking[J].IEEE Conferences on Intelligent Transportation Systems,2005,9:13-16.
[6]岡薩雷斯.數(shù)字圖像處理(Matlab 版)[M].北京:電子工業(yè)出版社,2004.