GeoChat论文阅读

GeoChat

任务

图像级对话任务

在此任务中,GeoChat 处理图像和用户文本查询,利用图像的全局上下文执行对话的任务。

区域级对话任务

在图像输入中向 GeoChat 提供空间框位置 ( b ),指导模型关注图像中的特定区域,执行区域级的对话任务。

具体化对话任务

通过使用特殊的标记,引导GeoChat完成任务。

模型架构

GeoChat整体遵循LlaVA-v1.5的架构,由视觉编码器,跨模态适配层,大语言模型组成。

任务标记

使用{grounding,identify,refer}三种任务标记,分别用于语义对话、区域描述和指代表达理解。至于视觉问答(VQA)和场景分类的情况。

空间位置标记

以文本形式表示空间位置:$$b = { b_{x_{left}}, b_{y_{top}}, b_{x_{right}}, b_{y_{bottom}} \mid \theta }$$
(以文本形式直接输入LLM?)

视觉主干

通过对CLIP模型中的位置编码进行了插值,以适应 504×504 的输入图像大小,使模型接收更大的输入尺寸。

MLP跨模态适配器

使用一个具有一个隐藏层的MLP适配器,从冻结的CLIP-ViT模型中将输出tokens投影到语言模型空间。将视觉模型的输出特征投影到语言模型的空间,使两者能够有效地结合。

大语言模型

以开源大型语言模型Vicunav1.5(7B)作为GeoChat的基础。使用低秩适应(LoRA)的策略对LLM进行微调,降低微调大模型所需的机器资源。

LoRA

在原始预训练模型旁边增加一个旁路,做一个降维再升维的操作,训练的时候固定预训练模型的参数,只训练降维矩阵A与升维矩阵B。而模型的输入输出维度不变,输出时将BA与PLM的参数叠加。用随机高斯分布初始化A用0矩阵初始化B.

训练细节

使用预训练的CLIP-ViT(L-14)编码器、MLP适配器和Vicuna-v1.5来初始化模型。接着,对LLM进行LoRA微调,同时保持MLP适配器和CLIP编码器冻结,以实现更好的训练效果。

数据集的创建

组成数据集

整合了三种不同类型的数据集,涵盖了针对对象检测、场景分类和视觉问答(VQA)设计的数据集。DOTA [34]、DIOR [6] 和 FAIR1M [27],共同形成SAMRS [30] 数据一个场景分类数据集NWPURESISC-45 [5],一个VQA数据集LRBEN [20],以及一个洪水检测VQA数据集 [25)。

添加缺失类

使用其他模型推理,添加图片中未标注的类别(例如建筑,道路,树木)。

属性提取

通过目标的在图片中的方位,占比,像素值来提取相对位置,颜色,大小等属性。

生成表达式

通过表达式生成对象的文本描述,或者对象之间的联系。

复现结果

在配置RTX 4090 24G的云服务器下复现:

分类任务

在3000张的AID验证集集上分类正确率为71.97%。论文中为72.03%。
在2100张的UCmerced验证集集上分类正确率为84.48%。论文中为84.43%。

问答任务

在10004张的LRBEN验证集集上分类总正确率为90.63%(不包含计数任务),其中城乡分类正确率为91.00% 存在性检测正确率为91.03%,比较任务正确率为90.33%。另外计算了计数任务的准确率为25.31%。论文中总正确率为90.70%,其中城乡分类正确率为94.00% 存在性检测正确率为91.09%,比较任务正确率为90.33%。
HRBEN数据集太大,下载速度慢,所以没进行评估。

区域描述/视觉定位任务

由于GitHub上的评估数据集链接已不存在,所以无法评估。

posted @ 2024-10-29 22:25  陈用饼  阅读(212)  评论(4)    收藏  举报