计算机系统应用  2020, Vol. 29 Issue (1): 40-48   PDF    
基于深度学习算法的卫星影像变化监测
王志有1, 李欢1, 刘自增1, 吴加敏1, 施祖贤2,3     
1. 宁夏回族自治区遥感测绘勘查院, 银川 750021;
2. 北京科技大学 计算机与通信工程学院, 北京 100083;
3. 北京科技大学 材料领域知识工程北京市重点实验室, 北京 100083
摘要:遥感影像的变化检测是遥感应用研究的热点之一, 在城市变化、环境监测、土地利用以及基础地理数据库更新等领域中有着广泛的应用. 变化检测是从不同时期的遥感数据中定量分析和确定地表变化的特征和过程, 具体工作是对同一地区不同时相的两幅或多幅图像进行分析, 检测出其中的变化部分与未变化部分. 本文提出了基于堆栈降噪自动编码器网络的变化检测方法, 将应用于SAR (Synthetic Aperture Radar, 合成孔径雷达)卫星图像变化检测的深度学习算法改进, 使之适用于高分光学卫星图像, 然后在孪生网络的结构上进行改进, 提出了基于分支卷积神经网络的变化检测方法, 最后设计算法去除了阴影干扰和噪声等伪变化, 并在高分二号卫星中宁夏地区的实际生产数据影像上进行了测试, 取得了不错的效果.
关键词: 遥感影像    变化检测    深度学习    去噪增强    卷积神经网络    
Satellite Image Change Monitoring Based on Deep Learning Algorithm
WANG Zhi-You1, LI Huan1, LIU Zi-Zeng1, WU Jia-Min1, SHI Zu-Xian2,3     
1. Ningxia Insitute of Remote Sensing, Survey and Mapping, Yinchuan 750021, China;
2. School of Computer and Communication Engineering, University of Science and Technology Beijing, Beijing 100083, China;
3. Beijing Key Laboratory of Knowledge Engineering for Materials Science, University of Science and Technology Beijing, Beijing 100083, China
Foundation item: Key Research and Development Program of Ningxia Hui Autonomous Region (2018YBZD1629)
Abstract: Remote sensing image change detection is one of the hotspots of remote sensing application research. It has been widely used in urban change, environmental monitoring, land use, and basic geographic database update. Change detection is the feature and process of quantitative analysis and determination of surface changes from remote sensing data in different periods. The specific work is to analyze two or more images of different phases in the same region, and to detect the changed parts and unchanged parts. In this study, a change detection method based on stack noise reduction automatic encoder network is proposed. The deep learning algorithm applied to SAR (Synthetic Aperture Radar) satellite image change detection is improved, which is suitable for high-resolution remote sensing satellite image, and then improved on the structure of twin network. A change detection method based on branch convolutional neural network is proposed. Finally, the design algorithm removes the false changes such as shadow interference and noise, and tests it on the actual production data image of the high-resolution satellite 2 (GF-2). It has achieved sound results.
Key words: remote sensing image     change detection     deep learning     denoising enhancement     Convolutional Neural Network (CNN)    

地表生态系统和人类社会活动都是动态发展和不断演变的. 实时精确地获取地表变化信息对于更好地保护生态环境、管理自然资源、研究社会发展, 以及理解人类活动与自然环境之间的关系和交互作用有着重要的意义[1]. 目前, 国内外提出变化检测方法基本上分为两类: 面向像素的变化检测[24]和面向对象的变化检测[5].

面向像素的变化检测的优点是可以将对应像素间的特征直接进行运算和比较, 得到最终变化结果, 简单易懂, 但缺点是变化结果充斥着大量的噪声, 常常包含了由影像成像色调不同等造成的伪变化[6]. 面向对象的变化检测的优点是获得的变化结果噪声少, 并且可以获得更为详细的由何种地类变为何种地类信息, 但缺点是存在误差累计造成的变化检测精度不高的问题, 最终的变化检测结果很大程度上依赖于分割或分类的准确程度.

对比面向像素和面向对象的变化检测方法, 本文认为面向像素的变化检测方法因为直接对影像特征进行分析, 得出变化检测结果, 不存在中间环节误差累计, 所以在效果提升方面可控性更强. 由于无监督的面向像素变化检测方法会将影像上灰度差异较大的像素均检测为变化像素, 实用性不高. 所以本文使用了深度学习网络对影像逐像素进行了有监督二分类, 即变化类和非变化类. 通过人工标签规定, 将一些灰度差异较大但无实际意义的变化, 如不同时相中耕地植被覆盖情况的变化, 记为未变化. 但以上方法的变化检测结果仍然存在大量的不同时相阴影长短不同造成的变化、噪声以及漏检情况, 这也是面向像素变化检测方法的通病.

