【SITS_CC】卫星图像时间序列的变化字幕(IEEE GRSL)

摘要

  • Satellite images time series (SITS) 提供了一种有效的方法来同时获取地球上观测区域的时间和空间信息。然而,传统的遥感CD方法的输出是二进制图或语义变化图,往往难以被最终用户解释,传统的遥感图像变化字幕方法只能描述双时图像。
  • 提出了SITS_CC,它不仅识别了SITS中的变化区域,而且用自然语言描述变化。不幸的是,无可用的SITS训练数据集。为了解决这些问题,本文只利用双时态遥感图像变化字幕训练数据,而不是SITS_CC训练数据。在实际测试数据集上的实验结果证明了该方法的有效性,在所有指标上都取得了更好的性能。所观察到的改善幅度超过了20%。
  • 论文链接:Change Captioning for Satellite Images Time Series | IEEE Journals & Magazine | IEEE Xplore
  • 代码链接:GitHub - Crueyl123/SITSCC: SITSCC:Change Caption for Satellite Images Time Series

动机

之前的相关工作都没有涉及到SITS的变化字幕。本文提出一种新的SITS的变化字幕方法,目前,缺乏SITS变化字幕的训练数据集,并且对注释一个这样的数据集耗时耗力。因此,关键问题是如何在一个新的框架下完成本文的任务。

目前只有少量可用的双时态遥感图像变化字幕,SITS变化字幕任务通常是指描述几个到几十个图像之间的变化。因此,第二个问题是如何利用SITS中的时间依赖相关性来增强生成的变化字幕的逻辑性。

基于广泛的实验观察,对SITS变化描述与时间项严重纠缠,并构成明显的时间依赖特征。提供了一个明确的方向,使用现有相邻图像之间的变化字幕来训练本文的模型,然后,通过特殊的时间依赖相关正则化,合并非相邻的时间信息,并在SITS中保持时间特征。

方法

SITS_CC网络结构如下:

  • A. Feature Extractor
    • 利用CNNs提取抽象特征,以保留SITS中包含的光谱空间信息。
    • 使用改进的ResNet-101架构作为从SITS中提取图像特征的骨干,通过调整池化层,可以保留大部分图像信息,同时适应不同的输入大小,从而确保后续处理的空间大小保持一致。输出表示为Fi (i = 0, 1, 2, . . . )。
  • B. Temporal Encoder
    • 使用时间编码器模块进行位置嵌入和特征融合(FF)。
    • 1) Position Embedding
      • 使用二维位置嵌入给模型纳入空间信息,增强模型对 SITS数据的时空理解。
      • 在字幕解码器中使用正弦和余弦函数对词序列进行位置嵌入。
      • 为此,在三个位置重塑特征:
        • 来自CNN主干的特征图在进行特征处理前被重新排列为:(H,W,d) →(H×W,d);
        • 将CNN主干输出序列 F i (i = 0, 1, 2, . . . )重新排列为:(H×W,d)→(H,W,d)
        • 在输入transformer解码器之前,重新 排列为:(H,W,d) →(H×W,d)
      • 位置嵌入表示如下:{F}'_i=F_i+F_{pos}
    • 2) Differential Representation
      • SITS图像通常由几张甚至几十张图像组成。这些图像之间的变化往往是不连续的,相邻图像之间可能存在显著差异,影响了整体分析。此外,由于训练数据集只包含成对的双时态遥感图像,最初的重点是如何捕获相邻图像之间的差异。
      • DR模块产生差异表示 F_{dif|t_i}(i=0,1,2,...)捕捉和识别图像在多个时间上的多个变化。为了捕获相邻图像之间的差异,探索三种方法生成 F_{dif|t_i}(i=0,1,2,...)
        • 作差:降低了图像特征的独特性。
        • 作差加绝对值:忽略了图像之间的时间序列特征。
        • F_{dif|t_i}=RELU(Conv([F_{t_{i+1}}-F_{t_i};F_{t_i}])):本文使用这种方法改善前两种方法的不足之处。
    • 3) Feature Fusion
      • 获得差异特征之后,使用FF模块来获得更好的高级语义特征表示,揭示多个变化。
      • 用交叉注意力机制代替transformer编码层种的自注意力机制,使得FF模块有效的捕获和结合不同的差异特征,同时保持跨空间和时间维度的上下文信息。Q来自单一时态图像特征,K和V来自差异特征。
      • 为了融合这些不同的增强的差异特征Feni(i = 0,1,2,……)来获得对SITS变化的描述,提出了三种融合策略:
        • 直接相加:根据观察在同一地方的变化倾向于遵循固定的趋势,如扩张或消失。但是,当 SITS相同空间位置变化表现出周期性时,该方法就不适用。例如图3(a),草地在时间t1和t2之间逐渐消失,在t3和t4之间逐渐恢复。当采用此策略,这组SITS数据的输出不涉及任何变化,与事实相反。即采用此方法时,中间变化过程会被抵消。
        • 直接连接:对频繁变化的情况表现良好,因为它考虑了跨整个时间序列的变化,并充分利用了时间信息。但是如图3(b),在SITS数据上不可行,在t0-t3图像没有变化,但在t3和t4的最后一幅图像出现了显著变化,很明显,这种融合策略生成的输出句子不能正确描述时间t3和t4之间某些建筑物的外观。这一缺陷源于这种策略对 SITS内的所有图像不加选择地处理,可能忽略了某些重大变化。
        • 按时间顺序按比例连接:例如图3用绿色标记输出句子,表明该策略是有效的。具体策略如下:如果在ti和ti+1的两个相邻图像之间没有检测到显著变化,则变化的特征信息按比例减少,然后连接到下一个重要特征信息。这种策略保证了来自之前和后续图像的特征信息的保留,同时促进了差异信息的获取。如图3所示,策略3有效地缓解了前两种策略所造成的缺陷。
        • ​​​​​​​​​​​​​​
  • C. Caption Decoder
    • ​​​​​​​​​​​​​​ 使用标准的transformer解码器对结果进行解码和输出,以生成描述的句子。

