【空间-光谱联合注意网络:多时相遥感图像】

A Spatial–Spectral Joint Attention Network for Change Detection in Multispectral Imagery

(一种用于多光谱图像变化检测的空间-光谱联合注意网络)

变化检测是通过比较双时相图像来确定和评估变化,这是遥感领域的一项具有挑战性的任务。为了更好地利用高级特征,基于深度学习的变化检测方法引起了研究人员的关注。大多数基于深度学习的方法仅同时探索空间-光谱特征。然而,我们认为关键的空间变化领域应该是更重要的,并应注意到特定的波段,可以最好地反映变化。为了实现这一目标,我们提出了空间-频谱联合注意网络(SJAN)。与传统方法相比,SJAN引入了空间光谱注意机制,以更好地挖掘关键变化区域和关键可分离波段。为了更具体地说,设计了一种新颖的空间注意模块来提取空间关键区域。其次,开发光谱注意模块,自适应地聚焦于土地覆盖材料的可分离波段。最后,提出了一种新的目标函数,以帮助该模型从频谱幅度和角度来衡量学习的空间-频谱特征的相似性。在三个基准数据集上验证了所提出的SJAN。已经进行了全面的实验,以证明所提出的SJAN的有效性。

Introduction

在两个或更多个不同时间采集的相同位置的不同图像被称为多时间图像。多时相遥感图像之间的变化可以通过变化检测来识别。变化检测方法通过从多时间图像中提取变化区域来确定场景中的每个像素是否发生了变化。多光谱图像有许多波段,从可见光到红外光,其广泛的光谱信息允许可靠的物体识别。因此,多光谱变化检测在环境监测、资源查询、城市规划和自然灾害评估等领域得到了广泛的应用。
变化检测方法的两个主要类别是传统的和基于深度学习的方法。对于低分辨率图像,最早的变化检测方法大多以像素为监测单位,进行逐像素的差异分析。随着机器学习算法的发展和光谱分辨率的提高,变化检测的单位从像素转移到对象。在2010年之前,这些技术中的大多数是传统的变化检测方法,包括基于代数的、基于图像变换的、基于分类的方法等。
基于代数变换和图像变换的变化检测通过对图像像素应用变换和操作来检测图像中的变化。而后分类方法则对预先对齐的两幅时间相位遥感图像进行分类,并将分类结果进行比较,得到变化检测图。
尽管上述传统方法为多光谱变化检测的发展做出了重要贡献,但大多数仍然使用人工特征,依靠专业的视觉观察者进行人工判别。深度学习可以自动提取抽象特征并获得空间-光谱特征表示,这可以有效提高变化检测任务的准确性。因此,基于深度学习的变化检测方法已经成为一个热门的研究方向。随着卫星遥感图像分辨率的不断提高,基于深度学习的变化检测方法在多光谱图像特征提取方面也有了质的飞跃。在变化检测领域中已经应用了各种网络结构,例如深度置信网络(DBN)、堆叠式自动编码器(SAE)、卷积自动编码器(CAE)、PCANet 。
一些方法旨在提取空间-光谱特征以获得关于变化检测的更好性能。Zhan等人提出了三向光谱-空间卷积神经网络(TDSSC),该网络利用卷积从光谱方向提取光谱特征,从空间方向提取光谱-空间特征,充分提取HSI判别特征,提高了变化检测的准确性。Zhang等人提出了一种新的基于谱变换和联合谱空间特征学习(STCD)的无监督变化检测方法。该方法克服了同一目标图像在多个时空周期内具有不同光谱的挑战,提高了变化检测方法的鲁棒性。Liu等人引入了双注意模块(DAM)来利用通道和空间位置之间的相互依赖性。该方法可以获得更多的区分特征,并在WHU建筑数据集上进行了实验。通过同时评估空间光谱变化信息,Zhan等人为VHR图像构建了一个无监督尺度驱动的变化检测框架。该系统通过融合深度特征学习和多尺度决策融合,生成了一个鲁棒的、具有较高检测精度的二值变化图。为了解决“同一物体具有不同光谱”的问题,Liu等人提出了一种无监督的空间-光谱特征学习(FL)方法,该方法通过具有空间和信道注意力的3D卷积神经网络提取混合光谱-空间变化特征。对于甚高分辨率(VHR)图像中的变化检测,Lei 等人提出了一种基于差分增强和空间-频谱非局部(DESSN)的网络。为了提高目标的边缘完整性和内部紧密性,提出了一种空间光谱非局部(SSN)模块的DESSN,通过结合多尺度空间全局特征来描述大尺度目标波动变化检测。上述方法试图提取空间光谱特征。然而,他们很少注意变化区域的细微特征。
随着注意机制的广泛应用,基于注意模块的变化检测方法被提出。为了缓解对小变化区域的无效检测和简单网络结构的差鲁棒性的问题,Wang等人提出了一种基于注意力机制的深度监督网络(ADSNet),以获得双时间图像特征之间的关系和差异。为了克服当前方法对伪变化的抵抗力不足的问题,Chen等人提出了双注意全卷积连体网络(DASNet)来捕获长距离依赖性,以获得更多的鉴别特征。Chen等人提出了一种基于时空注意力的变化检测方法(STA),该方法通过自注意力模块模拟时空关系。Chen等人提出了一种新的网络,该网络更加关注具有显著变化的区域,并提高了模型的抗噪声能力。Ma等人提出了一种用于多分辨率分类的双分支交互式空间通道协作注意力增强网络(SCCA-net)。在这个网络中,一个局部空间注意模块(LSA模块)开发PAN数据,强调空间分辨率的优势,和一个全局通道注意模块(GCA模块)开发MS数据,以提高多通道表示。Chen等人通过探索时间注意依赖范围大小对变化检测性能的影响,提出了一种动态接受性时间注意模块,并引入了并发水平和垂直注意(CHVA)来提高条带实体的准确性。
上述基于深度学习的变化检测方法取得了良好的效果,一些方法还提取了空间-光谱特征。然而,在提取空间光谱特征时,没有注意空间维度上的关键变化区域和光谱维度上的可分离波段。当场景复杂时,提取空间-光谱特征的效率受到关键变化区域和土地覆盖材料可分离波段的影响。此外,上述基于深度学习的变化检测方法仅从频谱幅度测量学习到的空间-频谱特征的相似性,而不考虑频谱角度的影响。光谱角是评价光谱相似性的一个重要指标。为了解决上述问题,我们提出了空间频谱联合注意网络(SJAN)。SJAN包含空间注意模块和光谱注意模块,用于在提取空间光谱特征时探索可分离的波段。为了更好地测量学习到的空间光谱特征的相似性,我们测量它不仅从光谱幅度的角度,而且从光谱角度的角度。因此,所提出的SJAN可以实现更好的性能。
我们提出的SJAN方法的主要贡献如下:
1)提出了一种空间-光谱注意网络来提取更具鉴别力的空间-光谱特征,该网络可以通过空间注意模块捕获空间关键变化区域,并通过光谱注意模块探索材料的可分离波段。
2)一种新的目标函数的开发,以更好地区分学习的空间-光谱特征的差异,同时计算学习的空间-光谱特征的相似性从频谱幅度和角度的角度。
3)在三个基准数据集的综合实验表明,所提出的SJAN可以实现更好的性能相比其他最先进的变化检测方法。

