王春霞
(内蒙古农业大学理学院,内蒙古 呼和浩特 010018)
城市道路是通达城市各地区以及与城市外道路连接的桥梁,为居民的生活、工作及文化娱乐活动提供了便捷,对生产要素的运转、城镇规划编制的进展有着关键性的作用。但是伴随着私家车数量快速上涨,城市道路面对的问题也越来越多,尤其是上下班、放学高峰期时交通堵塞、交通事故等问题日益突出,这些问题已经成为限制我国城市化进程的关键因素。因而准确、实时、有效地提取出道路信息,分析出城市道路交通结构设计不合理的情况,在交通的有效管理和控制方面具有重要的理论指导意义。
随着遥感技术的发展,高分辨率遥感影像已经逐步在测绘及遥感领域得到广泛应用[1-3]。其中,从遥感影像中提取道路是一种快速准确获取道路信息的有效方式。同时,无人驾驶、高精度地图导航,需要实时准确的道路数据,所以从遥感影像中提取道路具有重要的科学意义和实用价值[4-5]。数学形态学是定量描述物体几何特征的有力工具,采用了集合理论来深入分析和处理图像。它可通过膨胀、腐蚀、开运算、闭运算等运算实现图像的分析与处理,从而获得受噪声干扰较小、图像边界清晰的遥感梯度影像,达到遥感影像边缘检测的效果[6-8]。同时,数学形态学方法中结构元素的合理选取是对物体几何形状定量描述的有力手段,它可用来分析图像中目标的几何特征和结构形态,达到提取图像目标信息的目的[9-10]。
本文以内蒙古自治区乌海市海勃湾区为研究区,通过选取合理的结构元素,构建基于数学形态学的遥感影像城市道路提取模型,提取道路信息,从而为乌海市道路监测与管理提供理论支撑和科学依据。
乌海市位于内蒙古自治区的西南部,其东面是鄂尔多斯,南面是宁夏银川,西面和阿拉善相接,北面靠着河套。乌海交通便利,并且是华北通往西北的必经之路,境内有109国道、110国道、京藏高速、荣乌高速和包兰铁路等主要道路以及大大小小的城市道路数千条。海勃湾区是乌海市的一个辖区,其东南区主要是山地,西北区十分平坦,平均海拔为1100m。
本文所使用的高分辨率遥感影像来源于乌海市海勃湾区的SPOT5全色影像,其区域大小为1835×1480像素,如图1所示。
主要研究乌海市海勃湾区内的机场路、海拉北路、人民北路、海北路、双拥街等5条纵横交错的道路,对这些道路进行提取研究。
Hough变换[11]是一种将直角坐标系中的点与极坐标系上的点一一对应的对偶变换,其变换方程为:
ρ=xcosθ+ysinθ
(1)
图1 乌海市海渤湾区道路局部遥感影像
它可将图像空间中的点映射到参数空间。为了检测出直角坐标系中由点所构成的直线方向, 通常将极坐标θ-ρ量化成许多小格。根据每一对直角坐标系中的点(x,y),将θ=0~180°量化成小格,以小格为步长计算各个ρ值,若所得值落在某个小格内,便使该小格的累加矩阵加 1。当全部点都变换后,检验计数值最大的小格,其(θ,ρ) 值对应于直角坐标中所求直线。
利用Hough变换检测道路方向的一般过程[12]为:
(1)将θ-ρ具体到若干小格,并给定对应的二维累加矩阵J(θ,ρ)。将影像中的每个像素点(xi,yi)代入θ的量化值,依次计算出各个ρ。若其落在某个小格内,便对J(θ,ρ)加1,当全部(x,y)点做完变换后,可得累加器accum(θ,ρ)。
(2)预先设定一个阈值作为最大值,记录当accum(θ,ρ)大于该值时所对应的θ值与ρ值,并分别存入A和B两个数组中。
(3)对数组A和B进行统计,得出每个θ值对应的ρ值,进而存入到数组C中,将θ值存入数组C的第一行,ρ值依次存入对应的θ值所在的列中。
(4)将数组C每一列的值由大到小排序(除第一行外)。计算出相邻数的差值,将其存入数组D中,数组D中第一行存储θ,对应的列中存储差值。
(5)按照道路特征的描述,根据数组D即可确定出道路方向。
数学形态学是以微积分几何和随机集论的理论为基础建立的,通过设计一套完整的算法来描述图形的几何形态特征[13]。和常用算法不同的是,数学形态学作为数字图像处理识别领域的一种新的理论方法,在对图像边缘进行提取时比微分算法提取得更加平滑且完整,并且没有微分算法那么容易受到噪声的影响,且能有效获取原图中需要的信息。
膨胀、腐蚀、开运算、闭运算是数学形态学中4种基本的运算[14],在运算过程中通常有两个对象参加计算,即图像A(目标图像)与结构元素B。
设目标图像A和结构元素B是二元偶对的集合Z2的子集, A沿x平移后的结果为A+x或Ax定义为:
Ax={c|c=a+x,∀a∈A}
(2)
(3)
3.2.1 膨胀和腐蚀
膨胀是图像中目标和背景接触的边缘部分归并于目标物中,使目标物周围向外部扩大的操作。膨胀的操作一般用来连接断裂的物体,在进行二值化操作时,物体的细小连接部分很容易断裂,断裂开的部分会给接下来的处理带来干扰,如果目标有断裂的情况,就可以用膨胀操作将其重新连接,膨胀操作还可以将目标物体周围细微的噪声去掉[13]。B对A膨胀操作记为A⊕B,定义为:
(4)
腐蚀是膨胀的对偶操作,即
(5)
腐蚀的作用是减弱物体的边界元素,使物体的边界向内部收缩,使目标变“瘦”的操作。具体“瘦”多少由目标本身的面积决定,如果物体面积本来就很小,则通过腐蚀运算被去除。使用腐蚀操作,可以去除那些图片中无意义的细小物体。B对A腐蚀操作记为AΘB,定义为:
(AΘB)={x|BX⊆A}
(6)
3.2.2 开闭运算
在使用数学形态学的方法对图像处理时,开运算和闭运算也是和腐蚀、膨胀操作同样重要的两种基本操作,这两种操作都是由腐蚀和膨胀组合而成。开运算操作是对图像进行腐蚀运算再进行膨胀运算,闭运算则相反,先进行膨胀运算接着进行腐蚀运算[14]。
开运算:B对A进行开运算,记为A∘B,定义为:
A∘B=(AΘB)⊕B
(7)
开运算的操作基于几何运算,一般用来消除图像中不需要的细微部分,比如一个单独的小点、图像周围的小物体,并且研究目标的性质和状态不发生变化。
闭运算:B对A进行闭运算,记为A·B,定义为:
A·B=(A⊕B)ΘB
(8)
闭运算和开运算相同的地方是,都会使图像边缘变得光滑,但与开运算相反的地方是,闭运算处理图像的方式是添补目标物的凹陷部分处理图像,一般用来添补细小空洞和小缝隙,而图像的性质和状态不发生改变。
首先采用Matlab中的rgb2gray()命令得到乌海市海勃湾区道路局部遥感影像灰度图,如图2(a)所示;然后采用Matlab中的im2bw()命令对乌海市海勃湾区道路局部遥感影像灰度图进行二值化处理,得到乌海市海勃湾区道路局部遥感影像二值图,如图2(b)所示。
数学形态学的功能是结合结构元素对图像进行研究和分析,所以选择合适的结构元素至关重要[15-16]。遥感影像中的道路一般是直线型和弯曲型线路,并且这两种线路以一定的角度相互连接,所以本文选择线型结构元素来处理这些图像:SE=strel(‘line’,x,y),其中,SE为结构元素,strel()是函数,‘line’ 表示线性结构元素,x,y表示结构元素的大小和方向。
根据Hough变换检测出的道路方向,主要有4个方向,建立方向向量A=[0,90,100,106],定义结构元素的长度X=20×(max(m,n)/min(m,n)), m,n代表图像尺寸。建立四个不同的结构元素: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)二值图
为了使道路提取的结果更加精准,需要先对图像进行预处理,首先对图像进行道路亮度增加和噪声亮度减弱的增强处理,突出有用信息,消除无用信息;然后充分利用数学形态学具有运算灵活和保持图像基本性质的特点[17-18],最大限度地去除不相关的结构;最后对处理过的图像进行直线提取操作,得到遥感影像中主干道路的提取图。具体的步骤如下:
(1)对乌海市海勃湾区道路局部遥感影像二值图分别进行四种基本运算操作,增加道路亮度和减弱噪声亮度,同时尽量去除遥感图像上的小噪声,如道路上的汽车、行人、建筑物等,运算效果如图3所示。
(a)腐蚀效果图
(b)膨胀效果图
(c)开运算效果图
(d)闭运算效果图
图3(a)是腐蚀操作效果图,从中可以看出各条道路的基本轮廓,但是有些细小的区域经过腐蚀操作呈现断裂,还有很多较大的噪声得不到有效去除,比如道路上的阴影部分被放大,总体效果欠佳。
图3(b)为膨胀操作效果图,从图中可见,虽然道路被有效放大,道路上阴影部分几乎被消除,道路断裂处得到连接,但是各种噪声也被放大,非常影响对道路信息的观察,总体效果不好。
从图3(c)开运算效果图中可以看出,经过开运算的二值图效果明显比腐蚀和膨胀操作效果好,但仍有一些噪声无法去除并且有些细小部分断裂现象,总体效果较好,但仍需继续完善。
从图3(d)闭运算操作效果图中可以清晰地看出该区域的路网信息,非常便于观察,道路非常完整,原来的断裂处得到了连接,路上的阴影部分基本被消除,但是噪声未被完全去除,对观察造成了一定的影响,总体效果较好。
综合以上图像的分析可以看出,通过二值腐蚀、膨胀、开运算等操作均不能较好地去除遥感影像图中的建筑物、车辆、树木等噪声,经过闭运算得到的图像显示出来的道路比较完整,但也有许多噪声没有去除。考虑到图像噪声主要集中在非道路部分,而该区域道路大多数都是直线型道路,所以对经过闭运算得到的图像进行直线提取。
(2)对于直线型道路,利用0°和90°线性结构元素进行闭运算完成提取,提取结果如图4所示。
(a)0°直线提取
(b)90°直线提取
(c)0°和90°结合提取结果
从图4(c)中可以看出,道路局部遥感影像图中所有的横竖向道路被提取出来,且不受其他噪声的影响。但是其左下角道路弯曲的部分无法得到提取,为了提取出弯曲的部分道路,还需要基于其他不同度数的线性结构元素来提取。
(3)对于弯曲型道路,利用100°和106°线性结构元素进行闭运算完成提取,提取结果如图5所示。
(a)角度为100°道路提取
(b)角度为106°道路提取
(c)角度为100°和106°结合道路提取
从图5(a)中可以看出,利用100°线性结构元素可以将遥感影像中左下角弯曲道路提取出一部分,不能完全的将该段道路提取出来,还需要继续提取其他部分;从图5(b)中可以看出,利用106°线性结构元素可以将弯曲道路的另一部分提取出来。图5(c)是结合角度为100°和106°的线性结构元素,可以看出,原图中左下角弯曲的道路已经基本都被提取出来,只需将此图与上文得到的角度为0°和90°的道路图像结合就能得到最终道路提取结果。
(4)对处理结果进行合并,得到最终的道路提取结果,如图6,图7所示。
图6为合并了角度为0°、90°、100°、106°的道路图像,可以清晰地得到路网信息,但是部分道路中出现了道路空洞和道路断裂现象,不方便观察,需要进行膨胀操作使其更容易观测,图7是膨胀后的道路提取结果,即最终道路提取结果。
图6 道路提取结果
图7 最终道路提取结果
根据原始道路与提取结果的线性目标长度,结合如下精确度评价指标:准确度、遗漏误差、冗余误差,可计算出所提取目标的精确度值,进而作定量分析。
遗漏的线性目标是指把目标错误地视作背景,而多余的线性目标是把背景错误地看作目标的一部分。这里,线性目标的总长是以原始道路图像转化成二值图像后的像素点长度为准。用提取到的道路区域的像素点与线性目标的总长作比较,根据上述三个评价指标,得到所提取的线性目标的统计结果见表1。
表1 道路提取结果精确度评价值(单位:%)
从最终道路提取结果图像可以看出,乌海市海勃湾区道路局部遥感影像图中的主干道道路被完整清晰的提取出来,且没有被图中的噪声影响,没有道路空洞和断裂现象,符合要求,效果较好。从定量分析上看,准确度达到98.77%,遗漏误差1.23%,冗余误差仅有0.02%。因此,本文提出的模型准确度较高,可以从高分辨率城市道路遥感影像中有效地提取道路信息。
本文所使用的方法可以很好地基于不同角度的线性结构元素提取遥感影像中的直线型道路与弯曲型道路,且基本不受噪声影响,但在模型提取过程中仍存在以下不足:
(1)由于受非道路因素如建筑物的影响,所提取出的道路存在缺失或断开的现象,需要进一步进行膨胀、腐蚀、开闭运算等形态学处理。
(2)本文实验影像包含的道路类型和其他地物类型较少,现实中道路纵横交错,其他地物干扰也较多,所研究目标图像的全面性还需提高。