基于Kirsch算子和多级阈值分割的河道轮廓识别和提取算法
2023-08-02周少君佘海龙
周少君,佘海龙
(肃南裕固族自治县水务局,甘肃 张掖 734400)
随着遥感成像技术的不断发展,其在水文、水利等研究领域中的运用越来越广泛。依据遥感图像可以对水旱灾害进行检测和评估,为水利工程的规划建设与运行、水文资源调查及水质监测提供服务[1-2]。对水利设施、水体、河道等遥感图像进行深入分析,有助于排除水利工程中存在的风险,保证设施的完好运行[3-4],河道轮廓的提取是其中的重要一环。然而面对大数据量的遥感图像,单纯依赖人工分析处理难以满足要求。现阶段需要借助一些智能化分析及处理手段实现对河道的提取。
对于遥感图像的目标检测智能化分析手段主要分为基于手工设计特征和基于深度学习两类。前者通过提取候选区域,针对目标人工设计特征,在结合分类器进行分类确定目标类别[5]。这种针对特定目标的特征进行目标检测能够快速准确地识别特定目标,因此得到了广泛的应用。后者随着人工神经网络技术的快速发展,能够提取图像的深层特征,具有更强的语义表达和判别性[6]。但是河道的遥感图像具有尺寸大、形状变化大、背景复杂等特点,这极大地增加了后者的开发和使用难度,因此本文主要采用前者实现对河道轮廓的提取。
目前针对遥感图像中河道轮廓的检测和提取算法主要分为两类。一类是采用灰度或色彩特征的水体区域识别。该方法主要是基于先验知识的指导,认为水体的光谱或电磁波反射相对于背景或其他的目标具有明显差异。因此通过对灰度信息或光谱特征建模并寻找出和背景间的差异便能够识别出相应的河道。但是在复杂背景的条件下,与水体反射率相近的物体将会被错误识别,缺乏普遍性。另一类是依赖河道本身的形态学特征,该方法根据同背景目标间轮廓及边缘形状的差异,识别出相应的河道。该方法可以摆脱水体反射率多变对目标提取的影响,适用范围更加广泛。但是河道轮廓形态的复杂性严重影响到该类特征提取的准确度,在复杂背景下河道提取效果较差[7]。将两者相结合,利用各自优点成为解决河道轮廓准确提取的有效方式。
灰度阈值分割是最为常用的、实现简单的阈值分割方法,能够有效地将部分水体与其他地物分割。其中1979年由日本学者提出OSTU阈值分割法就是一种典型的阈值分割方式。由于其能够自适应的寻找出合适的分割阈值对图像进行分割,被广泛使用[8]并不断改进[9]。形态学方法是利用图像的形状或特征,以便进一步进行图像分析和目标识别的方法。常规的形态学处理方法利用结构元对图像进行膨胀、腐蚀、联通等基本操作。形态学方法在遥感图像识别[10]等方面具有广泛应用。王鹏程等[11]基于河流的形态学特征,依据遥感图像,对河流轮廓进行识别提取。朱贺等[7]结合阈值分割和河流条带状轮廓形态,较好的提取出了简单河道的轮廓。但是在实际情况中,河流在弯折处、分叉处等并不是完美的条带状,形态更为复杂,条带形假设并不一定成立。对于形状更为复杂的河流轮廓提取,需要更改形态学处理的方式。另外,其处理的河道周围的地物信息并不十分复杂,通过多级的阈值分割便可较好解决。但是在实际情况中,河流周边可能为城市、农田、山区等,地物信息更为复杂,背景噪声需要通过合理的手段进行抑制。
本文针对高分辨率图像(图像分辨率小于等于10 m)中的河道轮廓识别和提取过程中的建模和背景噪声抑制难等问题,提出了基于Kirsch算子和多级阈值分割的算法。其总体框架见图1。首先输入河道遥感图像,将其转化为灰度图像。利用Kirsch算子获取图像主要地物的边缘轮廓,再使用OSTU阈值分割算法对图像进行简单的一次分割,从而对于复杂背景进行抑制。之后依据河道的主要形态学特征提出新的形态学判据对分割后的图像进行处理,获取图像中的河流区域。最后对河流区域再次采用OSTU的阈值分割算法,获取准确的河流轮廓,提取出河流区域。
图1 河道轮廓识别和提取算法总框架
1 背景模糊处理
高分辨率遥感图像中所包含的数据是相同面积的中、低分辨率图像中所包含数据的百倍以上,原本较低分辨率图像中的孤立点在高分辨率图像中会变成目标。因而高分辨率图像中将会包含更多更加丰富的地物信息、纹理及细节信息。但是同时也放大了在中、低分辨率遥感影响中比较弱、甚至可以忽略的干扰噪声。在河道识别时,丰富的背景信息将会对河道的准确识别产生较大干扰。本文将结合Kirsch算子和阈值分割算法,去除复杂背景的影响。
1.1 Kirsch算子
Kirsch算子是R.Kirsch提出的一种边缘检测算法。对于包含复杂背景噪声的河道遥感图像,相较于其他传统算子,Kirsch算子具有更好的适用性。Kirsch算子的原理为:采用8个模板对图像上的每个像素点进行卷积求导。这8个模板代表8个方向,计算出8个方向的梯度幅值和方向,并以最大的卷积值作为该点的灰度值。图2为8个梯度方向,式(1)为采用的Kirsch算子。
图2 Kirsch算子的8个梯度方向
(1)
算例均以中国主要河流及其支流的遥感卫星图像为例,原始图像均为RGB三通道图像。利用相关地图软件,全波段的遥感卫星地形图可较为容易取得。长江某平原地区河流的原始图像见图3a。图形大小为1 024×1 024,图像分辨率为5 m。将其灰度化后得到灰度(图3b)。采用Kirsch算子对图像中所有像素点进行卷积求导后,得到的主要地物的边缘图像见图3c。由图可知采用Kirsch算子后,主要地物尤其式河流的边缘形貌已经被提取出来,背景的复杂程度也得到了降低。
a)原始RGB三通道卫星遥感
1.2 阈值分割
采用Kirsch算子对原始灰度图进行处理后,虽然背景一定程度得到了简化,但是仍比较复杂。此时图像为连续的灰度图,可以采用阈值分割算法,将背景进一步简化,并将其转化为二值图像。本文采用OSTU阈值分割算法,其基本原理是将灰度分布的图像分为前景和背景两部分,前景为分割出的部分。分割前景和背景的分隔值就是所求解分割阈值。算法基本原理如下。
设图像灰度为L,灰度级为i的像素点为ni,则直方图分布为式(2):
(2)
式中,N为总的像素点,pi为灰度级为i的像素点的直方分布。图像总的灰度值的均值记为ut,见式(3):
(3)
按照灰度级用阈值t将总灰度L划分为两类C0(0,1,…,t)和C1(t+1,t+2,…,L-1)。则C0和C1部分像素占总像素的比例分别为w0和w1,见式(4)、(5):
(4)
w1=1-w0
(5)
图像中C0和C1部分灰度值的均值分别记为u0和u1,见式(6)、(7):
(6)
(7)
依据OSTU法给出类间方差的定义,见式(8):
σB=w0(u0-ut)2+w1(u1-ut)2
(8)
通过运算选取出合适的阈值t,使得类间方差σB的数值最大。在OSTU阈值分割法中分割阈值t可以通过计算机本身的穷举计算得到,对于不同的情况可以动态的自适应性选取阈值。此时按照阈值t,对图3b进行阈值分割。图4为一次阈值分割后的图像,从图中可以看出,图中河流和其他地物的分界线更加清晰明确,背景也得到了进一步的简化。
图4 采用OSTU分割后的二值图像
2 河流轮廓识别和提取
经过Kirsch算子提取地物边缘和一次阈值分割后,原始的灰度图背景噪声得到了简化。但是从图4可以看出,一些零星的背景噪声仍无法完好地去除。此时需要结合河流的基本形态特征对图像进行一些基本的降噪处理。
2.1 形态学处理
观察图中的零星噪声,可以发现不属于河流的噪声为一个个非连通的孤立区域。可以通过一定原则从图中将这些小对象去除。去除原则为:当孤立区域的面积S小于设定的阈值Sc时,将其去除。参考的Sc取值见式(9):
Sc=k·l1·l2
(9)
式中,l1、l2为图像的长度、宽度;k为面积系数,取值尽量小,本文推荐k=0.000 5。当k设置为0.000 5时,由于此值足够小,河流在图像中的面积必然大于这一数值,因此不会将河流区域误删除。由于Sc随着图像面积进行变化,可以保证在不同分辨率图像中较小的噪声被去除。故对于不同分辨率的图像,这一阈值具有普适性。
图5为删除图中小型非联通区域后的图像。从图中可以看出此时河流的轮廓已经基本上清晰。但是遗憾的是,仍存在着一些较大的非联通区域无法去除,如图5中的红色虚线所示。此时若增大k值虽然可以去除这些区域,但是可能去除一些细小的河流分支,使得识别出的河流轮廓不完整。
图5 删除小型非联通区域
此时可以利用河流的形态特征:河流长度较长,且顺水流方向的长度远大于河流宽度。此时可以检查余下的区域,对于每一个非联通区域,当面积较小,且2个方向的长度d1和d2的比值较小,则可以将该区域去除。设定如下2个去除条件,2个条件同时满足时,则将该区域去除。
(10)
式中,k2为面积系数,其值相对较大,本文推荐k2=0.01;n为河流长宽比的限定值,本文推荐n=4。当阈值k2设置为0.01时,这一数值也相对较小,一般情况下河流在图像中的面积会大于这一数值。当然若是河流被截断后面积较小,长宽比的限制条件将会发挥作用,保证部分河流不被误删除。因此该阈值对于不同情况也具有一定的普适性。在后文中2.3节的算例,也证明了这点。
图6为删除无河流特征的连通域后的图像,从图中可以看出一些较大的噪声也已经基本上被删除,仅留下河流附近区域的图像。在此过程中河流的一些细小的部分也可能被误删除。图6所示,图中圆形虚线区域所指的区域原本是联通的,却在形态学处理时被误删除。
图6 删除无河流特征的较大型连通域
这种误删除的错误将会导致识别出的河流区域出现残缺。此时可以利用基本的形态学处理方式将一些断开的河流区域进行连接。具体方法为:首先对图像进行膨胀操作,之后对距离相近的非联通域进行连接,具体的实施过程可参考王康等[12]关于裂纹识别的处理。图7为对图像进行膨胀和连接操作之后的图像,从图中可以看出红色虚线指示区域河流已连接。
图7 膨胀和连接的形态学运算
2.2 二次阈值分割
对河流图像进行基本形态学处理后,虽然河流周围的噪声已基本被清除,但是河流轮廓和形貌的提取依然存在问题。例如图7中红色矩形框是河流与田地的混杂的区域,但是却完全被划分为河流。因此仍需要进行二次阈值分割,以获取更为准确的河流轮廓形貌。
图7中的白色区域已基本上将河流包含在内,因此可以仅对图7中的白色区域进行第二次阈值分割,不考虑图7中的黑色区域。为此将原始的灰度图中图像映射至白色区域中,得到图8,以作为二次阈值分割的原始图形。
图8 第二次阈值分割的区域
采用1.2节的OSTU中的阈值分割算法,对剩余图像进行二次阈值分割,得到图9a阈值分割结果。此时图形会存在一些毛刺和细小的噪声,采用腐蚀膨胀等形态学处理手段,得到相对光滑的河流轮廓和形貌,见图9b。
a)原始灰度图
2.3 适用性验证
若提取河道轮廓时,未去除背景噪声的影响,直接采用阈值分割。受到复杂背景的影响,提取内容不仅包含河道,还包含一些背景中的地物,效果极差,见图10。
图10 直接阈值剖分的提取效果
为验证本文方法对于不同情况下的适用性,更换不同地形区域的河道遥感图像,查看提取效果。分别选取平原地区、山区和丘陵地区河流图像各20张,总计60张,以验证本文算法的适用性。图11为不同地区典型的河道遥感图像及提取效果,可以看出对于不同地形下的河流遥感图像,河道轮廓均被准确的提取出来。
a) 平原复杂河道灰度
为更为客观地评价河道提取的准确性,采用像素精度指标pixel accuracy (PA)和均像素精度指标mean pixel accuracy (MPA)评价该方法识别的准确性。其中像素精度含义为:对于每一类像素,正确分类的像素个数之和与该类所有像素的个数之和的比值。均像素精度含义为:每一类像素的精度平均值,即先求出每一类像素的PA,再取平均值。表1分别为演示算例和平原地区、山区和丘陵地区每类的PA值。从表1中可以看出在不同地形下,背景像素的识别精度达到了98%以上,河流像素的识别精度也均超过了90%。平均像素精度均超过了95%,误差在5%以内。
表1 河道提取的像素精度值
当然对于遥感信息中河流信息提取精度的评价,还可以采用生产者精度(Producer’s accuracy)和使用者精度(User’s Accuracy)来表征。对于相同的算例,表2中列出了生产者精度和使用者精度。其中河流信息中的使用者精度与像素精度指标的定义相同,因此数值相同。从表2中可以看出河流像素识别的生产者精度和使用者精度相近,均超过90%。
表2 河流信息提取的生产者精度和使用者精度
2种评价指标的结果均表明:本文方法对于河道提取结果较好,识别精度较高,能够满足高精度河道提取的需要。
对于较大范围的河流,本文给出的提取方案仍具有适用性。图12a为2018年拍摄的穿过重庆主城区的长江和嘉陵江图像,图12b提取出的河道轮廓基本上与河流形貌吻合。当然由于河流上桥梁较多,而Kirsch算子提取的边缘轮廓较粗,这将会导致提取出的河道轮廓存在断点,见图12b中的虚线。这需要在之后的研究中加以改善。
a)重庆主城区嘉陵江河道灰度
图13a为1967年采用锁眼卫星拍摄的相同地点处的遥感图像,此时卫星图像的分辨率低(分辨率大于10 m)。采用本文的算法得到的河道轮廓见图13b,可以看出此时提取出的河道轮廓与实际情况相吻合。因此本文提出的算法对中等分辨率的图像也具有适用性。
a)重庆主城区嘉陵江河道灰度
综合2.3节中的算例,可以发现本文提出的轮廓提取算法对于不同地区,不同范围以及不同分辨率的卫星遥感图像,均具有较好的适用性,能够较好地区分出河流与山丘、城市、农田等其余地物,从而准确地提取出河流的轮廓。由于多次阈值分割均采用OSTU法,而OSTU法阈值本身具有的动态自适应特性,一定程度上也增加了方法的普适性。
3 结论
主要解决现阶段遥感图像分辨率提高,导致在复杂背景噪声下河道轮廓难以准确识别和提取的问题。为此提出了一种基于Kirsch算子、多级阈值分割和形态学处理的河道提取方法。采用Kirsch算子对高清灰度图进行预加工,提取出主要地物的轮廓,之后采用OSTU的阈值分割方法对预处理后的图像进行预分割,去除了部分背景噪声。再利用河流面积和长宽比等形态学特征,去除大部分的复杂背景噪声。最后对图像局部区域采用二次阈值分割,准确地提取出河道的信息。
该方法能够去除遥感图像中的复杂背景噪声,在不同地形条件下实现对河道轮廓的准确识别和提取。通过生产者精度等客观的评价指标,对方法的适用性和准确性进行了验证。结果表明在不同地形条件下,河流区域识别的准确度均超过90%,图像整体的识别精度超过95%。因此该方法能够满足高精度河道提取的需要,为智能化的提取河道信息提供了参考。
当然由于Kirsch算子提取的边缘轮廓较粗,当河流上存在桥梁时,会导致提取的河道存在断点,需要在之后的研究中对此加以改善。由于本文主要采用全波段的卫星遥感图像,对于单波段或者多波段的遥感图像未作深入的分析和研究。在下一阶段的研究中,可以考虑不同波段的选择对于提取效果的影响,以寻找更为合适的遥感波段,进一步提高河道提取的准确性。