前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文推送 | 动态多尺度特征的高分辨率三元组网络用于遥感影像变化检测

论文推送 | 动态多尺度特征的高分辨率三元组网络用于遥感影像变化检测

作者头像
郭好奇同学
发布2021-10-27 15:15:31
9800
发布2021-10-27 15:15:31
举报
文章被收录于专栏:好奇心Log好奇心Log好奇心Log

本文作者:

Xuan Hou, Yunpeng Bai, Ying Li, Changjing Shang, Qiang Shen

文献来源:

ISPRS Journal of Photogrammetry and Remote Sensing

DOI:

https://doi.org/10.1016/j.isprsjprs.2021.05.001

发表时间:2021年

01 研究背景

遥感变化检测是遥感图像处理的一项关键任务, 旨在根据获取的多时相图像数据准确判断地表变化。近年来,由于深度学习具有强大的学习和表达能力, 深度学习模型比如卷积神经网络被广泛应用于计算机视觉的通用任务上, 并在遥感变化检测上表现出显著的潜力。然而, 现有的变化检测方法拥有以下缺点:

  1. 随着遥感影像分辨率的提高, 现有方法无法充分挖掘高分辨率影像中包含的信息, 导致无法辨别出由于角度, 天气状况, 光照等导致的伪变化。
  2. 现有CNN方法在处理高分辨率遥感图像时, 提取变化部分的边缘信息往往不理想。不同于低分辨率影像, 高分辨率图像的变化区域通常包含更多的细节信息, 应该加以应用。
  3. 双时相遥感图像的时间信息没有被利用。

为了解决上述问题, 文章提出了高分辨率三元组网络(High-Resolution Triplet Network, HRTNet)来实现高分辨遥感影像变化检测. HRTNet是一个具有三个分支的网络, 输入数据包括双时相遥感影像以及通过直接相减得到的差分图像。此外, HRTNet中使用了高分辨率网络以减少在降采样过程中导致的信息损失。动态感知模块(DIM)用于增强多尺度特征的表达, 使得整个模型对不同尺度的变化区域更加敏感。

02 研究方法

HRTNet网络架构

HRTNet是可端到端训练的深度网络, 利用双时相影像对和差分图作为输入, 最后输出变化检测结果图. 模型的主体架构如上图所示。T1、T2和差分影像并行输入特征提取模块提取高层特征, 利用DIM模块来学习多尺度时相特征。差分影像特征分别与T1影像特征和T2影像特征融合。最后, 通过计算特征距离得到最终的变化检测结果。

差分图像是通过两个给定图像的相应像素值相减的结果, 能够兼容图像的相似部分, 突出图像之间的差异部分, 其计算如下:

HRNet网络架构

高分辨率网络(HRNet)如上图所示, 利用该网络能够在学习高层次的特征过程中, 高分辨率特征图能够始终保持不变, 而低分辨率信息在编码过程中被并行添加进来。总之, 应用HRNet提取高分辨率图像特征时, 原始图像中包含的语义信息可以充分学习, 而像素信息的潜在损失则被降到最小。

差分图包含重要的变化检测关键信息, 尤其是特定时期的地标变化信息, 由于直接相减的操作导致差分图失去了原始影像中包含的图像细节, 所以在模型中利用差分图保留对伪变化的敏感性的同时, 同时输入三个图像能够有效的提高模型的性能, 因为三个输入反映了不同的图像特征, 所以在计算过程中产生较少的冗余信息。

在特征融合时, 通过加权来将时间信息分配到T1和T2的图像上,如上述公式所示. 特征加权的方法能够使变化区域的特征更加明显, 同时抑制了在该时间段内未发生变化的特征. 因而有效地改善了网络, 使得将模型的注意力集中在变化区域。

动态获取模块(DIM)结构

动态卷积示意图

为了能提取多尺度变化区域的特征, 模型中引入了Inception模块来对多个尺度的特征图进行卷积和重新聚合, 由此产生更具表征性的特征改善最终的变化检测区域的识别. 为了提高模型的全面性, 引入了动态卷积操作构成DIM模块, 动态卷积能够自动学习不同的卷积核, 从而提高特征提取能力.

03 实验及结果

(1)SOTA模型比较

Lebedev数据集上的示例结果:

(a) T1影像,(b)T2影像,(c)参考影像, 以及变化检测结果,(d)FC-Siamese-diff, (e)UNet++MSOF, (f)IFN, (g)DASNet, (h)STANet, (i)HRTNet.