为了解决阴影干扰、噪声以及部分漏检的情况, 本文使用了阴影指数阈值分割法去除阴影干扰, 并借鉴面向对象变化检测方法中图像分割的思想, 设计了面向对象的去噪增强算法. 去除阴影干扰算法先对两时相影像的阴影像素进行提取, 然后在预测结果中减去这些区域的变化情况. 面向对象的去噪增强算法先对图像进行分割, 将同一地类的像素进行聚类, 然后通过判断预测结果中变化像素占每个地类的面积占比, 若大于某个阈值则认为当前地类的所有像素均为变化像素, 否则认为当前地类的所有像素均为未变化像素, 达到去除噪声并补全漏检区域的目的.

本文整体的处理流程如图1所示.

图 1 整体处理流程

1)我们首先进行数据预处理操作: 采用直方图匹配的相对辐射校正方法, 使一幅图像与另一幅待匹配图像的色调尽可能保持一致, 消除成像条件不同造成的不利影响, 见2.1节;

2)然后通过邻域矩阵拼接操作得到两时相目标像素的邻域特征V, 见2.2节;

3)接下来我们提出了基于堆栈降噪自动编码器网络的变化检测方法, 将应用于SAR (Synthetic Aperture Radar, 合成孔径雷达)卫星图像变化检测的深度学习算法改进, 使之适用于高分光学卫星图像, 见2.3.1节;

4)然后在孪生网络的结构上进行改进, 提出了基于分支卷积神经网络的变化检测方法, 见2.3.2节;

5)最后设计算法去除了阴影干扰和噪声等伪变化, 见2.4节.

1 相关工作

过去, 大量变化检测算法均是基于SAR雷达影像实现的. 高分光学影像具有多通道和高分辨率的特点, 目前, 采用深度学习对其进行地物分割和识别取得了不错的进展, 对变化检测方向研究还比较欠缺.

Chen等人[3]使用了变化矢量分析法(Change Vector Analysis, CVA)计算两时相影像对应像素的欧氏距离作为变化强度信息, 然后在RGB空间计算两时相影像变化方向与RGB轴夹角的余弦值作为变化方向信息. 通过最大类间方差法阈值分割变化强度, 得到变化检测结果, 然后通过对变化方向信息进行分类, 得到由何种地类变化为何种地类的from-to信息. 变化矢量分析法简单易实施, 是传统变化检测方法的代表, 但采用阈值分割作为变化检测的决策手段具有较大的局限性.

Liu等人[7]使用了堆叠限制玻尔兹曼机(深度信念网络, Deep Belief Nets, DBN)来分析多时相SAR影像间的差异图像, 并对两时相影像的邻域特征进行分类, 通过运用深度学习算法将影像进行逐像素分类, 达到变化检测的目的. 基于深度信念网络的变化检测方法将变化检测问题转化为了对图像中每个像素的分类问题, 即变化类和未变化类. 但邻域特征的提取方法是针对单通道的SAR影像设计的, 且使用传统算法的变化检测结果作为标签, 虽然增加了算法的无监督自动化能力, 但是却失去了实用性.

Liu等人[8]使用了双通道的CNN接收两时相SAR影像的邻域图像, 在全连接层将两个影像的降维特征合并, 输入到分类器中, 避免了堆叠限制玻尔兹曼机先无监督预训练再有监督微调的复杂训练过程. 但将两时相影像叠加为双通道图像输入进CNN提取更为抽象的卷积特征, 得到的变化检测结果边界信息不准确, 对于微小面积或狭长的变化容易发生漏检现象.

宁夏地处黄土高原与内蒙古高原的过渡地带, 地形南北狭长, 地势南高北低; 自然植被有森林、灌丛、草甸、草原、沼泽等类型; 耕地盐渍化、沙化等问题突出. 遥感影像的应用与其观测精度、时空尺度密切关联. 一方面, 随着卫星技术的发展, 影像获取成本持续下降, 影像的时间分辨率、空间分辨率、频段分辨率越来越高; 另一方面, 能够处理的问题也从局部目标识别、土地利用分类扩充到精细目标识别、状态判断、关联分析、趋势分析等应用领域.

本文针对宁夏地区存在的问题设计了一套完整的方法进行变化监测. 基于深度信念网络的变化检测方法是为单通道的SAR卫星影像设计的, 如果直接将多通道的高分遥感影像转化为单通道灰度图像, 然后应用基于深度信念网络的变化检测, 会损失原影像中丰富的多通道光谱信息. 为了使基于深度信念网络的变化检测方法适用于高分遥感影像, 我们重新设计了多通道影像的邻域特征提取方法, 希望能够将多通道的光谱信息都制作成邻域特征, 用于后续的深度学习网络分类.

之后我们使用了与深度信念网络原理不同但效果类似的自动编码器网络, 由于自动编码器网络具有很多不同的变种, 其中降噪自动编码器网络可以在输入数据中掺杂噪声数据, 但在重构输出中将噪声去除, 可以提高网络模型的泛化性, 所以我们决定使用堆栈降噪自动编码器网络作为面向像素变化检测的深度学习网络.

