【PromptCC】遥感图像变化字幕的解耦范式

摘要

  • 以往的方法忽略了任务的显著特异性:对于不变和变化的图像对,RSICC难度是不同的,以一种耦合的方式处理未变化和变化的图像对,这通常会导致变化字幕的混淆。
  • 论文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10271701
  • 代码链接:GitHub - Chen-Yang-Liu/PromptCC: PyTorch implementation of 'A Decoupling Paradigm With Prompt Learning for Remote Sensing Image Change Captioning'

动机

  • 图1 (a)所示方法对两种图像对进行耦合处理,用一个编码器来同时突出变化图像的变化特征和捕获变化图像的无变化语义很困难,且目前的方法更关注变化区域的特征提取,不适合描述不变的图像对。
  • 图1 (b)所示方法参考人脑在变化描述时的思维模式,视觉上确定是否存在变化后,根据粗略的分类结果,大脑进一步识别图像对的内容。受此启发,本文提出一个解耦范式,将RSICC任务解耦为两个问题:是否发生了变化、发生了什么变化。

方法

PromptCC结构如下:

  • 预训练后的CLIP模型的Vision Transformer从双时间图像中提取视觉特征;
  • 用图像级分类器和特征级编码器(均使用Transformer编码器)进一步处理提取的视觉特征,实现任务的解耦,前者执行二值分类,确定双时态图像中是否存在变化,后者有助于提取鉴别特征,确定发生了什么变化。
    • Image-level Classifier:二值分类任务,区分是否变化
    • Feature-level Encoder:解决区分发生了什么变化
  • 对于描述生成,引入Prompt Learning使用LLM作为描述生成器。具体地说,多提示学习策略生成多个可学习的提示,由一组统一的提示和一个特定类提示组成,这依赖分类器结果。最后,将生成的多个提示和提取的视觉特征连接起来,并发送到冻结的预先训练的LLM中进行标题生成。
    • Multi-prompt Learning Strategy
      • 结合RSICC任务的解耦情况,提出多提示学习策略生成多个可学习的提示,由一组统一的提示和一个特定于类的提示组成,前者可看作全局任务依赖提示P_U\in R^{K\times d_T}(其中K为可学习嵌入的数量),训练阶段结束后,在推理过程中对每个样本使用学习到的提示。后者依赖图像级分类器的结果,可以使LLM知道图像中是否存在变化,通过两个可学习的提示嵌入生成:P_{C0}\in R^{1\times d_T}表示没有变化,P_{C0}\in R^{1\times d_T}表示变化。其中,d_T是文本嵌入的维度,本文用两种方式将它们结合起来去生成特定于类的提示:
      • 1) Soft class-specific prompt:通过加权P_{C0}P_{C1}和图像级分类器的预测概率生成:P_{Cs}=p^{(0)}{cls}*P{C0}+p^{(1)}{cls}*P{C1}

      • 2) Hard class-specific prompt:根据图像级分类器的分类结果,选择P_{C0}P_{C1}中的一个生成:cls=Argmax(p_{cls}),P_{Ch}=(1-cls)P_{C0}+clsP_{C1}

      • 最后,生成的多提示MP_i(i=s,h)可以表述为:MP_i=[P_U;P_{Ci}]\in R^{(K+1)\times d_T}

    • Pre-trained Large Language Model
      • 预训练后的LLM具有强大的特征表示能力,受GPT家族(如GPT-2、GPT-3和ChatGP)在语言生成任务上的巨大成功的启发,本文使用GPT-2作为标题生成器

      • GPT-2是一种基于trasformer的自回归LLM算法,是在一个大规模的互联网文本数据集上进行训练的,训练的目标是预测下一个单词。可以利用它强大的文本生成能力来生成标题。

      • 将特征级编码器的上下文丰富表示X_e\in R^{2N\times d_T}和多提示MP_i\in R^{(K+1)\times d_T}输入冻结的GPT-2,以自回归的方式生成句子。详细过程见算法1。

实验

Comparison to State-of-the-Art

Ablation Studies

Qualitative Results and Analysis

Advantage of the decoupling paradigm

Parametric Experiments and Analysis

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

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

相关文章

Linux 在文件内读取时间段字符串并解析判断当前时间是否在时间段内 C语言

最近需要实现一个判断当前是否是上班时间段内,但是需要从文件中读取特定的格式时间时间段 格式: 00:00-12:34|13:56-15:00(不确定几个时间段,每个时间段以|分隔) 读取特定格式时间并转化不难但是挺麻烦的 //获得当前中国时区时间 void getNowTime(char* bufTime,int bufTime…

ubuntu bin目录

ubuntu bin目录 在Ubuntu以及其他Unix和Linux系统中,bin目录扮演着非常重要的角色。这个名字bin来自“binary”的缩写,意味着这些目录包含二进制可执行文件,即那些编译过的程序,用户和系统可以直接运行这些程序。 不同类型的bin…

Trip.com 如何从 Elasticsearch 迁移到 ClickHouse 并构建了 50PB 的日志解决方案

本文字数:8721;估计阅读时间:22 分钟 审校:庄晓东(魏庄) 本文在公众号【ClickHouseInc】首发 在 Trip.com,我们为用户提供广泛的数字产品,包括酒店和机票预订、景点、旅游套餐、商务…

java创建0byte的空文件

在Java中,使用File类创建一个文件通常不会自动创建一个0字节的文件,它只是用来表示文件系统中的一个文件或目录。如果你想要创建一个0字节的文件,你需要使用FileOutputStream来写入文件。以下是创建一个0字节文件的示例代码: imp…

