这篇文章算是我入门这个领域的开始吧,决定先从综述类文章看起,对该领域研究工作有个大概了解,同时会记录阅读文献时遇到的问题。
今天阅读的是一篇关于遥感图像领域变化检测方向的一篇中文文献。
一、定义
变化检测(Change Detection,CD):简单来说,变化检测是指识别在同一地理区域上采集但在两个不同时间拍摄的图像之间的差异
正式一点的定义:是指利用遥感技术或其他相关技术,在不同时间或不同条件下获取的图像或数据中,识别和分析地表或地物在时间和空间上发生的变化情况的过程。这些变化可能涉及地物的增长、减少、移动、形态变化等
二、变化检测的处理流程
第一步:先经过数据选取,选择适合研究目标和场景的数据源。
第二步:对选取的数据进行数据预处理,对数据进行预处理通常包括配准、辐射校正、几何校正等,以消除图像中的噪声和误差,提高后续处理的准确性。
第三步:是变化检测的核心任务---变化信息提取,选择合适的变化检测技术手段从遥感图像中提取用于判断变化的特征进行变化检测。
第四步:后处理操作,为了减少变化检测过程中出现的误差。
第五步:对变化检测的结果进行精度评价,用来检测该模型的性能,常用的精度评价指标有总体准确率、误差矩阵、Kappa 系数等。
三、变化检测方法分类体系
四、变化检测方法
2015 年至今,深度学习成为主流,现有的研究基本都是基于高分辨率的遥感影像
变化检测任务目前以双时相图像为主,随着遥感卫星的发展,以高分辨率遥感数据为数据源进行研究更为普遍,加之技术的不断迭代,研究者们趋向于提取多尺度、多分辨率的图像特征以得到更细微更全面的变化,主流技术也更趋向于卷积神经网络和 Transformer。
4.1 基于深度学习的方法
优点:深度学习方法具有自动学习图像特征的能力,无需手动设计特征,具有较强的泛化能力和适应性。在处理复杂的遥感图像数据和变化检测任务时表现出色,能够实现较高的检测精度和效率。
4.1.1 卷积神经网络
4.1.1.1 U-Net
U-Net网络结构于 2015年提出。U-Net 使用编码器和解码器结构,编码器负责捕获图像的全局特征,而解码器通过上采样和跳跃连接的方法将底层和高层特征融合,以保留更多的上下文信息。这种机制有助于变化检测任务更好地理解和分割图像中的变化区域。
U-Net 的网络结构呈现对称性,这意味着其可以同时进行特征提取和特征重建。这种对称结构有助于提高变化检测任务中的特征表示能力,并且能够更好地恢复图像的细节信息。且其具有较小的感受野和较小的卷积核,这使得其对小尺寸目标的检测具有较好的效果。在变化检测任务中,有时需要检测和分割一些细微的变化,例如小的裂缝或破损区域,U-Net 能够更 好 地 处 理 这 些 细 小 的 变 化 。
Yuan 等结合Transformer 和 UNet 提出了STransUNet,设计了交叉增强自适应融合的高效特征融合模块,引入了级联上采样解码器,该模型不仅能在早期阶段捕获浅层细节特征,还能在高级特征中对全局上下文进行建模
Zhang 等基于 U-Net,通过对 U-Net 结构进行改进,将其特征提取模块的标准卷积操作以非对称卷积块代替以防止过拟合,并引入了注意力机制以增强特征提取能力,以更好地适应建筑物变化检测任务。
4.1.1.2 AlexNet
AlexNet在 2012 年ImageNet 图像分类竞赛中提出的一种经典的卷积神经网络。AlexNet 通过在更大规模的数据集上进行预训练,能够提取到更具代表性的特征,从而提高变化检测的准确性。且其引入了局部响应归一化层用于增强模型对于局部特征的敏感度,这种归一化操作有助于抑制局部区域中的弱响应,提高了模型对于细节和局部特征的感知能力,对于变化检测任务中的细微变化有较好的处理效果。
Fu 等结合 AlexNet 和支持向量机设计了一种变化检测方法,经实验证明展示出了不错的效果。
4.1.1.3 VGG
由牛津大学的视觉几何组设计的一种经典的卷积神经网络架构 VGGNet(也称为 VGG)。VGG 网络结构简单直观,这种简单直观的结构使得 VGG 网络易于理解和实现,并且在变化检测任务中具有较好的可解释性。
VGG 网络具有多个卷积层,通过堆叠多个卷积层能够逐渐提取出图像更高级别的抽象特征,从而提高变化检测任务的准确性;通过使用小尺寸的卷积核和池化操作,VGG 网络能够对输入图像进行多次下采样和上采样,从而在一定程度上平滑图像的噪声和干扰。
Huang等基于 U-net 网络,结合 VGG 思想并引入 SE 模块和残差结构提出了 SE-DRUnet 模型,其准确率更高,抗噪能力更强。
4.1.1.4 ResNet
ResNet由微软研究院的 Kaiming He 等人提出,其核心思想是引入了残差连接(跳跃连接),残差连接允许网络中的信息直接传递,使得浅层特征可以与深层特征直接交互和影响,从而实现特征重用和更深层次的特征学习,这个机制有助于提高变化检测的性能,尤其是在处理小尺寸目标或细微变化时。ResNet 的残差块能够学习到输入数据的残差信息,使得网络对于输入数据中的噪声和干扰具有一定的鲁棒性,在处理遥感图像等复杂数据时能表现出较好的稳定性和可靠性。ResNet能够提高网络深度,这使得 ResNet 能够学习到更复杂的特征和模式,从而提高变化检测任务的准确性。
Chen等结合 Siamese 网络和 Transformer,以 ResNet18 为骨干,提出了 BIT 模型;
Chen 等基于语义分割模型,引入了 ResNet50 和注意力机制,相比改进之前各种指标都有明显提升。
4.1.1.5 全卷积网络 FCN
全卷积网络由 Jonathan Long 等人于 2015 年提出,用于图像语义分割,具有开创性价值。
与传统的卷积神经网络相比,FCN 不仅能在图像级别上进行预测,而且在像素级别上也可以进行预测,这使得 FCN 在变化检测任务中能够更精确地定位变化的区域。FCN 可以直接从原始图像数据中学习到变化检测的结果,无需手工设计和选择特征,且可以处理任意大小的输入图像,而无需将输入图像裁剪或调整到固定大小,这对于处理大规模的遥感图像等数据源具有重要意义。其在整个处理过程中能够保留图像的空间信息,这对变化检测任务来说具有很大价值,因为空间上邻近的像素通常具有相似的变化模式。
Rodrigo 等提出了三种全卷积神经网络结构,FC-EF基于 U-Net,另外两个基于该模型,是 FC-EF 模型的Siamese 扩展。
Song 等针对变化检测的特点设计了共享权重的多层全卷积网络来提取双时相的多尺度特征,并引入了残差卷积和扩张卷积模块,与其他全卷积方法相比提高了对复杂地物的检测能力。
4.1.2 生成对抗网络 GANs
生成对抗网络(Generative Adversarial Networks,GANs)由 Goodfellow 等人在 2014 年提出,通过两个神经网络相互博弈的方式进行学习的生成模型。其能够在不使用标注数据的情况下进行训练,这对变化检测任务来说是一个很大的优势,因为获取标注的变化检测数据较为困难且贵。GANs 应用在变化检测任务中可以自动从原始数据中学习和提取高层次的特征,能够帮助模型理解复杂的、高维度的输入数据。通过训练一个生成器生成一幅遥感图像,使其与另一时刻的图像尽可能匹配,而判别器则试图区分生成器生成的样本和真实数据样本,通过对抗训练的方式不断优化模型,使其在面对数据中的噪声或异常值时也能保持稳定的性能,通过对抗训练生成器网络可以生成具有变化信息的图像。利用 GANs 可以生成与真实数据非常相似的新数据,这能帮助模型更好地理解数据的分布,从而提高变化检测的性能,还可以处理多种类型的数据,对于处理多模态数据的变化检测任务来说是非常有用的。
Liu 等提出了一种基于生成对抗网络图模型的半监督检测方法,将多时相遥感图像变化检测问题转化为了图上的半监督学习问题,采用 GANs 以竞争方式生成样本来提高分类精度。
Yang 等结合半监督学习的数据效率和对抗学习的鲁棒性,提出了一种基于半监督分割和对抗学习的变化检测方法,在标记数据少的情况下依然能够有效完成检测任务。
Wu 等提出了一种基于生成对抗网络的全卷积变化检测框架,适用于不同监督场景,且在每个监督场景下都表现出色。
4.1.3 注意力机制
注意力机制是深度学习中一种常用的机制,旨在模仿人类在处理信息时的注意力分配方式。其核心思想是在处理输入数据时,模型可以动态地调整对不同部分的关注程度(动态分配注意力权重),以便更有效地处理输入的关键信息。最典型的注意力机制包括自注意力机制、空间注意力机制和时间注意力机制。
变化检测任务中,关注变化区域对于准确地检测变化非常重要。注意力机制可以帮助模型自动选择和加权关键特征,使其更加关注变化区域,减少对无关区域的关注,这样可以使模型更加智能地处理变化检测任务,提高检测的准确性、鲁棒性和适应性,减少误检和漏检的情况。理解变化发生的背景和上下文信息对于变化检测非常重要,注意力机制可以帮助模型在变化检测过程中对图像中的不同区域进行加权汇聚,从而更好地捕捉变化发生的上下文信息。变化检测任务通常需要考虑不同尺度上的变化信息,通过注意力机制可以为不同尺度的特征赋予不同的权重,从而实现多尺度特征的有效融合,对于时序序列的变化检测任务,注意力机制可以帮助模型捕捉时间维度上的变化模式。通过引入自注意力机制或多头注意力机制,模型可以自动学习变化序列中不同时刻之间的依赖关系,从而更好地建模变化的时序关系。注意力机制可以帮助模型自动选择关键特征,从而减少对噪声和干扰的敏感性。在变化检测任务中,合理利用和引入注意力机制可以显著提升模型的性能和效果。
Huang 等[90]基于差异注意力,结合孪生网络提出了 Res-diff-DAM,证明了注意力机制用来提取耕地变化信息的可行性。
Xu 等[91]提出了一种交叉注意力引导群体聚合网络 CAGNet,在 CLCD 数据集上的 F1 值达到了79.53%,减少了信息冗余和关键特征的丢失。
Yu 等[92]引入了多尺度概念和混合注意力模块,增强了模型的边缘细节提取能力,模型检测精度得到了有效提升。在实际的变化检测任务中,注意力机制多是以辅助模块的形式被引入模型中,利用其优势可以帮助模型提高检测准确率。
4.1.4 Siamese 网络
Siamese网络是一种基于孪生结构的深度学习模型,常用于计算相似度或距离度量。由两个或多个共享权重的子网络组成,每个子网络接受不同的输入数据,通过共享权重来学习输入之间的相似性。Siamese 网络是一种常用的对比学习方法,可以通过学习样本之间的相似度或差异性来进行分类或检测任务。
在变化检测任务中,Siamese 网络可以学习图像特征之间的相似度,从而判断图像是否发生了变化,还能通过比较两个输入图形的特征差异来学习不变性。Siamese 网络在训练时只需要对比样本对的标签信息,而不需要对每个样本进行具体的类别标注。
在变化检测任务中,两个输入图像可以直接形成对比样本对,因此 Siamese 网络可以在无需标注变化区域的情况下进行训练。虽然 Siamese 网络有多种优势适用于变化检测任务,但大多数模型只是利用其共享参数和对比学习的孪生结构,用来并行处理双时相图像。
Tang 等[93]提出了一种基于多注意力和多层变换的变化检测 Siamese 网络,包含三个不同模块的 Siamese 网络,可以并行处理双时间图像,并提取不同级别的增强特征。
Chen 等[94]以Siamese 网络结构为基础设计了编码器用来并行处理双时相图像,与将两幅图像放入模型之前将其堆叠成一幅图像的早期融合方法相比明显效果更佳。
4.1.5 Transformer
Transformer[45]基于自注意力机制,用于处理序列到序列的任务(最初被用于 NLP)。通过同时考虑输入序列中的所有位置,使用自注意力机制来学习输入序列的特征表示。
变化检测任务中,需要对图像序列中的时序信息进行建模以捕捉变化的演变过程。变化检测任务通常需要处理长时间序列或高分辨率图像序列,传统的卷积神经网络在处理长序列时可能存在信息丢失或混淆的问题,而 Transformer 通过自注意力机制能够更好地处理长程依赖关系,其并行计算能力可以加速模型的训练和推理过程 , 从而更准确地捕捉变化演变的模式 。Transformer 模型在自注意力机制的基础上能够更好地理解图像序列中不同位置的上下文信息。Transformer 通过自注意力机制可以动态加权,对于每个图像帧,Transformer都可以通过对其他帧的关注进行上下文建模,提高对变化发生位置的理解能力,有助于准确地捕捉变化的位置和模式、理解模型对变化的关注程度和重要程度,提高模型的可解释性。通过其多头注意力机制还可以同时学习不同尺度的特征表示,实现多尺度特征之间的有效融合,提高对变化的检测能力。
Liu 等结合CNN和 Transformer 的优点提出了一种具有多尺度上下文聚合的 CNN变压器网络,减少了远程上下文信息丢失的问题,降低了计算复杂度,有效缓解了高分辨率遥感图像难处理的问题;
Wu等提出了一个具有联合注意 Transformer 块 , 类 似 于 U-net 的网络模型SwinUCDNet,对农田具有高效的变化检测能力,且该模型具有很强的通用性;Wang 等将 Transformer 的自注意力机制与金字塔结构相结合提出了 PVT,以捕获图像中不同层级和尺度的特征信息,处理不同尺度的输入图像。
Transformer 的优异表现吸引了众多研究者的注意,继而出现了一些改进版,像VIT、SwinTransformer、Segformer 等,进而将其用于变化检测中,如SasFormer(基于 VIT)、 SwinUCDNet (基于SwinTransformer)等。到如今现有的很多模型都是基于Transformer 的编码 器 - 解码器结构设计的 , 如TCIANet、SFGT-CD等
4.1.6 Mamba
Mamba是一种基于状态空间模型的深度学习架构,其核心思想是通过状态空间序列模型来建模动态系统,能够有效建模全局信息,并且计算复杂度呈线性增长,这使得其在保持 Transformer 全局建模能力的同时,能克服 Transformer 计算复杂度高的缺点,除此之外还能弥补 CNN 有限感受野的限制。Mamba 能够捕捉到遥感图像中的全局信息,这对于理解地物在不同时间点的整体变化非常重要。
其框架的模块化设计使得它能够根据不同的遥感图像变化检测任务进行定制,像 ChangeMamba就以 Mamba 架构设计了 MambaBCD、MambaSCD 和 MambaBDA 分别用于二值变化检测、语义变化检测和建筑物损坏评估,Samba用于语义分割FusionMamba用于遥感图像融合。Mamba 引入了全向选择性扫描模块(OSSM)能够在多个方向上扫描遥感图像,从而捕捉到多个方向上的大尺度空间特征,这对于变化检测尤为重要。Mamba 的固有优势和卓越表现注定会成为遥感图像变化检测领域中一个具有竞争力的方法,巨大潜力值得去探索。
4.2 基于多尺度和多分辨率的方法
4.2.1 多尺度方法
4.2.1.1 基于金字塔的方法
在不同尺度下生成图像的多个副本,然后对每个尺度的图像进行变化检测。通过在不同尺度下检测变化,有助于捕捉大范围和小尺度的变化信息。
4.2.1.2 多尺度滑动窗口方法
将滑动窗口方法扩展到多个尺度,即在不同尺度上的滑动窗口进行变化检测。这允许在多个尺度上同时考虑不同大小的地物或目标。该方法能够适应不同尺寸的变化目标,有助于提高对变化的检测灵敏度。
4.2.2 多分辨率方法
4.2.2.1 基于多分辨率图像融合的方法
利用多分辨率的遥感图像,通过融合技术(如小波变换或卷积神经网络)将它们组合成一个具有更丰富信息的图像,然后在融合后的图像上进行变化检测。该方法能提高图像的空间分辨率,有助于检测小尺度的变化。
4.2.2.2 基于分层分析的方法
将图像分解为多个分层,每个分层表示不同的分辨率级别,然后在每个分辨率级别上进行变化检测,最后通过整合各级别的结果得到最终的变化检测结果。该方法能够同时考虑不同分辨率级别的信息,有助于提高对变化的全局感知能力。
4.2.2.3 基于多分辨率特征提取的方法
使用多分辨率的特征提取方法,例如在不同分辨率下应用卷积操作或采用多尺度的滤波器,以捕捉不同尺度下的图像特征,然后在特征层面进行变化检测。该方法能够更好地捕捉不同分辨率下的图像细节信息,以得到更全面准确的变化结果,提高检测精度。
五、概念辨析
- 分辨率:
- 分辨率通常指的是图像中单位长度内所包含的像素数量,通常以像素每英寸(PPI)或像素每厘米(PPC)来表示。
- 高分辨率意味着图像在单位长度内有更多的像素,因此图像看起来更加细腻和清晰。
- 分辨率的高低直接影响到图像的细节表现能力,但并不直接等同于图像的清晰度。清晰度更多地与图像的锐利度、对比度等因素有关。
- 尺度:
- 尺度在图像处理中通常指的是图像的空间分辨率或观察图像的尺度。
- 在多尺度图像处理中,尺度可以理解为对图像进行不同层次的抽象或表示,如从细节到整体的变化。
- 尺度变化可以通过改变图像的尺寸(即图像大小)来实现,但尺度不仅仅局限于图像的物理尺寸。它更多地涉及到图像信息的层次和抽象程度。
在多尺度图像处理中,尺度确实可以理解为对图像进行不同层次的抽象或表示,这种抽象或表示体现在从细节到整体的变化上。下面我将通过一个具体的例子来解释这个概念。
假设我们有一张包含多种物体的复杂图像,比如一张室内场景的照片,照片中有桌子、椅子、书本、杯子等物品。现在,我们想要通过多尺度图像处理来分析这张图片中的不同信息。
- 细节层次(小尺度):
- 在最小的尺度上,我们关注的是图像的细节信息。比如,我们可以观察到书本上的文字、杯子上的图案、桌子的纹理等。这些细节信息对于识别具体物体和特征非常重要。
- 在这个层次上,图像处理算法可能会使用小尺寸的滤波器或窗口来提取细节特征,如边缘、角点等。
- 中等层次(中尺度):
- 当尺度稍微增大时,我们开始关注物体的部分结构或特征。比如,我们可以识别出书本的形状、杯子的轮廓、椅子的腿部等。
- 在这个层次上,图像处理算法可能会使用中等尺寸的滤波器或分割算法来提取物体的部分结构或特征。
- 整体层次(大尺度):
- 在最大的尺度上,我们关注的是图像的整体结构和布局。比如,我们可以识别出照片中的房间布局、家具的摆放位置等。
- 在这个层次上,图像处理算法可能会使用大尺寸的滤波器或分割算法来提取整体结构特征,如房间的形状、家具的数量等。
通过多尺度图像处理,我们可以从细节到整体逐步分析图像中的信息。这种分析方法有助于我们更全面地理解图像内容,并提取出不同层次的有用信息。
举个例子,如果我们想要在这张室内场景照片中检测书本,我们可以先在小尺度上提取细节特征(如边缘、角点),然后在中等尺度上识别书本的部分结构(如形状、轮廓),最后在整体层次上确认书本的位置和数量。这样,我们就可以更准确地检测出照片中的书本。