结合同异性度量的超像素分割方法
2020-09-23祁瑞光张和生
祁瑞光,张和生
(太原理工大学 矿业工程学院,太原 030024)
0 引言
高分辨率遥感影像广泛应用于农作物产量评估、森林火灾检测、地物分类等领域[1]。影像分割在利用高分辨率遥感影像进行对象分析时具有基础且关键的作用,影像分割的质量直接决定后续面向对象分析的精度[2]。但随着影像的分辨率增高,地物的纹理和形状等信息也越丰富,准确寻找地物边界的难度也更大,为此寻找一种合理有效的分割方法对高分辨率遥感研究有重要意义。传统的分割方法多基于像元进行分割,如吴波等[3]提出一种基于光谱多尺度分割特征的混合像元分解方法,但空间数据冗余,会产生“椒盐”效应。面向对象的影像分割方法已成为高分辨率遥感影像分割的主要方法[4],如涂继辉等[5]将建筑物顶面作为分割对象,检测建筑物的损毁区域;巫兆聪等[6]在初始分割的基础上,利用对象的光谱纹理和形状信息进行区域合并;Li等[7]提出一种基于边缘检测的分水岭算法,利用嵌入置信度的边缘检测检测对象,提高对象边界的检测精度。高分辨率遥感影像的应用范围越来越广,传统的多尺度分割方法逐渐显示出它们的效率不足,特别是在处理大尺寸图像时[8]。对于纹理信息丰富区域,传统分割方法的分割线与地物边界的贴合度不高,容易出现欠分割且受到影像噪声的影响,对于颜色纹理相似区域,部分算法容易出现过分割。
本文提出一种在简单线性迭代聚类(simple linear iterative clustering,SLIC)算法的基础上进行改进的高分辨率遥感影像分割方法:首先用SLIC算法分割影像生成超像素;然后根据灰度离散程度将离散超像素合并到临近最大权重的超像素;最后根据同异性度量将超像素进行合并。通过对比几种算法的实验分割效果,验证本文方法的有效性。
1 研究方法
本文所用分割方法:首先对遥感影像利用高斯滤波器进行平滑,去掉噪点;然后利用SLIC算法生成超像素,对超像素离散程度进行评价,根据灰度离散程度进行整合,根据纹理梯度信息计算超像素的同异性度量值,由同异性程度确定最终的分割结果。方法流程如图1所示。
图1 本文分割方法流程图
1.1 生成超像素
Sun等[9]提出用超像素对高光谱影像进行分割;Achanta等[10]利用SLIC算法生成超像素,证明SLIC超像素更加规则,与地物边界贴合效果比以前的方法好。该算法将像素点的CIELAB空间色彩值l,a,b和像素点在影像中的位置x,y组成五维特征向量[li,ai,bi,xi,yi]T,以此作为判断聚类中心的标准。CIELAB空间的色彩相较于RGB空间色彩来说更符合人眼的视觉。其特征向量中,l表示亮度;a表示从绿色到红色的分量;b表示从蓝色到黄色的分量。
传统SLIC分割方法直接对原图进行分割,容易受到噪声点的影响,致使主要地物的边界偏移。一般影像的噪声服从高斯分布,本文采用高斯滤波器过滤噪声。高斯滤波器是一种线性滤波器,根据高斯函数形状选择权值进行过滤,可以有效地抑制噪声影响,平滑图像。计算方法如式(1)~式(3)所示。
Ci(x,y)=Gσ(x,y)×fi(x,y)
(1)
Cj(x,y)=Gσ(x,y)×fj(x,y)
(2)
(3)
式中:Gσ(x,y)是高斯函数;f(x,y)是影像点的坐标;σ是坐标的标准差,代表数据的离散程度。
由图2可知,σ越小,离边界越远的像素权重越小,图像平滑的效果随之减小;σ越大,图像平滑的效果越明显,受噪声点影响越低,但σ过大会使图像模糊,失去边界。
图2 不同σ值情况下的二维高斯分布函数
用SLIC算法生成超像素的步骤如下。
图3 种子点初始化过程
2)计算相似度。种子点初始化后,SLIC算法通过迭代对像素点进行聚类。这个聚类过程与K-means算法类似,不同点在于:该算法像素点搜索的范围是以种子点为中心的2S×2S范围;而K-means算法搜索的范围是全局,图4显示了二者的区别。
图4 K-means与SLIC搜索范围对比
计算出像素点的相似度后,将最相似的种子点的标签赋予该像素,通过不断迭代直至收敛完成超像素分割。像素点与种子点相似度的计算如式(4)~式(6)所示。
(4)
(5)
(6)
式中:dlab为像素点在CIELAB颜色空间中的差异;dxy为像素点之间的空间距离;D为像素点之间的相似度;S为种子点之间的距离;m是一个输入参数,用来控制相似度公式中颜色差异和空间距离比例;k是种子点的标号;i是像素点的标号。D的值越小,说明2个像素点相似度越高。
SLIC分割生成的超像素用集合S表示,如式(7)所示。
S=∪si,i=1,2,…,K
(7)
式中:si是第i个超像素;K是超像素的总数。
3)处理离散超像素。部分生成的超像素范围过小,对合并过程造成影响,易产生孤立像素。计算离散超像素部分的灰度离散程度,如式(8)所示。
Vij=|Vi-Vj|
(8)
式中:Vi表示离散部分的灰度均值;Vj表示临近超像素的灰度均值;Vij值越小,说明二者纹理差异越小,离散部分可归并到临近对应相似程度最大的超像素。
1.2 合并超像素
同异性度量通过区域特征进行聚类,将同异性度量小于阈值的相邻超像素合并。同异性度量由超像素的梯度显著性Hij和灰度同异性cij经权重比分配计算后表示。梯度显著性Hij由2个相邻超像素si和sj的梯度变化程度计算得出。
对平滑后的超像素求偏导,可以得出梯度变化的程度大小,如式(9)~式(11)所示。
(9)
(10)
Hij=|Ri(x,y)-Rj(x,y)|
(11)
式中:t是一个超像素中,计算梯度的卷积核所占区域个数;Ri(x,y)是超像素si的平均梯度变化程度;Rj(x,y)是超像素sj的平均梯度变化程度;Hij就是相邻2个超像素的梯度显著性。图5是经过梯度处理后的影像。
图5 影像梯度图
经过梯度处理后的影像,边界处的梯度值绝对值要明显大于平缓处的梯度绝对值。对比每个超像素Hij值,边界两侧超像素的平均梯度值会出现明显的变化,且Hij值较大。同一个地物对象中的超像素,平均梯度值差值不会过大[11]。
人眼对RGB敏感的比例偏向于3∶6∶1,由于浮点预算速度较慢,将3个系数做整数处理后,再除以1 000,转灰度公式如式(12)、式(13)所示。
ci=R×0.299+G×0.587+B×0.114
(12)
cij=|ci-cj|
(13)
式中:ci是超像素i的灰度值;cij是超像素i和超像素j的灰度同异性。
图6为按比例转换成的灰度图和相应的灰度直方图。
图6 转换后灰度图及其灰度直方图
对Hij和cij进行归一化处理,如式(14)所示。
(14)
式中:Nij为归一化值;ω为设置RGB权重占比系数。在纹理相似区域适当降低ω的值可以防止欠分割现象,在纹理复杂区域适当提高ω的值可以避免过分割现象。
设ε为一常数阈值,且ε的值处在Nij的变化范围内。通过控制ε的大小,使同异性差异值在一定范围内的超像素合并到一起,达到分割影像的效果。
2 实验结果和分析
2.1 实验数据
本文使用太原理工大学校区无人机高分辨率航拍影像,如图7所示。分辨率为0.2 m,影像大小为1 024像素×1 024像素。影像中的对象包括建筑物、道路、草地、阴影。
图7 本文原始影像
2.2 高斯滤波器处理
经实验,用高斯滤波器处理时,当σ=0.9时的边界分割优化效果最好。
图8中,3处箭头的处理前后对比较为明显。在路沿这种像素纹理较复杂的区域,高斯滤波处理后的影像的边界更加明确,部分地面纹理与周围相近的超像素边界经处理后也可以检测出来[12]。
图8 高斯滤波器处理前后对比
由此可见,经高斯滤波器处理后的影像在处理过程中更容易排除噪声点的影响,可有效减少无规则分割的超像素的产生。
2.3 超像素初始分割
分水岭算法是一种经典的超像素算法,本文利用C语言程序生成SLIC超像素和分水岭算法生成的超像素进行比较,再和目前在面向对象分割方面已经十分成熟的软件eCognition生成的四叉树进行比较,3种分割算法的比较情况如图9所示。
图9 超像素分割结果
经实验,SLIC、分水岭、四叉树3种算法的分割所用时间分别为5.831 s、4.873 s、0.314 s,可见SLIC超像素生成耗时较长,但形状更加规则,大小更加相似,不容易产生孤立的像素点。在图9中的多处特征影像位置可看出,部分房屋地区的纹理颜色信息较为复杂,SLIC超像素比分水岭超像素分割得更加贴合地物边界,并且分水岭超像素的个数无法设置,SLIC超像素可以调整至最为合适的数量。与四叉树分割相比,四叉树分割速度优势明显,但四叉树对于弱边缘和严重凹陷边缘不能准确提出[13],SLIC超像素分割得更加平滑,分割结果更加接近真实情况,四叉树分割的精细程度取决于四叉树的层数,生成的超像素容易忽略边界复杂的地物,对边界的依附性较差,且边界的锯齿效应更加明显。
2.4 合并超像素
对图9中分割效果较好的SLIC超像素和分水岭超像素进行合并比较,得到最终的分割结果。
图10(a)为多尺度算法分割结果,图10(b)为分水岭算法分割结果,图10(c)为本文算法分割结果。在图10(d)目视解译中,未对草地进行分割处理,避免主观因素的影响。对分水岭算法和本文算法进行直接比较,可以看出:部分草地上方的道路在本文算法中可以顺利合并,但在分水岭算法中会出现过分割现象;道路的分割容易受到噪声影响[14],部分在阴影区域的道路,本文算法可以顺利将道路分割出来,而多尺度算法、分水岭算法在此区域会出现欠分割,说明本文方法具有一定的抗噪能力[15]。由此可见,在草地、广场、道路等纹理颜色相似区域,本文算法可以更好地将同类型超像素合并在一起。
图10 分割结果比较
3 精度评定
对图7(b)影像依次使用目视解译、分水岭、多尺度和本文算法进行分割,图11为分割结果。图11(a)多尺度分割参数为:Scale parameter为230;Shape为0.1;Compactness为0.5[16]。图11(b)为分水岭分割,合并前超像素有5 232个,合并后的区域有236 个。图11(c)为本文算法结果,合并前超像素有4 300 个,合并后区域有200 个。使用SSIM(structural similarity index)结构相似性指数[17]和Kappa系数[18-19]对分割结果进行精度评定,指数越高,说明分割结果与预期的分割结果越相近。
由图11可以看出,本文在阴影及道路等部分纹理相似区域的分割效果优于其他方法。3种分割结果的精度对比如表1所示。
图11 分割结果
表1 分割结果精度比较
4 结束语
本文提出的分割方法可以通过高斯滤波器抵消噪声点的影响,该方法对超像素中的梯度和纹理灰度值进行单独处理,更有效地将位于纹理颜色相似区域的地物提取出来。针对不同纹理的影像,相应地分配梯度显著性和灰度同异性的阈值,可以进一步避免出现在同一地类的过分割现象。与分水岭分割和多尺度分割算法相比,该方法有效改进了在纹理复杂和相似区域的分割效果。本文下一步将继续对分割边界的平滑效果进行改进。