张涵,秦昆,毕奇,张晔,许凯
1.武汉大学遥感信息工程学院,湖北武汉430079
2.中国地质大学地理信息工程学院,湖北武汉430074
随着卫星和无人机等航空成像平台的不断普及,获取高分辨率遥感影像不再困难[1]。然而,如何从海量高分辨率遥感影像中高效地挖掘出对测绘和地理信息领域有价值的信息,仍是一个巨大的挑战。遥感影像解译方法种类诸多,早期的方法主要基于低级特征[2-3]和中级特征[4-5]。自2012年以来,以深度学习为代表的人工智能算法在计算机视觉等领域带来了在分类、检测和分割等诸多模式识别任务上的显著提升[6-7]。基于人工智能的航空影像解译技术在城市规划[8]、土地覆盖制图[9]、环境监测[10]等领域有着重要的应用价值。
变化检测是遥感影像解译的一项重要任务,通常通过收集某一区域在不同时刻的多幅遥感影像来识别该区域的土地覆盖变化。目前遥感影像变化检测方法大多在遥感领域实现,主要是像素级别或对象级别。
像素级别的方法是将提取的特征输入到分类器中判定每个像素的状态(即是否从一个类别改变为另一个类别)。文献[11]提出了多幅差分图像融合技术,采用特征融合和决策级融合实现自动变化检测;文献[12]提出了一种新的多时相光谱分解方法,构建双时态光谱混合模型分析像元的光谱组成在亚像素级研究光谱时序变化;文献[13]提出了一种结合形态学轮廓和自动训练样本提取的无监督时序策略用于变化检测,在准确性和视觉效果上优于传统方法。然而,这些方法的主要不足在于,遥感影像空间分辨率的提高导致与土地覆盖无关的信息(噪声)增多,对检测性能会产生较大的影响[8]。
在对象级别的方法中,变化检测的基本元素是从航空影像中分割出的对象(即像素群)。这些方法通常与面向对象的图像分割策略有关。文献[14]提出了一种基于影像栅格和分段矢量数据交叉分析的高分辨率影像空间特征提取方法,将地理第一定律和矢量数据的拓扑关系相结合来约束中心对象周围区域的扩展并进行描述;文献[15]将图像的多尺度分割与多数投票算法相结合,提出了具有广泛通用性的高空间分辨率遥感图像土地覆盖变化检测方法。这些变化检测框架通常由多个阶段组成,面向对象的分割结果对最终性能的影响很大[8]。
近年来,场景级遥感影像变化检测方法逐渐得到关注。文献[16]提出了一种基于文档主题生成模型和多变量变化检测的无监督场景变化检测方法,在不需要先验知识的情况下更有效地实现无监督场景变化检测;文献[17]用一组低维语义信息指标来表示复杂的城市场景,无需训练样本自动构建变化检测模型,实现了高分辨率影像自动变化检测。相比于像素或对象,场景(影像块)对高分遥感影像中的噪声具有更强的容错性[18-19]。实验证明它们对于变化检测应用非常有效,此外遥感影像场景可以从语义层面描述土地覆盖,能够更有效、更准确地描述变化信息,如图1所示。
图1 通过(a)像素级别、(b)对象级别、(c)语义级别方法得到的变化检测结果Figure 1 Demonstration of change detection results via(a)pixel-level,(b)object-level,(c)semantic-level approaches
场景级遥感影像变化检测具有如上所述的诸多潜力和价值,是可行性较强的变化检测技术研究方向。但现有的研究方法均使用传统特征工程方法,着重描述了前后时相场景特征。由于变化检测场景特征复杂,对特征进行描述需要较多参数导致方法对不同数据的适应性较差。卷积神经网络在一系列视觉任务中得到了广泛的应用。多阶段的特征提取能力和端到端的方式使卷积神经网络对影像块具有很强的特征表达能力,相比于传统的特征工程方法具有很大的优势,能够直接从数据端得到变化检测的分类结果。这些特性使得卷积神经网络非常适合于以端到端的方式构建场景级遥感影像变化检测任务的语义(高级特征)表达。基于卷积神经网络的上述优势,本文将其用于场景级的航空影像变化检测。本文提出了一种注意力引导的三维卷积神经网络模型,在网络模型中引入一个新的语义注意力模块(semantic attention module,SAM)来重点提取航空影像中的变化区域,从而更加准确地进行场景级遥感影像变化检测。由于目前没有公开的变化检测数据集,本文制作了一个遥感场景变化检测数据集,用于验证本文所提出方法的有效性。
用X1和X2分别表示时间T1和T2的遥感图像场景。本文模型的输入X是X1和X2的堆叠,可表示为
对于二维卷积神经网络,设X′表示从某一层输出的张量,设W表示当前卷积层中的二维卷积滤波器。张量X′可以看作n维卷积特征图,可表示为
当前层中的卷积操作(输出为X′′)可以表示为
式中:i=1,2,···,n;⊗表示卷积操作;表示j通道的卷积特征图。
二维卷积的不足在于不能在时间维度上共享参数和挖掘丰富的上下文信息,因此使用二维卷积可能会添加更多的冗余参数,容易引起过拟合。而三维卷积神经网络在多时序影像的相关应用得到了迅速的研究发展,如行人识别和视频解译[18-21],通过使用三维卷积滤波器能克服二维卷积神经网络的上述不足。
设W′表示三维卷积滤波器,对照式(3)的二维卷积操作,三维卷积操作可以表示为
本文所采取的策略不仅能学习时间维度的上下文信息,还进一步减少了参数数量。同时,相比于特征工程方法,本文方法所提取的深度卷积网络特征的可分性更强、语义表达能力更佳。
现有的注意力模块通常选择图像场景中的显著特征并突出显示关键区域[22-24]。然而,对于变化检测任务,除了突出这些关键区域外,还需要进一步强调变化和不变化的语义以建立判别模型。本文提出了的语义注意力模块(SAM)着重强调区域“变化”与“不变化”的特征区别,该模块框架如图2所示。
图2 本文引入的语义注意力模块Figure 2 Demonstration of our semantic attention module
具体来说,这个语义注意力模块首先利用1×1卷积层来细化从三维卷积神经网络主干生成的卷积特征图F,然后利用ReLU激活函数剔除小于零的特征值区域,使模型以语义的方式判定哪些区域是不变的。这个过程让模型更加关注重要区域,可表示为
式中:F′为输出特征图;W1和b1分别为权重矩阵和偏置矩阵;ReLU为激活函数。
随后F进入第2个1×1卷积层,权重为W2,偏置为b2,随后是Sigmoid激活函数,这个函数能强调高响应区域,而抑制低响应区域。最后进入第3个1×1卷积层,权重为W3,偏置为b3,生成注意力图aij。这个过程可以表示为
式中:Sigmoid和Softmax分别表示Sigmoid激活函数和Softmax激活函数。注意力图aij逐点与输入特征图F融合,输出最后的优化特征图Ff。
特征图F通过全局平均池化(global average pooling,GAP)降采样,然后进入全连接层,进一步细化特征向量以便进行分类。细化的特征向量进入Softmax分类器,相应的损失函数可以表示为
式中:c=1表示场景变化;c=0表示场景不变。
本文提出的注意力引导的三维卷积神经网络框架模型如图2所示。该模型由三维卷积神经网络特征提取、语义注意力模块(semantic attention module,SAM)和分类器3个部分组成。
首先用一个简化的三维卷积网络作为主体来提取卷积特征。与文献[25]中的标准3DAlexNet模型相比,它删除了第5个卷积层和最后2个全连接层(见图3),然后通过语义注意力模块进行强调,最后通过分类器得到分类结果即变化检测结果。本模型以端到端的方式组织,以双时相影像对作为输入,可直接输出遥感场景的预测标签结果。
图3 本文提出的注意力引导的三维卷积网络框架Figure 3 Framework of our attention guided 3D ConvNet
为实现场景级变化检测,首先需要将大范围的高分辨率遥感影像切分为若干较小的影像块作为不同的场景切片,再将两个不同时相对应的相同区域的场景切片作为一组进行场景级变化检测。将成对的场景切片输入训练好的卷积神经网络模型进行预测分类,得到该场景的变化检测结果,从而实现对整幅高分辨率影像的场景级变化检测。
目前仅初步研究了场景级航空图像变化检测,相应的方法均为局域性测试[16-17],暂无任何开源的公开遥感场景变化检测数据集。为验证所提出的方法,本文制作了一个语义级变化检测数据集的数据集(semantic change detection dataset,SCDD),如图4所示。该数据集详细信息概括如下:
图4 语义级变化检测数据集的部分样本示例Figure 4 Some samples in SCDD
1)数据源
数据集所用的高分辨率遥感影像来自不同的卫星,如快鸟、WorldView-2、高分二号和吉林一号,对应的空间分辨率分别为0.6 m、0.5 m、0.8 m和1.0 m。
2)样本数量
有2 500例变化样本和2 900例不变样本,每例样本均由具有语义标签(“变化”或“不变”)的一对不同时相的航空影像构成,样本影像块大小设定为256×256,保证场景大小合适的同时考虑数据量以保证数据处理速度。
模型初始化:对权重参数使用随机初始化,标准偏差设置为0.001,所有偏置参数均设置为0。
训练过程:模型由Adam优化器进行训练,批次大小为32,初始学习率设置为0.001,学习率每30个阶段除以10,训练到90个阶段后结束。
此外,为了克服过拟合问题,使用L2标准化,参数设置为5×10−4,并且将dropout值设置为0.2。
搭建环境:本文在配置为CPU Intel®Xeon®E5-2630v3、32GB内存的工作站上开展算法开发与实验。此外,该工作站使用一块Titan970Ti的图形处理器(GPU)用于加速模型训练。
本文在数据集中分别随机不放回抽取50%和80%的样本作为训练样本集进行实验,其余50%和20%的样本则为测试数据集。通过以上两组训练样本数量差异较大的实验,可充分评估各深度学习模型的表现。此外,为确保实验结果的可靠性,每组实验均独立开展10次,以10次分类总精度的平均值和标准差作为最终评价结果。
定量评价指标包括变化样本分类准确率(classif ication accuracy of changed samples,CACS)(简写作CA)、不变样本分类准确率(classif ication accuracy of unchanged samples,CAUA)(简写作UA)和总体分类准确率(overall classif ication accuracy,OCA)(简写作OA)。每组实验进行10次独立的实验。
用于对照的基线方法包括2D-Alexnet、3D-Alexnet和简化3D-Alexnet(表示为3DAlexnet_S)。此外,为了验证SAM的性能,本文还将其与其他注意模块进行比较,包括层次注意力模块(hierarchical attention,HA)[22]、双层注意力模块(two hop attention,THA)(简写作TA)[23]、兴趣区域注意力模块(RoI attention,RA)[24]。将这3个注意力模块分别嵌入到简化AlexNet主干网络中以进行公平比较。
为验证本文方法(3D AlexNet_S+SAM)的有效性,开展了以下实验:
1)为探究本文所提出的简化三维AlexNet(3D AlexNet_S)在特征提取上的有效性,将其实验结果与常规的三维AlexNet(3D AlexNet)和普通的三维卷积的AlexNet(3D AlexNet)的分类结果进行对比;
2)为验证本文所提出的SAM的有效性,将其分别替换为目前计算机视觉领域常用的层次注意力模块[22]、双层注意力模块[23]和兴趣区域注意力模块[24]进行对比。以上4组实验分别简记为3D AlexNet_S+SAM、3D AlexNet_S+HA、3D AlexNet_S+TA和3D AlexNet_S+RA。其中,3D AlexNet_S+SAM表示本文模型。
以上所有实验结果均列于表1。从表1中准确率均值和中误差值数据可以看出,各方法的中误差值相差不大,即结果准确率波动相似。在这个前提下,准确率均值可以作为判断检测效果的标准,结果数据显示:本文所提出的方法在检测准确率上高于其他方法。
表1 不同变化检测模型在数据集中的测试结果Table 1 Performance of change detection approaches on SCDD
由以上结果可知:
1)本文方案(3D-AlexNet+SAM)优于表1中其他方法;
2)本文的SAM优于其他3个注意力模块。另外,使用注意力模块的变化检测框架效果更好。
3)与传统的二维AlexNet相比,采用三维AlexNet模型可以提高变化检测性能。
这些结果可以从以下4个方面来解释:
1)与二维AlexNet模型相比,本文的三维AlexNet模型采用了三维卷积算子,有助于挖掘与变化区域相关的关键特征,且减少了参数。
2)在本文的SAM中,首先提取卷积特征,然后利用一个ReLU激活函数来强调高响应区域,置零低响应区域。它的工作方式类似于二进制掩码,帮助模块更有效地区分变化区域和不变区域。
3)将简化的3D-AlexNet主干网络与注意力模块相结合,既能有效表达时间序列特征,又能进一步强调空中场景变化区域。因此,所有参与评估的注意力模块都可以有效提高本文的简化3D-AlexNet模块的性能。
4)与标准3D-AlexNet模型相比,简化3D-AlexNet模型参数较少,但这并不影响卷积特征的提取和表达过程。另外,参数越少可能导致过拟合的几率就越小,因此,本文的简化3D-AlexNet的性能要优于标准3D-AlexNet。
本文研究了一种用于遥感场景变化检测的注意力引导的三维卷积神经网络模型,它由3个主要部分组成:简化的3D-AlexNet主干网络、SAM和分类器。整个模型提供了一个端到端的解决方案,可以挖掘时间维度上的关键特征,同时突出遥感场景中发生变化的关键区域。同时,本文开源了一个遥感场景变化检测数据集,方便今后本领域方法的研究与对比。
在该数据集上的实验验证了本文所提出的模型在遥感场景变化检测任务中的有效性。同时,一系列对比实验验证了本文的简化3D-AlexNet和SAM相比于现有卷积神经网络结构和常用的注意力模型的有效性。
进一步的研究工作包括:构建一个更精确的带有特定场景标签的空中场景变化检测数据集,并建立一个模型参数更少、特征表达能力更强的卷积神经网络结构。