SARAS-Net: Scale and Relation Aware Siamese Network for Change Detection

SARAS-Net:用于变化检测的尺度和关系感知的孪生网络

AAAI
Chao-Peng Chen, Jun-Wei Hsieh, Ping-Yang Chen, Yi-Kuan Hsieh, Bor-Shiun Wang
2023

摘要:变化检测(CD)旨在找出不同时间两幅图像之间的差异,并输出变化图来表示该区域是否发生了变化。为了更好地生成变化图,许多最新的方法设计了一个具有强大判别能力的深度学习模型。然而,这些方法仍然获得较低的性能,因为它们忽略了空间信息和对象之间的比例变化,导致模糊或错误的边界。除此之外,他们还忽略了两个不同图像的交互信息。为了缓解这些问题,我们提出了我们的网络Sacale和关系感知暹罗网络(SARAS- Net)来处理这个问题。本文提出了三个模块,包括关系感知、尺度感知和交叉变换,以更有效地解决场景变化检测问题。为了验证我们的模型,我们测试了三个公共数据集,包括LEVIR-CD、WHU-CD和DS- FIN,并获得了SoTA准确性。我们的代码可在https://github.com/f64051041/SARAS-Net.获得

论文面对的问题:为了生成变化图,大多数传统方法集中于检测变化的像素并对它们进行分类。然而,由于一些噪声,包括不同的光强度和表面颜色,这些结果的准确度通常较低。因此,设计一个具有强大鉴别能力的良好网络来解决这些问题是至关重要的。

多尺度特征,两个图像之间的关系,以及注意力:

  1. FCN (Jaturapitpornchai等人,2019年)使用U-net模型来检测建造新建筑物的区域。虽然它可以粗略地指示新建建筑物的位置,但是由于它忽略了空间信息和对象之间不同的尺度变化,所以它的性能很低。
  2. SNUNet (Fang et al. 2022)侧重于处理多尺度特征,以通过ECAM(装配通道注意模块)处理对象的尺度变化。然而,这种ECAM只考虑通道注意力,而忽略像素之间的空间关系来生成变化图,因此也检测到许多具有季节性植被变化的意外区域。
  3. 为了惩罚对未改变的特征对的注意并增加对改变的特征对的注意,一些方法(Liu et al . 2021a张等;Peng et al. 2021)使用注意机制,如通道注意和空间注意,来改善检测结果。然而,这些网络强调每个像素的通道重要性,以使提取器更有效;它仍然忽略了由两幅遥感图像产生的特征之间的交叉关系。
  4. BIT (Chen、Qi和Shi 2022a)使用trans- former (Vaswani et al. 2017)通过一组语义标记对感兴趣的变化的高级概念进行编码,然后将它们与原始深层特征进行融合,以生成预期的二元变化图。尽管它应用了注意机制并且考虑了两个特征之间的关系,但是它没有考虑在特征相减之后执行一些卷积运算来微调变化图

它们都在特征距离之前或之后执行卷积。第一种类型的方法,例如FCN和SNUNet,最初连接两个输入图像,然后在连接的图上使用一些卷积运算来输出变化结果。第二类方法,如DASNet (Chen等人,2021)和BIT,首先对输入图像执行一些卷积运算,然后通过几个卷积层减去它们的特征图,以生成变化图。然而,在我们的实验中,我们发现在特征减法之前和之后执行所有的操作可以获得更多的信息并且导致更好的结果。

针对性方法:本文提出了一种新的网络,采用一些机制来解决上述方法的缺点。首先,我们的网络分别在特征减法之前和之后执行两种操作,在减法之前使用关系感知模块,在子牵引之后使用比例感知和交叉变换器模块。关系感知模块的目标是增强从两个输入图像提取的特征图之间的交互关系,以提高用于变化检测的特征的辨别能力。然后,在特征相减之后,尺度感知注意模块计算相减图上的跨尺度注意,以处理由多种尺寸的物体引起的场景变化问题。最后,交叉变换模块融合了多层次特征,旨在更加关注空间信息,易于分离前景和背景,从而减少虚警。

        提出了一个连体网络,它在两个输入图像上执行特征减法之前和之后的操作,以检测变化区域,并在遥感数据集上获得最先进的性能。

        提出了关系感知模块来提取特征,在减法之前提取的特征具有更多的信息交换,以提高它们对变化检测的辨别能力。