2 本文方法 2.1 数据预处理

高分光学影像中不同时相的影像由于成像季节、成像角度和影像配准上的差异, 常常会有很大的不同. 这很不利于面向像素的变化检测, 为了减轻这种差异带来的影响, 我们需要对图像进行预处理.

图2所示, 由于我们使用的高分二号遥感影像已经经过了配准和绝对辐射校正, 所以可以看出同一地区的影像像素基本对应, 但由于成像季节不同造成影像的色温不同, 我们采用了直方图匹配算法进行处理.

图 2 直方图匹配((a)为时相1原图, (b)为时相1相对于时相2做直方图匹配辐射校正结果, (c)为时相2原图)

采用直方图匹配的相对辐射校正方法, 使一幅图像与另一幅待匹配图像的色调尽可能保持一致, 消除成像条件不同造成的不利影响. 分析结果证明, 直方图匹配后的图像与图像校正之前有了较大的质的提高, 说明使用该方法进行相对辐射校正效果是比较好的[9].

2.2 特征提取

邻域矩阵特征充分考虑了目标像素周围的邻接像素的光谱信息, 可以表征目标像素周围的纹理、颜色和上下文信息.

图3所示, 本文先对高分光学影像目标像素的每个通道的邻接像素构造邻域矩阵MR、MG和MB, 然后将他们展开为向量VR、VG和VB, 再将3个向量按照RGB的顺序拼接在一起, 得到邻域特征VRGB. 考虑到两个时相的高分光学影像, 再将时相2对应像素的邻域特征V'RGB拼接在时相1的邻域特征后面, 最终可以得到两时相目标像素的邻域特征V.

2.3 变化检测 2.3.1 基于堆栈降噪自动编码器的变化检测

自动编码器由Rumelhart提出[10], 包含了编码器和解码器两个部分: 编码器对数据进行降维, 解码器还原降维后的数据成原始维度.

堆栈降噪自动编码器网络(Stacked Denoising Auto-Encoders, SDAE)[11,12]是一种利用经过无监督逐层贪心预训练和系统性参数优化的多层非线性网络从无类标数据中提取高维复杂输入数据的分层特征, 并得到原始数据的分布式特征表示的深度学习神经网络结构[12]. 一般为了可以使网络完成分类的任务, 会在网络的最后加入Softmax分类器, 将整个网络分为分层特征提取和数据分类两个阶段.

图 3 适用于高分光学影像的邻域特征构造流程

在分层特征提取阶段通常需要堆叠多个自动编码器, 完成从前往后的编码和从后往前的解码, 其中每一层的编码工作可以用式(1)表示, 解码工作可以由式(2)表示.

$ {z^{(l+1)}}={W^{(l,1)}}{a^{(l)}}+{b^{(l,1)}},{a^{(l)}}=f({z^{(l)}}) $ (1)
$ {{\rm{z}}^{(n+l+1)}}={W^{(n - l,2)}}{a^{(n+l)}}+{b^{(n - l,2)}},{a^{(n+l)}}=f({z^{(n+l)}}) $ (2)

其中, $ {a^{\left( n \right)}}$ 表示最后一个隐含层单元的激活值, l表示当前的层数, $ {W^{\left( {l,1} \right)}}$ $ {b^{\left( {l,1} \right)}}$ 表示第l层编码器的编码阶段权值和偏移量, $ {W^{\left( {l,2} \right)}}$ $ {b^{\left( {l,2} \right)}}$ 表示第l层编码器的解码阶段权值和偏移量, z表示当前层的输出也是下一层的输入.

SDAE的训练也分为两个阶段, 一个是无监督的预训练, 另一个是有监督的微调阶段. 该算法的核心是:

① 先以无监督的方式训练网络的第一层, 通过重构输入的数据, 并用自身作为标签, 不断训练减小重构损失;

② 然后将每一层的输出作为下一层的输入, 并按照步骤①的方式对每一层进行无监督训练;

③ 重复步骤②直至除分类层的最后一层;

④ 将最后一个隐含层的输出作为有监督Softmax分类层的输入, 并初始化有监督层的所有参数.

在进行变化检测任务时, 先使用两时相高分光学影像的邻域特征进行训练, 将每个像素的邻域特征作为堆栈降噪自动编码器的输入, 然后进行逐层预训练, 直到重构损失降低到收敛, 完成无监督预训练的工作. 然后将人工标签参考图按照每个对应像素是否发生变化, 用0表示未发生变化, 1表示变化作为类别标识. 如果使用Softmax分类器还需要将标签转化为one-hot形式, 即[0, 1]表示未发生变化类别, [1, 0]表示发生变化类别. 经过以上处理可以将人工标签参考图像转化为二进制标签数据.

