用于高光谱变化检测的多径卷积网络算法
2020-11-19赵春晖张锦林宿南闫奕名
赵春晖,张锦林,宿南,闫奕名
(哈尔滨工程大学 信息与通信工程学院, 黑龙江 哈尔滨 150001)
高光谱遥感图像的变化检测是指对同一地区不同时相的高光谱遥感图像进行分析,并检测该地区地物变化信息的处理过程,被广泛应用于灾害损失估计、土地覆盖检测、城区发展规划等领域,是遥感图像领域研究的热点问题。
对于高光谱遥感图像变化检测,如何有效地利用高光谱图像的光谱信息来进行变化检测是一个巨大的挑战。近年研究人员根据不同的应用场景和数据特点提出了多种高光谱遥感图像变化检测的理论和方法。传统的变化检测可以分为2个步骤:生成差异图(DI)和通过分析得到变化图(CM)。在生成差异图步骤中,主要目的是提取2个时相图像间的差异信息,常见的差异图生成方法为代数运算,如差值法、比值法、相关系数法等。这类方法认为在对2个时相图像进行代数运算后,差异信息同样会保留在运算结果中。第2步的研究重点是根据第1步生成的差异图进行分析得到变化图,通常使用阈值分割和聚类等方法。其中在阈值分割方法中,关键是找到一个最佳阈值,根据阈值确定变化和未变化的区域。目前有许多快速确定阈值的方法,例如OSTU阈值法、变化向量(CVA)分析法[1-2]等,这类方法的缺点是对噪声比较敏感,得到的变化图中会出现一些孤立的噪声点。聚类方法主要包括K-Means聚类、模糊C均值聚类[3]以及顾及邻域的模糊C均值聚类(FLICM)[4]等。这类聚类算法得到的结果与阈值分割方法的结果类似,除了FLICM中考虑了邻域信息,使得孤立的噪声点减少外,其他聚类算法也会出现噪声干扰的情况。此外,主成分分析(PCA)[5]、马尔可夫随机场(MRF)[6]和IR-MAD算法[7]也被应用于变化检测领域中。
近年来,基于深度学习的神经网络不断发展,因其具有出色的特征表达能力以及学习能力,所以被应用于许多领域。在高光谱遥感图像变化检测领域,神经网络同样可以应用于其中的某些步骤中[8]。神经网络中的降噪自动编码器模型(SDAE)可以对输入的数据逐层的进行特征提取,对关键特征进行表达,对一些无关的噪声进行抑制,随着网络层次的增加,可以学习到更抽象的信息。卷积神经网络(CNN)可以应用于分类任务,因其具有多层次的结构,不同的层次具有不同的功能,设计多层次的结构可以应对复杂的分类任务。
综上所述,提出了利用降噪自动编码器来对高光谱数据进行降维,利用光谱角(SA)生成差异图,并融合了空间信息通过卷积神经网络进行分类,设计了一套基于多路径卷积神经网络和降噪自动编码器并结合空间信息的高光谱遥感图像变化检测方案,与传统方法相比获得了更好的效果。
1 研究方案
对于已经配准的某一区域2个时相的高光谱遥感图像I1和I2,高光谱遥感图像变化检测的目的是通过对2幅图像进行处理,获取该区域的变化信息,生成变化图。
提出的算法研究方案如图1,方案主要可以分为以下3个部分:
1)针对高光谱数据信息冗余问题,对高光谱数据进行降维处理,研究方案选用堆叠降噪自动编码器进行高光谱数据降维;
2)在高光谱遥感图像变化检测中需要对光谱信息进行利用生成差异图,研究方案使用光谱角矩阵来表征高光谱数据间的光谱信息变化;
3)为了将空间信息与光谱信息融合,研究方案中将光谱角矩阵中待测像素周围切比雪夫距离小于3的区域作为分析对象,使用多路径的卷积神经网络进行不同尺度的空间信息的提取。神经网络首先使用部分样本进行网络模型训练,然后使用训练好的模型对整个光谱角矩阵进行分类,得到变化图。
图1 提出的高光谱变化检测方案Fig.1 Proposed hyperspectral change detection method
1.1 堆叠降噪自动编码器
在高光谱数据的处理中,由于高光谱数据的波段众多(一般为几十或几百个波段),波段数目的增加带来的光谱信息冗余问题是高光谱数据处理中所要解决的一个重要课题。
图2 降噪自动编码器结构Fig.2 Architecture of denoising autoencoders
对于高光谱数据的降维,通过降噪自动编码器对原始高维高光谱数据进行训练,即高光谱数据为输入X,得到的降维后的特征为h。根据降噪自动编码器的原理,可以将h加入噪声后作为输入,训练另一个降噪自编码器,这个过程可以循环,最终将所有的降噪自编码器按照特征间的关系合并就形成了堆叠降噪自动编码器。
堆叠降噪自动编码器相对与原始的自动编码器拥有更深的网络结构,深层次的网络能够逐层地学习原始高光谱数据的特征模式,相对于浅层次的网络能够更稳定和精确地进行特征的表达。在单层的降噪自动编码器中,一般使用反向传播的方式进行训练,但是对于包含多个隐含层的堆叠自动编码器,如果直接使用该方式进行训练会遇到一些问题:在经过最初的几次迭代后,误差会变得极小,此时网络得到的结果也会变得无效,当训练的数据集很小时,该问题会更为明显。产生该问题的原因是网络结构的加深使得梯度下降法难以将误差传递给前面的层,导致网络训练失败。虽然使用其他的训练方式会减缓学习缓慢的问题,但是仍然无法从根本上解决该问题。解决方案是采用逐层非监督预训练的方式来进行网络的训练,将堆叠降噪自动编码器分成不同的DA单元,逐个单元进行训练,最终将每个DA单元堆叠起来构成堆叠降噪自动编码器。结构如图3。
图3 堆叠降噪自动编码器Fig.3 Stacked denoising autoencoders
在激活函数的选择上,由于输入的数据为高光谱据,在使用sigmoid函数时,由于激活函数的特性,使用梯度下降法进行训练时会出现收敛缓慢的情况。虽然使用Relu函数可以加快收敛的速度,但是由于高光谱数据的特性,使用Relu函数作为激活函数训练时会产生较大的梯度,导致神经元死亡的情况,为了解决这个情况,堆叠降噪自动编码器使用了Leaky Relu函数作为激活函数,Leaky Relu函数的定义为:
y=max(0,x)+a*min(0,x)
(1)
Leaky Relu函数的图像如图4。Leaky Relu函数是Relu函数的变体,与Relu函数的区别在于能够对负值输入计算梯度,解决了负值输入神经元不学习的问题,减少死亡神经元的产生。相对于Relu函数,Leaky Relu函数在[-∞,0]区间内具有一个非零斜率a,使得函数在负半轴的值不为零,其中a∈(0,1)。
图4 Leaky Relu函数图像Fig.4 Leaky Relu function
(2)
式中:m代表降噪自编码器的堆叠个数;hj代表第j个降噪自编码器的激活函数。将降噪自动编码器分成不同的单元,通过反向传播算法逐个进行预训练,最终将其堆叠起来再进行训练。
1.2 光谱角矩阵
在高光谱数据中,每个像素点位置都有一组n维的向量,代表了不同波段在该位置的值。设在t1时刻获取了大小为i×j的高光谱遥感图像X1,波段数目为n,在t2时刻的同一地点获取了大小相同的高光谱图像X2,波段数目同样为n。则2幅高光谱图像的差异向量矩阵可以表示为:
XD=X1-X2
(3)
由光谱角的定义[11]可知,光谱角将2个像素位置的光谱当作2个向量,通过度量2个向量的夹角来表征2个光谱之间的相似程度,则根据得到差异向量矩阵XD,2幅高光谱图像间的光谱角矩阵可以表示为:
(4)
式中:‖XD‖为差异矩阵中每个元素的F-范数。光谱角矩阵MSA中每个元素的取值范围为[0,π]。
1.3 多路径卷积网络
获取光谱角矩阵之后,考虑到空间信息与光谱信息的结合,选取矩阵元素周围切比雪夫距离小于等于3的区域Ω(D≤3)作为空间特征提取的对象。假设2个元素坐标分别为(x1,y1)和(x2,y2),则2个元素之间的切比雪夫距离D为:
D=max{|x1-x2|,|y1-y2|}
(5)
使用卷积网络对区域Ω进行空间信息提取,由于区域Ω中地物的尺度未知,使用单一尺度的卷积核会造成空间信息提取的不完整,因此采用Inception结构的卷积网络对区域Ω进行空间信息的提取。
Inception结构[12-13]最早于2014年由Google团队提出,目的是为了在增加卷积网络深度的同时保持计算量不变,同时能够提取到多尺度的信息。结构的示意图如图5。
图5 Inception结构Fig.5 Architecture of Inception
对于上一层输入的信息,分别采用大小为1×1,3×3和5×5的卷积核进行卷积,并与3×3池化层得到的结果进行融合得到多尺度的信息。在本研究中,首先将光谱角矩阵中每个元素周围切比雪夫距离小于等于3的区域作为输入,采用多路径卷积网络行空间信息提取。网络结构示意图如图6。
图6 多路径卷积网络结构Fig.6 Multipath convolution network structure
多路径卷积网络采用了Inception结构,同时在不同的卷积路径中设置了辅助输出,目的是防止网络过深导致误差无法传播到前面的层,设置辅助输出之后,可以使每一个卷积路径都能进行特征的提取和表达,提高分类网络的精度。
2 实验结果与分析
为了验证提出的方法的有效性,实验使用了3组高光谱数据集[14],并使用了5种对照算法进行对比。
2.1 数据集
第1组数据如图7,是Bay Area数据集,拍摄地点为California的Patterson市,分别拍摄于2013年和2015年,使用AVIRIS传感器拍摄,尺寸为600×500,共有224个波段。
图7 Bay Area数据集Fig.7 Bay Area dataset
第2组数据如图8,是Santa Barbara数据集,拍摄地点为California的Santa Barbara地区,分别拍摄于2013年和2014年,使用AVIRIS传感器,尺寸为984×740,共有224个波段。
第3组数据如图9,是Hermiston数据集,拍摄地点为Oregon的Hermiston市,分别拍摄于2004年和2007年,使用HYPERION传感器拍摄,尺寸为390×200,共有242个波段。实验使用Bay Area数据集中的10%的数据作为多路径卷积网络的训练样本进行训练,得到的网络进行3个数据集的测试。
图8 Santa Barbara数据集Fig.8 Santa Barbara dataset
图9 Hermiston数据集Fig.9 Hermiston dataset
2.2 评价指标
变化检测的结果以二值图的形式展示,其中白色的像素代表变化的像素,黑色代表未变化的像素。其中,TP为正确检测出的正样本个数,TN为正确检测出的负样本的个数,FP为实际为负样本但被检测为正样本的个数,FN为实际为正样本但被检测为负样本的个数。
为了定量的进行精度评价,使用总体误差(overall errors,OE)、准确率(percentage correct classification,PCC)和Kappa系数[15]作为精度评价的指标。则:
OE=FN+FP
(6)
PCC的计算公式为:
(7)
此外,Kappa系数通常被用来评估分类的效果。Kappa的值越高代表变化检测方法得到的结果越好,其计算公式为:
(8)
其中:
(9)
式中:Nc为真实的正样本个数;Nu为真实的负样本个数。
2.2.1 Bay Area数据集结果
Bay Area数据集的实验结果如图10,精度评价指标如表1。
图10 Bay Area数据集实验结果 Fig.10 Bay Area dataset results
表1 Bay Area数据集实验结果Table 1 Bay Area dataset results
Bay Area数据集中的地物类型主要为城市建筑和农田,从实验结果图像可以看出,在传统方法得到的结果图中,OSTU阈值法和模糊C均值聚类方法(FCM)以及变化向量分析法(CVA)中未考虑邻域的空间信息,结果图中不同程度的出现了孤立的噪声点,而其他的算法中考虑了邻域的空间信息,从而大大减少了孤立噪声点的产生。从实验结果的精度来看,相对于其他传统算法,本文提出的算法得到的精度最高,PCC系数为0.976 8,Kappa系数为0.953 3,说明了本文算法在该数据集上能够取得较高的检测精度,同时能对变化和未变化的像素进行有效的识别,正确的进行分类。
2.2.2 Santa Barbara数据集结果
Santa Barbara数据集的实验结果如图11,精度评价指标如表2。
图11 Santa Barbara数据集实验结果Fig.11 Santa Barbara dataset results
表2 Santa Barbara数据集实验结果Table 2 Santa Barbara dataset results
相对于Bay Area数据集,Santa Barbara数据集的地物中除了城市建筑和农田外,还包括一部分山区。从该数据集的实验结果图来看,除了提出的算法,其他传统算法在对山区未变化部分进行变化检测时,不同程度的出现了孤立的噪声点。从实验的结果精度来看,提出算法PCC系数为0.961 1,Kappa系数为0.918 7,在所有算法中表现最好。同时提出算法中的CNN网络是根据Bay Area数据集的一部分样本训练的得到的,直接用于Santa Barbara数据集后得到了较好的精度,说明提出的算法在同类型的数据集能够得到较好效果,具有较强的适用性。
2.2.3 Hermiston数据集结果
Hermiston数据集的实验结果如图12,精度评价指标如表3。
Hermiston数据集相对于其他2个数据集使用了不同类型的传感器拍摄。从实验结果图可以看出,由于变化区域的特征比较鲜明,因此传统方法中较少出现孤立的噪声点,但大多都出现了错检或漏检的情况。对实验的精度进行对比,可以看出提出的算法取得了最高的精度,PCC系数为0.949 3,Kappa系数为0.862 7。本实验中同样采用了Bay Area数据集中训练的CNN网络,而从实验结果中可以看出,提出的算法取得了较高的精度,因此进一步证明了提出的算法在不同类型的高光谱数据中仍具有一定的适用性。
图12 Hermiston数据集实验结果Fig.12 Hermiston dataset results
表3 Hermiston实验结果Table 3 Hermiston dataset results
3 结论
提出一种基于多路径卷积网络的高光谱变化检测算法。首先针对高光谱图像信息冗余的问题使用堆叠降噪自动编码器将高光谱数据进行降维。然后使用光谱角矩阵来表征对应像素间的变化关系。最后构建一个利用邻域空间信息的多路径卷积神经网络,并通过该网络得到变化检测结果。实验结果表明,提出的算法相对于其他未考虑邻域空间信息的变化检测算法,减少了孤立噪声点的产生,与其他传统的变化检测算法相比,具有较高的精度,同时使用一个数据集中的部分数据训练网络后可用于不同类型的高光谱数据中,具有较强的适用性。