Materials and Methods

Change Detection

变化检测是从不同时间段的遥感数据中定量分析和表征地表变化的过程。遥感变化检测(CD)是识别多时相遥感图像之间“显著差异”的过程。大多数当前的变化检测方法可以分为两个主要类别:传统方法和基于深度学习的方法。
传统的变化检测方法包括基于代数的变化检测方法、基于图像变换的变化检测方法和基于分类的变化检测方法。基于代数的变化检测方法包括变化向量分析(CVA)、图像差分、图像比较和执行数学运算(例如,差分、比较等)以获得改变的映射。CVA通过对来自不同图像的每个带的数据执行不同的操作来测量变化量。然而,随着频带数目的增加,确定变化类型和选择变化阈值变得越来越困难。
基于图像变换的变化检测使用图像像素的变换来检测图像中的变化,包括主成分分析(PCA)、独立成分分析方法(ICA)和多变量变化检测(MAD)。PCA算法检测变化区域可以检测变化信息,并能清晰地指出变化区域,但易受噪声影响,需要对数据进行预处理。MAD方法可以有效地去除相关性,但噪声对结果影响很大,阈值需要手动调整。Morton提出了IR-MAD算法与EM相结合以减轻这些情况;它可以自动获得变化阈值。
基于分类的变化检测算法涉及分类后比较、无监督变化检测方法和基于人工神经网络的方法。这些方法的主要优点是,它们提供了准确的信息,独立于外部因素,如大气扰动。Radhika和Varadarajan提出了一种使用神经网络的分类检测方法,该方法提供了更好的准确性,但只能应用于小图像。Vignesh等人提出了另一种无监督的新SVD跟踪函数聚类算法,该算法在土地覆盖分类中表现良好。该算法对图像进行分组,并将这些图像用作集成最小化学习算法(EML)的训练集。
随着深度学习技术的蓬勃发展,许多基于深度学习的变化检测算法被提出.例如,Liu等人提出了深度卷积耦合网络(SCCN)。将输入图像连接到网络的每一侧,并将其转换到特征空间。计算特征对的距离以生成不同的图。Zhan等人提出了一种深度级联全卷积网络(FCN),其包含共享相同权重的两个相同网络,每个网络独立地为每个时空图像生成特征图。它利用了更多的像素之间的空间关系,并取得了更好的效果。Mou等人提出了一种新型的递归卷积神经网络(RCNN)架构,它将CNN和RNN结合起来形成一个端到端网络,可以训练该网络在统一的框架中学习联合频谱-空间-时间特征表示,用于多光谱图像变化检测。Zhang等人提出了一种频谱-空间联合学习网络(SSJLN),它联合学习频谱-空间表示并深入探索融合特征的隐含信息。变化检测的方向仍然值得研究。

