《A Spatial-Temporal Attention-Based Method and a New Dataset for Remote Sensing Image Change Detection》
进行遥感图像变化检测(CD)以识别双时相图像之间所需的显着变化。 给定在不同时间拍摄的两个共同配准的图像,照明变化和配准错误会使真实物体的变化不堪重负。 探索不同时空像素之间的关系可能会改善CD方法的性能。 在我们的工作中,我们提出了一种基于孪生的新型时空注意神经网络。 与以前的编码时空图像而不参考任何有用的时空依赖性的方法相比,我们设计了一种CD自注意力机制来对时空关系建模。 我们在特征提取过程中集成了一个新的CD自我注意模块。 我们的自我注意模块计算不同时间和位置的任意两个像素之间的注意权重,并使用它们来产生更多区分特征。 考虑到对象可能具有不同的比例,我们将图像划分为多个比例的子区域,并在每个子区域中引入自我注意。 这样,我们可以捕获各种规模的时空依存关系,从而生成更好的表示形式以适应各种大小的对象。 我们还介绍了CD数据集LEVIR-CD,它比该领域的其他公共数据集大两个数量级。 LEVIR-CD包含大量的时间序列Google Earth图像,具有637对图像(1024×1024)和超过31 k的独立标记变更实例。我们提出的注意力模块将基线模型的F1分数从83.9提高到了87.3,并且具有可接受的计算开销。 在公共遥感图像CD数据集上的实验结果表明,我们的方法优于其他几种最新方法。
关键词:图像变化检测; 注意机制; 多尺度; 时空依赖性; 图像变化检测数据集; 全卷积网络(FCN)
遥感变化检测(CD)是识别多时相遥感影像之间的“显着差异”的过程[1](显着差异通常取决于特定的应用),它具有许多应用,例如城市化监控[2, 3],土地利用变化检测[4],灾害评估[5,6]和环境监测[7]。 自动化的CD技术促进了遥感应用的发展,并且近年来引起了广泛的关注[8]。在过去的几十年中,已经提出了许多CD方法。 这些方法大多数都有两个步骤:单元分析和变更识别[8]。 单元分析的目的是从单元的原始数据构建信息功能。 图像像素和图像对象是分析单元[8]的两个主要类别。 不同形式的分析单元共享相似的特征提取技术。CD文献已经广泛研究了光谱特征[9–12]和空间特征[13,14]。 变更标识使用手工或学习的规则来比较分析单元的表示,以确定变更类别。 一种简单的方法是通过阈值计算特征差异图并分离变化区域[1]。 变更向量分析(CVA)[15]结合了变更向量的大小和方向来分析变更类型。 支持向量机(SVM)[16,17]和决策树(DT)[13]等分类器,以及马尔可夫随机场模型[18,19]和条件随机场模型[20]等图形模型也都有 应用于CD。
除了2D光谱图像数据外,高度信息也已用于CD。 例如,由于3D几何信息对照明和视角变化的不变性,因此可以提高建筑物CD的准确性[21]。 3D信息还可以帮助确定高度和体积的变化,并且具有广泛的应用,例如滑坡中的3D变形分析,3D结构和施工监控[22]。 3D数据可以通过光检测和测距(LiDAR)扫描器[21]捕获,也可以通过密集图像匹配(DIM)技术从地理参考图像中获取[23]。 但是,对于大规模图像变化检测,LiDAR数据通常很昂贵。从卫星立体图像中相对容易获得基于图像的3D数据,但是其质量相对较低。 图像数据的可靠性在很大程度上取决于DIM技术,这仍然是精确检测的主要障碍。 在这项工作中,我们主要关注2D光谱图像数据。
遥感图像CD的大多数早期尝试都是在手工制作的功能和有监督的分类算法的帮助下进行设计的。 蓬勃发展的深度学习技术,尤其是深度卷积神经网络(CNN),它学习具有多个抽象级别的数据表示[24],已广泛应用于计算机视觉[24]和遥感[25]中。 如今,已经提出了许多基于深度学习的CD算法[26-33],它们表现出比传统方法更好的性能。 这些方法可以大致分为两类:基于度量的方法[26–28,33]和基于分类的方法[29–32,34]。
基于度量的方法通过比较双时数据的参数化距离来确定更改。 这些方法需要学习一个参数化的嵌入空间,在该空间中,鼓励相似(无变化)样本的嵌入向量更接近,而异类(变化)样本的嵌入向量则相互推开。 嵌入空间可以通过深连体全卷积网络(FCN)[27,28]来学习,该网络包含两个共享相同权重的相同网络,每个网络独立地为每个时间图像生成特征图。 每对点的特征之间的度量(例如,L1距离)用于指示是否已经发生改变。 对于训练过程,为了约束数据表示,已在CD中探索了不同的损失函数,例如对比损失[26,27,33]和三重损失[28]。 使用三重态损失的方法比使用对比度损失的方法获得更好的结果,因为三重态损失利用了像素之间更多的空间关系。 但是,现有的基于度量的方法尚未利用位时图像之间的时间依赖性。
基于分类的方法通过对提取的二进制数据特征进行分类来识别更改类别。 一种通用方法是为图像的每个位置分配一个变化分数,其中变化位置的分数要比没有变化的分数高。 CNN已被广泛用于提取图像的特征表示[29–31,34]。 刘等。 [34]开发了两种基于FCN的方法来检测贫民窟的变化,包括后分类和多日期图像分类。 第一种方法是使用FCN对每个时间图像的土地用途进行分类,然后通过变化轨迹确定变化类型。 第二种方法将位图图像连接起来,然后使用FCN来获取更改类别。 重要的是为双时态图像提取更多的判别特征。 刘等。 [30]在处理每个时间图像时利用空间和频道注意力获得更多的判别特征。 将每个时间图像的这些分别提取的特征连接起来以识别变化。 比特时间图像之间的时间依赖性尚未得到利用。 递归神经网络(RNN)擅长处理顺序关系,并且已在CD中应用它来建模时间依赖性[29,31,32]。
Lyu等。 [32]使用RNN从时间序列数据中学习时间特征,但是没有利用空间信息。 为了利用时空信息,几种方法[29,31]结合了CNN和RNN来共同从时空图像中学习时空特征。这些方法将非常小的图像补丁(例如9×9的大小)输入CNN,以获得每个补丁中心点的一维特征表示,然后使用RNN来学习不同日期的两个点之间的关系。 这些方法利用的时空信息非常有限。
给定在不同时间拍摄的两个共同配准的图像,由日光角度的变化引起的照明变化和配准误差使真实物体的变化不堪重负,这给CD算法带来了挑战。 从图1a中,我们可以观察到两个图像的图像对比度和亮度以及建筑物的空间纹理是不同的。 由于太阳位置的变化,在二进制图像中,建筑物的影子与建筑物不同。 图1b显示,在两个共同注册的图像中,对应建筑物的边缘处,配准错误非常明显。 如果处理不当,它们可能会在未更改的建筑物的边界处导致错误的检测。
在本文中,我们设计了一种CD自我注意机制,该机制可以捕获丰富的时空关系以获得照度不变和配准鲁棒的特征。 我们方法的动机来自以下两个方面:
(1)由于CD数据由时空维度上的频谱矢量组成,因此探索不同时空位置之间的关系可能会改善CD方法的性能。 例如,通过利用相同种类的对象在不同时间和位置的关系,尽管它们的照度不同,网络仍可以为这些对象生成相似的特征表示。 可以通过利用对象在不同时间之间的全局关系来减少配准错误的影响。 此外,在CD中证明对相邻像素之间的时空关系建模是有用的[29]。 自我注意机制可有效地对远程时空依存关系进行建模[35]。 受到这种认识的启发,我们在特征提取过程中集成了一个新的CD自我注意模块,从而生成了更强大的网络。
(2)由于变化的对象可能具有不同的尺度,因此从适当的范围中提取特征可能更好地表示一定尺度的对象。 我们可以通过组合从不同大小的区域提取的特征来获得多尺度特征。 在这种动机的驱动下,我们将图像空间平均划分为一定比例的子区域,并在每个子区域引入自我注意机制,以利用该比例的物体时空关系。 通过将图像划分为多个比例的子区域,我们可以获得多个比例的特征表示,以更好地适应对象的比例变化。 我们将这种结构称为金字塔注意模块,因为自我注意模块已集成到多尺度子区域的金字塔结构中。这样,我们可以捕获各种规模的时空依存关系,从而生成更好的表示形式以适应各种大小的对象。
基于上述动机,我们的解决方案不足为奇。 我们为CD提出了一种时空注意力神经网络(STANet),属于基于度量的方法。 使用暹罗FCN提取双时相图像特征图。 我们的自我关注模块通过利用不同位置和时间的各个像素之间的时空依赖性来更新这些特征图。 在计算嵌入空间位置的响应时,该位置会利用时空关系注意时空上的其他重要位置。在此,嵌入空间具有高度,宽度和时间的尺寸,这意味着可以将嵌入空间中的位置描述为(h,w,t)。 为简单起见,我们将嵌入空间表示为时空。 如图1a所示,红色边框中像素的响应(属于建筑物)在整个时空上更加关注相同类别的像素,这表明相同类别的像素在空间上具有较强的 时间相关性; 这样的相关性可以被利用来产生更多的判别特征。
我们设计了两种自我注意模块:一个基本的时空注意模块(BAM)和一个金字塔的时空注意模块(PAM)。 BAM学会捕获任意两个位置之间的时空依赖性(注意力权重),并通过时空中所有位置上的特征的加权总和来计算每个位置的响应。 PAM将BAM嵌入金字塔结构中以生成多尺度注意表示。 有关BAM和PAM的更多详细信息,请参见第2.1.3节。
我们的方法不同于以前的基于深度学习的遥感CD算法。以前的基于度量的方法[27,28,33]分别处理来自不同时间的双时态图像序列,而不涉及任何有用的时间依赖性。 以前基于分类的方法[29-31]也没有充分利用时空依赖性。 这些基于RNN的方法[29,31]引入RNN融合来自不同时间的一维特征向量。 特征向量是通过CNN从很小的图像块中获得的。 一方面,由于图像块小,提取的空间特征非常有限。 另一方面,尚未利用不同位置和时间的各个像素之间的时空相关性。 在本文中,我们设计了一种CD自注意力机制,以利用时空中像素之间的显式关系。我们可以可视化注意力图,以了解学习了哪些依赖项(请参见第4节)。 与以前的方法不同,我们的注意力模块可以捕获长期的,丰富的时空关系。 此外,我们将自我注意模块集成到金字塔结构中,以捕获各种规模的时空依赖性。
贡献。 我们的工作可以总结如下:
(1)我们提出一个新的框架; 即,用于遥感影像CD的时空注意力神经网络(STANet)。 先前的方法独立地对位时图像进行编码,而在我们的框架中,我们设计了一种CD自注意力机制,该机制充分利用了时空关系以获得光照不变和配准鲁棒的特征。
(2)我们提出了两个注意模块:一个基本的时空注意模块(BAM)和一个金字塔的时空注意模块(PAM)。 BAM利用全局时空关系来获得更好的区分特征。 此外,PAM聚合多尺度注意表示以获得对象的更详细信息。 此类模块可以轻松地与现有的深层Siamese FCN CD集成在一起。
(3)大量实验证实了我们提出的注意力模块的有效性。我们的注意力模块很好地缓解了由于双时相图像中的配准错误而导致的误检,并且对颜色和比例变化具有鲁棒性。 我们还将可视化注意力图,以更好地了解自我注意机制。
(4)我们引入了一个新的数据集LEVIR-CD(LEVIR建筑变更检测数据集),它比现有数据集大两个数量级。 请注意,LEVIR是作者实验室的名称:学习,视觉和遥感实验室。 由于缺乏公共的大规模CD数据集,因此新的数据集应推动遥感影像CD的研究。 我们将在https://justchenhao.github.io/LEVIR/上开放LEVIR-CD。我们的代码也将是开源的。
在本节中,我们首先介绍我们提出的方法的详细说明,然后介绍一个新的遥感影像CD数据集。 最后,给出了实验实现的细节。
在本小节中,给出了我们方法的总体流程。 然后,提供了对所提出的时空注意神经网络(STANet)的详细描述。
给定大小为 H 0 × W 0 H_0×W_0 H0×W0的双时相遥感影像 I ( 1 ) I^{(1)} I(1), I ( 2 ) I^{(2)} I(2),CD的目标是生成与输入影像大小相同的标签图M,其中每个空间位置都被分配为一种变化类型 。 在这项工作中,我们将重点放在二进制CD上,这意味着标签是1(更改)或0(没有更改)。
我们的方法的流程如图2a所示。 时空注意神经网络由三个部分组成:特征提取器(请参阅第2.1.2节),注意模块(请参见2.1.3节)和度量模块(请参见2.1.4节)。 首先,将两个图像依次馈入特征提取器(FCN,例如没有完全连接的层的ResNet [36])以获得两个特征图 X ( 1 ) X^{(1)} X(1), X ( 2 ) X^{(2)} X(2) ∈ \in ∈ R C × H × W R^{C×H×W} RC×H×W,其中 H × W H×W H×W是特征图的大小, C C C是每个特征向量的通道尺寸。 然后,注意模块将这些特征图更新为两个注意特征图 Z ( 1 ) Z^{(1)} Z(1), Z ( 2 ) Z^{(2)} Z(2)。 在将更新后的特征图调整为输入图像的大小后,度量模块计算两个特征图中每个像素对之间的距离并生成距离图D。在训练阶段,我们通过最小化计算出的损失来优化模型 通过距离图和标签图,使得改变点的距离值大而不变点的距离值小。 在测试阶段,可以通过对距离图进行简单的阈值计算来计算预测的标签图P。
图2.(a) STANet的管道。 请注意,我们设计了两种自我注意模块。(b)特征提取器。©基本的时空注意模块(BAM)(d)金字塔时空注意模块(PAM).
在过去的几年中,已经提出了许多有效的卷积神经网络(CNN)[36-38]来学习更好的特征,这些特征在各种视觉任务中大大超越了传统的手工特征。 鉴于计算机视觉的良好性能,基于深度CNN的方法已广泛应用于遥感任务[25],例如土地利用分类[39],语义分割[40,41],图像超分辨率 [42],对象检测[43,44]和更改检测[5]。FCN [45]是一种没有完全连接的层的CNN,广泛用于密集分类任务。 遥感图像CD需要逐个像素进行预测,并受益于基于FCN的方法的密集特征[46,47]。 我们的工作借鉴了ResNet [36]来构建特征提取器。
如图2b所示,我们设计了类似FCN的特征提取器。 我们的特征提取器基于ResNet-18 [36]。 因为原始的ResNet是为图像分类任务而设计的,所以它包含一个全局池化层和一个在末尾的完全连接层,用于将图像特征映射到1000维向量(ImageNet中的类别数)。 我们的CD任务是一个密集的分类任务,它需要获得一个与输入图像大小相同的更改蒙版。 因此,我们忽略了原始ResNet的全局池化层和完全连接层。 其余部分分为五个阶段。 每个特征的步幅为2。CNN的高级特征语义准确,但位置粗糙,而低级特征包含详细信息,但缺乏语义信息。
因此,我们将高级语义信息和低级空间信息融合在一起,以生成更精细的表示。 我们获取最后阶段的输出特征图,并将其输入到卷积层 ( C 1 , 1 × 1 / 1 ) (C_1,1×1/1) (C1,1×1/1)中,以将其尺寸转换为 C 1 C_1 C1。 注意,卷积层的配置是“过滤器的数量,大小/跨度”,并且为简单起见,省略了批量标准化(BN)和ReLU层。 类似地,第二,第三和第四级的输出特征图分别被馈送到三个不同的卷积层中。 每个通道尺寸都转换为C1。 然后,我们将最后三个阶段的变换后的特征图调整为输入图像的1/4大小。 这样,我们从网络的不同阶段获得了4组特征图。 这四个特征图在通道维度上串联(结果为 4 × C 1 4×C_1 4×C1),并馈入两个不同的卷积层 ( C 2 、 3 × 3 / 1 ; C 3 、 1 × 1 / 1 ) (C_2、3×3/1; C_3、1×1/1) (C2、3×3/1;C3、1×1/1)中,以生成最终的特征图。 这两个卷积层可以通过利用局部空间信息并减少特征通道维数来生成更具区分性和紧凑性的表示形式。 在实现中,我们将 C 1 C_1 C1设置为96,将 C 2 C_2 C2设置为256,将 C 3 C_3 C3设置为64,以在效率和精度之间进行权衡。
起源于人类视觉系统[48]的注意力机制对输入和输出序列之间的依赖关系进行建模,并已应用于各种任务,例如神经机器翻译[49],图像字幕[50]和场景解析[51]。 自我注意[52]是一种关注机制,将单个序列的不同位置关联起来,以计算序列中每个位置的表示形式。 非局部神经网络[35]在许多计算机视觉任务中扩展了自注意力机制,例如视频分类,目标检测和姿势估计。 自我注意机制可有效地对远程时空依存关系进行建模[35]。基于这种认识,我们设计了一种CD自我注意机制,该机制可以捕获整个时空中各个像素之间丰富的全局时空关系,从而获得更具区分性的特征。 具体来说,我们提出了两种时空注意模块: 即基本的时空注意模块(BAM)和金字塔的时空注意模块(PAM)。 其详细说明如下:
基本的时空注意模块:
为了说明自我注意机制的基本思想,我们引入三个术语:查询,键和值[52]。 假设我们有一个包含许多键值对的数据库。 对于新查询,我们需要在数据库中找到最匹配它的元素。 我们可以通过计算查询与数据库中所有键之间的相似度来实现这一点。 自我注意机制就是基于这种思想来计算不同元素之间的相关性。 特别是,在自我关注机制中,查询和关键字是从同一来源获得的。
在本文中,让查询(或键,值)表示查询(或键,值)张量中某个位置的向量,其中查询,键和值张量分别通过三种不同的输入特征张量获得 卷积层(特征张量是时间维度上的双时相图像特征图的串联)。 时空注意模块的核心是学习注意功能,该功能将查询向量和一组键值向量对映射到输出向量。 通过值向量的加权和来计算输出向量,其中分配给每个值向量的权重是通过查询和相应键的相似度函数来计算的。 通过自我关注模块,我们可以获得输出特征张量,其中每个位置都可以参与输入特征张量中的所有位置。 将自我关注机制引入图像CD的直觉是,充分利用像素之间的时空依赖性可能有助于获得照度不变和配准鲁棒的特征。
图2c说明了BAM的细节。 我们将位时特征图 X ( 1 ) X^{(1)} X(1), X ( 2 ) X^{(2)} X(2)堆叠到特征张量 X ∈ R C × H × W × 2 X \in R^{C×H×W×2} X∈RC×H×W×2; 然后将其输入到BAM中,以生成更新的特征张量 Z ∈ R C × H × W × 2 Z \in R^{C×H×W×2} Z∈RC×H×W×2; 最后将其分为两个特征图 Z ( 1 ) Z^{(1)} Z(1), Z ( 2 ) Z^{(2)} Z(2)。 在这里,我们采用残差函数从输入X导出Z
Z = F ( X ) + X ( 1 ) Z = F(X)+ X (1) Z=F(X)+X(1)其中 Y = F ( X ) Y = F(X) Y=F(X)是要学习的X的残差映射。
计算 Y Y Y的核心是从输入张量生成一组键向量(键),值向量(值)和查询向量(查询),并学习值的加权和以生成每个输出向量,其中权重 分配给每个值的方式取决于查询和相应键的相似性。 现在,我们对计算残差映射Y的过程进行详细描述。首先,我们从输入中计算键,值和查询。 首先将输入特征张量X转换为两个特征张量 Q , K ∈ R C ′ × H × W × 2 Q,K \in R^{C'×H×W×2} Q,K∈RC′×H×W×2。 Q和K分别由两个不同的卷积层( C ′ C' C′,1×1/1)获得。 我们将它们整形为键矩阵 K ^ \hat K K^和查询矩阵 Q ^ ∈ R C ′ × N \hat Q \in R^{C'×N} Q^∈RC′×N,其中 N = H × W × 2 N = H×W×2 N=H×W×2是输入特征向量的数量。 关键矩阵和查询矩阵用于稍后计算注意力。 类似地,我们将 X X X馈入另一个卷积层 ( C , 1 × 1 / 1 ) (C,1×1/1) (C,1×1/1),以生成新的特征张量 V ∈ R C × H × W × 2 V \in R^{C×H×W×2} V∈RC×H×W×2。 我们将其重塑为值矩阵 V ^ ∈ R C × N \hat V \in R^{C×N} V^∈RC×N。 C ′ C' C′是键和查询的特征维。 在我们的实现中,将 C ′ C' C′分配给 C / 8 C/8 C/8以减小特征尺寸。
其次,我们将时空注意力图 A ∈ R N × N A \in R^{N×N} A∈RN×N定义为相似度矩阵。 相似度矩阵中的元素 A [ i , j ] A [i,j] A[i,j]是第 i i i个关键字和第 j j j个查询之间的相似性。 我们在关键矩阵 K ^ T \hat K ^T K^T和查询矩阵 Q ^ \hat Q Q^的转置之间执行矩阵乘法,将每个元素除以 C ′ \sqrt{C'} C′,并对每个列应用softmax函数以生成注意力图A。
A的定义如下: A = s o f t m a x ( K ^ T Q ^ C ′ ) ( 2 ) A = so f tmax(\frac{\hat K^T \hat Q}{ \sqrt{C'}})(2) A=softmax(C′K^TQ^)(2)注意,矩阵乘法结果由 C ′ \sqrt{C'} C′缩放,以便归一化其预期值不受较大 C ′ C' C′值的影响[52]。
最后,通过值矩阵 V ^ \hat V V^的矩阵相乘来计算输出矩阵 Y ^ ∈ R C × N \hat Y\in R^{C×N} Y^∈RC×N,并且相似矩阵A: Y ^ = V ^ A ( 3 ) \hat Y= \hat VA (3) Y^=V^A(3)然后将 Y ^ \hat Y Y^整形为 Y Y Y。
金字塔时空注意模块:
上下文在许多视觉任务中起着重要作用,例如视频监视[53],语义分割[46,54]和对象检测[55]。 PSPNet [54]通过基于不同区域的上下文聚合来利用全局空间上下文信息。 至于遥感影像CD,在[29,56,57]中讨论了时空背景。 受PSPNet [54]金字塔结构的启发,我们提出了一种PAM,以通过聚合多尺度的时空注意力环境来增强识别精细细节的能力。 PAM通过组合不同尺度的时空注意上下文来生成多尺度注意特征。 PAM有四个分支机构。 每个分支将特征张量均等地划分为一定比例的几个子区域。 在每个分支中,PAM将BAM应用于每个子区域中的像素,以获得此级别的本地关注表示。然后,通过聚合四个分支的输出张量来生成多尺度注意力表示。 我们称此架构为金字塔注意模块,因为图像空间中的每个像素都涉及不同比例子区域中的自我注意机制。 可以想象这些子区域从小到大排列,就像金字塔的结构一样。
图2d给出了PAM的图示。 给定位时特征图 X ( 1 ) X^{(1)} X(1), X ( 2 ) X^{(2)} X(2) ∈ \in ∈ R C × H × W R^{C×H×W} RC×H×W,我们将两个特征图堆叠到特征张量 X X X ∈ \in ∈ R C × H × W × 2 R^{C×H×W×2} RC×H×W×2中。 然后,我们有四个平行的分支; 每个分支将特征张量均等地划分为 s × s s×s s×s个子区域,其中 s ∈ S . S = { 1 、 2 、 4 、 8 } s \in S.S = \{ 1、2、4、8 \} s∈S.S={1、2、4、8}定义了四个金字塔尺度。 在标度 s s s的分支中,每个区域定义为 R s , i , j ∈ R C × H s × W s × 2 , 1 ≤ i , j ≤ s R_{s,i,j }\in R^{C×\frac{H}{s}×\frac{W}{s}×2,1≤i,j≤s} Rs,i,j∈RC×sH×sW×2,1≤i,j≤s。 我们将四个BAM分别应用于四个分支机构。 在每个金字塔分支内,我们将BAM分别应用于所有子区域 R s , i , j R_{s,i,j } Rs,i,j,以生成更新的残差特征张量 Y s Y_s Ys ∈ \in ∈ R C × H × W × 2 R^{C×H×W×2} RC×H×W×2。 然后,我们将这些特征张量 Y s , s ∈ S Y_s,s \in S Ys,s∈S连接起来,并将它们馈送到卷积层( C C C,1×1/1)中,以生成最终的残差特征张量 Y Y Y ∈ \in ∈ R C × H × W × 2 R^{C×H×W×2} RC×H×W×2。 最后,我们将残余张量Y和原始张量X相加,以生成更新的张量 Z Z Z ∈ \in ∈ R C × H × W × 2 R^{C×H×W×2} RC×H×W×2。
深度度量学习涉及训练网络以学习从输入到嵌入空间的非线性转换[58],其中鼓励相似样本的嵌入向量更近,而相异样本的嵌入向量彼此推开[59]。 在过去的几年中,深度度量学习已应用于许多遥感应用中[27,28,60,61]。 基于深度度量学习的CD方法[27,28]取得了领先的性能。 在这里,我们采用对比损失来鼓励较小的距离或每个不变像素对和较大的距离用于嵌入空间中的每个变化。
给定更新的特征图 Z ( 1 ) Z^{(1)} Z(1), Z ( 2 ) Z^{(2)} Z(2),我们首先通过双线性插值将每个特征图的大小调整为与输入的位图图像相同的大小。 然后,我们按像素计算尺寸调整后的特征图之间的欧式距离,以生成距离图 D ∈ R H 0 × W 0 D \in R^{H_0×W_0} D∈RH0×W0,其中 H 0 H_0 H0, W 0 W_0 W0分别是输入图像的高度和宽度。 在训练阶段,采用对比损失来学习网络的参数,以这种方式将邻居拉在一起,将非邻居推开。 我们将在2.1.5节中详细介绍损失函数。
在测试阶段,通过固定的阈值分段获得变化图P:
P i , j = { 1 D i , j > θ 0 e l s e . P_{i,j} = \begin{cases} 1& D_{i,j} >\theta \\ 0 & else. \end{cases} Pi,j={10Di,j>θelse. 其中,下标 i , j ( 1 ≤ i ≤ H 0 , 1 ≤ j ≤ W 0 ) i,j(1≤i≤H_0,1≤ j≤W_0) i,j(1≤i≤H0,1≤j≤W0)分别表示高度和宽度的指标; θ \theta θ是固定变化区域的固定阈值;在我们的工作中, θ \theta θ分配为1,这是损失函数中定义的余量的一半。
Cass不平衡问题在类分布高度不平衡的大多数机器学习任务中很常见[62]。 对于遥感影像CD,变化样本和不变样本的数量差异很大。 在许多情况下,变化像素仅占所有像素的一小部分,这会在训练阶段在网络中造成一些偏差。 为了减少类不平衡的影响,我们设计了一个类敏感的损失。 即批次平衡对比损失(BCL)。它利用批处理权重来修改原始对比损失的类权重[63]。 给定批处理的时间样本( X ∗ ( 1 ) X^{∗(1)} X∗(1), X ∗ ( 2 ) X^{∗(2)} X∗(2), M ∗ M^ ∗ M∗), X ∗ ( 1 ) X^{∗(1)} X∗(1), X ∗ ( 2 ) X^{∗(2)} X∗(2) ∈ R B × 3 × H 0 × W 0 \in R^{B×3×H_0×W_0} ∈RB×3×H0×W0, M ∗ ∈ R B × H 0 × W 0 M ^∗ \in R^{B×H_0×W_0} M∗∈RB×H0×W0 ,我们可以通过STANet获得一批距离图 D ∗ ∈ R B × H 0 × W 0 D^ ∗ \in R^{B×H_0×W_0} D∗∈RB×H0×W0,其中 B B B是样本的批量大小。 M ∗ M ^∗ M∗是一批二进制标签图,其中0表示无变化,而1表示变化。
BCL L定义如下: L ( D ∗ , M ∗ ) = 1 2 1 n u ∑ b , i , j ( 1 − M b , i , j ∗ ) D b , i , j ∗ + 1 2 1 n c ∑ b , i , j M b , i , j ∗ M a x ( 0 , m − D b , i , j ∗ ) L(D ^∗,M^ ∗)= \frac{1} {2 } \frac{1} {n_u} \sum_{b,i,j}^{}(1-M^*_{b,i,j})D^*_{b,i,j} + \frac{1} {2 } \frac{1} {n_c} \sum_{b,i,j}^{} M^*_{b,i,j}Max(0,m-D^*_{b,i,j}) L(D∗,M∗)=21nu1b,i,j∑(1−Mb,i,j∗)Db,i,j∗+21nc1b,i,j∑Mb,i,j∗Max(0,m−Db,i,j∗)
其中下标 b , i , j ( 1 ≤ b ≤ B , 1 ≤ i ≤ H 0 , 1 ≤ j ≤ W 0 ) b,i,j(1≤b≤B,1≤i≤H_0,1≤j ≤W_0) b,i,j(1≤b≤B,1≤i≤H0,1≤j≤W0)分别表示批次,高度和宽度的指数。 参数化距离大于边距m的变化像素对不会对损耗函数有所贡献。 在我们的工作中,将m设置为2。 n u n_u nu, n c n_c nc分别是不变像素对和变更像素对的数量。 它们可以通过相应类别的标签的总和来计算: n u = ∑ b , i , j 1 − M b , i , j ∗ ( 6 ) n_u = \sum_{b,i,j}1-M^*_{b,i,j}(6) nu=b,i,j∑1−Mb,i,j∗(6) n c = ∑ b , i , j M b , i , j ∗ ( 7 ) n_c = \sum_{b,i,j}M^*_{b,i,j} (7) nc=b,i,j∑Mb,i,j∗(7)
庞大而具有挑战性的数据集对于遥感应用非常重要。 但是,在遥感图像CD中,我们注意到缺少公共的大规模CD数据集,这不利于他对CD的研究,尤其是在开发基于深度学习的算法方面。 因此,通过引入LEVIR-CD数据集,我们希望填补这一空白,并为评估CD算法提供更好的基准。
我们通过Google Earth API收集了637对非常高分辨率(VHR,0.5 m /像素)的Google Earth(GE)图像补丁对,大小为1024×1024像素。 这些位图图像来自美国德克萨斯州几个城市中的20个不同区域,包括奥斯汀,莱克韦,蜜蜂洞,布达,凯尔,庄园,普弗格维尔特克斯,滴水泉等。图3说明了我们新数据集的地理空间分布 以及放大的图像补丁。 每个区域都有不同的大小,并包含数量不等的图像块。 表1列出了每个区域的补丁程序区域和数量。 我们的图像数据的捕获时间从2002年到2018年不等。不同地区的图像可能在不同的时间拍摄。 我们想将季节性变化和光照变化导致的变化引入我们的新数据集中,这可能有助于开发有效的方法,从而减轻无关紧要的变化对实际变化的影响。 表1中列出了每个图像在每个区域中的特定捕获时间。这些双时相图像的时间跨度为5到14年。
建筑物是人造结构的代表。 检测建筑物的变化是一项重要的CD任务,具有各种应用程序,例如城市化监控和非法建筑物识别。 在过去的几十年中,我们收集的地区发生了重大的土地利用变化,尤其是城市建设。 VHR遥感影像为我们提供了机会来分析细微的变化,例如建筑实例的变化。 因此,我们专注于与建筑物相关的变化,包括建筑物的增长(从土壤/草丛/硬化地面或在建建筑物到新建筑物区域的变化)和建筑物下降。 我们的新数据集涵盖了各种类型的建筑物,例如别墅,高层公寓,小型车库和大型仓库。 从数据集中选择的一些样本如图4所示,其中显示了一些建筑物更新,建筑物衰落和无变化的样本。 我们可以观察到我们的数据集中有各种各样的建筑物。
由AI数据服务公司(Madacode:http://www.madacode.com/index-zh_CN)聘用的遥感影像解释专家对双时空影像进行了注释。 所有注释者在解释遥感图像方面都有丰富的经验,并且对变更检测任务有全面的了解。 他们遵循详细的说明对图像进行批注,以获得一致的批注。 此外,我们的数据集中的每个样本都由一个注释者注释,然后由另一个注释者再次检查以生成高质量的注释。 如果这样的大规模数据集非常耗时且费力,则进行注释。 手动注释整个数据集大约需要120个人日。
带有完整注释的LEVIR-CD总共包含31,333个单独的变更建筑物。 平均而言,每个图像对中大约有50座变化中的建筑物。 值得注意的是,大多数更改是由于新建筑的建造。 每个更改区域的平均大小约为987像素。 表2总结了我们的数据集。
Google Earth图像对公众免费,并已用于促进许多遥感研究[64,65]。 但是,使用来自Google Earth的图像必须遵守Google Earth的使用条款(https://www.google.com/permissions/geoguidelines/)。 LEVIR-CD中的所有图像和注释只能用于学术目的,禁止用于任何商业用途。利用GE映像有两个原因:(1)GE为许多位置提供免费的VHR历史映像。 我们可以选择一个适当的位置和两个适当的时间点,在此期间该位置发生了许多重大变化。 通过这种方式,我们可以收集大规模的时空GE图像。 (2)我们可以收集多样化的Google数据来构建具有挑战性的CD数据集,其中包含传感器特性,大气条件,季节条件和光照条件的许多变化。 这将有助于开发CD算法,该算法对于无关紧要的变化可能是不变的,但对实际变化却很敏感。 我们的数据集也有局限性。 例如,与其他一些多光谱数据(例如Landsat数据)相比,我们的图像具有相对较差的光谱信息(即红色,绿色和蓝色)。 但是,我们的VHR图像提供了良好的纹理和几何信息,在一定程度上弥补了不良光谱特征的局限性。 在过去的几十年中,已经做出了一些努力来开发用于遥感图像CD的公共数据集。 在这里,让我们简要概述三个CD数据集:
SZTAKI AirChange Benchmark Set(SZTAKI)[66]是一个二进制CD数据集,包含13对光学航拍图像。 每个像素为952×640像素,分辨率约为1.5 m /像素。 数据集按区域分为三组。 即Szada,Tiszadob和Archive; 它们分别包含7、5和1个图像对。 数据集考虑了以下变化:新建成区,建筑作业,植树造林,耕地新鲜和建筑完工前的地基工作。
Onera卫星变化检测数据集(OSCD)[67]专为二进制CD设计,具有24个多光谱卫星图像对的集合。 在10 m分辨率下,每个图像的大小约为600×600。 该数据集专注于城市区域的变化(例如,城市增长和城市衰落),而忽略了自然变化。
航空影像变化检测数据集(AICD)[68]是具有100个模拟场景的合成二进制CD数据集,每个场景都是从五个视点捕获的,总共提供了500张图像。 每个图像都添加了一种人工更改目标(例如建筑物,树木或浮雕)以生成图像对。 因此,每个图像对中只有一个更改实例。
我们的数据集与其他遥感影像CD数据集的比较如表3所示。 SZTAKI是使用最广泛的公共遥感影像CD数据集,并帮助推动了许多最新进展[27,28,69]。 去年推出的OSCD也推动了一些研究[67,69]。 AICD还帮助开发了CD算法[70]。 但是,这些现有的数据集有许多缺点。 首先,所有这些数据集都没有足够的数据来支持大多数基于深度学习的CD算法,而当数据量对于模型参数的数量非常令人恐惧时,这些CD算法容易出现过拟合问题。 其次,这些CD数据集的图像分辨率较低,这会模糊更改目标的轮廓,并给带注释的图像带来歧义。 我们计算了这些数据集的变更实例和变更像素的数量,这表明我们的数据集比现有数据集大1到2个数量级。 如图5所示,我们创建了一个LEVIR-CD和SZTAKI所有变更实例大小的直方图。 我们可以观察到,我们数据集的变更实例大小范围比SZTAKI宽,并且LEVIR-CD包含的变更实例比SZTAKI多得多。
指标。 我们将精度(Pr),召回率(Re)和F1得分(F1)作为评估指标。 令 n i j n_{ij} nij为预测为类 j j j的类 i i i的像素数,其中存在 n c n_c nc类。 我们计算出:
•第 i i i类( P r i Pr_i Pri)的精度: n i i n_{ii} nii / ∑ j n j i ∑_j n_{ji} ∑jnji。
•召回第 i i i类(Rei): n i i / ∑ j n i j n_{ii} / ∑_j n_{ij} nii/∑jnij。
•i类的 F 1 F1 F1分数( F 1 i F1_i F1i): 2 P r i R e i / ( P r i + R e i ) 2Pr_i Re_i /(Pr_i + Re_i) 2PriRei/(Pri+Rei)。
具体而言,我们将与变更类别相关的精度,召回率和F1分数用作评估指标。
LEVIR-CD数据集。 我们将数据集随机分为三部分:70%用于训练的样本,10%用于验证的样本和20%用于测试的样本。 由于GPU的内存限制,我们将每个样本裁剪为16个大小为256×256的小块。
SZTAKI数据集。 我们使用与其他比较方法相同的训练测试拆分标准。测试集由每个样本的左上角裁剪的大小为784×448的补丁组成。 每个样本的其余部分被重叠剪切成大小为113×113的小块,作为训练数据。
培训细节。 我们基于Pytorch [71]实现我们的方法。 我们的模型在ImageNet预训练的ResNet-18 [36]模型上进行了微调,初始学习率为10-3。 继[72]之后,我们对前100个时期保持相同的学习率,并在其余100个时期内将其线性衰减为0。 我们使用亚当求解器[73],批处理大小为4,b1为0.5,b2为0.99。 我们应用随机翻转和随机旋转(−15◦〜15◦)进行数据扩充
与基准的比较。 为了验证时空模块的有效性,我们设计了一种基准方法:
•基线:FCN网络(BASE)及其时空模块的改进变体:
•建议1:FCN网络+ BAM(BAM) ;
建议2:FCN网络+ PAM(PAM)。
所有比较都使用相同的超参数设置。
在本节中,我们将对所建议的模块进行全面评估,并与我们的方法和其他最新CD方法进行比较。 我们的实验是在LEVIR-CD和SZTAKI数据集上进行的。
我们比较了BASE,BAM和PAM,以验证时空模块的有效性。所有比较都使用相同的超参数设置。 表4显示了在LEVIR-CD测试仪上对基线及其变体的消融研究。 计算与变更类型相关的精度,召回率和F1分数,以评估我们方法的性能。 我们可以观察到时空模块(BAM和PAM)相对于基线有显着改善。 与基线相比,BAM将F1分数提高了1.8点。 此外,与BAM相比,我们的多尺度注意力设计(PAM)显着提高了性能,F1得分提高了1.6点。
图6中显示了一些变化检测示例。基线模型的预测中(图6中的行2、3和4)有很多不连续的小噪声带。 这是因为两个图像中的相应建筑物无法完美对齐,尤其是建筑物的边缘。 图7更好地说明了套准错误。 我们的基准模型将建筑物中未对齐的部分误检测为变化区域。 我们可以观察到BAM和PAM模型可以很好地缓解因配准错误而导致的误检测,从而产生更平滑的结果。 这是因为在计算错位位置的响应时,时空模块会学习错位位置和其他位置的注意力权重。 在这种情况下,未对齐位置的响应会减少对对齐建筑物位置的关注。 因此,错位的响应与建筑物的响应不太相似。 此外,基线模型无法完全检测出具有不同颜色(图6中的第5行)或大规模(图6中的第7行)的建筑物。 时空模块学习像素之间的全局时空关系,并利用这些依赖性来获得更好的表示。 因此,BAM和PAM模型对于颜色和缩放比例变化具有更强的鲁棒性。 此外,我们可以观察到,由于PAM具有多尺度设计,因此它可以获得比BAM和基线(图6中的第1行和第7行)更好的详细信息。
图6.我们在LEVIR-CD测试仪上进行的消融实验的变化检测示例。 绘制红色框以突出显示我们的注意力模块的优势。 我们的BAM和PAM模型可以获得更精细的详细信息(第1行和第7行),误报率较低(第2、3和4行),而召回率较高(第5、6和7行)。
批量平衡对比损失的消融研究。 我们的批次平衡对比损失(BCL)有助于减轻班级不平衡的问题。 表5显示了在LEVIR-CD测试仪上进行BCL的消融研究。 我们可以看到,我们的BCL改进了各种模型(BASE,BAM,PAM)的性能的一致性。 使用BCL时,在每次训练迭代过程中,少数(变化)和多数(不变)对损耗的贡献在数量上是动态平衡的,这减少了网络偏向某个类别的可能性,并带来了性能改进。
我们还评估了我们提出的方法在SZTAKI数据集上的性能,并将其与三种最新的遥感影像CD方法:TBSRL [28],rRL [74]和DSCNN [27]进行了比较。 在DSCNN [27]中,Zhan等人。 设计了一个深层的暹罗FCN模型,并以端到端的方式对CD使用了加权的对比损失。 孪生FCN由五个不带池的卷积层和完全连接的层组成。 在测试阶段,他们利用k近邻来改善由深连体FCN生成的初始变化图。 在rRL [74]中,Huo等人。 利用训练样本之间的邻域关系来增强变化特征的整体可分离性。 但是,提取的图像特征是手工制作的,缺乏判别能力。在TBSRL [28]中,Zhang等人。 运用Deeplabv2 [46]提取鲁棒的特征,并设计了三元组损失,以学习所选三元组示例中的语义关系。 但是,只有三元组中的元素受到语义关系的约束,这缺乏对全局空间信息的探索。 而且,时空关系也没有得到很好的利用。我们使用与[28]中相同的训练测试拆分标准。 表6显示了SZTAKI数据集上不同方法的比较。 [28]之后,我们分别报告了SZADA / 1(SZADA / 1表示SZADA数据集中的第一个样本)和TISZADOB / 3(TISZADOB / 3表示TISZADOB数据集中的第三个样本)的性能,以进行公平比较。 DSCNN,rRL和TBSRL的结果由[28]报告。 我们观察到,我们提出的方法(BASE,BAM和PAM)始终优于F1评分中的其他最新方法。 图8显示了SZTAKI数据集上不同方法的变化检测示例。 我们可以观察到,与其他方法相比,我们的注意力模型可以获得更精确,更平滑的结果。
我们在配备Intel i7-7700K CPU和NVIDIA GTX 1080Ti图形卡的台式PC上测试了我们的方法。 我们使用GPU来加速培训和测试过程。 表7显示了不同方法的时间性能。 我们选择了最先进的方法TBSRL [28]进行比较。 但是,它没有报告时间性能。 由于TBSRL采用ResNet101 [36]主干网的Deeplabv2 [46]作为特征提取器,因此我们可以通过实现特征提取器模块来推断其处理时间的下限。 在表7中,训练时间列记录了LEVIR-CD数据集训练一个纪元的时间。 为了公平地比较,我们对所有实验采用相同的批次大小(4)。 由于网络结构的精心设计,我们的模型需要大约1到4分钟的时间进行训练,这始终比TBSRL少。 我们的特征提取器利用轻量级的ResNet18作为主干,并连接金字塔级特征图以融合低级边缘信息和高级语义信息,从而有效地生成密集的特征图,而不是使用无用的空间金字塔池(ASPP)[46 ]生成密集的特征图。 我们的时空注意力模块需要花费很长时间进行训练,因为它需要生成巨大的注意力图来测量任意两个像素之间的相似度,时间复杂度为O((h×w)×(h×w)),其中 h×w是要素图的大小。 PAM需要计算几个不同金字塔等级的注意力图,这比BAM需要更多的时间。
此外,表7列出了尺寸为1024×1024像素的图像对的测试时间。 我们所有的模型都显示出比TBSRL下限更好的时间性能。 请注意,BAM仅比BASE多花费30%的时间,而PAM消耗的时间大约是BASE的两倍。 我们可以设计一个具有更简洁的金字塔结构(例如,更少的金字塔等级)的PAM,以平衡时间消耗和准确性。 总体而言,我们提出的模块具有竞争力的时间表现和可接受的时间消耗。
在本节中,我们通过可视化注意力模块来解释注意力模块的学习内容。然后,我们探索PAM中哪个金字塔级别最重要。
注意模块的可视化。 自我注意机制可以对顺序数据中两个位置之间的远程关联进行建模。 我们可以将时空图像视为时空点的集合。 换句话说,一个点位于某个空间位置并且来自某个时间。我们的注意力模块可以捕获时空中任意两点之间的时空依赖性(注意力权重)。 通过利用这些相关性,我们的注意力模块可以获得更多的判别特征。 为了更好地了解我们的时空注意力模块,我们将学习的注意力图可视化,如图9所示。图中的可视化结果是通过BAM模型获得的,其中每个点都与BAM模型中的所有点相关。 整个时空。换句话说,我们可以为每个点绘制H×W×2大小的注意图,其中H,W分别是图像特征图的高度和宽度。 我们选择了四组二进制图像进行可视化。 图9中的前两行来自LEVIR-CD测试集; 其他两个来自SZTAKI测试集。 对于每个样本,我们选择两个点(标记为红点)并显示它们相应的注意力图(#1和#2)。 以第一行为例:时空图显示了新建的别墅。 点1(标记在裸露的土地上)突出显示了属于荒地,道路和树木(不是建筑物)的像素,而点2(标记在建筑物上)对双时相图像上的所有建筑物像素具有很高的关注权重。 对于图9中的第三行,点1标记在草地上,并且其相应的关注图#1突出显示了双时相图像中属于草地和树木的大多数区域。 第2点(标在建筑物上)非常注意建筑物和人造地面的像素。 可视化结果表明,我们的注意力模块可以捕获语义相似性和长期的时空依赖性。 必须指出,学习到的语义相似性与数据集和更改类型高度相关。我们的发现与非局部神经网络的发现一致[35],其中视频中相关对象的依赖性可以通过自我注意机制来捕获。
图9. LEVIR-CD和SZTAKI测试集上注意图的可视化。 每行代表一个样本(图像1,图像2和地面真实情况),并且可视化的注意力图对应于在输入的二进制图像上标记的点。 例如,在注意力图#1中,它显示了点#1在双时态图像中所有像素上的注意力。 红色表示关注度较高,而蓝色表示关注度较低。
PAM中哪个金字塔等级最重要? PAM结合了不同金字塔等级的注意力特征,以产生多尺度的注意力特征。 在一个特定的金字塔等级中,特征图被均匀地划分为一定大小的s×s个子区域,并且该子区域中的每个像素都与该子区域中的所有位时像素有关。 分区标度s是PAM中的重要超参数。 我们设计了几种金字塔分区标度(1、2、4、8、16)不同组合的PAM,以分析哪种标度对性能影响最大。 表8显示了LEVIR-CD测试仪的比较结果。 该表的上半部分列出了不同PAM的性能。 每个都只包含某个金字塔等级。 我们可以观察到,当分区比例为8时,可以获得最佳性能。这是因为在这种情况下,每个子区域的大小与变更实例的平均大小是一致的。 我们网络的输入大小为256×256像素,输入到关注模块的特征图的大小为64×64像素。 当分区比例为8时,特征图中每个子区域的大小为8×8像素,对应于网络输入图像的32×32像素区域。 此外,LEVIR-CD中变更实例的平均大小为987像素,约为32×32像素。 我们还观察到分区比例为16时PAM的性能较差。这是因为每个像素的关注区域变得如此小,以致于无法容纳大多数变化实例。 该表的下半部分显示了具有多个金字塔等级的不同组合的PAM的性能。 PAM(1、2、4、8)通过考虑多尺度的时空上下文信息来产生最佳性能。
方法论分析和未来工作。 在这项工作中,我们为遥感CD提出了一种新颖的基于注意力的连体FCN。 我们的方法通过自我注意机制扩展了先前基于暹罗FCN的方法[27,28]。 据我们所知,我们是第一个在CD任务中引入自我注意机制的人,该机制可以使时空中的任何两个像素相互关联。 我们发现,通过利用时空依赖性可以很好地缓解由位时图像中的配准错误引起的误检测。 时空关系已经被讨论并在一些最近的研究中证明是有效的[29,31],其中使用RNN来建立这种关系的模型。 我们还发现,PAM可以获得比BAM更好的细节,这归因于PAM提取的多尺度注意力特征。 多尺度上下文信息对于识别更改很重要。 先前的研究[28]使用ASPP [46]来提取多尺度特征,这将有利于变更决策。 因此,未来的方向可能是探索一种更好的捕获时空依存关系和多尺度上下文信息的方法。 我们想设计更多形式的自我注意模块,并探索级联模块的效果。 此外,我们想将强化学习(RL)引入CD任务中,以设计更好的网络结构。
在本文中,我们提出了一种用于遥感图像二进制CD的时空注意力神经网络。 我们还提供了一个新的遥感影像CD数据集,该数据集比现有数据集大两个数量级。 消融实验已经证实了我们提出的时空注意模块(BAM和PAM)的有效性,该模块捕获了长期的时空依赖性,以学习更好的表示方法。 实验结果表明,通过我们的注意力模块,可以很好地缓解由位时图像中的配准错误引起的误检测。 此外,我们的注意力模块对双时态图像中的颜色和比例变化更健壮。 通过提取多尺度注意力特征,PAM可以获得比BAM更好的细节。 我们还将可视化注意力图,以更好地了解我们的注意力模块。我们提出的方法优于SZTAKI数据集上的其他几种最先进的遥感图像CD方法。 此外,我们的关注模块可以插入任何基于Siamese-FCN的CD算法中,以引入性能改进。 最后,我们希望我们新引入的数据集LEVIR-CD将为研究人员提供机会,为遥感图像CD开发新颖的,数据密集型算法。