上图展示了对比实验的示例结果, 第一行和第二行展示了对小尺度变化区域的检测.与其他SOTA方法相比,HRTNet可以检测到更多的小区域的变化.此外,它还能准确地分离独立的小变化区域的边界.第三行和第四行的双时空图像的地表由于季节性变化而发生明显的变化.与其他基准方法相比,HRTNet可以检测到更多的细节,而且它对涉及多尺度变化的区域也更加敏感.

HRTNet和对比方法在Lebedev数据集的精度评估结果

从上表可以看出, HRTNet的整体性能最好,召回率(94.09%)、F1分数(93.71%)和OA(98.41%)都是最高的。这是因为所提出的方法学到的高分辨率深度特征更具有代表性,利用动态接受模块获得了丰富的特征信息。特别是HRTNet的召回率远远高于其他方法,这意味着HRTNet对伪变化和噪声的鲁棒性远远高于其他基准方法.虽然IFN的精度最高,但它的召回率相对较低,这表明它造成了更多的错误检测。值得注意的是, HRTNet在精确度方面略低于IFN。一个可能的原因是,变化的像素和未变化的像素的数量相当不均匀, 而IFN利用其加权损失函数缓解了样本不平衡的问题。

本文还在SenseTime数据集以及LEVIR-CD建筑物变化检测数据集进行了实验, 精度评估结果如下图所示, 从结果可以看出, 所提出的HRTNet在这两个数据集上也取得了最高的精度。

HRTNet和对比方法在SenseTime数据集的精度评估结果

HRTNet和对比方法在LEVIR-CD数据集的精度评估结果

(2)消融实验

为了验证所提出的三元体结构和DIM模块对模型性能的影响, 文中对这两个模块进行了消融实验。

HRTNet除了T1和T2图像外,还将差异图像作为额外输入,以学习双时相图像的时间信息。为了评估提取的时间特征的效果,文中构建了一个高分辨率的Siamese网络(HRSNet)作为没有引入时间差分信息的模型,来和标准的HRTNet进行比较。HRSNet的输入只包含T1和T2图像. 实验过程中, 除了结构以外的其余参数都保持一致。

HRNet和HRSNet在Lebedev数据集上的精度对比

从该表可以看出,与HRSNet相比,HRTNet的召回率提高了0.82%,F1分数提高了0.42%,而精确率和OA值也有所提高。这表明HRTNet通过引入时间信息加强了HRSNet的性能。此外,通过学习这些信息的特点,模型对双时相图像的伪变化和噪声的鲁棒性也得到了加强,召回率明显提高.文中对HRSNet和HRTNet的模型复杂度和运行速度也进行对比, 结果如下表所示:

从表中可以看出,在HRTNet和HRSNet的参数相同的情况下(因为这些模型之间共享特征提取网络来学习图像特征),对于一对256×256大小的双时态图像,HRTNet需要的运行时间略多于HRSNet.这是因为它需要花额外的计算成本学习差分特征, 以换来更高的F1值。

HRTNet结构应用DIM来丰富特征信息的表示,提取多尺度的时间特征。为了评估引入DIM的影响,将包含DIM的HRSNet和HRTNet模型与不包含DIM的模型进行比较。在训练过程中,四个网络的参数设置保持一致,结果如下表所示。

使用不同的主干网络的模型在Lebedev数据集上的精度比较

可以看出,与没有DIM的模型相比,使用了DIM的HRSNet和HRTNet明显提高了精度、F1和OA, 召回值略有下降。出现这种情况可能原因是,DIM引入了更多的特征信息.在提高精度的同时,DIM的使用也引入了少量的冗余特征信息,这可能导致对变化图的错误预测,从而使召回率下降。

结论与展望

本文提出了一种用于遥感图像变化检测的高分辨率三元组网络(HRTNet)。与现有的方法不同,HRTNet关注双时空图像中包含的时间信息。它通过三个平行流来学习双时空图像和时间信息的特征。为了更好地处理高分辨率图像, HRNet被用作特征提取的主干网络, 以减少学习过程中低分辨率图像信息的损失。引入了DIM模块,以帮助应对不同尺度的变化区域,在利用多尺度图像特征的同时增强了模型的表达能力。与最前沿的方法相比,所提出的HRTNet在三个流行的数据集上表现优异,对不同尺度的变化区域表现出较强的学习能力,同时能够检测出伪变化并对抗噪声。

虽然该方法表现优异, 但也有以下两个缺点:

(1)模型只能在相关的同一场景下检测变化区域, 跨域变化检测仍然是重要的挑战。

(2) 该方法数据监督学习方法, 意味着需要大量的标注数据才能训练出一个性能优越的模型。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好奇心Log 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档