实验

Experimental Data

  • 训练集和验证集:使用LEVIR-CC数据集中的训练集和验证集。具体来说,复制一组双时态图像,获得四张图像,类似一组SITS。输出包含三种类型的句子:unchanged, change description, and unchanged。
  • 测试集:测试数据集由从Google Earth中提取的150个SITS组成。每个SITS包含5张图像,每张图像大小为512×512像素。这些SITS的时间跨度为15-25年,主要场景包括草地、居民区等,由一个专家对每个SITS序列标注一个注释句子,这个句子总结了在现场中发生的人类活动所引起的主要变化,作为参考句子,用于评价。

Experimental Analysis

Discussion

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

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

相关文章

微信,qt6953188,添 加 频繁怎么办?分享5种解决方案!

最近不少朋友反馈一个问题,就是微 信,qt6953188 添 加 频繁,想要联系的时候,加不上,不知道怎么办?也有因为添加不上,结果造成了一定的损失。 在2021年的时候,一位北京的朋友添 加…

【python】成功解决“ModuleNotFoundError: No module named ‘timm’”错误的全面指南

成功解决“ModuleNotFoundError: No module named ‘timm’”错误的全面指南 一、引言 在Python编程中,经常会遇到各种导入模块的错误,其中“ModuleNotFoundError: No module named ‘timm’”就是一个典型的例子。这个错误意味着你的Python环境中没有安…

充电宝哪款质量好性价比高?精选四大宝藏款充电宝分享

在这个快节奏的数字时代,智能手机、平板电脑等电子设备已成为我们日常生活与工作中不可或缺的伙伴。然而,电量焦虑似乎也如影随形,时刻考验着我们的耐心与行程安排。于是,一款质量上乘、性价比高的充电宝便成了许多人的随身必备“…

k8s系列-Docker、Containerd和Crictl的命令比较

Docker、Containerd和Crictl的命令比较: 命令Dockerctr (containerd)crictl (kubernetes)查看运行的容器docker psctr task ls/ctr container lscrictl ps查看镜像docker imagesctr image lscrictl images查看容器日志docker logs无crictl logs查看容器数据信息doc…

Flutter 中的 PerformanceOverlay 小部件:全面指南

Flutter 中的 PerformanceOverlay 小部件:全面指南 Flutter 是一个由 Google 开发的跨平台 UI 框架,它允许开发者使用 Dart 语言构建高性能、美观的应用。在 Flutter 的开发过程中,性能监控是一个重要的方面。PerformanceOverlay 是 Flutter…

“JS逆向 | Python爬虫 | 动态cookie如何破~”

案例目标 目标网址:aHR0cHMlM0EvL21hdGNoLnl1YW5yZW54dWUuY29tL21hdGNoLzI= 本题目标:提取全部 5 页发布日热度的值,计算所有值的加和,并提交答案 常规 JavaScript 逆向思路 JavaScript 逆向工程通常分为以下三步: 寻找入口:逆向工程的核心在于找出加密参数的生成方式。…