Attention Mechanism

注意机制旨在模拟人类在阅读、听力和听力中的注意行为。注意机制已被证明有助于计算机视觉任务。将注意机制与深度网络相结合,有效提高了计算机视觉任务的性能;因此,注意机制近年来在计算机视觉领域得到了广泛的应用,如图像分类和语义分割。最初,注意力机制通常应用于卷积神经网络。Fu等人[47]提出了一种基于CNN的注意机制,它在多尺度上递归学习区分性区域注意和基于区域的特征表示,并证明了其在细粒度问题中的有效性。Hu等人提出了挤压和激励(SE)模块,使网络能够专注于通道之间的关系,使用网络自动学习不同通道特征的重要性,提高了图像分类的准确性。Woo等人提出了卷积块注意力模块(CBAM),该模块引入了空间注意力机制,在网络和基本通道特征的基础上聚焦图像的空间特征,增强了网络稳定性和图像分类准确性。Misra等人提出了一种三元组注意机制来建立维度间的依赖关系,该机制可以嵌入到标准CNN中以应对不同的计算机视觉挑战。

Network Architecture

孪生网络有两个分支网络,并且两个分支具有相同的架构和权重。孪生网络使用成对补丁或图像作为输入,通过一系列层提取特征,并计算学习特征的相似性作为输出。因此,暹罗网络是变化检测领域的主流网络。因此,我们提出的SJAN是基于孪生网络。在这里插入图片描述

SJAN包含四个部分:初始特征提取模块、光谱关注度模块、空间关注度模块和辨别模块,如图1所示。初始特征提取模块使用最简单的CNN网络。初始特征提取模块的网络结构和相关参数如表1所示。空间注意模块和频谱注意模块旨在优化学习的初始特征,使得它们可以聚焦于频谱的空间关键变化区域和可分性带,这将在下面的章节中详细描述。识别模块首先对提取的空间光谱特征进行融合,然后挖掘所获得的特征的隐含信息,最后用sigmoid函数给出变化检测结果。其网络结构及相关参数见表1。在这里插入图片描述
首先,在一系列卷积和池化操作之后,从时刻T1和T2的成对块中提取空间-频谱特征,表示为 F H × W × C F^{H×W×C} FH×W×C1 F H × W × C F^{H×W×C} FH×W×C2,其中H、W和C分别表示通道的高度、宽度和数量。其次,将学习到的特征 F H × W × C F^{H×W×C} FH×W×C1 F H × W × C F^{H×W×C} FH×W×C2分别馈送到光谱注意力模块,以获得基于光谱注意力的特征,表示为 F 1 F^{1} F1spectral-att F 2 F^{2} F2spectral-att,它们是通过将特征映射与光谱注意力权重相乘而获得的。再次,基于光谱关注度 F 1 F^{1} F1spectral-att F 2 F^{2} F2spectral-att的特征被馈送到空间关注度模块以获得空间光谱特征,表示为 F 1 F^{1} F1spatital−spectral F 2 F^{2} F2spatital−spectral。最后,空间-光谱特征 F 1 F^{1} F1spatital−spectral F 2 F^{2} F2spatital−spectral的差分信息被馈送到用于分类的全连接层以获得变化检测结果。

Spatial-Attention Module

空间注意力模块由两个算术运算和一个卷积层组成。它的目的是获得每个通道的空间注意特征。空间注意力模块的结构如图2所示。首先求出一对块特征维数的均值和最大值,生成两个2 × 2的向量,然后将向量约化为一个2 × 2 × 1的向量。其次,最大值和平均值将被虚线表示。计算特征尺寸的最大值和平均值,以分别从不同方面定义变化区域。我们执行一个点乘法操作,可以获得一个具有更高权重差异的注意矩阵比级联操作,使我们能够更好地整合所获取的数据。再次,使用7 × 7卷积和sigmoid函数对数据进行归一化,以获得空间注意力权重。最后,空间注意力权重和输入特征相乘以获得空间注意力特征。从空间注意力模块获得的特征更有区别,因为它更多地集中在空间维度中的关键变化区域。在这里插入图片描述