关系感知模块

CTB (CrossTransformer Block)

        提出了尺度感知模块,通过计算减影图上的交叉尺度注意力,使特征集中在更重要的通道上,从而更有效地检测由不同尺度的对象引起的变化。

        提出了交叉变换模块,通过自注意机制很容易地将改变的像素与未改变的像素分开。

达到效果

        

        提出了一种尺度和关系感知的变化检测连体网络,以在LEVIR-CD、WHU-CD和DSIFN-CD数据集上实现SoTA精度。更准确地说,我们的模型在这些数据集中获得了F1分数的显著改善。我们的方法可以解决大多数现有方法遇到的变化检测的关键问题。例如,关系感知和尺度感知模块可以重新解决由不同尺度的对象产生的边界噪声,并增强交互信息的特征。此外,我们使用交叉变换模块来融合不同尺度的特征,以获得更好的变化检测表示。除此之外,我们的主要贡献是提出了一个新的模型,它在特征减法之前和之后执行操作。通过实验证据,我们的模型结构已被证明是有用的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中国净初级生产力年度合成产品NPP(MYD17A3H.006)

中国净初级生产力年度合成产品NPP(MYD17A3H.006)由航天宏图实验室提供,根据NASA MODIS数据(MYD17A3H.006)通过航天宏图 Smoother计算得到的平滑后NPP产品,解决了影像云雾覆盖、像元异常值等问题。对处理后的…

c语言-浅谈指针(3)

文章目录 1.字符指针变量常见的字符指针初始化另一种字符指针初始化例: 2.数组指针变量什么是数组指针变量数组指针变量创建数组指针变量初始化例(二维数组传参的本质) 3.函数指针变量什么是函数指针变量呢?函数指针变量创建函数指…

SpringSecurity6 | 自动配置(下)

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…

我叫:冒泡排序【JAVA】

1.什么是冒泡排序? 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 2.来个实战应用 我们…

从键盘输入5个学生的信息(姓名、学号、成绩), 存入一个结构体数组中,计算平均分,并按成绩 高低排序并输出.

代码如下 #include<stdio.h> #include<string.h> #include<stdlib.h> /* 1.练习结构体数组排序   从键盘输入5个学生的信息&#xff08;姓名、学号、成绩&#xff09;,存入一个结构体数组中&#xff0c;计算平均分&#xff0c;并按成绩高低排序并输出. */…

python学习:break用法详解

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 在执行while循环或者for循环时&#xff0c;只要循环条件满足&#xff0c;程序会一直执行循环体。 但在某些场景&#xff0c;我们希望在循环结束前就强制结束循环。 Python中有两种强制结束循环的方法&#xff1a; continue语…

heatmap | cell cycle genes in Seurat

目的&#xff1a;使用bulk 数据&#xff0c;查看HeLa 双胸苷阻断法 细胞同步化 释放 [0, 3, 4.5, 6, 9, 10.5, 12, 15, 18, 19.5, 21, 22.5, 25.5, 30] 小时后 cell cycle 基因的表达情况。 1.结果 S phase G2M phase S G2M phase 不方便看&#xff0c;横过来看&#xff1a;…

Linux下运行Jmeter压测

一、在Linux服务器先安装SDK 1、先从官网下载jdk1.8.0_131.tar.gz&#xff0c;再从本地上传到Linux服务器 2、解压&#xff1a;tar -xzf jdk1.8.0_131.tar.gz&#xff0c;生成文件夹 jdk1.8.0_131 3、在/usr/目录下创建java文件夹&#xff0c;再将 jdk1.8.0_131目录移动到/u…

【操作系统】磁盘物理地址怎么表示

常见主存物理地址是一串01串&#xff0c;那磁盘物理地址呢&#xff1f; 磁盘物理地址由以下组成&#xff1a; 柱面号磁头号扇区号 重点知识点辨析&#xff1a; 磁盘物理地址的翻译是由磁盘驱动程序进行的&#xff0c;目的是将逻辑上的蔟号转化为上述的物理地址 408真题溯源…

harmonyOS鸿蒙开发工具下载安装以及使用流程