KT1025A的双模蓝牙芯片,参考标准蓝牙天线,蓝牙距离短,会卡

一、问题简介 使用KT1025A的双模蓝牙芯片,为什么我参考BT201或者BT301,或者BT321F设计的蓝牙天线,蓝牙距离短,会卡等等,这个可能是什么原因,如何改善呢? 问题详细分析 首先看看客户的板子PCB…

SQL入门教程:从零开始掌握数据库查询语言

SQL入门教程:从零开始掌握数据库查询语言 在数字化时代,数据无处不在。从简单的用户注册信息到复杂的商业交易数据,数据库成为了存储、检索和管理这些数据的关键工具。而SQL(结构化查询语言)则是与数据库交互的通用语…

MT2085 小码哥的福利

思路: 1. 耐受度从小到大排序,每一个甜品都找到第一个能忍受其甜度的手下。 例如样例:甜度为1的2份甜品给第1个人吃(此人耐受为2);甜度为3的9份甜品给第2个人吃(此人耐受为3)&…

计算机网络学习记录 运输层 Day5

你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 😄 (^ ~ ^) 想看更多 那就点个关注吧 我…

python-flask项目的服务器线上部署

在部署这部分我首先尝试了宝塔面板,始终连接失败 换了一种思路选择了Xshell成功连接 首先我们需要下载个免费版本的Xshell 免费的:家庭/学校免费 - NetSarang Website 下载完毕打开 1新建-> 输入服务器的账号密码: 在所有会话中点击自…

如何避免U盘数据泄露?U盘重要文件怎么加密?

U盘是最常用的移动存储设备,小巧的体积可以帮助我们存储大量数据。而为了保护U盘数据,避免文件泄露,我们需要加密保护U盘。那么,U盘重要文件该怎么加密呢?下面我们就来了解一下吧。 BitLocker 当你的U盘文件不多&…

三生随记——饮水机的秘密

在一个寂静的小镇边缘,矗立着一座废弃的工厂。工厂内,除了一排排锈迹斑斑的机器,最引人注目的便是角落里那台孤零零的饮水机。这台饮水机看似普通,却隐藏着不为人知的秘密。 小镇的居民都知道,那台饮水机是不祥之物。传…

如何理解JS中的异步

JS是一门单线程的语言,这是因为它运行在浏览器的渲染主线程中,而渲染主线程只有一个。而渲染主线程承担着诸多的工作,渲染页面、执行 JS 都在其中运行。如果使用同步的方式,就极有可能导致主线程产生阻塞,从而导致消息…

二叉树讲解

目录 前言 二叉树的遍历 层序遍历 队列的代码 queuepush和queuepushbujia的区别 判断二叉树是否是完全二叉树 前序 中序 后序 功能展示 创建二叉树 初始化 销毁 简易功能介绍 二叉树节点个数 二叉树叶子节点个数 二叉树第k层节点个数 二叉树查找值为x的节点 判…

自动驾驶仿真:python和carsim联合仿真案例

文章目录 前言一、Carsim官方案例二、Carsim配置1、车辆模型2、procedure配置3、Run Control配置 三、python编写四、运行carsim五、运行python总结 前言 carsim内部有许多相关联合仿真的demo,simulink、labview等等都有涉及,这里简单介绍下python和car…

stm32编译原理

STM32编译原理主要包括以下几个方面: (1)编译器选择:STM32可以使用多种编译器进行开发,如Keil、IAR、GCC等。不同的编译器有不同的特点和优缺点,需要根据具体需求进行选择。 (2)编…

vuInhub靶场实战系列-DC-9实战

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置二、信息收集2.1 主机发现2.2 端口扫描2.3 指纹识别2.4 目录扫描2.4.1 Nikto目录扫描2.4.2 dirsearch目录扫描 2.5 漏洞发现2.5.…

webpack怎么配置单页面或者多页面项目?

单页直接在entry中指定单页面的入口文件即可,对于多页面来说,如果页面之间有依赖关系可以考虑将entry的值改成一个数组,数组中的每一项是入口文件的地址,并且通过dependOn配置多个入口的依赖关系,一般的,我…

OTTO、亚马逊、Temu卖家如何运用测评补单来提高购买率?

在跨境电商的广阔舞台上,测评补单无疑是一股不可或缺的强劲动力。商家们深知,通过补单这一手段,能够快速为产品注入活力,使销量迅猛攀升,评论如潮涌至,进而在激烈的竞争中脱颖而出,勇攀销量之巅…