摘要
Motivation:
- 超高分辨率(UHR)遥感影像(RSI)(例如10000×10000像素)对当前的遥感视觉语言模型(RSVLMs)提出了重大挑战。
- 如果选择将超高分辨率图像调整为标准输入图像大小,其包含的大量空间和上下文信息将会被忽略。
- 否则,这些图像的原始尺寸通常会超出标准RSVLMs的标记限制,难以处理整个图像并捕捉长距离依赖关系,从而无法基于丰富的视觉上下文回答查询。
Solution:
- 本文设计了一种基于检索增强生成(RAG)技术的创新性图像上下文检索机制,称为ImageRAG。
- ImageRAG的核心创新之处在于其能够选择性地检索并专注于与给定查询相关的超高分辨率图像中最相关的部分作为视觉上下文。
背景
- 超高分辨率图像的处理挑战:超高分辨率遥感图像尺寸巨大,直接处理会超出硬件限制,且难以保留小目标等细节信息。
- 现有模型的输入限制:当前的遥感多模态大型语言模型(RSMLLMs)输入分辨率较小,无法充分利用超高分辨率图像的丰富细节,导致性能受限。
- 全局与细节信息的平衡难题:现有方法在处理超高分辨率图像时,难以同时保留全局信息和关注小目标等细节,且大多需要额外训练或标注,增加了应用难度。
方法
模型总览
主要包含Retrieval Stage 和 Generation Stage两部分
Retrieval Stage
给定:
- 一张图像I
- 一个文本查询T
- 一个图像块划分算法F
- 一个问题分析模块G
- 一个文本-图像检索模块Mtext-img
- 一个带有阈值δ的文本-图像向量数据库D
- 一个图像-图像检索模块Mimg-img
可以使用以下策略选择一组视觉提示V:
Image Patch Division Approach
有几种图像块化方法。
- Vision Transformer将图像划分为固定大小、不重叠的网格,尺寸例如为32×32像素或16×16像素。
- Cascade Grid: 使用分层架构在多个尺度上对图像进行划分(10x10 + 9x9 + … + 1x1)。
- DetailCLIP: 引入了Complete Cover,旨在将图像划分为能够覆盖任何尺度目标的图像块。
假设图像块划分方法F为每张图像输出m个图像块,图像patch过程可以表示为:
Question Analyzing Module
指令分析模块G处理输入问题T,并提取出包含n个关键短语的一组关键短语Q。整个过程完全基于输入的文本指令。
Text-Image Retrieval Module
- 在输入图像和文本查询经过F和G处理后,n个关键短语(Q)和m个图像块(P)将分别通过文本编码器ftext和图像编码器fimg编码为文本嵌入和图像嵌入(d维向量)。
- n个文本嵌入与m个图像嵌入之间的相似度矩阵表示为Sfast(Sfast∈Rn×m),通过计算关键短语Q的嵌入与图像块P的嵌入之间的余弦相似度来得到。
- 然后,余弦相似度将通过softmax函数和一个缩放因子γ按行归一化到[0, 1]范围内。
Sfast矩阵的每个条目实际上是一个相似度度量,表示图像块与文本关键短语在嵌入空间中的接近程度。视觉提示V将基于相似度矩阵Sfast,通过带有阈值ε的选择函数Hfast进行选择。
Text-Text Retrieval Module and Vector Database
-
提取关键短语:使用问题分析模块 G 提取关键短语 Q。
-
计算文本嵌入:使用 Sentence-BERT 对关键短语进行编码,生成文本嵌入 Mtext。
-
检索相似文本:在向量数据库中,找到与 Mtext 的 L2 距离低于阈值 δ 的文本嵌入,对应的标签或描述 L 被检索出来。
-
选择代理图像嵌入:对于每个 lp,从数据库中获取相关图像嵌入 Ep,并使用代理选择函数 g 选择代理图像嵌入 E~p。
-
向量数据库
-
- LRSD:包含从遥感数据集中裁剪的对象图像,覆盖142个类别,总计1,595,909张图像。
- CRSD:包含3,007,809个遥感图像-文本对,使用 Sentence-BERT 编码并存储。
-
输出:传递给图像-图像检索模块,用于检索视觉上下文。
Generation Stage
- 从图像 I 的图像块集合 P 中选择出视觉提示 V 后,多模态大型语言模型(MLLM)可以利用这些视觉上下文来生成回答。
- 与普通检索增强生成(RAG)不同,普通 RAG 可以直接将检索到的文本内容通过提示组织起来,并发送给大型语言模型(LLM)以生成回答,而 ImageRAG 必须处理视觉上下文。这意味着 ImageRAG 需要选择一个能够将视觉上下文作为视觉提示来利用的 MLLM。
- 为此设计了一个训练集,并训练了一个 MLLM,使其能够接受额外的视觉提示以聚焦于相关内容。
补充:实现细节
- Patch Division Algorithm(图像块划分算法):选择了三种图像块划分算法,分别是 Vision Transformer(ViT)风格、DetailCLIP 的“完整覆盖”方法和“级联网格”(Cascade Grid)方法。
- Question Analyzing Module(问题分析模块):使用 Qwen2.5-32B 模型,设置温度为1.0,topp为0.99,最大标记数为512。如果 Qwen2.5-32B 在10次尝试中无法解析问题,则切换到 KeyBERT,设置 n-gram 范围为2到4,最多提取3个短语。
- Text-Image Retrieval Module(文本-图像检索模块)
- 图像和文本编码器:选择了 CLIP、RemoteCLIP、GeoRSCLIP 和 MCIPCLIP 四种基于 CLIP 的模型。
- 相似度矩阵:计算关键短语和图像块的嵌入之间的相似度矩阵 Sfast,使用余弦相似度,并通过 softmax 函数和缩放因子 γ 进行归一化。
- 图像块选择函数:选择与关键短语相似度最高的图像块,保留置信度高于阈值 ϵ(设置为0.5)的前5个图像块。如果没有图像块的置信度高于 ϵ,则触发慢速路径。
- Text-Text Retrieval Module and Vector Database(文本-文本检索模块和向量数据库):LRSD(标记遥感数据库)和CRSD(带描述的遥感数据库)
- Proxy Selection Function(代理选择函数)
- Prototype:计算所有图像嵌入的均值。
- Clustering:使用 DBSCAN 聚类,选择最大聚类的均值。
- Reranking:计算关键短语的文本特征与图像特征之间的相似度,选择前3个图像特征的均值。
- Image-Image Retrieval Module(图像-图像检索模块)
- 相似度矩阵:计算视觉证据和图像块之间的相似度矩阵 Sslow,使用与 Sfast 相同的方法。
- 图像块选择:选择置信度最高的3个图像块作为视觉上下文。
- Multimodal Large Language Model with Visual Cues(带视觉提示的多模态大型语言模型)
- 训练数据:使用 Zoom4K 数据集(包含4,000个位置数据)和 VQA10K 数据集(包含10,000个 VQA 数据)进行训练。
- 训练方法:使用 Low-Rank Adaptation (LoRA) 对 InternVL2.5-8B 模型进行微调,设置 alpha 值为32。
实验
作者在新构建的MME-RealWorld-RS数据集及其精简版上,对ImageRAG进行了全面评估。
MME-RealWorld-RS包含1,265张高分遥感图像(平均尺寸达5602×4445像素)和3,738组人工标注的问答。该数据覆盖空间关系理解、颜色识别、目标计数等典型子任务,影像中目标体积小、种类多样,非常具有挑战性。
由于原始数据缺少感兴趣区域的标注信息,作者又精选其中150个问答组成MME-RealWorld-Lite-RS子集,并为每个问题标注了目标区域(ROI),用于评估检索模块的有效性。
实验结果
推理式VQA任务:
视觉提示检索任务:
在Lite-RS上,ImageRAG首先被用来检索回答每个问题所需的图像区域,并与标注的正确区域比较。
常规VQA任务:
结果展示
结论
针对超高分辨率遥感影像问答这一前沿难题,ImageRAG框架提供了高效且创新的解决思路:
- 通过引入检索增强的视觉提示机制,巧妙地让模型在广阔影像中“按需取景”,突破了输入尺寸限制,实现了对关键细节的聚焦分析。
- 在无需端到端处理整幅巨量数据的情况下,模型的问答准确率显著提升。
- 这种方法为遥感多模态模型的设计开辟了新路径——将外部知识库检索与多模态推理相结合,既减少计算开销又提高模型性能。
未来,随着检索算法精度的进一步提高以及更大规模多模态模型的出现,ImageRAG理念有望在包括变化检测、目标识别等更多遥感任务中发挥作用,推动遥感智能解译迈向更高的高度。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。