论文:http://arxiv.org/abs/2306.15195
代码:https://github.com/shikras/shikra
在人类的日常交流中,经常会关注场景中的不同区域或物体,人们可以通过说话并指向这些区域来进行高效的信息交换。我们将这种交互模式称为参考对话(Referential Dialogue)。
如果 MLLM 擅长这项技能,它将带来许多令人兴奋的应用。例如,将其应用到 Apple Vision Pro 等混合现实 (XR) 眼镜中,用户可以使用视线注视指示任何内容与AI对话。同时AI也可以通过高亮等形式来指向某些区域,实现与用户的高效交流。
本工作提出了Shikra模型,赋予了MLLM这样的参考对话能力,既可以理解位置输入,也可以产生位置输出。
1. Shikra能够理解用户输入的point/bounding box,并支持point/bounding box的输出,可以和人类无缝地进行参考对话。
2. Shikra设计简单直接,采用非拼接式设计,不需要额外的位置编码器、前/后目标检测器或外部插件模块,甚至不需要额外的词汇表。
如上图所示,Shikra能够精确理解用户输入的定位区域,并能在输出中引用与输入时不同的区域进行交流。像人类一样通过对话和定位进行高效交流。
如上图所示,Shikra不仅具备LLM所有的基本常识,还能够基于位置信息做出推理。
如上图所示,Shikra可以产生详细的描述,解释图片中正在发生的事情,并为参考的物体生成准确的定位。
尽管没有在OCR数据集上专门训练,Shikra也具有基本的OCR能力。
更多的例子
其他传统任务
方法
模型架构采用CLIP ViT-L/14 作为视觉主干,Vicuna-7/13B作为基语言模型,使用一层线性映射连接CLIP和Vicuna的特征空间。
Shikra直接使用自然语言中的数字来表示物体位置,使用[xmin, ymin, xmax, ymax] 表示边界框,使用[xcenter, ycenter]表示区域中心点,区域的 xy 坐标根据图像大小进行归一化。每个数字默认保留 3 位小数。这些坐标可以出现在模型的输入和输出序列中的任何位置。记录坐标的方括号也自然地出现在句子中。
Shikra在传统REC、VQA、Caption任务上都能取得优良表现。同时在PointQA-Twice、Point-V7W等需要理解位置输入的VQA任务上取得了SOTA结果。
我们使用POPE benchmark评估了Shikra产生幻觉的程度,Shikra得到和InstrcutBLIP相当的结果,并远超近期其他MLLM。
思想链(CoT),旨在通过在最终答案前添加推理过程以帮助LLM回答复杂的QA问题。这一技术已被广泛应用到自然语言处理的各种任务中。然而如何在多模态场景下应用CoT则尚待研究。尤其因为目前的MLLM还存在严重的幻视问题,CoT经常会产生幻觉,影响最终答案的正确性。通过在合成数据集CLEVR上的实验,我们发现,使用带有位置信息的CoT时,可以有效减少模型幻觉提高模型性能。
结论
本工作介绍了一种名为Shikra的简单且统一的模型,以自然语言的方式理解与输出空间坐标,为MLLM增加了类似于人类的参考对话能力,无需引入额外的词汇表、位置编码器或外部插件。