王振华,何婉雯,孙婧琦,曲念毅,黄冬梅,2+
1.上海海洋大学 信息学院,上海 201306
2.上海电力学院,上海 200090
21世纪是海洋的世纪,海洋资源及其战略地位日益凸显。中国拥有近300万千米的管辖海域,海域面积辽阔且海岛众多,约有6 961个海岛面积在500平方米以上,海岛已成为利用、开发海洋的主要载体。但因其四面环海,受台风等极端环境影响严重;同时,随着近年来人工开发,海岛生态系统发生着剧烈的变化。因此,针对海岛的各类课题研究不仅具有重要的战略意义,而且更具有现实的应用价值。
遥感技术是一种远距离对地观测手段,利用遥感手段可有效地观测大面积的地物信息,遥感观测为研究海岛提供了重要的数据资源。目前,已有很多学者基于遥感数据对“水”与“陆”的分割进行了研究。如Yang等提出了一种结合形状和光谱先验信息的变分割模型用于提取具有杂波背景的金门岛边界[1]。Cheng等利用种子学习和边缘有向图切割方法实现了海陆的分割[2]。Ruan等开发了一种改进的测地活动轮廓模型,用于水线的提取[3]。Chen等提出了一种基于TH-1卫星影像的SRTM DEM(shuttle radar topography mission digital elevation model)辅助海岛和珊瑚礁DEM(digital elevation model)提取方法[4]。Liu等通过改进多尺度归一化切割方法和Chan-Vese模型,对全色遥感影像进行了海陆分割[5]。Li等提出了一种基于改进分割算法的海上目标检测新方法,应用于陆地和海洋的分割[6]。Ma等通过结合改进的最大类间方差法(Otsu)、均匀的纹理和强度特征,对全色遥感图像进行了分层海陆分割[7]。郭海涛等提出一种四叉树、测地线活动轮廓模型和Canny算子相结合的海陆影像分割方法[8]。方亮等利用基于均值漂移的海岛岸线快速提取方法,解决了海岛岸线提取的自动化问题[9]。赵恩伟等提出了基于多窄带模型初始化的Grab Cut分割算法对高分辨率遥感图像中的海岛进行了提取[10]。
分割是图像处理的关键一步,而分割算法作为图像处理的传统方法也在不断地更新发展,近年来图像分割的算法主要集中在以下三类:(1)基于阈值的分割算法。如Singla等提出了一种快速的上下文敏感阈值选择技术对图像进行分割[11]。Bhandari等针对传统的基于彩色多级阈值的图像分割计算量大,缺乏准确性和稳定性等问题,提出利用杜鹃搜索对彩色卫星图像进行分割[12]。为克服多级阈值的计算复杂度随着阈值数量的增加呈指数增长,Khairuzzaman等提出了一种基于灰狼优化器(grey wolf optimizer,GWO)的多层次阈值分割方法[13]。邹旭华等提出了一种基于改进相似度度量的谱聚类图像分割方法,分割出用户指定的目标[14]。覃磊等针对复杂背景下成熟草莓图像的分割问题,提出了一种基于红绿蓝(red green blue,RGB)颜色相似度的成熟草莓图像分割算法[15]。王玉等提出一种基于区域的多尺度全色遥感图像分割方法,解决了图像误分割问题[16]。(2)基于参数活动轮廓模型的算法。如Zhu等提出了一种使用最小表面和分量归一化方法的广义梯度矢量流Snake模型用于分割医学图像[17]。Ali等提出了一个交互式的选择性分割任务的变分水平集模型,实现了对给定图像的局部和全局特征进行精细分割,应用于人脑的医学图像的分割[18]。郭笑妍等针对双源电子计算机断层扫描图像特点以及传统单一基于区域或边界的活动轮廓模型的不足,提出了一种基于血管形状约束的活动轮廓模型分割方法[19]。张泽凡等基于 GVF-Snake(gradient vector flow snake)模型设计了基于交叉熵和GVF-Snake的子宫肌瘤高强度聚焦超声图像的自动分割算法[20]。胡学刚等为了解决参数活动轮廓模型方法的缺点,基于Snake模型提出了一种参数活动轮廓模型的图像分割新方法[21]。(3)其他方法。如Lin等开发一种通过标记对象部分像素的方法来训练卷积网络,从而对图像进行了语义分割[22]。Zhou等通过简化脉冲耦合神经网络(pulse coupled neural network,PCNN)的参数,调整神经元的行为,对合成和真实红外图像进行分割[23]。Hou等针对在聚类之前通过直方图均衡来转换相似性矩阵带来的过度分割问题,提出一种聚类扩展方法进行图像分割[24]。夏星宇等为缩短图像分割时间,研究出一种基于均衡策略的粒子群进化算法对数字图像进行了分割[25]。
通过上述文献可看出,基于遥感数据的海岛边界分割研究滞后于基于传统图像的分割算法研究,其原因在于:(1)海岛地物类型的特殊性。海岛受自然因素影响,因边界存在不唯一性,该特性对边界分割的结果精度提出了挑战。(2)遥感数据的特殊性。遥感数据有别于传统图像,其存在波段数多、实时性强和大面积覆盖等特点,遥感数据的特殊性对海岛边界分割的时效性提出了挑战。
本文面向遥感数据,改进了传统的水平集分割算法,提出了一种海岛边界的快速分割方法。改进的海岛边界分割模型包括两方面内容:(1)基于K均值聚类算法的海岛边界粗分割,由此界定海岛边界的范围;(2)基于改进水平集模型的细分割。将海岛边界的粗分割结果作为初始演化曲线,利用改进水平集分割模型对海岛边界的粗分割结果进行优化,实现海岛边界的细分割。
K均值聚类算法(K-means)是由MacQueen首次提出的一种经典聚类算法[26]。该算法的思想是找出K个聚类中心C1,C2,…,CK,使得每一个数据点x1和与其最近的聚类中心Cv的平方距离和被最小化(该平方距离和被称为偏差D)。
偏差D方程表示为:
其中,d(xi,cr)为数据点x1和与其最近的聚类中心Cv的距离。
具体算法:
对于给定的样本集合X={x1,x2,…,xn},首先随机制定K个聚类中心C1,C2,…,Ck,然后对每一个样本x1,找到离它最近的聚类中心Cv,并将其分配到Cv所标明类,再将上一次迭代返回的每一个Cw移动到其标明的类的中心,并计算偏差D,直到D收敛,则返回聚类中心并终止算法。
K-means算法具有计算复杂度低、收敛快等特点,广泛应用于图像的分割,但如何确定K值,以及如何降低算法受噪声的影响等仍是待解决的问题。本文将基于K-means算法的海岛边界分割结果作为初始输入,提升海岛边界分割模型迭代分割的计算效率,同时为避开K-means算法对图像噪声敏感的缺陷,采用改进的水平集算法对分割结果进行优化,实现海岛边界的高精度快速分割。
2.2.1 水平集的概念
水平集模型是将一个移动的平面嵌入到更高一维的函数中,通过平面的运动最终得到平面上的曲线,此曲线为图像的目标边缘线。
水平集方程为:
其中,ϕ为水平集函数;t为演化时间;V(C)为曲线C演化的速度函数。一般利用符号距离函数(signed distance function,SDF)作为初始水平集函数,如式(3)所示,SDF函数构造如下:
其中,Ω1为曲线C所包围的内部区域,Ω2为曲线C以外的区域(如图1所示);s为曲线C的参变量;d((x,y),C(s,t))表示坐标(x,y)到曲线C(s,t)的距离。
Fig.1 Evolutional curve region图1 演化曲线区域图
水平集方程的推导过程如下:
演化曲线C(s,t)可以利用零水平集函数来表示,则有:
基于全微分原理对时间t求导,可得:
基于曲线演化理论,闭合曲线C(s,t)的运动方程为:
其中,V(C)可为常值,亦可为变量。闭合曲线C的内单位法向量N可以写为:
将演化曲线C的方程式(5)和内单位法向量N的计算方程(7)代入方程式(6)中,即可推导得出水平集方程(2)。
2.2.2 测地活动轮廓模型
测地活动轮廓模型(geodesic active contour,GAC)是由Caselles等提出的一种经典水平集活动轮廓模型[27],模型采用水平集方法将曲线轮廓线演化至目标边界得到分割结果。
GAC模型的水平集方程为:
边缘停止函数:
其中,∇Gσ*I为图像梯度的幅值。函数g在图像边缘处趋近于0,在远离图像边缘处趋近于1。
2.2.3 Chan-Vese模型
Chan-Vese模型(C-V)是Mumford-Shah模型的特例。而Mumford-Shah模型是由Mumford和Shah提出的一种去噪与分割相结合的图像处理模型。
C-V模型的水平集方程为:
其中,δε(ϕ)为近似的Dirac函数;μ、υ、λ1、λ2为加权系数;c1和c2分别是轮廓内、外的平均密度;I(x,y)为图像区域内的点。
推导过程如下:
通过最小化C-V模型能量方程:
可得到:
其中,H(ϕ)为Heaviside函数:
其中,ε表示近似函数Hε和δε的参数,当ε的值趋于0时,函数Hε和δε逼近于Heaviside函数和Dirac函数。
2.2.4 二值化高斯滤波水平集模型
二值化高斯滤波水平集(selective binary and Gaussian filtering regularized level set,SBGFRLS)模型利用符号压力函数(signed pressure force,SPF)替代GAC模型中边缘停止函数,同时充分借鉴了C-V模型中图像全局信息的概念。
其水平集方程为:
其中,ϕ为水平集函数;spf为符号压力函数,如式(16)所示;α为常值速度。
符号压力函数SPF为:
SPF函数的值域为[-1,1],c1和c2表示轮廓内外图像亮度的平均值,可由式(12)和式(13)求得。
Fig.2 SPF function图2 SPF函数
图3为改进的海岛边界快速分割模型的计算流程图。
Fig.3 Segmentation flow of island boundary图3 海岛边界分割流程图
(1)面向海岛边界的粗分割:基于某一时刻遥感数据,利用K-means算法实现海岛边界的粗分割。
(2)面向海岛边界的细分割:将海岛边界的粗分割结果作为初始演化曲线,利用改进的水平集方法实现任一时刻海岛边界的优化。当达到迭代次数,计算停止,得到海岛边界优化结果;否则继续进行计算。
(3)精度评价。
改进的海岛边界快速分割模型如下:
其中,C为初始演化曲线,C=CK-means,满足:
另,ρ为常数,aC为Ω的边界,Ω为期望求解边界的区域。
分别求解曲线C的内、外平均灰度值c1和c2,演化水平集方程(15),求解最终的图像边界。
输入:待分割遥感数据I,K-means分割结果C,迭代次数r。
在本文模型中:(1)利用粗分割结果作为演化曲线,接近最终边界分割结果,从而减少计算迭代次数,提高计算时间;(2)利用SPF函数替代边缘停止函数以及C-V模型的利用图像全局信息的特点,解决了GAC模型对噪声敏感和边界泄露现象。
本文的海岛边界分割实验包括:(1)以海岛遥感数据作为输入,利用K-means算法实现海岛边界的粗分割;(2)以海岛边界的粗分割结果为输入,基于改进的二值化高斯滤波水平集模型实现海岛边界细分割;(3)以目视解译结果作为真值,分割结果的面积、周长为精度评价参数,对海岛边界的分割结果进行精度验证。最后,选C-V模型、GAC模型、SBGFRLS模型与本文提出模型进行结果精度对比实验。
本实验以同一时间点下福建省福州海域某两个海岛边界分割为例,验证了改进的海岛边界分割模型在海岛边界快速分割应用中的可行性;并与C-V、GAC、SBGFRLS分割模型进行了分割结果的精度比较。
实验数据截取某Landsat8影像(图4)上的两海岛图(图5),分辨率为15 m,拍摄时间为2013年7月3日,图4和图5为波段5、6、4合成图像。实验环境为:Windows 10专业版,Intel®CoreTMi5-6500 CPU@3.20 GHz,RAM 8.00 GB,Matlab R2013a。
Fig.4 Research area图4 研究区域
Fig.5 Remote sensing image of island图5 海岛遥感影像图
其中,图5(a)的大小为1 111×891像素;图5(b)大小为600×600像素。
为了对海岛边界的分割结果进行精度评价,本文利用目视解译提取了海岛边界,并将其作为真值用于评价各类模型的分割结果精度,如图6所示。表1为基于目视解译的海岛边界周长、面积统计。
Fig.6 Island boundary extraction based on visual interpretation图6 基于目视解译的海岛边界分割结果
Table 1 Perimeter and area statistics based on visual interpretation表1 基于目视解译的实验数据周长、面积统计 像素
(1)基于改进模型的海岛边界分割
以海岛1为例,图7为基于K-means算法的海岛边界粗分割结果,以此作为SBGFRLS模型的输入,最终得到图8的结果。
不难看出,图7中海岛边界粗分割结果没有完全将海岛与海水分离,只将曲线收敛到海岛边界上,将其作为海岛边界的初始输入,可节省SBGFRLS模型从图像边沿到海岛边界的收敛时间。
(2)海岛边界分割的计算效率比较
Fig.7 Coarse segmentation result of Island 1 boundary based on K-means图7 基于K-means的海岛1边界粗分割结果
Fig.8 Segmentation result of Island 1 boundary based on improved model图8 基于改进模型的海岛1边界分割结果
针对海岛边界的分割,本节以计算时间和迭代次数为参数,比较了改进模型与C-V模型、GAC模型和SBGFRLS模型的计算效率。
图9所示为基于C-V模型、GAC模型、SBGFRLS模型和改进模型的海岛边界分割结果示意图。第一行为海岛的初始轮廓(即粗分割结果);第二行为海岛边界的分割结果图(即细分割结果)。其中,C-V模型的参数设置为:λ1=1,λ2=1,Δt=0.1,μ=1,υ=0。GAC模型参数设置为:sigma=1.2,alf=0.4,timestep=0.1。SBGFRLS模型和本文改进模型的参数设置为:α=20,Δt=1,σ=1。
由图9可看出:(1)基于C-V模型的海岛初始轮廓与海岛目标边界的距离较远,其在海岛边界分割时存在过分割现象,即将岛屿内部分区域分割为海岛的边界;(2)基于GAC模型的海岛边界分割结果受初始轮廓影响大,分割效果相对较差;(3)SBGFRLS模型与本文改进模型的分割结果相近,且本文改进分割模型因界定了初始轮廓,克服了过分割现象。
基于不同分割模型的计算时间和迭代次数比较如表2所示。
由表2中可看出:在海岛1和海岛2的边界分割中,本文改进模型在计算时间和迭代次数上均具有较好的优势。面向海岛1的边界分割,改进模型所用时间较C-V模型、GAC模型、SBGFRLS模型分别节省了98.51%、97.12%和59.09%;迭代次数减少了99.3%、98.6%和65%;面向海岛2的边界分割,改进模型所有时间较C-V模型、GAC模型、SBGFRLS模型分别节省了99.86%、98.19%和50.72%;迭代次数减少了99%、96.25%和57.14%。
Table 2 Comparison of calculation time and number of iterations based on different segmentation models表2 基于不同分割模型的计算时间和迭代次数比较
SBGFRLS模型与改进模型所用时间以及迭代次数明显小于C-V模型、GAC模型;本文改进模型时间效率较SBGFRLS模型提高了1倍,迭代次数至少减少了57.14%。
(3)海岛边界分割的精度比较
面向上述两个海岛边界的提取,以图6人工目视解译结果为真值。借鉴孙伟富等提出的精度验证方法,对本文改进模型与C-V模型、GAC模型、SBGFRLS模型的海岛边界结果进行精度验证[28]。
为了验证海岛边界的分割结果的精度,引入了a、a1和Δ三类精度参数,具体如下:
其中,S0为基于模型分割的海岛面积与目视解译的海岛面积交集;S1为基于模型分割的海岛面积;S2为基于目视解译提取的海岛面积。
a、a1和Δ三类精度参数范围均为[0,1];当a>0.9、a1>0.9、Δ<0.1,则形状相似,a、a1越趋向于1,Δ越趋于0,则说明分割模型的提取精度越高。
从表3、表4中可以看出:a、a1大于0.90且Δ趋向于0,说明本文改进模型与SBGFRLS分割模型较C-V模型、GAC模型的提取精度高,所提取的海岛更接近人工目视解译的结果。综合考虑分割效率及分割效果,本文改进模型表现出较大的优势。
本文通过分析现有图像分割算法以及海岛遥感数据的特点,改进了海岛边界分割模型,实现了面向遥感数据的海岛边界快速分割。
改进的海岛边界分割模型利用粗分割结果作为初始演化曲线输入,在保证分割精度的前提下,有效提高了算法的分割效率。