注册账号 进入鸿蒙官方网站&#xff1a;https://www.harmonyos.com/ 推荐使用手机号注册 进行实名认证 下载开发环境 华为集成开发环境IDE DevEco Device Tool下载 | HarmonyOS设备开发 下载开发工具 HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 安装 无脑下一…

使用共享内存进行通信的代码和运行情况分析,共享内存的特点(拷贝次数,访问控制),加入命名管道进行通信的代码和运行情况分析

目录 示例代码 头文件(comm.hpp) log.hpp 基础版 -- 服务端 代码 运行情况 加入客户端 代码 运行情况 两端进行通信 客户端 代码 注意点 服务端 代码 两端运行情况 共享内存特点 拷贝次数少 管道的拷贝次数 共享内存的拷贝次数 没有访问控制 管道 共享…

Spring学习③__Bean管理

目录 IOC接口ApplicationContext 详解IOC操作Bean管理基于xml方式基于xml方式创建对象基于xml方式注入属性使用set方法进行注入通过有参数的构造进行注入p 名称空间注入&#xff08;了解&#xff09; 基于xml方式注入其他类型属性xml 注入数组类型属性 IOC接口 IOC思想基于IOC…

龙芯 操作系统选择和安装

龙芯3a5000及之后的cpu底层架构已经从mips64el改为了loongarch64 所以这里分了2种来说明&#xff0c;分别对应3a4000之前的和3a5000之后的 龙芯的系统安装难点在于操作系统的选取和引导 一、烧录工具 制作安装盘使用常规的烧录工具是不行滴&#xff0c;会提示没有\boot\initrd…

Vue 路由缓存 防止路由切换数据丢失 路由的生命周期

在切换路由的时候&#xff0c;如果写好了一丢数据在去切换路由在回到写好的数据的路由去将会丢失&#xff0c;这时可以使用路由缓存技术进行保存&#xff0c;这样两个界面来回换数据也不会丢失 在 < router-view >展示的内容都不会被销毁&#xff0c;路由来回切换数据也…

【SpringBoot3+Vue3】四【实战篇】-前端(vue基础)

目录 一、项目前置知识 二、使用vscode创建 三、vue介绍 四、局部使用vue 1、快速入门 1.1 需求 1.2 准备工作 1.3 操作 1.3.1 创建html 1.3.2 创建初始html代码 1.3.3 参照官网import vue 1.3.4 创建vue应用实例 1.3.5 准备div 1.3.6 准备用户数据 1.3.7 通过…

DPDK初始化

rte_eal_init │ ├──rte_cpu_is_supported&#xff1a;检查cpu是否支持 │ ├──rte_atomic32_test_and_set&#xff1a;操作静态局部变量run_once确保函数只执行一次 │ ├──pthread_self() 获取主线程的线程ID,只是用于打印 │ ├──eal_reset_internal_config&#x…

UE 程序化网格 计算横截面

首先在构造函数内加上程序化网格&#xff0c;然后复制网格体到程序化网格组件上&#xff0c;将Static Mesh&#xff08;类型StaticMeshActor&#xff09;的静态网格体组件给到程序化网格体上 然后把StaticMesh&#xff08;类型为StaticMeshActor&#xff09;Instance暴漏出去 …

异地工业设备集中运维、数据采集,一招搞定

为了提升运维效率&#xff0c;能够及时发现和响应设备的故障、异常和潜在问题。 越来越多的企业都在搭建“集中式”的远程智慧运维体系&#xff0c;以提高运维效率和降低成本。 异地工业设备远程运维&#xff0c;提升响应效率、降低运维成本 以国内陕西某机床公司为例&#xff…

在vmware中给linux添加硬盘

1.必须在断开linux电源的情况下&#xff0c;才能添加硬盘成功。注&#xff1a;自己好几次在开机状态下添加硬盘都失败了&#xff0c;然后关机后&#xff0c;又试了下&#xff0c;居然成功了。

Python (十一) 迭代器与生成器

迭代器 迭代器是访问集合元素的一种方式&#xff0c;可以记住遍历的位置的对象 迭代器有两个基本的方法&#xff1a;iter() 和 next() 字符串&#xff0c;列表或元组对象都可用于创建迭代器 字符串迭代 str1 Python str_iter iter(str1) print(next(str_iter)) print(next(st…
最新文章