基于数学形态学和Hough变换的高分辨率遥感影像道路提取
2018-10-16王海军邵宝武王海燕王飞
王海军,邵宝武,王海燕,王飞
(1. 农业部耕地利用遥感重点实验室 农业部规划设计研究院,北京 100125;2. 葫芦岛市测绘地理信息局,辽宁 葫芦岛 125000;3. 葫芦岛市房产测量中心,辽宁 葫芦岛 125000)
遥感影像中包含着海量的信息,遥感技术的不断发展使其逐渐成为了地理信息数据获取的主要手段之一。伴随着高分辨率遥感影像的出现及应用,从遥感影像中可以提取更多的信息,但同时高分辨率影像中更多的细节信息也使信息的提取出现一定的困难。高分辨率遥感影像中的道路提取也是研究热点和难点之一。
至今,国内外对遥感图像中道路提取的研究已有几十年的历史,提取方法主要分为两大类:半自动和自动的道路提取方法。半自动的提取方法是目前应用较广泛的方法,它是由专家给计算机提供一些先验知识,再由计算机自动完成道路的提取,如区域生长法、动态规划法等[1-3];而自动的提取方法则无需任何先验知识,但目前这种方法还有一定的局限性。M.Mokhtarzade和M.J.Valadan Zoej[4]采用人工神经网络的方法提取高分辨率遥感影像中的道路;A.Mohammadzadeh[5]等介绍了模糊数学形态学在道路中心线提取中的应用,而且在交叉和弯曲道路提取上比较有优势;Sghaier[6]等人通过纹理分析从高分辨影像中提取道路;Alshehhi[7]等人基于卷积神经网络从高分辨率影像中提取道路和建筑物,但是这种方法需要大量样本训练得到最优的网络模型;Li[8]等人利用二叉划分树从高分辨率影像中提取道路;Senthilnath J[9]等提出利用渐进纹理分析(Texture Progressive Analysis,TPA)和归一化分割法来提取道路;朱长青[10]提出了一种对高分辨率遥感影像中的城市直线道路提取的整体矩形匹配方法以及一种形态分割的提取方法;李利伟[11]等利用数学形态学中的形态腐蚀、膨胀、开闭等运算提取高分辨率影像中的道路中心线;孙晓霞[12]等采用了面向对象的方法,进行初次和二次分类来提取道路,但这种方法建立知识库比较困难,因此限制了提取的准确度。
道路主要分为直线型与弯曲型,但有很多方法都是只对一种类型的道路进行提取。针对这个问题,本文结合数学形态法与Hough变换的方法,首先利用Hough变换检测出遥感影像中道路的主要方向,然后利用数学形态学构造方向结构元素对遥感图像进行形态学处理,同时利用数学形态学剔除噪声,最终实现直线型与弯曲型道路的同时提取。
1 方 法
虽然高分辨率遥感影像中包含的地物较多且较为复杂,但影像中的道路仍有一些可区别于其他地物的特征,城区道路一般具有如下特征:①道路多数呈正交和平行两种状态;②道路内部的灰度变化较少;③每条道路都有自己的方向,弯曲道路有起始与终止方向;④道路的宽度变化较小,且长度远远大于宽度。
由于高分辨率影像中车辆、行人等的影响使道路提取受到干扰,同时建筑物的灰度与道路灰度相似,会使道路提取的结果精度不高。根据以上影像中道路的主要特征发现,利用道路的方向、道路长宽比的特征来提取道路会使这些影响变小。因此文中首先利用Hough变换检测影像中道路主方向来构造不同的方向结构元素,能够很好地提取道路信息。
1.1 基于Hough变换的道路主方向提取
Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间给定的曲线表达形式变为参数空间的一个点,这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。一般直线方程为y=kx+b,但在实际应用中该式无法表达k为无穷大的情况,因此采用极坐标方程:p=x×cos(θ)+y×sin(θ),这样平面上的一个点就对应到参数p-θ平面上的一条曲线上[13-15]。
利用Hough变换检测直线的一般过程为:
1)将空间(p,θ)量化成许多小格,并设置相应的二维累加器矩阵。累加器中的每个元素描述了(p,θ)平面上的离散点。将图像中的每个像素点(x0,y0)代入θ的量化值,算出对应的p。计算所得值落在某个小格内,便对空间累加器进行加1。当全部(x,y)点变换后,得到累加器accum(p,θ)。
2)记录accum(p,θ)大于某一个值时所对应的θ值与p值,并存入M和N两个数组中。
3)通过对数组M和N的统计,得出每个θ值对应的所有p值,并存入数组C中,将θ值存入数组C的第一行,p值依次存入对应的θ值所在的列中。
4)对数组C每一列进行由大到小排序(第一行除外)。计算相邻数之间的差值,存入数组D中。D数组中第一行存储θ,对应的列中存储差值。
5)按道路特征描述,根据数组D确定道路方向。
1.2 基于数学形态学的道路提取
1.2.1 数学形态学
数学形态学是建立在严格的数学理论基础之上的图像分析学科,它是用集合论方法定量描述几何结构的科学。数学形态学[13]的基本思想是利用定义的结构元素(如圆盘、方形、线型)去探测图像中的信息、形状等,从而对图像进行处理和分析。结构元素的选择[16]对结果有很大的影响,不同形状、大小的结构元素的处理结果是不同的,因此要根据处理对象选择合适的结构元素,这也说明数学形态学的方法具有很大的灵活性。目前,数学形态学在图像处理方面主要应用于噪声去除、特征提取、边缘检测、图像分割、纹理分析、图像压缩与重建等[13,15]。
数学形态学的主要运算有腐蚀与膨胀、开运算与闭运算、击中与击不中变换等[13-15],下面对这些运算进行逐一介绍。
1)腐蚀与膨胀
腐蚀与膨胀是数学形态学的基本运算,同时也是一组对偶运算。腐蚀是表示用某种结构元素对一个图像进行探测,以便找出图像内部可以放下该结构元素的区域。腐蚀运算能够消除图像中的小成分,起到去除噪声的作用。图像A被结构元素B腐蚀,表示为,定义为:
膨胀运算是利用结构元素对影像的补集进行填充,因此可以通过对补集的腐蚀来定义。图像A被结构元素B膨胀表示为,定义为:
其中,-B表示将结构元素B相对原点旋转180°,然后对A的补集进行腐蚀运算,最终得到集合A的膨胀结果。膨胀运算可以填充图像中小于结构元素的孔洞和边缘处的凹陷部分。
2)开运算与闭运算
开闭运算是建立在腐蚀与膨胀运算基础上的组合运算,两者同样是对偶关系。开运算是对图形先腐蚀后膨胀的结果,能够消除图像的椒盐噪声,结构元素为圆盘的开运算还能够平滑内边缘,起到了低通滤波的效果。利用结构元素B对图像A作开运算表示为AοB,其定义为:
闭运算是开运算的对偶运算,是先膨胀后腐蚀的结果,能够达到填充图像中物体内部细小孔洞,连接临近物体和平滑边界的效果。利用结构元素B对图像A做闭运算表示为A·B,其定义为:
3)击中与击不中变换
击中与击不中变换是建立在腐蚀运算之上的一种形态变换,它通过使用互不相交的结构元素对同时捕获到的内外标记,实现对图像内外构型的同时探测。其作用主要是保持图像拓扑结构的形态细化、形态识别与目标定位等。用结构元素(E,F)对图像A进行击中击不中变换,用符号A*B表示,其定义为:
其中结构元素 探测内部,结构元素F探测外部。
1.2.2 构造结构元素
数学形态学主要是利用给定的结构元素对图像进行探测,从而达到处理和分析图像的目的,因此结构元素的选取至关重要。道路在遥感影像上表现为直线和曲线,而弯曲的道路一般也有一段直线或与直线型的道路相连,因此本文利用Hough变换检测的道路方向,选取线性结构元素对遥感图像进行处理:
式中,SE为结构元素,strel( )为创建结构元素的函数,'line'表示线性结构元素,x,y分别决定结构元素的大小和方向。
图1中的遥感图像大小为824×1 362,其中短线部分为Hough变换检测出的道路方向,主要有3个方向,构造一个方向向量A=[0,27,-28]。根据图像大小定义线性结构元素的长度为X=10×(max(m,n)/min(m,n)),其中,m,n为遥感图像的大小。这样就可以构造3个线性的结构元素,分别为:SE1=strel('line',X,A(1)),SE1=strel('line',X,A(2)),SE1=strel('line',X,A(3))。
图1 高分辨率遥感图像Fig.1 High resolution remote sensing image
1.2.3 道路提取
为提高道路提取结果的准确度,首先对遥感图像进行预处理,以去除图像中的噪声,然后对预处理后的图像进行二值分割,对分割后的图像利用数学形态学方法提取道路。具体的步骤如下:
1)用基于灰度分布直方图的对比拉伸方法对原遥感图像进行图像增强处理;
2)利用数学形态学开闭运算处理遥感图像上的小噪声,如道路上的汽车、行人等;
3)根据图像颜色分量值及道路灰度分布设定二值化分割阈值对图像进行分割,如图2a所示,对二值分割图像用数学形态学进行腐蚀、开闭混合运算,以尽量去除与道路灰度相似的地物,如房屋;
4)根据Hough变换检测的道路方向构造结构元素SE对二值图像进行数学形态学处理,如图2b,2c,2d所示。对于直线型道路,直接利用结构元素进行腐蚀运算;对于弯曲型道路,利用与其连接的直线道路角度,设置多角度结构元素进行腐蚀运算,得到弯曲道路部分,如图2e所示;
5)对处理结果进行合并,得到最终的道路,如图2f所示。
图2 道路提取过程Fig.2 Processing of road extraction
从图2a中可以看出该图像中的道路由直线型和弯曲型道路连接而成,道路主要有3个方向。根据Hough变换可以检测到道路的3个方向,并根据图像大小来构造线性结构元素,对每个方向的道路进行腐蚀运算;同时弯曲道路采用间隔为10°的线形结构元素进行腐蚀运算。对于图像中与道路无关的噪声,可根据面积、长宽比等指数去除。在腐蚀运算后,道路可能会被中断,可以利用同方向的线性结构元素对运算结果进行膨胀。最后,将各方向的处理结果进行合并,就得到最终的道路提取结果。
2 实验结果分析
实验样本选取了两组城区道路的高分辨率遥感影像,第一组为国内某市1某城区的IKONOS影像,实验区域大小为1556×2472像素,分辨率为1 m,如图3a所示;第二组数据为国内某市2某城区的Quikbird影像,实验区域大小为605×974像素,分辨率为0.61 m,如图4a所示。分别对两组数据采用基于Hough变换和数学形态学的方法进行了道路提取实验,实验环境为Matlab 2012a。
图3的遥感影像中,道路由直线型和弯曲型连接而成,根据本文对弯曲型道路的处理方法,即利用与其连接的直线型道路方向,构造一系列间隔为10°的线性结构元素对其进行腐蚀运算;由图3c的处理结果中可以看出弯曲型道路被很好地提取出来,但由于道路两边树木的影响,使道路边缘呈锯齿状,不够光滑。
图3 实验数据1处理结果Fig.3 Processing results of experimental data1
图4遥感影像中的道路灰度与周围建筑物及建筑物内部地面灰度非常相近,导致二值化的图像掺杂了许多建筑物。利用道路长宽比较大的特征,最终去除了建筑物的大部分影响。图4c中的结果显示大部分道路被很好地提取出来,但受到阴影区域的影响,有些道路部分没有提取出来。可见,本文方法虽然较好地处理了直线型和弯曲形道路,但受到图像二值化以及阴影区域的限制。
图4 实验数据1处理结果Fig.4 Processing results of experimental data1
3 结束语
根据高分辨率遥感影像中道路的特性,本文首先利用Hough变换检测图像中道路的主要方向,并用检测结果构造不同方向的线性结构元素对图像进行数学形态学运算,而且本文还基于直线型道路的方向构造了一定间隔的多角度线性结构元素,利用数学形态学运算对图像中的弯曲道路进行提取。其中结构元素的大小根据图像大小及道路长短来确定,保证了各方向上的道路都能很好地提取出来。从两组实验结果来看,本文方法不仅可以将直线型和弯曲型道路同时提取出来,而且可以去除与道路灰度相似的地物,使图像中的道路可以得到更完整的提取。同时本文方法比较依赖于图像的二值化结果,且对于有阴影影响的道路段处理效果不佳,这些问题有待进一步的研究和完善。