标题:SkyEyeGPT: Unifying remote sensing vision-language tasks via instruction tuning with large language model
作者:Yang Zhan , Zhitong Xiong , Yuan Yuan
单位:西北工业大学 慕尼黑工业大学
一些问题:
Q1:文章中说,geogpt的不足之处是 无法处理多图像任务。那么SkyEyeGPT可以处理多图像任务?
A1:SkyEyeGPT 通过设计,能够处理 多图像任务,特别是在视频任务(多个帧图像)和图像序列处理(例如变化检测)中表现出色。
摘要:llm已被扩展到视觉-语言领域,展现强大多模态能力,但是在遥感RS的数据上的多模态大语言模型的研究还在起步阶段,面临数据集缺乏和性能不佳的问题。为此,这篇文章构建了一个大规模遥感多模态指令微调数据集,包括单任务和多任务对话指令,经过人工审核,得到了一个高质量遥感指令跟随数据集(rs instruction-following dataset),包含96.8万个样本,命名为sky-eye-968k。「问题:什么是指令跟随数据集?回答:是一种专门用于训练和评估llm或者mllm多模态大语言模型,在理解和执行指令能力上的数据集,使模型能够学习如何遵循自然语言指令完成特定任务。」
基于此,我们提出SkyEyeGPT,是一种专门为遥感数据设计的统一多模态大语言模型,旨在实现多粒度的视觉语言理解。具体而言,先通过一个对齐层,将遥感视觉特征映射到语言域,然后将其与任务特定的指令一起输入基于大语言模型的RS解码器,以预测开放式遥感任务的答案。此外,我们设计了一种两阶段微调方法,用于在不同粒度上增强模型的指令跟随能力和多轮对话能力。在8个遥感视觉-语言任务数据集上的实验表明,skyeyegpt在图像级和区域级任务(如图像描述、视觉定位)方面表现优越,某些定性测试中,表现优于gpt-4v。
简介:
llm快速发展,扩展到vlm领域。shikra、miniGPT-v2在多粒度视觉-语言任务上达到sota水平。llava通过构造指令跟随数据集进行微调,为mllms提供了新的训练方式。
现有rs mllms的不足:
-
RSGPT(Hu et al., 2023)
-
仅支持图像描述和 VQA 任务,无法进行多任务对话。
-
需要针对不同任务训练独立的模型,导致泛化能力受限。
-
-
GeoChat(Kuckreja et al., 2024)
-
具备基于区域的问答和视觉定位能力,但无法处理多图像任务。
-
「多图像任务是什么?比如跨时间序列分析、跨视角或多视角融合。多图像视觉问答是比如用户上传多长遥感影像并提出问题:这些图像中的共同特征是什么?」
SkyEyeGPT:统一的rs mllm解决方案,处理开放式rs视觉-语言任务,输入输出都为自然语言。架构:视觉编码器+对齐层+llm解码器。(也就是说视觉信息经过对齐层变换后,直接被视作语言token,与任务指令一起输入到llm,直接生成答案)rs领域中指令微调仍然是一个未充分探索的方向,主要是缺乏大规模遥感多模态指令跟随数据。
核心贡献:
1. 968k的数据集
2. 提出SkyEyeGPT,统一的遥感视觉-语言模型,支持不同粒度的遥感任务。两阶段微调,第一阶段:单任务指令训练,提升指令跟随能力;第二阶段:多任务对话训练,增强多轮对话能力。
3. 提供完整的rs-mllm基准测试,覆盖单图像任务、区域级任务、多图像任务。
4. 开源skyeyeGPT,包括在线遥感多模态聊天机器人、模型检查点、指令跟随数据集、完整代码库。
数据集构建过程
整个数据集分为两大类 单任务指令和多任务对话指令
单任务图像-文本指令(single-task image-text instruction):captioning、VQA、Grounding
多任务对话指令(multi-task conversation instruction):混合和重组不同任务的数据集 构建了遥感对话型指令数据
架构
视觉编码器:预训练的EVA-CLIP,输入448*448的rs图像
对齐层:简单线性映射。每4个相邻视觉token直接拼接,减少4倍patch数量
llm解码器:选择llama2-chat。解码器输入是视觉tokens和文本指令,输出是任务特定的回答。
通用多模态大模型和遥感mllm结构总结:
「Q:vit-l/14(clip)什么意思 A:是vit,用clip的方法训练出来的。clip是一个训练方法+多模态模型结构,图像模型和文本模型一起训练,让它们输出的向量尽量相近。vit是clip框架中用来处理图像的模型」
两阶段指令微调
该模型在rs多模态指令跟随数据集上训练
输入输出模版:我们建立了多种任务输入,其中视频字幕任务需要输入关键帧图像序列。我们引入任务特定的标识符,例如“[caption]”、 “[vqa]”、 “[refer]”,这些标识符加在指令前面。这种设计实现了遥感视觉语言任务的统一,同时允许模型灵活地生成特定任务的输出。答案或响应,即模型输出,跟随在 [/INST] 后面。字幕生成和视觉问答(VQA)的输出直接采用原始任务的答案。区域级定位任务的输入或输出需要对象的边界框。我们将坐标表示为自然语言形式 {<𝑥1><𝑦1><𝑥2><𝑦2>}。具体来说,(𝑥1, 𝑦1) 和 (𝑥2, 𝑦2) 表示框的左上角和右下角的坐标。坐标值经过标准化,乘以100并四舍五入为整数。遥感物体定位(RSPG)任务通过 ⟨delim⟩ 符号连接多个目标框的坐标文本。
阶段一:遥感图像-文本对齐
阶段二:多任务对话微调(继续采用第一阶段的数据集,并加入多任务对话指令,多任务的采样比例给更高权重)
实验
实验细节:为了提高模型的效果和训练效率,我们将视觉-语言对齐层和大型语言模型初始化为 MiniGPT-v2 的预训练权重。
第一阶段:我们在单任务的图文指令数据上,对 SkyEyeGPT 进行了端到端微调,共 35 个 epoch。第二阶段:加入了多任务对话指令,对 SkyEyeGPT 微调了 5 个 epoch。
遥感多模态聊天机器人: 视频能力是 SkyEyeGPT 区别于同期其他模型的重要特点。
图像描述任务:
视觉定位任务:多数通用 MLLMs(如 MiniGPT-4、LLaVA)不能处理 region-level grounding;skyeyegpt使用了自然语言表达的边界框坐标(1–100之间),这种做法带来了性能提升。
视觉问答任务:用模型在这个任务上表现普遍较差。专家模型如 RSGPT、RS-LLaVA 表现更好,但它们都是在该任务数据集上单独训练的。
消融实验:
每个任务都可以训练一个skyeyegpt_single模型,所以会有很多个skyeyegpt_single模型。
消融实验:
结论与未来工作:
在本研究中,我们介绍了 SkyEyeGPT,一个专门为遥感任务量身定制的统一开放式多模态大语言模型(MLLM),能够处理图像级、区域级和视频级的视觉语言任务。我们构建了一个遥感多模态指令跟随数据集,包括单任务和多任务对话指令。我们设计了一种 两阶段调优方法 来发展模型的多任务和多轮对话能力。为方便统一处理开放式任务,我们设置了任务特定的标识符。SkyEyeGPT 在多个不同粒度的任务上达到了新的 SOTA(最新的最先进) 精度,并提供了卓越的遥感多模态聊天体验。
这项工作代表了遥感多模态领域的显著进展,通过 LLM 提供了一个统一框架,为开放式任务提供了一个多功能、高性能的解决方案。遥感图像的空间分辨率决定了模型能否准确捕捉地面上的实际细节。未来的工作将探索遥感图像输入空间分辨率的影响。