ViP-LLaVA: Making Large Multimodal Models Understand Arbitrary Visual Prompts

news2024/11/26 11:58:26

发表时间:cvpr2024

论文链接:https://readpaper.com/pdf-annotate/note?pdfId=2357936887983293952&noteId=2426262228488986112

作者单位:University of Wisconsin–Madison

Motivation:现在的多模态模型都关注整张图像的理解,它们缺乏在复杂场景中处理特定区域信息的能力

解决方法:为了应对这一挑战,我们引入了一种新的多模态模型,能够解码任意(自由形式)的视觉提示。这允许用户直观地标记图像并使用“红色边界框”或“指向箭头”等自然线索与模型交互

本文主要贡献是:

  1. 我们引入了一种新的多模态模型,用于使用自然语言和任意视觉提示与图像的直观交互,增强了用户可访问性和模型灵活性。

  2. 我们开发了一种visual referal approach(视觉引导方法),将视觉提示直接叠加到图像上,在不影响性能的情况下简化模型架构。

  3. 我们的模型 ViP-LLAVA 在已建立的基准上在区域理解任务上取得了最先进的结果,surpassing specialized region encoding models。

  4. 我们介绍了 ViP-Bench,用于评估多模态模型具有任意视觉提示的区域理解能力。

实现方式模型架构:在将视觉提示通过Alpha混合叠加(Alpha混合指的是一种图像处理技术,用于将两个或多个图像合成在一起,同时考虑每个图像的透明度(Alpha通道))到原始图像后,将生成的图像输入到视觉编码器中以获取multi-level visual features。这些特征被concat起来并输入到LayerNorm和MLP层以形成visual token。然后,visual token和文本指令标记被输入到大型语言模型中,通过自回归的方式得到输出。

具体结构:

  • visual model, we choose CLIP-336px

  • Vicuna v1.5 [31] as the language encoder

  • a 2-layer MLP is utilized。

  • 该架构与 llava 架构类似,只是多模态投影器采用一组Fusion+LN+MLP的映射。

通过CLIP做视觉提示词嵌入:

视觉提示词设计:

文中也提出了一个视觉指令微调数据集,数据集包含了520K的图像-文本对,源数据都是一些开源的数据集,比如RefCOCOg、PointQA-LookTwice、Visual Genome、Flicker 30k Entities、Visual Commonsense Reasoning和Visual7W。作者对源数据的图片用各种形式的视觉提示词做了自动化标注。

对于只包含bounding box标注的图像来说,视觉提示可以是矩形框、椭圆和箭头中的一种。对于箭头来说,需要保证其落在图像范围之内。

对于包含像素级别的mask标注的图像来说,视觉提示可以是 矩形框、椭圆、点、三角形、mask、mask边缘、箭头、涂鸦等。

Fig 3 可视化视觉提示类型,从左上到右下依次是:掩膜轮廓、椭圆、边界框、三角形、涂鸦、点、箭头和掩膜。请注意,提示不仅形状多样,而且颜色、透明度值、宽度、比例和方向也各不相同

ViP-LLaVA uses 8 visual prompts: rectangles, ellipses, points, scribbles, triangles, masks, mask contours, and arrows. 每种提示随机颜色,随机位置。 For referencing specific regions, we replace the <region> text with the color and shape description, such as red scribble.

可选择的区域级别的指令微调数据:

文中用到的训练数据包括上面介绍的region-level的视觉提示数据,也包括图像级别的视觉提示数据,主要来自于LLaVA v1.5的数据。本文还借助于GPT-4V生成了区域级别的指令微调数据集,主要做法如下:

  • 原图和绘制了视觉提示的图片作为GPT-4V的输入,同时也提供了数据集原本自带的ground-truth的标注还有系统提示词,模型会返回<visual prompt, text prompt, text output>的triplets。

  • 为了让GPT-4V识别对应的物体或者区域,作者提供了一些文本描述,比如针对单物体的<within red mask>或者多物体的(<within red box>,<within blue box>)。在训练的时候,会把这些位置用Fig 3所示的8种视觉提示中的一种来填充。一共得到了13k高质量的区域级别的视觉指令微调数据,包括7k单物体区域和6k多物体区域的。

