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

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.rhkb.cn/news/142538.html

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

相关文章

c++图像的边缘检测

图像的边缘检测 cv::Canny 是 OpenCV 中用于进行边缘检测的函数,特别是用于检测图像中的边缘。Canny 边缘检测是一种广泛使用的技术,它能够识别图像中的边缘,这些边缘通常表示对象之间的边界或图像中的显著特征 void cv::Canny(const cv::M…

【lesson7】git的介绍及使用

文章目录 什么是gitgit的历史git使用在gitee上创建仓库git clone HTTPS地址git add .git add 文件名git commit “日志”git pushgit loggit rm 文件名git statusgit pull 什么是git git是版本控制器,那么什么是版本控制器呢? 下面讲个故事为大家讲解一…

运算放大器(四):输入偏置电流

一、定义 运放输入级一般由 或 MOSFET 构成,理想情况下,运放的输入端没有电流流入。实际上为保证放大器工作在线性范围,运放的输入端一般设计成基极(栅极)开路,由外电路提供电流的方式,所以需要…

c++-string

文章目录 前言一、STL库介绍二、标准库中的string类1、string类介绍2、string类使用3.1 string类的构造函数3.2 string类对象的容量操作3.3 string类对象的遍历操作3.4 string类对象的访问操作3.5 string类对象的修改操作3.6 string类对象的字符串操作 三、模拟实现string类四、…

Prettier - Code formatter格式化规则文件

文章目录 前言安装使用 前言 先前公司在规范代码时,由于个人业务繁忙跟技术总监是后端出身用的IDEA不熟悉vsCode;以及大多数时都自己一个人负责一个项目,当时并不看重这些;最近在整理vue3tsvite的脚手架模板(平时工作用的react),开始整理格式化代码,方便之后 vue 和 react 中应…

element plus table 拖拽

element plus table 拖拽 sortablejs package.json "sortable.js": "^0.3.0","sortablejs": "^1.14.0", "vuedraggable": "^2.24.3",我的table 是在 el-dialog 里面的 在开发过程中出现过两个问题 1.进入加载 …

【力扣2154】将找到的值乘以 2

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:将找到的值乘以 2 给你一个整数数组 nums ,另给…

百度实习一面(知识图谱部门)

百度面经(知识图谱部)一面 1.自我介绍 介绍完了,打开共享,对着简历一点一点问 2.ffmpeg在项目中是怎么使用的 回答了ffmpeg在项目中使用的命令,用来干了什么 3.为什么使用toml配置,了解过yml配置吗&am…

Mock.js之Element-ui搭建首页导航与左侧菜单

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《springMvc使用》 ⛺️ 生活的理想,为了不断更新自己 ! 1、Mock.js的使用 1.1.什么是Mock.js Mock.js是一个模拟数据的生成器,用来帮助前…

【前端面试题】2023年 国庆 前端面试真题之JS篇

人的一生,总是难免有浮沉。不会永远如旭日东升,也不会永远痛苦潦倒。反复地一浮一沉,对于一个人来说,正是磨练。因此,浮在上面的,不必骄傲;沉在底下的,更用不着悲观。必须以率直、谦…

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理 文章目录 Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理1. 前文回顾2. 从 CPU 角度看物理内存模型2.1 FLATMEM 平坦内存模型2.2 DISCONTIGMEM 非连续内存模型2.3 SPARSEMEM 稀疏内存模型2.3.1 物理内存热插拔 3. 从…

DM8归档管理

开启归档 归档的格式: ARCH_NAME_DB_MAGIC[SEQNO]_日期时间.log ARCH_NAME 是在 dmarch.ini中配置的 LOCAL/REMOTE 归档名称 DB_MAGIC 是生成日志的数据库魔数 SEQNO 代表DSC 节点号,日期时间是归档日志文件的创建时间。 eg:ARCHIVE_LOCAL1_…

解决kali beef启动失败问题及实战

文章目录 一、解决方法二、靶场实战应用1.首先打开dvwa这个靶场,设置难度为low2.打开xss-stored3.准备payload4.提交payload5.利用 一、解决方法 首先需卸载 ruby apt remove ruby 卸载 beef apt remove beef-xss 重新安装ruby apt-get install ruby apt-get insta…

Swift SwiftUI 修改 List 背景颜色

Preview: Code: .listRowBackground(Color(.yellow)).scrollContentBackground(.hidden) .background(.linearGradient(colors: [.white, .accentColor], startPoint: .top, endPoint: .bottom))喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。 有错误或者…

JVM高级性能调试

标准的JVM是配置为了高吞吐量,吞吐量是为了科学计算和后台运行使用,而互联网商业应用,更多是为追求更短的响应时间,更低的延迟Latency(说白了就是更快速度),当用户打开网页没有快速响应&#xf…

Android StringFog 字符串自动加密

一、StringFog 作用 一款自动对dex/aar/jar文件中的字符串进行加密Android插件工具,正如名字所言,给字符串加上一层雾霭,使人难以窥视其真面目。可以用于增加反编译难度,防止字符串代码重复。 支持java/kotlin。支持app打包生成…

Labelme分割标注软件

Labelme分割标注软件 1、环境配置与安装1.1 创建conda虚拟环境(建议)1.2 安装Labelme 2、简单使用2.1 创建label标签文件2.2 启动labelme2.3 打开文件/文件夹2.4 设置保存结果路径2.5 标注目标2.6 保存json文件格式 3 格式转换3.1 转换语义分割标签3.2 转换实例分割标签 相关重…

从零开始之了解电机及其控制(1)磁场与磁力

(链接:从零开始之电机FOC控制_foc电机_一只小白啊的博客-CSDN博客)之后,总感觉整个流程都知道,但是深入到具体细节时,就不知所措,感觉啥也不懂一样。 那么为什么要用FOC控制无刷电机呢&#xff…

Unity下tga和png格式图片打包成AB包大小和加载速度测试

测试素材 测试素材,一张tga格式,一张png格式,他们的图像尺寸一样都是8K图。 两张图在AssetBundles里显示 Tga格式的图明显大很多,我们打包成ab包看看。 在PC 打包后看,明显大小一样,我们进行ab包加载&am…

虚拟地址到物理地址的映射(二)

虚拟内存到物理内存的推导 本文只介绍最普遍的64位地址,四级页表,每个页表4k的这种最基本最常见的情况。 linux内核将一个进程的内存映射表建立好之后,在该进程被调度运行的时候,会将PGD的物理地址放置到MMU的页表基地址寄存器中…