将标签数据和训练数据同时输入到堆栈降噪自动编码器网络中, 包括分类层, 进行有监督微调, 直到完成训练. 训练完毕后将邻域特征两时相前后拼接顺序互换再训练一遍, 达到扩充训练集的目的. 训练后的模型可以接收测试集的邻域特征, 并预测出与标签数据维度一致的预测结果. 如果是one-hot形式, 则认为预测结果[x, y]中, 若x大于y则认为是变化类别, 若x小于y则认为是未变化类别, 通过这样的方法可以将预测结果还原为黑白二值图像的形式, 便于观察预测结果图像进行主观视觉分析和指标计算. 基于堆栈降噪自动编码器的变化检测原理示意图如图4所示.

图 4 基于堆栈降噪自动编码器的变化检测原理示意图

2.3.2 基于分支卷积神经网络的变化检测

孪生神经网络(Siamese Network)[13]使用两个分支, 是分支卷积神经网络的一种. 两分支之间权值共享, 通过两分支对输入影像进行特征提取后, 展平接入全连接层, 然后使用对比损失函数对结果进行相似度计算, 对比损失函数的公式如式(3)所示.

$ loss=\frac{1}{{2N}}\mathop \sum \nolimits_{n=1}^N y{\left| d \right|^2}+\left( {1 - y} \right)max{\left( {m - \left| d \right|,0} \right)^2} $ (3)

对比损失函数的表达式中, |d|表示两个分支的输入经过分支网络的提取得到的特征的欧氏距离, y表示人工标注的二值参考信息, m是常量. 当y为1时表示相似度高, 此时1–y为0, 则不用考虑后半表达式的情况, 只考虑类内情况, 损失等于对相似度高的特征距离计算平均距离; 当y为0时表示相似度低, 此时1–y为1, 则不考虑前半表达式的情况, 只考虑后半表达式的情况, 即类间情况, 损失等于计算在一定阈值m范围内的特征距离的平均距离, 超过阈值的距离, 损失直接记为0.

本文基于孪生神经网络的结构, 将最后的输出层用Softmax分类层代替, 并使用最小交叉熵损失作为损失函数. 两个时相的输入数据分别对应两个分支, 两个分支的网络结构一致且参数共享, 输入数据在两个分支中经过卷积和反卷积提取特征, 然后将提取到的特征输入到联接层, 然后进入全连接层, 最后进行分类, 构建了本文的分支卷积神经网络, 网络结构如图5所示.

图 5 分支卷积神经网络的模型结构

图5中左侧展示了分支网络的结构, 当分支网络接收输入图像时, 先使用卷积层①进行卷积, 卷积核数量为64, 卷积模式为same; 然后不经过池化层, 再进行卷积层②, 卷积核数量为32, 卷积模式为same; 为了防止过拟合, 接下来引入了Dropout层; 然后输入到反卷积层①, 卷积核数量为32, 卷积模式为same; 接下来经过反卷积层②, 卷积核数量为64, 卷积模式为same; 最后接入到输出层, 输出的数据维度与输入的数据保持一致. 卷积核的尺寸全部设置为3×3大小. 卷积模式采用same和不使用池化层的原因是输入邻域矩阵的尺寸本来就比较小了, 不需要进一步降维. 经过卷积和反卷积, 输入和输出的维度是一致的, 所以分支网络其实就是基于卷积神经网络构造了一个自动编码器网络.

图5下侧的分支网络的无监督预训练中可以看出, 输入层经过卷积层①和卷积层②获得了卷积特征, 这个过程其实是自动编码器的编码阶段. 而丢弃层后, 经过反卷积层①和反卷积层②, 将输出的维度还原成输入的维度, 这是自动编码器的解码阶段. 其实真正用于后面全连接层降维和分类层分类的是卷积层②得到的卷积特征.

在训练过程中, 按照堆栈自动编码器网络的训练方式, 先将输入图像输入到分支网络中, 以输入图像自身作为标签进行无监督预训练, 使得两分支网络的权值进行初始化; 然后将分支网络卷积层②的输出, 展平输入到全连接层中, 接下来使用人工标签对分类器进行训练, 调整整个网络模型的参数, 最终得到训练好的网络模型.

本节提出的方法基于孪生神经网络的整体结构和堆栈自动编码器的训练方式, 希望能通过网络自动提取邻域矩阵图像块中的卷积特征, 利用这些更为抽象的卷积特征进行分类, 获得更好的分类效果.

2.4 后处理

面向像素的变化检测方法由于是基于每个像素进行运算或分析, 然后得出结果, 所以变化结果中具有大量的椒盐噪声, 本文对阴影干扰和椒盐噪声的去除进行了研究.

2.4.1 去除阴影干扰

城镇地区每个时相楼房被太阳照射会产生阴影, 从而导致伪变化, 我们称之为“描边效应”.