专业英语词汇(计算机)

purpose 目的 phase 阶段 investigate 调查 satisfy 满足 delivering 提供 交付 collaboration 协作 architecture 结构 storage 存储 enterprise 企业 extreme 极端 feedback 反馈 courage 勇气 effort 努力 essential 基本上 crisply 清晰的 precise 精确的 critical 关键 ap…

电脑复制按哪个键?还不会操作的赶紧来看!

当我们提到“电脑复制按哪个键”时,实际上是在讨论电脑键盘上用于执行复制操作的快捷键。复制功能在日常的电脑操作中极为常用,无论是文本编辑、文件处理还是图片操作,都离不开复制这一基本功能。以下,我们将深入探讨电脑复制操作…

【环境搭建】windows下MySQL8与5共存

目录 一、安装MySQL81.官网下载2.初始化mysql文件夹中my.ini文件3.初始化data文件夹,并记录初始密码4.安装服务,指定服务名称5.启动服务6.测试登录并修改密码 二、安装MySQL51.mysql5文件夹中初始化my.ini文件2.初始化data文件夹,并记录初始密…

GraphQL:简介

GraphQL 图片来源: 我们将探索GraphQL 的基础知识,并学习如何使用Apollo将其与 React 和 React Native 等前端框架连接起来。这将帮助您了解如何使用 GraphQL、React、React Native 和 Apollo 构建现代、高效的应用程序。 什么是 GraphQL?…

春秋云境:CVE-2022-25411[漏洞复现]

根据题目提示和CNNVD优先寻找后台管理地址 靶机启动后,使用AWVS进行扫描查看网站结构 在这里可以看到后台管理的登录地址:/admin/,根据题目提示可知是弱口令 尝试admin、123456、admin666、admin123、admin888...等等常见弱口令 正确的账户…

Linux Vim最全面教程

Vim 是一款功能强大的文本编辑器,常用于 Linux 系统中。以下是一份 Vim 最全面教程: 三种模式: 命令模式:可以进行删除、复制、粘贴等快捷操作,按esc键可以返回到命令模式;编辑模式:可以编辑文件…

地理空间数据格式GeoJSON扫盲,在CesiumJS中如何加载。

Hi,我是贝格前端工场,GIS已经越来越多的应用在可视化大屏中了,开发GIS类应用就少不了地理空间数据,本文介绍一下数据GeoJSON数据格式。 一、什么是GeoJSON数据格式,在GIS开发中有什么作用 GeoJSON是一种基于JSON&…

【MySQL】数据库——备份与恢复,日志管理1

一、数据备份的重要性 1.备份的主要目的是灾难恢复 在生产环境中,数据的安全性至关重要 任何数据的丢失都可能产生严重的后果造成数据丢失的原因: 程序错误人为,操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃 2.数据库备份…

小窗口大魔力,实况窗服务实时掌控重要信息变化

移动互联网时代,各种以用户为中心的App如春笋般涌现,满足了用户在购物、导航、娱乐等不同场景下的需求,不同程度上丰富了用户的日常生活。然而,随着App种类的激增,用户在享受多样化服务的同时,也面临着多任…

26.4 Django 视图层

1. 视图函数 视图函数是Django框架中用于处理Web请求并返回Web响应的重要组件. 以下是对Django视图函数的详细解释: * 1. 视图函数与URL的映射.为了让Django能够知道哪个URL对应哪个视图函数, 需要在应用的urls.py文件中定义URL模式.使用path或re_path函数来定义URL模式, 并将…

Linux安装frp实现内网穿透

Linux运维工具-ywtool 目录 一. 简介二.代理类型三.frp支持的Linux的架构四.安装1.准备工作2.配置frp服务器端(a)下载安装包(b)解压安装包(c)修改配置文件(d)启动服务端 3.配置frp客户端(a)下载安装包并修改配置文件(b)启动客户端 4.测试连接 五.其他1.多端口穿透(a)服务端(b)客…

【AI】存储自定义色板库

点击左上角色板,弹出色板框; 色板框的左下角有一个“色板库” 菜单,点击色板库菜单,弹出色板库; 色板库弹窗的第一条数据【存储色板】,点击存储色板,出现自定义色板所在文件路径; 找…

vue如何把组件方法暴露到window对象中

vue如何把组件方法暴露到window对象中 场景:使用Vue开发电子地图功能,供客户端使用qtWebEngineView嵌入页面,客户端需要调用页面里定义的js方法实现相应功能。 问题:Vue组件内的方法,在外部调用不到。 原因&#xf…

线程的创建(一)

通过继承Thread类实现多线程 继承Thread类实现多线程的步骤: 在Java中复责实现线程功能的类是java.lang.Thread类。(此种方式的缺点:如果我们的类已经继承了一个类(如:小程序必须继承自 Appiet 类)&#x…

计算机毕业设计Thinkphp/Laravel校园体育器材管理系统

校园体育器材管理系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着校园体育器材管理系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的体育器材、器材借用、器材归还、器材损坏、采购入库、器材报废、维修记录等…

产品(soc)研发量产流程介绍

硬件开发流程: 开始 ↓ 立项:经过市场调研、客户需求分析、可行性评估(技术,成本,时间)确定需要做的事情,制定初步产品定义和规格 ↓ 供应商导入:如果自身无工厂,需要与工厂联姻,一起合作“生产品” ↓ 产品设计与开发:将需求转化为图纸、规格,即“纸上谈兵…