王春霞
(內(nèi)蒙古農(nóng)業(yè)大學(xué)理學(xué)院,內(nèi)蒙古 呼和浩特 010018)
城市道路是通達(dá)城市各地區(qū)以及與城市外道路連接的橋梁,為居民的生活、工作及文化娛樂活動(dòng)提供了便捷,對(duì)生產(chǎn)要素的運(yùn)轉(zhuǎn)、城鎮(zhèn)規(guī)劃編制的進(jìn)展有著關(guān)鍵性的作用。但是伴隨著私家車數(shù)量快速上漲,城市道路面對(duì)的問題也越來越多,尤其是上下班、放學(xué)高峰期時(shí)交通堵塞、交通事故等問題日益突出,這些問題已經(jīng)成為限制我國(guó)城市化進(jìn)程的關(guān)鍵因素。因而準(zhǔn)確、實(shí)時(shí)、有效地提取出道路信息,分析出城市道路交通結(jié)構(gòu)設(shè)計(jì)不合理的情況,在交通的有效管理和控制方面具有重要的理論指導(dǎo)意義。
隨著遙感技術(shù)的發(fā)展,高分辨率遙感影像已經(jīng)逐步在測(cè)繪及遙感領(lǐng)域得到廣泛應(yīng)用[1-3]。其中,從遙感影像中提取道路是一種快速準(zhǔn)確獲取道路信息的有效方式。同時(shí),無(wú)人駕駛、高精度地圖導(dǎo)航,需要實(shí)時(shí)準(zhǔn)確的道路數(shù)據(jù),所以從遙感影像中提取道路具有重要的科學(xué)意義和實(shí)用價(jià)值[4-5]。數(shù)學(xué)形態(tài)學(xué)是定量描述物體幾何特征的有力工具,采用了集合理論來深入分析和處理圖像。它可通過膨脹、腐蝕、開運(yùn)算、閉運(yùn)算等運(yùn)算實(shí)現(xiàn)圖像的分析與處理,從而獲得受噪聲干擾較小、圖像邊界清晰的遙感梯度影像,達(dá)到遙感影像邊緣檢測(cè)的效果[6-8]。同時(shí),數(shù)學(xué)形態(tài)學(xué)方法中結(jié)構(gòu)元素的合理選取是對(duì)物體幾何形狀定量描述的有力手段,它可用來分析圖像中目標(biāo)的幾何特征和結(jié)構(gòu)形態(tài),達(dá)到提取圖像目標(biāo)信息的目的[9-10]。
本文以內(nèi)蒙古自治區(qū)烏海市海勃灣區(qū)為研究區(qū),通過選取合理的結(jié)構(gòu)元素,構(gòu)建基于數(shù)學(xué)形態(tài)學(xué)的遙感影像城市道路提取模型,提取道路信息,從而為烏海市道路監(jiān)測(cè)與管理提供理論支撐和科學(xué)依據(jù)。
烏海市位于內(nèi)蒙古自治區(qū)的西南部,其東面是鄂爾多斯,南面是寧夏銀川,西面和阿拉善相接,北面靠著河套。烏海交通便利,并且是華北通往西北的必經(jīng)之路,境內(nèi)有109國(guó)道、110國(guó)道、京藏高速、榮烏高速和包蘭鐵路等主要道路以及大大小小的城市道路數(shù)千條。海勃灣區(qū)是烏海市的一個(gè)轄區(qū),其東南區(qū)主要是山地,西北區(qū)十分平坦,平均海拔為1100m。
本文所使用的高分辨率遙感影像來源于烏海市海勃灣區(qū)的SPOT5全色影像,其區(qū)域大小為1835×1480像素,如圖1所示。
主要研究烏海市海勃灣區(qū)內(nèi)的機(jī)場(chǎng)路、海拉北路、人民北路、海北路、雙擁街等5條縱橫交錯(cuò)的道路,對(duì)這些道路進(jìn)行提取研究。
Hough變換[11]是一種將直角坐標(biāo)系中的點(diǎn)與極坐標(biāo)系上的點(diǎn)一一對(duì)應(yīng)的對(duì)偶變換,其變換方程為:
ρ=xcosθ+ysinθ
(1)
圖1 烏海市海渤灣區(qū)道路局部遙感影像
它可將圖像空間中的點(diǎn)映射到參數(shù)空間。為了檢測(cè)出直角坐標(biāo)系中由點(diǎn)所構(gòu)成的直線方向, 通常將極坐標(biāo)θ-ρ量化成許多小格。根據(jù)每一對(duì)直角坐標(biāo)系中的點(diǎn)(x,y),將θ=0~180°量化成小格,以小格為步長(zhǎng)計(jì)算各個(gè)ρ值,若所得值落在某個(gè)小格內(nèi),便使該小格的累加矩陣加 1。當(dāng)全部點(diǎn)都變換后,檢驗(yàn)計(jì)數(shù)值最大的小格,其(θ,ρ) 值對(duì)應(yīng)于直角坐標(biāo)中所求直線。
利用Hough變換檢測(cè)道路方向的一般過程[12]為:
(1)將θ-ρ具體到若干小格,并給定對(duì)應(yīng)的二維累加矩陣J(θ,ρ)。將影像中的每個(gè)像素點(diǎn)(xi,yi)代入θ的量化值,依次計(jì)算出各個(gè)ρ。若其落在某個(gè)小格內(nèi),便對(duì)J(θ,ρ)加1,當(dāng)全部(x,y)點(diǎn)做完變換后,可得累加器accum(θ,ρ)。
(2)預(yù)先設(shè)定一個(gè)閾值作為最大值,記錄當(dāng)accum(θ,ρ)大于該值時(shí)所對(duì)應(yīng)的θ值與ρ值,并分別存入A和B兩個(gè)數(shù)組中。
(3)對(duì)數(shù)組A和B進(jìn)行統(tǒng)計(jì),得出每個(gè)θ值對(duì)應(yīng)的ρ值,進(jìn)而存入到數(shù)組C中,將θ值存入數(shù)組C的第一行,ρ值依次存入對(duì)應(yīng)的θ值所在的列中。
(4)將數(shù)組C每一列的值由大到小排序(除第一行外)。計(jì)算出相鄰數(shù)的差值,將其存入數(shù)組D中,數(shù)組D中第一行存儲(chǔ)θ,對(duì)應(yīng)的列中存儲(chǔ)差值。
(5)按照道路特征的描述,根據(jù)數(shù)組D即可確定出道路方向。
數(shù)學(xué)形態(tài)學(xué)是以微積分幾何和隨機(jī)集論的理論為基礎(chǔ)建立的,通過設(shè)計(jì)一套完整的算法來描述圖形的幾何形態(tài)特征[13]。和常用算法不同的是,數(shù)學(xué)形態(tài)學(xué)作為數(shù)字圖像處理識(shí)別領(lǐng)域的一種新的理論方法,在對(duì)圖像邊緣進(jìn)行提取時(shí)比微分算法提取得更加平滑且完整,并且沒有微分算法那么容易受到噪聲的影響,且能有效獲取原圖中需要的信息。
膨脹、腐蝕、開運(yùn)算、閉運(yùn)算是數(shù)學(xué)形態(tài)學(xué)中4種基本的運(yùn)算[14],在運(yùn)算過程中通常有兩個(gè)對(duì)象參加計(jì)算,即圖像A(目標(biāo)圖像)與結(jié)構(gòu)元素B。
設(shè)目標(biāo)圖像A和結(jié)構(gòu)元素B是二元偶對(duì)的集合Z2的子集, A沿x平移后的結(jié)果為A+x或Ax定義為:
Ax={c|c=a+x,?a∈A}
(2)
(3)
3.2.1 膨脹和腐蝕
膨脹是圖像中目標(biāo)和背景接觸的邊緣部分歸并于目標(biāo)物中,使目標(biāo)物周圍向外部擴(kuò)大的操作。膨脹的操作一般用來連接斷裂的物體,在進(jìn)行二值化操作時(shí),物體的細(xì)小連接部分很容易斷裂,斷裂開的部分會(huì)給接下來的處理帶來干擾,如果目標(biāo)有斷裂的情況,就可以用膨脹操作將其重新連接,膨脹操作還可以將目標(biāo)物體周圍細(xì)微的噪聲去掉[13]。B對(duì)A膨脹操作記為A⊕B,定義為:
(4)
腐蝕是膨脹的對(duì)偶操作,即
(5)
腐蝕的作用是減弱物體的邊界元素,使物體的邊界向內(nèi)部收縮,使目標(biāo)變“瘦”的操作。具體“瘦”多少由目標(biāo)本身的面積決定,如果物體面積本來就很小,則通過腐蝕運(yùn)算被去除。使用腐蝕操作,可以去除那些圖片中無(wú)意義的細(xì)小物體。B對(duì)A腐蝕操作記為AΘB,定義為:
(AΘB)={x|BX?A}
(6)
3.2.2 開閉運(yùn)算
在使用數(shù)學(xué)形態(tài)學(xué)的方法對(duì)圖像處理時(shí),開運(yùn)算和閉運(yùn)算也是和腐蝕、膨脹操作同樣重要的兩種基本操作,這兩種操作都是由腐蝕和膨脹組合而成。開運(yùn)算操作是對(duì)圖像進(jìn)行腐蝕運(yùn)算再進(jìn)行膨脹運(yùn)算,閉運(yùn)算則相反,先進(jìn)行膨脹運(yùn)算接著進(jìn)行腐蝕運(yùn)算[14]。
開運(yùn)算:B對(duì)A進(jìn)行開運(yùn)算,記為A°B,定義為:
A°B=(AΘB)⊕B
(7)
開運(yùn)算的操作基于幾何運(yùn)算,一般用來消除圖像中不需要的細(xì)微部分,比如一個(gè)單獨(dú)的小點(diǎn)、圖像周圍的小物體,并且研究目標(biāo)的性質(zhì)和狀態(tài)不發(fā)生變化。
閉運(yùn)算:B對(duì)A進(jìn)行閉運(yùn)算,記為A·B,定義為:
A·B=(A⊕B)ΘB
(8)
閉運(yùn)算和開運(yùn)算相同的地方是,都會(huì)使圖像邊緣變得光滑,但與開運(yùn)算相反的地方是,閉運(yùn)算處理圖像的方式是添補(bǔ)目標(biāo)物的凹陷部分處理圖像,一般用來添補(bǔ)細(xì)小空洞和小縫隙,而圖像的性質(zhì)和狀態(tài)不發(fā)生改變。
首先采用Matlab中的rgb2gray()命令得到烏海市海勃灣區(qū)道路局部遙感影像灰度圖,如圖2(a)所示;然后采用Matlab中的im2bw()命令對(duì)烏海市海勃灣區(qū)道路局部遙感影像灰度圖進(jìn)行二值化處理,得到烏海市海勃灣區(qū)道路局部遙感影像二值圖,如圖2(b)所示。
數(shù)學(xué)形態(tài)學(xué)的功能是結(jié)合結(jié)構(gòu)元素對(duì)圖像進(jìn)行研究和分析,所以選擇合適的結(jié)構(gòu)元素至關(guān)重要[15-16]。遙感影像中的道路一般是直線型和彎曲型線路,并且這兩種線路以一定的角度相互連接,所以本文選擇線型結(jié)構(gòu)元素來處理這些圖像:SE=strel(‘line’,x,y),其中,SE為結(jié)構(gòu)元素,strel()是函數(shù),‘line’ 表示線性結(jié)構(gòu)元素,x,y表示結(jié)構(gòu)元素的大小和方向。
根據(jù)Hough變換檢測(cè)出的道路方向,主要有4個(gè)方向,建立方向向量A=[0,90,100,106],定義結(jié)構(gòu)元素的長(zhǎng)度X=20×(max(m,n)/min(m,n)), m,n代表圖像尺寸。建立四個(gè)不同的結(jié)構(gòu)元素:SE1=strel(‘line’,X,A(1))、SE2=strel(‘line’,X,A(2))、SE3=strel(‘line’,X,A(3))、SE4=strel(‘line’,X,A(4))。
(a)灰度圖
(b)二值圖
為了使道路提取的結(jié)果更加精準(zhǔn),需要先對(duì)圖像進(jìn)行預(yù)處理,首先對(duì)圖像進(jìn)行道路亮度增加和噪聲亮度減弱的增強(qiáng)處理,突出有用信息,消除無(wú)用信息;然后充分利用數(shù)學(xué)形態(tài)學(xué)具有運(yùn)算靈活和保持圖像基本性質(zhì)的特點(diǎn)[17-18],最大限度地去除不相關(guān)的結(jié)構(gòu);最后對(duì)處理過的圖像進(jìn)行直線提取操作,得到遙感影像中主干道路的提取圖。具體的步驟如下:
(1)對(duì)烏海市海勃灣區(qū)道路局部遙感影像二值圖分別進(jìn)行四種基本運(yùn)算操作,增加道路亮度和減弱噪聲亮度,同時(shí)盡量去除遙感圖像上的小噪聲,如道路上的汽車、行人、建筑物等,運(yùn)算效果如圖3所示。
(a)腐蝕效果圖
(b)膨脹效果圖
(c)開運(yùn)算效果圖
(d)閉運(yùn)算效果圖
圖3(a)是腐蝕操作效果圖,從中可以看出各條道路的基本輪廓,但是有些細(xì)小的區(qū)域經(jīng)過腐蝕操作呈現(xiàn)斷裂,還有很多較大的噪聲得不到有效去除,比如道路上的陰影部分被放大,總體效果欠佳。
圖3(b)為膨脹操作效果圖,從圖中可見,雖然道路被有效放大,道路上陰影部分幾乎被消除,道路斷裂處得到連接,但是各種噪聲也被放大,非常影響對(duì)道路信息的觀察,總體效果不好。
從圖3(c)開運(yùn)算效果圖中可以看出,經(jīng)過開運(yùn)算的二值圖效果明顯比腐蝕和膨脹操作效果好,但仍有一些噪聲無(wú)法去除并且有些細(xì)小部分?jǐn)嗔熏F(xiàn)象,總體效果較好,但仍需繼續(xù)完善。
從圖3(d)閉運(yùn)算操作效果圖中可以清晰地看出該區(qū)域的路網(wǎng)信息,非常便于觀察,道路非常完整,原來的斷裂處得到了連接,路上的陰影部分基本被消除,但是噪聲未被完全去除,對(duì)觀察造成了一定的影響,總體效果較好。
綜合以上圖像的分析可以看出,通過二值腐蝕、膨脹、開運(yùn)算等操作均不能較好地去除遙感影像圖中的建筑物、車輛、樹木等噪聲,經(jīng)過閉運(yùn)算得到的圖像顯示出來的道路比較完整,但也有許多噪聲沒有去除??紤]到圖像噪聲主要集中在非道路部分,而該區(qū)域道路大多數(shù)都是直線型道路,所以對(duì)經(jīng)過閉運(yùn)算得到的圖像進(jìn)行直線提取。
(2)對(duì)于直線型道路,利用0°和90°線性結(jié)構(gòu)元素進(jìn)行閉運(yùn)算完成提取,提取結(jié)果如圖4所示。
(a)0°直線提取
(b)90°直線提取
(c)0°和90°結(jié)合提取結(jié)果
從圖4(c)中可以看出,道路局部遙感影像圖中所有的橫豎向道路被提取出來,且不受其他噪聲的影響。但是其左下角道路彎曲的部分無(wú)法得到提取,為了提取出彎曲的部分道路,還需要基于其他不同度數(shù)的線性結(jié)構(gòu)元素來提取。
(3)對(duì)于彎曲型道路,利用100°和106°線性結(jié)構(gòu)元素進(jìn)行閉運(yùn)算完成提取,提取結(jié)果如圖5所示。
(a)角度為100°道路提取
(b)角度為106°道路提取
(c)角度為100°和106°結(jié)合道路提取
從圖5(a)中可以看出,利用100°線性結(jié)構(gòu)元素可以將遙感影像中左下角彎曲道路提取出一部分,不能完全的將該段道路提取出來,還需要繼續(xù)提取其他部分;從圖5(b)中可以看出,利用106°線性結(jié)構(gòu)元素可以將彎曲道路的另一部分提取出來。圖5(c)是結(jié)合角度為100°和106°的線性結(jié)構(gòu)元素,可以看出,原圖中左下角彎曲的道路已經(jīng)基本都被提取出來,只需將此圖與上文得到的角度為0°和90°的道路圖像結(jié)合就能得到最終道路提取結(jié)果。
(4)對(duì)處理結(jié)果進(jìn)行合并,得到最終的道路提取結(jié)果,如圖6,圖7所示。
圖6為合并了角度為0°、90°、100°、106°的道路圖像,可以清晰地得到路網(wǎng)信息,但是部分道路中出現(xiàn)了道路空洞和道路斷裂現(xiàn)象,不方便觀察,需要進(jìn)行膨脹操作使其更容易觀測(cè),圖7是膨脹后的道路提取結(jié)果,即最終道路提取結(jié)果。
圖6 道路提取結(jié)果
圖7 最終道路提取結(jié)果
根據(jù)原始道路與提取結(jié)果的線性目標(biāo)長(zhǎng)度,結(jié)合如下精確度評(píng)價(jià)指標(biāo):準(zhǔn)確度、遺漏誤差、冗余誤差,可計(jì)算出所提取目標(biāo)的精確度值,進(jìn)而作定量分析。
遺漏的線性目標(biāo)是指把目標(biāo)錯(cuò)誤地視作背景,而多余的線性目標(biāo)是把背景錯(cuò)誤地看作目標(biāo)的一部分。這里,線性目標(biāo)的總長(zhǎng)是以原始道路圖像轉(zhuǎn)化成二值圖像后的像素點(diǎn)長(zhǎng)度為準(zhǔn)。用提取到的道路區(qū)域的像素點(diǎn)與線性目標(biāo)的總長(zhǎng)作比較,根據(jù)上述三個(gè)評(píng)價(jià)指標(biāo),得到所提取的線性目標(biāo)的統(tǒng)計(jì)結(jié)果見表1。
表1 道路提取結(jié)果精確度評(píng)價(jià)值(單位:%)
從最終道路提取結(jié)果圖像可以看出,烏海市海勃灣區(qū)道路局部遙感影像圖中的主干道道路被完整清晰的提取出來,且沒有被圖中的噪聲影響,沒有道路空洞和斷裂現(xiàn)象,符合要求,效果較好。從定量分析上看,準(zhǔn)確度達(dá)到98.77%,遺漏誤差1.23%,冗余誤差僅有0.02%。因此,本文提出的模型準(zhǔn)確度較高,可以從高分辨率城市道路遙感影像中有效地提取道路信息。
本文所使用的方法可以很好地基于不同角度的線性結(jié)構(gòu)元素提取遙感影像中的直線型道路與彎曲型道路,且基本不受噪聲影響,但在模型提取過程中仍存在以下不足:
(1)由于受非道路因素如建筑物的影響,所提取出的道路存在缺失或斷開的現(xiàn)象,需要進(jìn)一步進(jìn)行膨脹、腐蝕、開閉運(yùn)算等形態(tài)學(xué)處理。
(2)本文實(shí)驗(yàn)影像包含的道路類型和其他地物類型較少,現(xiàn)實(shí)中道路縱橫交錯(cuò),其他地物干擾也較多,所研究目標(biāo)圖像的全面性還需提高。