图6所示, 两时相图中3个楼的影子长短不一造成了变化检测时的描边效应. 为了减轻这种描边效应, 我们使用了主成分分析[14](Principal Component Analysis, PCA)和RGB转换成HIS颜色模型, 并计算阴影指数[15](Shadow Index, SI)的方法提取并去除阴影.

图 6 不同时相影像中建筑物阴影干扰造成的伪变化

主成分分析是一种降维方法, 它将RGB三通道图像降维成单通道灰度图像, 记为LPCA. 它可以在提取阴影的过程中忽略我们不感兴趣的颜色信息, 并保留尽可能多的阴影信息.

HIS是一种被广泛采用的颜色模型. 与RGB颜色模型不同的是, RGB颜色模型是以红绿蓝三基色通道灰度值来表征每个像素, 而HIS使用亮度(I)、饱和度(S)和色调值(H)3个分量来表征每个像素. 通过RGB转换成HIS颜色模型, 我们得到了每个时相的亮度、饱和度和色调值分量.

最后我们可以使用上述的数据, 计算阴影指数SI:

$ SI=\frac{{\left( {{L{PCA}} - I} \right)*\left( {1+S} \right)}}{{{L{PCA}}+I+S}} $ (4)

阴影指数高的地方被认为是阴影地区, 而阴影指数低的地方则表示不是阴影地区. 使用最大类间方差法[16]分割阴影指数图像, 可以得到二值图, 即为提取到的阴影图像. 在预测的变化图像中减去这些提取到的阴影, 即为去除描边效应的最终结果.

2.4.2 面向对象的去噪增强

经过去除阴影的干扰后我们发现变化检测结果中依然充斥着大量噪声, 而且变化检测结果的边缘信息与原图像相比较并不是很准确. 若使用简单的中值滤波去噪, 则会损失大量的边界信息, 让去噪结果边缘变得圆滑, 为了让最终的变化检测结果更加纯净, 也为了能够获得更加精准的边界信息, 本文提出了一种去噪增强算法.

去噪增强算法基于面向对象变化检测的图像分割思想, 首先使用均值漂移(Mean Shift)算法[17]分割两时相图像. 然后统计上一步的变化检测预测结果中变化像素占每个类别总像素数的比值, 若比值超过某一阈值, 即认为当前类别的所有像素均为变化像素, 若未超过, 则认为当前类别的所有像素均为未变化像素. 具体的算法流程算法1所示.

算法1. 去噪增强算法伪代码

输入: 两时相高分光学图像Ims1和Ims2、变化检测预测结果P

对两时相影像进行分割

Ims1, Ims2=MeanShift(I1, I2)

初始化Result为0矩阵用于存放Ims1和Ims2的处理结果

Result=Init(P)

遍历每个像素

for i in range(0, P.row):

  for j in range(0, P.col):

    若当前像素在预测结果中为变化像素

    if P[i][j]==255:

      检查当前像素是否已经在结果中被分类过了, 若没

      有则继续

      if Result[i][j]==0:

        寻找当前像素在两时相影像Img中所在的图斑

        Patch1, Patch2

        Patch1, Patch2=getPatch(Ims1[i][j], Ims2[i][j])

        获得Patch1和Patch2中所有预测为变化的像素

        集合ChangedPatch1, ChangedPatch2

        ChangedPatch1=Patch1∩P

        ChangedPatch2=Patch2∩P

        计算当前图斑的变化面积占比

        Rate1=ChangedPatch1.area/Patch1.area

        Rate2=ChangedPatch2.area/Patch2.area

        if Rate1>=th:

          Result=Result+Patch1

        if Rate2>=th:

          Result=Result+Patch2

Result[Result!=0]=1

输出: 结果图像Result

通过这种方法, 可以将细小的噪声像素去除, 还可以将本来预测结果中边界信息不完整的部分补全, 使得最终结果的准确率进一步提升, 图7展示了去噪增强算法的示例图像. 从图中可以看出, 时相1图像(a)和时相2图像(b)相比较发生了变化. 然而预测图像(c)并不理想, 出现了漏检和误检(噪声)情况, 其中左上角出现了噪声, 而画面中央真实变化的部分并未完全检测出来. 经过上述去噪增强算法分别对两时相图像进行处理, 并将两时相的处理结果取并集, 最终得到去噪增强的最终结果图7(d).

图 7 去噪增强算法的示例图像((a)时相1图像, (b)时相2图像, (c)变化检测预测结果, (d)去噪增强结果)

3 实验过程及结果分析

本文使用高分二号遥感影像数据集对基于堆栈去噪自动编码器网络的变化检测方法进行实验. 数据集包括10张1000×1000的三通道图像, 其中8张作为训练和验证集, 2张作为测试集. 本文使用了变化向量分析法和基于深度信念网络的无监督变化检测方法作为对比.