训练方式:三个阶段训练

第一阶段:第一步使用558k BLIP caption的图像-文本对数据 预训练多模态的connector

第二阶段:第二步用LLaVA 1.5的指令微调数据和本文提到的区域级别的指令微调数据训练模型,两个阶段都训了1个epoch,采用了8个Nvidia A100 GPU;

第三阶段:第三步用到了13K高质量指令微调数据集以及从stage 2训练所用数据集中采样的13k数据集,对模型做微调,也是采用了8个A100 GPU。

第二阶段和第三阶段是按照fig2的结构进行微调(只有Clip image encoder是冻住的)。

实验:Evaluation on Region Reasoning Benchmarks,ViP-Bench Evaluation Results

结论:ViP-LLAVA 的直观设计利用了自然语言交互和视觉标记,简化了图像注释过程,同时增强了visual references的清晰度(可以使用很多形式的visual references)。

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

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

相关文章

html+css网页设计 qq官网首页1个页面无js

htmlcss网页设计 qq官网首页1个页面无js功能 页面1:1还原 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 …

冲击性信号的频域特征

这是一个信号采样数学实验&#xff0c;你可以直观感受到冲击信号的时域和频域特征 1.原始冲击信号&#xff1a; 原始信号是一个频率为180Hz附近的一个冲击性信号&#xff1a; 2.冲击信号频谱 它的频谱&#xff0c;可能会超出你的想象&#xff0c;它的1x频率幅度可能并不最高…

iOS ------ autoreleasePool

一&#xff0c;autoReleasePool{} int main(int argc, const char * argv[]) {autoreleasepool {}return 0; }我们平时创建一个main函数的代码的时候&#xff0c;就会发现其中有一个这个东西autoreleasepool{}&#xff0c;使用clang编译之后&#xff1a;autoreleasepool{…}被…

对《国家汽车芯片标准体系建设指南》好奇,遂读

基础通用&#xff1a;基于汽车行业对芯片的可靠性、运行稳定性 和安全性等应用需求&#xff0c;提取出汽车芯片性通用要求&#xff0c;主要包括环境及可靠性、电磁兼容、功能安全和信息安全共4个方面的要求。 产品与技术应用&#xff1a;根据实现功能的不同&#xff0c;将汽车…

文献综述能否帮助研究人员认识特定学术领域的趋势和新兴主题

VersaBot一键生成文献综述 进行良好的文献综述可以成为研究人员识别特定学术领域的趋势和新兴主题的强大工具。就是这样; 1. 识别模式和重复出现的概念&#xff1a; 当您深入研究现有研究时&#xff0c;您自然会开始注意到不同研究中采用的重复出现的主题、想法和方法。这些模…

详解爬虫使用代理ip的几种方案

​ 在如今这个信息爆炸的时代&#xff0c;数据就是财富。对于许多从事数据分析、市场调研和大数据处理的人来说&#xff0c;网络爬虫已经成为了他们的得力助手。然而&#xff0c;随着网站对爬虫的防范措施越来越严格&#xff0c;使用代理IP已经成为了爬虫工作中的一项必备技能。…

05:【stm32】重映射AFIO

重映射AFIO 1、什么是AFIO2、怎么使用AFIO 1、什么是AFIO AFIO是stm32上的众多片上外设之一&#xff0c;专门用来执行“复用功能的重映射” 2、怎么使用AFIO 如下图所示&#xff1a;当我们要同时使用USART1和TIM1时&#xff0c;我们就需要使用AFIO进行使其中一个片上外设进行重…

【iOS】SideTable

目录 SideTablesStripedMapSideTable1. spinlock_t slock2. RefcountMap3. weak_table_t 总结 objc4源码地址&#xff1a; SideTable& table SideTables()[this]; // 获取对象的SideTable size_t& refcntStorage table.refcnts[this];SideTables 查源码SideTables…

Android 多语言切换

文章目录 在系统设置修改语言创建资源目录创建资源文件示例验证 代码手动切换语言在Application中设置新的语言环境在MainActivity / BaseActivity中设置新的语言环境验证 问题1. makeText()方法context传入是Application的context&#xff0c;无法获取正确的资源字符串原因解决…