Spectral-Attention Module

注意机制下的光谱特征提取网络可以自动确定复杂场景中成对块的不同波段的重要性,这对于多光谱变化检测任务是有用的。频谱注意模块由两个池化层和共享MLP组成。其目的是探索哪个波段更有效地检测目标。图3描绘了光谱注意模块的网络架构。首先,使用全局最大池化和全局平均池化来缩小成对块的特征,以创建1 × 1 ×C向量(C是通道的数量)。然后,将它们馈送到一个共享的MLP中,通过两个1 × 1卷积,以确保获取成对块的详细信息。第三,这些学习到的特征是虚线的。最大池化和平均池化分别集中在成对块的光谱信息的不同方面,以便我们执行点乘法操作而不是元素求和,以使不同特征的可分性带之间差距尽可能宽。然后利用sigmoid函数对结果进行归一化,归一化后的结果就是基于谱注意力模型的谱注意力权重矩阵。最后,信道频谱注意权值与输入特征相乘,得到频谱注意特征。从光谱关注模块获得的特征更具鉴别力,因为它更多地关注光谱维度中的可分性频带。在这里插入图片描述

Loss Function

谱角是确定两个谱向量是否相似的关键标准,并且大多数现有的基于深度学习的变化检测方法在计算相似度时没有考虑谱角。因此,本文中的损失函数是从谱幅度和角度两个角度定义的。所提出的SJAN的损失函数包括两项:频谱振幅项和频谱角项。总损失函数L定义如下:在这里插入图片描述
Lamplitude包含两个部分:L1和L2,并且定义如下:在这里插入图片描述
根据对比度损失函数计算L1。该损失函数是多光谱图像相似性的常用度量。该算法从光谱幅值考虑多光谱图像的相似性,约束相似图像块对的距离,扩大不相似图像块对的空间。其定义如下:在这里插入图片描述
其中,l 的值表示输入成对补片的标签信息。l = 1表示补片对不相似,而l = 0表示补片对相似。m表示不相似对的阈值。在我们的实验中,m被设置为0.5。此外,d表示两个输入面片的距离。可以看出,仅考虑0和m之间的相异对的距离。如果l = 1并且d大于阈值,则L1损耗被视为0。
L2由交叉熵损失计算。提取的空间-光谱特征的交叉熵损失函数旨在使模型预测更接近标记值。其定义如下:在这里插入图片描述
Langle是一种更全面的相似性度量,它直接乘以谱余弦和欧氏距离。为了使频谱余弦具有与欧几里得距离相同的原理,我们使用公式(1-cosine),使得公式的较小值表示相似图像块的更接近。Langle定义如下:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础——运算符表达式

文章目录 算术运算符赋值运算符关系运算符逻辑运算符位运算符三元运算符 算术运算符 运算符说明加-减*乘/除%取模(取余)自增- -自减 参考代码: //加法运算 int add1 2 3; System.out.println("加法运算 add1 " add1); Strin…

debian中vim的使用

debian使用vi中经常出现m apt install vim vim不能用鼠标粘贴 vim /etc/vim/vimrc 在末尾加入以下内容: let skip_defaults_vim 1 if has(mouse)set mouse-a endif保存文件即可

Git 精简快速使用

安装 Git 忽略,自行搜索 新建项目,或者在仓库拉取项目,进入到项目目录 Github 给出的引导,新项目和旧项目 echo "# testgit" >> README.md git init git add README.md git commit -m "first commit"…

.NET Nuget包推荐安装

文章目录 前言通用WPFWebApiBlazor 前言 我这里的包主要是.NET Core的,.NET Framework可能不支持。 通用 Newtonsoft.Json:最常用的C#和Json对象互转的包。支持匿名对象,但是不支持Enum枚举类型,显示的是Enum的数值&#xff0c…

MySQL强制使用索引的两种方式及优化索引,使用MySQL存储过程创建测试数据。