本章实验阶段堆栈降噪自动编码器模型参数选取了深度信念网络的网络结构, 即输入层、隐含层① (250节点)、隐含层② (150节点)、隐含层③ (100节点)和分类层.

实验平台为Ubuntu 16.04、64 GB内存、Intel E5处理器、Nvidia GTX1080ti 12 GB显卡.

本小节主要做了两组实验, 第一组是通过实验对邻域矩阵尺度进行选取; 第二组实验评价两种基于深度学习的变化检测方法的性能.

3.1 邻域矩阵尺度选取

邻域特征尺度的选取与高分光学影像的分辨率有关, 也与待检测地区存在的主要变化有关, 理论上更大的邻域尺度具有更大的范围, 对于大规模的变化可以表达的更为准确, 同时降噪能力更强; 较小尺寸的邻域尺寸对较小规模的变化更为敏感, 但也会伴随着噪声多的情况.

3.1.1 基于堆栈降噪自动编码器的变化检测

本节实验了3×3、5×5、7×7和9×9尺寸的邻域矩阵构造邻域特征用于网络模型的训练和测试, 最终得到的指标对比如图8.

图 8 不同尺度邻域矩阵特征对基于堆栈降噪自动编码器变化检测结果指标的影响

图8可以看出不同尺度的邻域特征中除3×3外, 其他3个在综合指标F1值上差距不大. 但分析精确率和召回率来看, 可以看出召回率随尺度增大保持上升趋势, 这是因为检测出来的变化面积会随之增加. 但这些增加的变化检测结果并非都是真实发生变化的, 从5×5以后, 误检的增多造成了精确率的降低.

为了更加充分考虑更大范围邻域信息, 保证最终变化检测结果的纯净度而且避免增加数据量增大带来的计算时间增长和占用存储空间增长的问题, 综合考虑变化检测效果和整个流程的硬件开销等因素, 本节选取了5×5邻域矩阵作为最终特征提取的标准.

3.1.2 性能对比测试

本节试验了从3×3、5×5一直到17×17尺寸的邻域矩阵尺寸进行了模型的训练, 通过分析结果得出了最佳尺寸的结论.

图9展示了不同尺寸的邻域矩阵尺寸对分支卷积神经网络的影响, 可以看出, 精确率在7×7尺寸的时候到达顶峰, 但到达11×11的时候有个断崖式下降, 相反在召回率方面11×11获得了较大的提高, 在最终的综合指标上, 11×11比7×7和17×17高出了不到0.005, 以微弱的指标优势成为了最佳的邻域矩阵尺寸.

事实上, 我们发现根据邻域矩阵尺寸选取的不同, 该方法的F1值波动比较大, 不存在一个明显的变化趋势, 这也是这种方法的缺点所在. 在对邻域图像块进行卷积特征选取的时候, 过小的图像块得到的特征太过简单, 随着图像块尺寸的逐步提高, 总有最适合这种尺寸的变化区域被完美检测出来, 而不太适合这种尺寸的变化区域则获得的指标会差一些, 所以目前只能选取一个全局较好的尺寸作为邻域矩阵图像块的尺寸, 而后续的研究中应当研究多尺度变化检测结果融合的方法.

图 9 不同尺度邻域矩阵特征对基于分支卷积神经网络变化检测结果指标的影响

3.2 性能对比测试

本节对比的变化矢量分析法(CVA)通过计算各通道灰度值的欧氏距离, 再进行阈值分割, 即可获得变化检测结果. 而基于深度信念网络的变化检测方法(DBN)在之前的论文中适用于SAR单通道图像, 所以本节先将测试图像从三通道转成了单通道的灰度图像, 然后使用了上述算法. 然后将基于堆栈降噪自动编码器的变化检测方法(SDAE)和基于分支卷积神经网络的变化检测方法(BCNN)应用最佳的邻域矩阵特征尺寸进行实验.

4种方法在工业区域的变化检测结果如图10, 评价指标如表1, 可以看出由于两时相影像道路路面反光程度不一致, CVA和DBN均将这种伪变化检测出来了, 而本文所提两种方法可以忽略这种伪变化. 而且由于CVA和DBN是无监督算法, 所以在荒地和开发保留地上的微小植被覆盖变化也被检测出来了, 这造成了变化检测结果含有大量的椒盐噪声, 而本文方法由于在制作标签时将这种植被覆盖变化认为是不变的, 所以本文的方法得到的结果噪声更少. 分析指标, 由于伪变化和噪声影响, CVA和DBN的精确率都比较低, DBN相比传统的CVA方法有一点点提升. SDAE方法在精确率上大幅提高, 召回率相比前两种方法相差不多, 只提高1个百分点左右, 这说明SDAE方法在提升画面纯净度的同时, 并没有牺牲对变化监测区域的覆盖程度. 最终在综合指标F1值上, 可以看出SDAE方法比CVA方法提升了0.127 802, 比DBN方法提升了0.073 54. 而BCNN方法处理的变化检测结果相比其他的变化检测结果图像, 噪声更少, 而且在道路两旁和建筑保留地上去除了大量的伪变化, 极大的提高了画面的纯净度, 这是因为BCNN方法使用的是更为抽象的卷积特征进行分类, 使得变化检测结果中椒盐噪声被很大程度的抑制. BCNN方法在精确率、召回率和F1值方面均领先其他三种变化检测方法, 主要和SDAE方法进行对比, 在精确率提升了0.17的情况下, 召回率也提升了0.07, 与召回率提升不大的前3种算法拉开了差距, 证明了BCNN方法具有更好的性能.