Docker + Nacos + Spring Cloud Gateway 实现简单的动态路由配置修改和动态路由发现

1.环境准备 1.1 拉取Nacos Docker镜像 从Docker Hub拉取Nacos镜像&#xff1a; docker pull nacos/nacos-server:v2.4.01.2 生成密钥 你可以使用命令行工具生成一个不少于32位的密钥。以下是使用 OpenSSL 生成 32 字节密钥的示例&#xff1a; openssl rand -base64 321.3 …

免费插件集-illustrator插件-Ai插件-选择路径等分

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件&#xff0c;加强illustrator使用人员工作效率&#xff0c;路径处理功能&#xff0c;功能是选择路径等分。首先从下载网址下载这款插件 https://download.csdn.net/download…

本地Gitlab-runner自动编译BES项目

0 Preface/Foreword 1 Gitlab-runner配置情况 具体情况如下&#xff1a; Gitlab-ruuner运行在wsl 1中的Ubuntu 18.04 distro上专门为GitLab-runner分配了一个用户&#xff0c;名为gitlab-runner 2 自动编译 2.1 找不到编译工具链 根据错误提示&#xff0c;交叉编译工具链未找…

Springboot利用大模型实现即时通信

gitee地址&#xff1a;https://gitee.com/myha/Springboot-langchain-chat 版本及工具说明 本项目版本&#xff1a;springboot3.2.8 jdk17 mybatis-plus3.5.7 安装python&#xff0c;可以参考&#xff1a;https://docs.python.org/zh-cn/3/using/windows.html#the-full-in…

zsh 配置 docker 自动补全

zsh 配置 docker 自动补全 在终端中使用 docker 的命令的时候必须要全部手敲&#xff0c;没有提示&#xff0c;于是就在找是否有自动补全的脚本&#xff0c;搜索了一圈踩了一些坑总结了一下具体的步骤。 首先执行如下命令&#xff1a; mkdir -p ~/.zsh/completion curl -L h…

Visual Studio创建 OpenCV项目

1、cmake 编译 opencv 参考链接&#xff1a;CMake编译OpenCV3.4.1心得_cmake 3.4.1-CSDN博客 1&#xff09;opencv文件名最好不要有空格 2&#xff09;没有下载opencv_contrib&#xff0c;不用配置OPENCV_EXTRA_MODULES_PATH 1、Visual Studio创建 OpenCV项目 参考链接&am…

esp32通过smartconfig连接wifi

esp32通过smartconfig连接wifi整体设计流程 1.流程图 2.代码实现 #include <WiFi.h> #include <SPIFFS.h>// 定义存储文件的文件名 const char* wifi_config_file "/wifi_config.txt";// 定义变量存储 WiFi 信息 // 1&#xff09;不填写为空时通过sma…

LangGraph Studio

文章目录 一、关于 LangGraph Studio下载 二、设置三、打开一个项目三、调用图开始新的运行配置图运行 四、创建和编辑线程1、创建一个线程2、选择一个线程3、编辑线程状态 五、如何向图表添加中断1、将中断添加到节点列表2、向特定节点添加中断 六、Human-in-the-loop七、编辑…

多模态大模型intern-vl 1.5 论文解读:How Far Are We to GPT-4V?

论文&#xff1a;https://arxiv.org/pdf/2404.16821 目录 1 介绍 3.1 整体架构 3.2 强大的视觉编码器 InternViT-6B-448px-V1.2 InternViT-6B-448px-V1.5 3.3 动态高分辨率 动态宽高比匹配 图像分割与缩略图 InternVL 1.5&#xff0c;这是一款开源的多模态大语言模型&…

Onenet服务器创建产品和设备

Onenet服务器创建产品和设备 (1)浏览器搜索 Onenet, 或者打开这个网址 OneNET - 中国移动物联网开放平台 (10086.cn) (2)登录注册, 密码特殊符号是 (3)进入此网址, 设备管理页面 设备列表 - OneNET物联网平台 (10086.cn) (4)点击产品开发,创建产品 (5)其他行业 (6)设备接…

功能管理之语录管理功能开发(八)

云风网 云风笔记 云风知识库 这里话不多说&#xff0c;直接上效果图,开发逻辑和专栏上篇用户管理大致相同