一、MySQL强制使用索引的两种方式 1、使用 FORCE INDEX 语句: explainselect*fromtbl_test force index (index_item_code)where(item_code between 1 and 1000) and (random between 50000 and 1000000)order byrandomlimit 1; 使用 FORCE INDEX(索引…

ARM 和 AMD 架构的区别

ARM 架构和 AMD 架构是两种不同的计算机处理器架构,它们有以下几个主要区别: 设计出发点: ARM 架构:ARM 架构最初是为嵌入式系统设计的,旨在提供低功耗和高效能的解决方案。它主要应用于移动设备、嵌入式系统和物联网设…

链表(单链表、双链表)

前言:链表是算法中比较难理解的部分,本博客记录单链表、双链表学习,理解节点和指针的使用,主要内容包括:使用python创建链表、实现链表常见的操作。 目录 单链表 双链表 单链表 引入链表的背景: 先来看…

使用ElementUI结合Vue完善主页的导航菜单和书籍管理以及后台数据分页查询

目录 动态树 数据表 案列 书籍管理 动态树 动态树(Dynamic tree)是一种数据结构,它可以在树中动态地插入、删除和修改节点。与静态树不同,静态树的节点是固定的,一旦构建完成就无法再进行修改。而动态树可以在运行时…

Java 8中的Stream API

Java 8引入了一种全新的数据处理方式:Stream。Stream API提供了一种功能强大、高效、可复合、并行处理集合数据的方式。使用Stream API,我们可以轻松地对集合进行筛选、排序、过滤、映射等操作。在本教程中,我们将深入介绍Stream API的原理、…

任意文件的上传和下载

1.任意文件下载(高危) 定义 一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。 可以下载…

缓存更新策略

redis的缓存更新策略: 先删除缓存,在更新数据库,缺点:当线程1进行一个更新的操作,先进行缓存删除,在修改数据库,但是修改数据库之前,线程2 进行查询缓存的操作,未命中,查找数据库,写入缓存,线程1修改完成后,但是此时缓存中的数据还是旧数据,会出现数据不一致问题,只有等这个缓…

L10 数据库

1, 数据库的安装 sudo dpkg -i *.deb 2, 数据库命令: 1)系统命令 , 都以.开头 .exit .quit .table 查看表 .schema 查看表的结构 2)sql语句&…

OpenCV显示10bit Raw数据

参考&#xff1a;10 12 14bit图像存储格式&#xff0c;利用Opencv显示10bit Raw数据,并根据鼠标的移动显示对应位置的灰度值。其他bit位数的Raw数据方法类似。 代码实现&#xff1a; #include<opencv2/opencv.hpp> #include<iostream> #include<opencv/highgu…

@Valid和 @Validated

Valid 和 Validated 是用于在 Spring 框架中进行数据验证的注解。 Valid 是 Java 标准库&#xff08;javax.validation&#xff09;中的注解&#xff0c;用于标记需要进行数据验证的对象或方法参数。它可以应用于方法参数、方法返回值、字段或方法级别。当使用 Valid 注解时&a…

【Vue.js】使用Element入门搭建登入注册界面axios中GET请求与POST请求跨域问题

一&#xff0c;ElementUI是什么&#xff1f; Element UI 是一个基于 Vue.js 的桌面端组件库&#xff0c;它提供了一套丰富的 UI 组件&#xff0c;用于构建用户界面。Element UI 的目标是提供简洁、易用、美观的组件&#xff0c;同时保持灵活性和可定制性 二&#xff0c;Element…

一创聚宽的实盘就要关闭了,有没有好用的实盘平台推荐

挺多的&#xff0c;比较普遍的是QMT和Ptrade&#xff0c;python语言&#xff0c;易上手&#xff0c;通用性好&#xff0c;要说适用性可以考虑Ptrade&#xff0c;问一下你的客户经理有没有&#xff0c;用Ptrade的券商也多&#xff0c;如果之前用一创聚宽你可以无缝切换&#xff…

【工具使用】Audition软件导入.sesx文件报错问题

一&#xff0c;简介 本文主要介绍了在使用Audition导入新的wav文件后&#xff0c;保存&#xff0c;然后再打开.sesx文件时报错&#xff1a;“ 错误: 文件已损坏或使用了不受支持的格式 XML FATAL ERROR: (line: 2835, col: 69) [ D:\Project\AE_Y2311\16channel_test\16_chann…

【趣味JavaScript】5年前端开发都没有搞懂toString和valueOf这两个方法!

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

linux易忘命令(如:端口、进程、文件、内存、vim)持续更新

路径&#xff1a;pwd 开放端口&#xff1a;firewall-cmd --zonepublic --add-port<端口号>/tcp --permanent 重启防火墙&#xff1a;systemctl restart firewalld 查看防火墙开放的端口&#xff1a;firewall-cmd --list-ports --permanent 解压&#xff1a; unzip *.…

基于微信小程序的语言课学习系统设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…