图 10 工业区域变化各算法性能对比测试结果((a)CVA方法, (b)DBN方法, (c)SDAE方法, (d)BCNN方法, (e)变化参考图)

表 1 工业区域变化各算法性能对比测试指标

在农业区域的变化检测差距较大, 4种方法的变化检测结果如图11, 评价指标如表2. 可以看出CVA的变化检测结果非常杂乱, 充斥了耕地植被覆盖的变化、房屋变化、道路变化、房屋周围的植被覆盖变化和大量噪声; 相比之下, DBN方法避免了大部分的伪变化, 但由于是无监督算法, 依然具有大面积的耕地植被覆盖变化等, 房屋周围的植被覆盖变化也很明显; SDAE方法得到的变化检测结果画面纯净, 而且可以将农村微小的房屋变化检测出来. 从指标分析上看CVA由于检测出的变化面积大, 所以对真实变化情况的覆盖效果最好, 召回率达到了83.44%, 但大量的伪变化和噪声使他的精确率只有1.37%, 不具备实用价值. DBN的变化检测结果由于包含了过多的植被覆盖变化, 使得精确率也只有3.63%, 但从画面的纯净程度上观察, 已经比CVA方法提升了很多, 具备一定的实用价值. BCNN方法由于是有监督的分类算法, 所以也可以去除耕地变化的影响, 得到我们更感兴趣的房屋和道路变化. BCNN方法可以在去除椒盐噪声的同时, 保留农业地区细小真实变化. 从指标上看, BCNN方法与SDAE方法指标基本持平, 证明了BCNN方法在细小房屋的变化检测上也有不错的效果.

图 11 农业区域变化各算法性能对比测试结果((a)CVA方法, (b)DBN方法, (c)SDAE方法, (d)BCNN方法, (e)变化参考图)

表 2 农业区域变化各算法性能对比测试指标

本节通过设计实验, 将基于堆栈降噪自动编码器网络的变化检测方法与传统的变化矢量分析法和基于深度信念网络的变化检测方法相比较, 从变化检测结果图像观感和变化检测指标两个角度给出了对比. 在具有大规模变化的工业区域, 本文提出的算法能够明显减少大量的伪变化, 在一定程度上减少噪声信息, 突出真实变化的部分, 让变化检测结果更加直观; 在具有微小房屋变化的农业区域, 由于本文方法是有监督训练的分类方法, 得到的结果中可以将大量的耕地植被覆盖变化等实际利用价值不大的变化省略, 并在抑制噪声信息的同时检测出微小规模的房屋变化. 综合来看, 本文方法可以在保持一定召回率的情况下, 减少大量的伪变化和噪声, 具有一定的实用价值.

4 结论与展望

本文针对基于深度学习算法的高分卫星遥感(宁夏地区)影像变化检测方法进行了研究, 在已有的SAR雷达影像变化检测方法的基础上提出了改进方法, 并提出了自己的创新算法, 最后在变化检测结果的修正改善上使用了去除阴影干扰算法, 并自己设计了面向对象的去噪增强算法, 对变化检测结果和指标进行了改善与提高.

基于堆栈去噪自动编码器网络的变化检测方法是基于深度信念网络的SAR雷达影像变化检测方法的改进. 在特征提取阶段设计了适用于高分光学影像的邻域特征提取方法, 然后改用泛化性更好的去噪自动编码器网络, 经过无监督预训练和有监督微调, 最终获得一个二分类网络, 可以将两时相的每个对应像素分为变化类和未变化类. 该算法避免了传统变化检测算法的阈值分割阶段, 将变化检测问题转化成为面向像素的二分类问题, 经过实验对比, 具有不错的效果, 且在不同地区的高分光学影像变化检测方面, 展现出了很强的泛化性.

