倪良波,卢涵宇+,卢天健,丁蕾锭,卢 梅
(1.贵州大学 大数据与信息工程学院,贵州 贵阳 550025;2.中南大学 资源与安全工程学院,湖南 长沙 410083)
遥感影像中的变化检测是利用同一地区的两幅或多幅不同时间的遥感图像中大气、光谱、传感器信息,通过人工智能或数理统计等方法进行对比与分析,获得该地区的变换信息。变换检测技术是目前卫星遥感领域的重点之一,涉及到传感器成像、气候变化、概率统计、计算机科学等领域[1-3]。针对变化检测中的分割问题,YUAN等[4]提出了基于协同分割的变化检测技术,使用最大流、最小割函数进行图像分割,但是基于像素级的分割无法消除遥感影像中同物异谱、同谱异物的影响。XIAO等[5]提出基于超像素的协同分割变化检测,有效克服了椒盐噪声,但该方法忽略了超像素块之间的属性关系,使得效果不够理想。LYU等[6]提出使用卷积神经网络提取遥感影像抽象特征,得到两时相遥感影像时间相关性,最后得到变化检测结果。针对特征提取的问题,SUN等[7]提出SVM和多特征融合的方法,该方法基于像素点的特征提取,会受到噪声等影响。GONG等[8]从图像分割和特征提取得到的变化检测预分类图中获取训练样本,使用深度学习训练得到变化检测图,该方法特征提取较少,得到的预分类图缺少空间等结构信息。YAN等[9]得到的变化检测图缺少后处理,影响变化检测精度。GONG等[10]提出基于FCM分类器的预分类方法,该方法的预分类效果受到分类精度的影响较大。LV等[11]结合多源遥感影像的数据特征,使用改进的马尔科夫随机场对高铁站变化检测,但是缺乏前期预处理,检测出的结果边缘信息表达不足。ZHAO等[12]提出了一种面向对象的多特征分级CVA变化检测方法,该方法使用CVA方法计算强度变化图,取得了较好的效果。WU等[13]基于像素级的变化检测方法,提出了混合像元分解法,比较不同像元的差异图,获得亚像元级别的变化差异图,取得了较好的效果。
针对上述文献中的不足与优势,提出基于SiameseResNet的变化检测方法。本文使用基于对象的变化检测处理方法,该方法以超像素分割得到的超像素块为处理对象,提取多种特征信息,使用阈值分割得到变化与未变化的预分类的特征变化图,消除了噪声干扰、伪变化以及分割算法无法对目标精确分割的问题,并获得与遥感影像相对应的特征变化图中变化与未变化的样本,得到初级变化检测结果图,再使用残差孪生卷积神经网络进行二次分类得到最后的变化检测图。该方法在消除伪变化和提升变化检测准确率上都有较好性能,在不同数据集下的实验验证了该方法具有较好鲁棒性。
本文采用高分一号(GF-1)PMS2传感器生成的高分辨率多光谱影像为数据源,PMS2传感器可以生成目标地区的空间分辨率为2 m的全色影像和空间分辨率为8 m的高分辨率遥感影像。
在对数据进行变化检测预分类等步骤之前需要对多光谱影像进行数据预处理。具体步骤如下:
(1)大气校正:使用高分一号辐射定标系数对图像进行辐射定标,定标后再进行FLAASH大气校正,消除由于大气散射或吸收导致的光谱分布的变化。
(2)正射校正:经过大气校正的图像自动将RPC信息镶嵌在图像中,对带有DEM数据定位的图像进行无控制点的正射校正,消除图形几何畸变。
(3)图像配准:使用带控制点的图像匹配方法,实现图像配准,并控制最终的配准误差小于0.5个像素点。
(4)图像融合:基于GSPS(gram-schmidt pan-sharpening,GSPS)的图像融合,保持了光谱信息和纹理信息高保真性,本文融合后的图像分辨率为2.3 m。
(5)直方图匹配:使用灰度映射函数,使待匹配图像的直方图与基准图像直方图匹配,达到两幅图像在颜色上的一致性。
(6)图像降噪:对图像高频区域的噪声进行阈值分割,再对小波系数重构,得到去噪后的图像。
(7)受限制的自适应直方图均衡化:通过对局部区域的对比度增强,从而获得图像更好的边缘信息。
本文采用基于梯度下降算法对图像进行分割,超像素分割算法将图像RGB颜色转化为CIE-Lab颜色空间和x-y坐标,对应(L,a,b,x,y)五维向量,通过像素点之间向量距离判定像素之间的相似性,距离越大,相似度越小。算法具体过程(操作步骤)如下:
(2)迭代聚类:为每个种子点周围的像素分配类标签,确定相关像素属于的聚类中心,为了提高运行速度,选择2S×2S搜索区域,计算该区域内所有像素与该种子点的距离度量D,颜色距离dc,空间距离ds。表达式如下
(1)
(2)
(3)
由于每个像素会被多个聚类中心的种子点搜索到,故取该像素点距离度量最短的对应的种子点为该像素的聚类中心。
(3)迭代优化:计算所有的种子点的搜索后,重新计算每个聚类中心的种子点,直到种子点位置不会发生变化为止。本文迭代次数为10次。
(4)像素块合并:对分割后的两时相图中的聚类中心所属区域的所有点进行编号,并叠加两时相的超像素块。
(5)叠加具有相同编号的超像素块,并对叠加后的重叠区域重新标号,并按照该方法以Z字形逐行进行编号,得到新的超像素合成结果。
式(1)和式(2)中L、a、b、x、y为五维向量(L,a,b,x,y)中对应的值。i、j为像素和种子点m为每个超像素最大颜色距离,取值范围[1,40],值越大,超像素越紧凑,本文m取值为30。
本文对提取的两时相影像具有相同编号的超像素进行特征提取,操作如下:
(1)光谱特征
本文的光谱值指多光谱影像的各个波段的灰度值。光谱特征变化图表示为
(4)
(2)纹理特征
为了消除光照对特征提取的影响,本文采用局部二值模式(local binary pattern,LBP)算法,得到纹理特征变化图,对于第j个超像素、第K个波段的纹理特征变化强度图表示为
(5)
(3)峰值信噪比
峰值信噪比用来表征图像评价指标,也用于表示图像相似度,对于第K个波段、第j个超像素的峰值信噪比特征变化图表示为:
均方误差(mean squared error,MSE)为
(6)
峰值信噪比(peak signal-to-noise ratio,PSNR)为
(7)
式中:T1(K,j,i)为T1时相影像在第K个波段、第j个超像素位置为i的像素值,对于超像素分割后的不规则图像,将超像素提取后拉伸为1行P列的向量进行计算,MAX为图像像素最大值,本文图像为8位,故MAX值为255。
(4)空间特征
空间特征能够表达图像光谱在空间的上下文关系。常用斜率(slope)、截距(intercept)来对上下文信息建模。对于第K个波段、第j个超像素的斜率特征变化图和截距特征变化图表示为
(8)
(9)
其中,ST1T2为T1和T2影像对应像素的乘积;ST1和ST2分别为第K个波段、第j个超像素中像素值总和。
在基于超像素的特征提取后,由于各个特征算法不同,最后表现出的变化强度图呈现出负相关和正相关,本文对所有特征中出现的负相关取反处理,以保证得到各个特征的所有变化结果。
基于1.4节的特征结果,每个超像素的特征为5维向量f=(F1,F2,F3,F4,F5),采用简单的投票机制从预分类的变化强度图中选择训练样本。对于任意一个特征分量Fn,若该点发生变化,Fn=1若没有发生变化,则Fn=0;投票方法操作如下
(10)
当向量f的模值为5,即5项特征都发生变化时,判定该区域发生变化;当f的模为0时,判定该区域未发生变化;当f的模在0至5之间时,判定该区域不确定是否发生变化。从投票得到的特征变化图中选择变化与未变化的区域作为训练样本,并作为后续模型的输入。
本文采用ResNet-18作为实验模型,残差网络是一种基于卷积神经网络的结构,传统的神经网络,通过跳跃链接将输入与输出相链接,残差结构的优势在于,随着传统神经网络的层数增加,会导致网络出现过拟合,错误率不降反升的问题,残差模块结合浅层特征和深层特征,保留了一些较小的感受野目标的特征信息。
对于变化检测目标中的建筑物而言,采用残差网络不仅能够学习建筑物的边缘浅层信息,还可以学习到建筑物表面的深层次特征。
本文采用ReLu(rectified linear unit,ReLu)非线性函数作为隐藏层的激活函数,相较于Sigmoid和Tanh函数,可以转换一部分的神经元为0,抑制了梯度弥散,收敛速度也较快。损失函数使用目前最常用的交叉熵损失函数(cross entropy loss function),它可以有效解决最小平方误差遇到激活函数处于饱和区时梯度消失等问题。优化算法选择基于训练数据迭代地更新神经网络权重Adam算法。
本文采用SiameseResNet模型对变化检测结果进行分析,孪生神经网络采用权值共享机制,对不同的输入进行相似度计算,在神经网络最后一层去掉输出层,得到128维的全连接层,通过全连接层欧式距离,得到两张图片的相似度,最后采用阈值分割和后处理,得到变化检测结果。本文使用的孪生神经网络模型结构如图1所示。
图1 孪生残差神经网络
本文的总体流程如图2所示。
图2 流程
本文选取2组高分辨率多光谱影像进行验证,并对上述的方法得出的结果进行精度评价。
第一组为杭州某地2016年3月27号和2018年6月25日数据集。第二组为惠州2015年1月1日和2018年3月23日的数据集,如图3所示。
图3 本文数据集
本文采用以下方法与本文方法进行对比实验:包括遥感影像变化检测领域经典常用的方法:最小噪声分离法(minimum noise fraction rotation,MNF Rotation)、独立成分分析(independent component correlation algorithm,ICA)、双色多视图方法(two color multi-view,2CMV)、波谱角(spectral angle,SA)和基于植被归一化指数与红/蓝波段比率以及人造地物相结合的差值变化检测方法Subtractive[14]变化向量分析法(change vector analysis,CVA)[15]、主成分分析(principal components analysis,PCA)[16]、多元迭代变化检测法(iteratively reweighted multivariate alteration detection,IR-MAD)[17],同时,为了验证本文方法的有效性,本文还将与文献[12]中的面向对象的多特征分级CVA变化检测方法与文献[13]中的混合像元分解法进行比较,并在分别标记为Paper1与Paper2。
经过预处理以及变化信息特征后,从变化强度图中获取训练样本,如图4所示。
图4 样本选择
如图4(f)为结合5项特征得出的预分类图,黑色为确定未变化区域,白色为确定变化区域,灰色为不确定是否发生变化的区域。通过选取得到的变化与未变化区域作为样本,对不确定区域的变化情况进行预测分类,最后得到变化检测结果。
基于像素的目标变化检测无法利用遥感图像中的结构特征和纹理特征,忽略了像素间的相关性。本文基于上述特征提取和方法,选择变化与未变化中的区域,样本选取太小,忽略了样本中的领域信息,无法得到特征明显的训练样本,样本选取太大,样本中的像素包含地物信息越多,但像素之间相关性越小,同样会影响预测结果,降低训练效率。遥感影像包含的地物目标较小,经过多次选取,选择11×11的样本大小,可以很好包含地物信息,而又不影响像素间的相关性。
图5是杭州某地的数据两时相变化检测结果,其中,图5(k)是本文结果图,图5(l)是人工目视解图。如图5所示,图5(a)至图5(h)中,由于没有提取目标特征信息,图5(b)~图5(e)在变化检测过程中边缘轮廓部分丢失,而基于本文变化特征提取的方法,能够较好地提取到图像边缘信息。其中图5(j)对噪声鲁棒性较差,图中包含有大量的噪点,图5(i)对于光谱变化较小的地物,检测效果不佳。图5(b)、图5(d)、图5(e)、图5(f)的变化检测结果都受到不同程度的‘同谱异物’、‘同物异谱’的影响,出现大量伪变化的区域,而本文采用的基于对象的超像素分割与合并方法可以较好地避免伪变化的情况,受限制的自适应直方图均衡化方法有效增加局部对比度,突出一些较小的地物,使用SiameseResNet模型对变换区域的预测可以得到较好的变化检测结果,最后经过形态学后处理可以消除一些过小的点,增加了变化检测的准确度。
图5 杭州数据集变化检测结果比较
变化检测图下不同的评价标准的结果见表1。从表1可以看出,本文方法下的Kappa系数比常用的变化检测方法IRMAD与PCA分别要高46%与50%,在总体正确率上分别要高15%与27%,在漏警率要小4%与5%,虚警率要小16%与15%。在其它的方法下,本文的方法下的ACC、F1、Recall、Pre数值比另外10种方法对应的系数效果都要好,说明本文的变化检测方法是有效的。
表1 杭州数据集精度评价比较
图6是惠州经济开发区的数据两时相变化检测结果。图6(k)是本文结果图,图6(l)是人工目视解译图。图6(a)~图6(h)中,图6(a)、图6(b)、图6(d)、图6(e)、图6(g)没有检测出部分房屋的边缘信息和细节信息。基于像素处理单元的图6(j)噪声较多,房屋与道路交界处检测效果模糊,效果较差,图6(i)中较好的检测出房屋、草地等变化,但是对于地物特征表征不明显的如马路等,检测效果较差。且受到光照影响,图6(a)~图6(h)中存在大量的建筑物阴影区域和道路区域,而本文的方法采用人脸识别中的LBP算法可以较好消除地物阴影的影响,同时能够保留大部分边缘信息,通过受限制的自适应直方图均衡化可以增加局部对比度,也能够检测出相邻建筑物中较为模糊的边缘信息,对草地的检测也具有一定的效果。SiameseResNet模型对变换区域的预测可以得到较好的变化检测结果,最后经过形态学后处理可以消除一些过小的点,增加了变化检测的准确度。
图6 惠州数据集变化检测结果比较
表2为不同变化检测方法下不同精度评价标准值,从表中的数值可以看出,在本文的方法下的Kappa系数比常用的变化检测方法IRMAD与PCA分别要高69%与60%,在总体正确率上分别要高31%与31%,在漏警率上分别小28%与31%,虚警率上分别小20%与43%。在不同的变化检测方法下,本文的方法下的ACC、F1、Recall、Pre数值比另外10种方法对应的系数效果都要好,说明了本文方法的有效性。
表2 惠州数据集精度评价比较
综上所述,本文提出的基于SiameseResNet的方法,可以有效提高变化检测精度,检测到的地物信息有效的避免了虚检与漏检等现象,对不同的地物类型与边界模糊的地物都有较好的检测结果。
本文提出的孪生残差神经网络的变化检测方法流程,较传统的变化检测方案解决了“伪变化”影响,使用的预分类的方法可以提升变化检测的检测精度,避免受到神经网络的分类精度影响,使用孪生残差神经网络,可以有效提取遥感影像的深层与浅层特征,使用开运算提高变化检测的精度,并用10种常见的变化检测方法对比实验,在7种精度评价指标都取得了较好的效果。实验结果表明,本文方法提高了遥感影像的变化检测效果,得到了更好的变化检测准确率和更低的错误率。在今后的工作中可以进一步对具体的变化类型,以及变化的种类等语义要素进行分析。另一方面可以利用遥感影像的时间分辨率引入LSTM等网络进行变化检测。