随后本文提出了基于分支卷积神经网络的变化检测方法. 分支卷积神经网络基于孪生神经网络的结构, 具有两个输入和分支网络, 分支网络之间权值共享. 分支网络为了模型训练更快的收敛, 采用了基于卷积神经网络的堆栈自编码器设计. 经过两个分支网络的特征提取后, 展平接入全连接层, 最后使用分类层得到输出. 训练时也先对分支网络进行无监督预训练, 目的是为了对网络权值进行初始化, 然后对整个网络进行有监督微调, 得到训练好的网络模型. 该算法不用复杂的邻域特征处理过程, 直接将邻域矩阵图像块作为输入, 提取更为抽象的卷积特征用于变化检测. 得到的变化检测结果更加纯净, 抑制了椒盐噪声, 而且经过实验在各项性能指标均比传统方法和基于堆栈去噪自动编码器网络的变化检测方法有所提升. 分支卷积神经网络在不同变化类型和不同时相的变化检测效果也有一定的领先, 适用于同一地区随着时间推移不断发生的各类变化检测.

最后本文在变化检测结果的后处理方面进行了研究, 首先使用了阴影指数对两时相影像阴影变化进行了提取, 然后在变化检测预测结果中去除了这些变化, 提高了变化检测结果的精确率. 然后设计了面向对象的去噪增强算法, 针对变化检测结果中椒盐噪声多的问题和去除阴影干扰阶段降低了召回率的情况进行了改善, 与传统的中值滤波去噪算法相比, 在保留了变化检测区域的边界信息的同时, 去除了噪声的影响, 具有一定的实用价值.

参考文献
[1]
张良培, 武辰. 多时相遥感影像变化检测的现状与展望. 测绘学报, 2017, 46(10): 1447-1459. DOI:10.11947/j.AGCS.2017.20170340
[2]
Chen J, He CY, Shi PJ, et al. Land use/cover change detection with Change Vector Analysis (CVA): Change magnitude threshold determination. Journal of Remote Sensing, 2001, 5(4): 259-266.
[3]
Chen J, He CY, Zhuo L. Land use/cover change detection with Change Vector Analysis (CVA): Change Type determining. Journal of Remote Sensing, 2001, 5(5): 346-352.
[4]
Zhang JX, Zhang YH. Remote sensing research issues of the national land use change program of China. ISPRS Journal of Photogrammetry and Remote Sensing, 2007, 62(6): 461-472. DOI:10.1016/j.isprsjprs.2007.07.002
[5]
Nemoto K, Hamaguchi R, Sato M, et al. Building change detection via a combination of CNNs using only RGB aerial imageries. Proceedings of SPIE 10431, Remote Sensing Technologies and Applications in Urban Environments II. Warsaw, Poland. 2017. 104310J.
[6]
张号, 邓强. 遥感影像变化检测中伪变化信息剔除. 工程技术研究, 2017(4): 43-44. DOI:10.3969/j.issn.1671-3818.2017.04.022
[7]
Liu J, Gong MG, Zhao JJ, et al. Difference representation learning using stacked restricted Boltzmann machines for change detection in SAR images. Soft Computing, 2016, 20(12): 4645-4657. DOI:10.1007/s00500-014-1460-0
[8]
Liu T, Li Y, Cao Y, et al. Change detection in multitemporal synthetic aperture radar images using dual-channel convolutional neural network. Journal of Applied Remote Sensing, 2017, 11: 042615.
[9]
王辉柏, 张朋楼. 基于直方图匹配的相对辐射校正方法的研究. 数字化用户, 2014(23): 234. DOI:10.3969/j.issn.1009-0843.2014.23.207
[10]
Rumelhart DE, Hinton GE, Williams RJ. Learning representations by back-propagating errors. Nature, 1986, 323(6088): 533-536. DOI:10.1038/323533a0
[11]
Vincent P, Larochelle H, Bengio Y, et al. Extracting and composing robust features with denoising autoencoders. Proceedings of the 25th International Conference on Machine Learning. Helsinki, Finland. 2008. 1096–1103.
[12]
曲建岭, 杜辰飞, 邸亚洲, 等. 深度自动编码器的研究与展望. 计算机与现代化, 2014(8): 128-134. DOI:10.3969/j.issn.1006-2475.2014.08.028
[13]
Hoffer E, Ailon N. Deep Metric Learning using triplet network. In: Feragen A, Pelillo M, Loog M, eds. Similarity-Based Pattern Recognition. Cham: Springer, 2015. 84–92.
[14]
Jolliffe IT. Principal Component Analysis. New York, NY, USA: Springer, 1986. 153.
[15]
刘辉, 谢天文. 基于PCA与HIS模型的高分辨率遥感影像阴影检测研究. 遥感技术与应用, 2013, 28(1): 78-84. DOI:10.11873/j.issn.1004-0323.2013.1.78
[16]
Otsu N. A threshold selection method from gray-level histograms. IEEE Transactions on Systems, Man, and Cybernetics, 1979, 9(1): 62-66. DOI:10.1109/TSMC.1979.4310076
[17]
Comaniciu D, Meer P. Mean shift: A robust approach toward feature space analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(5): 603-619. DOI:10.1109/34.1000236