ViP-LLaVA: Making Large Multimodal Models Understand Arbitrary Visual Prompts
发表时间:cvpr2024
论文链接:https://readpaper.com/pdf-annotate/note?pdfId=2357936887983293952¬eId=2426262228488986112
作者单位:University of Wisconsin–Madison
Motivation:现在的多模态模型都关注整张图像的理解,它们缺乏在复杂场景中处理特定区域信息的能力。
解决方法:为了应对这一挑战,我们引入了一种新的多模态模型,能够解码任意(自由形式)的视觉提示。这允许用户直观地标记图像并使用“红色边界框”或“指向箭头”等自然线索与模型交互。
本文主要贡献是:
-
我们引入了一种新的多模态模型,用于使用自然语言和任意视觉提示与图像的直观交互,增强了用户可访问性和模型灵活性。
-
我们开发了一种visual referal approach(视觉引导方法),将视觉提示直接叠加到图像上,在不影响性能的情况下简化模型架构。
-
我们的模型 ViP-LLAVA 在已建立的基准上在区域理解任务上取得了最先进的结果,surpassing specialized region encoding models。
-
我们介绍了 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)。
相关文章:
ViP-LLaVA: Making Large Multimodal Models Understand Arbitrary Visual Prompts
发表时间:cvpr2024 论文链接:https://readpaper.com/pdf-annotate/note?pdfId2357936887983293952¬eId2426262228488986112 作者单位:University of Wisconsin–Madison Motivation:现在的多模态模型都关注整张图像的理…...
beeline -e 执行SQL中有双引号
一、问题 beeline -e 执行SQL中有双引号 害怕执行报错 --简单示例 beeline -e "select * from table_name where col1 "abc"" 二、解决方法 1.替换sql中的双引号为单引号 --简单示例 beeline -e "select * from table_name where col1 abc"…...
TikTok運營環境搭建:使用靜態住宅IP
Tik Tok作為一款在全球範圍內流行的短視頻平臺,目前跨境電商也將Tik Tok作為行銷的主要陣地,越來越多的用戶和企業開始關注如何優化其使用體驗和行銷效果。而Tik Tok作為行銷工具使用對網路環境要求較高,很多用戶在運營帳號時會出現限流、帳號…...
sqlserver跟踪sql导出
文章目录 sqlserver跟踪sql导出打开跟踪窗口登录到数据库服务器新增跟踪,配置跟踪属性导出sql脚本 sqlserver跟踪sql导出 打开跟踪窗口,登录到数据库服务器,新增跟踪,配置跟踪属性,确定,业务数据操作&…...
Linux安全与高级应用(三)深入探索MySQL数据库:安装、管理与安全实践
文章目录 深入探索MySQL数据库:安装、管理与安全实践MySQL数据库简介MySQL的安装与配置编译安装MySQL配置MySQL服务 MySQL数据库的基本操作数据库的创建与删除表的创建与管理数据记录的增删改查 MySQL用户管理与权限设置MySQL数据库的备份与恢复数据库备份数据库恢复…...
el-input输入数字,带有千分位
封装组件 <template><el-inputchange"changenum"input"onTxtInput"blur"blurInput"v-model"inputnum1"placeholder"请输入数字"clearable:disabled"disablednum"></el-input> </template&g…...
行为型设计模式3:模板方法/备忘录/解释器/迭代器
设计模式:模板方法/备忘录/解释器/迭代器 (qq.com)...
测试用例等级划分
基本等级(Level 1或P0):这类用例设计系统基本功能,执行失败会导致多处重要功能无法运行。例如,单表维护中的增加功能、最平常的业务使用等,这些是发生概率较高的功能用例。这类用例在每一…...
正则表达式 贪婪与非贪婪匹配
目录 一. 回顾二. 遇到的问题三. 分析四. 解决4.1 转换为非贪婪模式匹配4.2 提高匹配的精度 一. 回顾 我们在正则表达式 分组与非捕获组这篇文章中,有如下分组匹配案例 <select name"fruit_console"><option value"apple" selected&…...
LVS-DR模式集群:案例与概念
DR模式(直接路由) 概念 Direct Routing,简称DR模式采用半开放式的网络结构,与TUN模式的结构类似,但内网服务器并不是分散在各地,而是与调度器位于同一个物理网络负载调度器与内网服务器通过本地网络连接&a…...
小试牛刀-Telebot区块链游戏机器人(TS升级)
目录 1.编写目的 2.为什么使用TypeScript实现? 3.实现功能 3.1 AI图片生成 3.2 签到 3.3 邀请 3.4 WalletConnect连接 4.功能实现详解 4.1 AI图片生成 4.2 签到 4.3 邀请 4.4 WalletConnect连接 5.功能截图 6.问题整理 Welcome to Code Blocks blog 本篇文章主…...
使用SpringBoot+Vue3开发项目(2)---- 设计文章分类的相关接口及页面
目录 一.所用技术栈: 二.后端开发: 1.文章分类列表渲染: 2.新增文章分类: 3.编辑文章分类: 4.删除文章分类 : 5.完整三层架构后端代码: (1)Controller层:…...
django电商易购系统-计算机毕业设计源码61059
目 录 1 绪论 1.1选题背景 1.2研究意义 1.3论文结构与章节安排 2 电商易购系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 电商易购系统总…...
uniapp video播放视频 悬浮在屏幕无法滑动
背景: 在uniapp中,需要使用<video></video>标签进行播放动态src的视频。 1.在开发的时候,运行到浏览器,vedio标签正常;(使用HbuildX运行,运行 -->运行到浏览器)。 2.但是在打包成原生App&am…...
day22(mysql数据库主从搭建)
上午: 1、为mysql添加开机启动chkconfig 2、编辑配置文件my.cnf 3、修改环境变量 4、mysql角色授权 角色不生效 在配置文件中不添加activate_all_roles_on_loginon glibc安装,my.cnf在项目目录之下 rpm安装,my.cnf文件在/etc/my.cnf 5、自…...
C++——多态经典案例(三)计算器
案例:使用多态实现一个简单的计算器,计算两个数的加减乘除结果 分析:定义一个抽象类AbstractCalc ,其内部定义一个纯虚函数getResult,用于得到计算结果 定义加减乘除四个类,分别继承这个抽象类AbstractCal…...
超声波清洗机怎么选?超声波眼镜清洗机选择哪个牌子比较好?
对于许多近视的人来说,眼镜是至关重要的,因为它们帮助人们清晰地看到远处的物体。虽然很多人会定期擦拭和保养眼镜,但不少人对正确的清洁方法并不十分了解。那么,眼镜脏了该如何彻底清洁?如何确保在保养过程中不会划伤…...
24. 两两交换链表中的节点(Java)
目录 题目描述:示例 :代码实现: 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换&am…...
【深度学习】【语音】TTS效果排行榜
TTS技术排行榜:顶尖模型详解及技术洞察 文本到语音(TTS)技术正以惊人的速度发展,为各种行业提供了更加自然和逼真的语音解决方案。本篇博客将详细介绍目前市场上表现最佳的TTS模型,深入探讨每个模型的技术特性和是否开源,帮助您更好地理解它们的优势和应用场景。 1. El…...
登录相关功能的优化【JWT令牌+拦截器+跨域】
登录相关功能的优化 登录后显示当前登录用户el-dropdown: Element - The worlds most popular Vue UI framework <el-dropdown style"float: right; height: 60px; line-height: 60px"><span class"el-dropdown-link" style"color: white;…...
2024年武汉东湖高新区职称第二批次开始了
众所周知,武汉市东湖高新区职称一年两批次,今年下半年第二批水平能力测试报名也已经开始了,请注意报名时间,别错过!! 2024年武汉东湖高新区第二批次水测报名时间:(一)网上…...
力扣面试经典算法150题:移除元素
移除元素 今日的题目依旧是力扣面试经典算法150题中数组相关的题目:移除元素 题目链接:https://leetcode.cn/problems/remove-element/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述 给定一个排序数组 nums 和一个值 val&a…...
【爬虫实战】利用代理爬取Temu电商数据
引言 在行业竞争激烈、市场变化快速的跨境电商领域,数据采集可以帮助企业深入了解客户需求和行为,分析市场趋势和竞争情况,从而优化产品和服务,提高客户满意度和忠诚度。同时,数据采集可以实时跟踪库存水平和销售情况&…...
智谱 AI 开源视频生成模型CogVideoX:单张 4090 显卡即可推理
随着大型模型技术的持续发展,视频生成技术正逐步走向成熟。以Sora、Gen-3等闭源视频生成模型为代表的技术,正在重新定义行业的未来格局。 而近几个月,国产的AI视频生成模型也是层出不穷,像是快手可灵、字节即梦、智谱清影、Vidu、PixVerse V…...
Webpack、Vite区别知多少?
前端的项目打包,我们常用的构建工具有Webpack和Vite,那么Webpack和Vite是两种不同的前端构建工具,那么你们又是否了解它们的区别呢?我们在做项目时要如何选择呢? 一、工具定义 1、Webpack:是一个强大的静态模块打包工…...
【网络编程】网络原理(一)
系列文章目录 1、 初识网络 2、网络编程的基础使用(一) 文章目录 系列文章目录前言一、端口号的使用二、UDP报文学习1.报文格式2.MD5算法 总结 前言 在前文中,主要对UDP和TCP协议有了简单的了解,而这两种协议是负责传输层的内容…...
基于树莓派的智能家居中控系统:集成Flask、HTML、JavaScript与MQTT协议的文心一言AI接入(代码示例)
一、项目概述 随着智能家居技术的快速发展,越来越多的用户希望通过智能设备提升家居生活的便利性和智能化水平。本项目旨在搭建一个基于树莓派的AI接入文心一言智能家居中控系统。该系统能够根据AI获取的实时数据(如天气、温度、湿度等)自动…...
给出一组数的从大到小的排序索引
要在 Python 中获得一组数从大到小排序的索引,你可以使用 NumPy 库的 argsort 方法,并结合 - 符号来实现降序排序。argsort 方法返回的是数组元素从小到大的索引值,因此我们可以通过加上负号 - 来使其变成从大到小的顺序。 下面是具体的步骤和…...
RHEL9网络设定及网络脚本
1. 添加一张网卡 2. 重写一个网卡配置文件 [rootlocalhost ~]# cd /etc/NetworkManager/system-connections/ [rootlocalhost system-connections]# ls ens160.nmconnection [rootlocalhost system-connections]# vim ens224.connection [rootlocalhost system-connections…...
人工智能计算机视觉先锋——OpenCv 的颜色检测
红色 在计算机的世界里,只有 0 或者1,如何让计算机认识颜色是计算机视觉工作者首先需要考虑的事情,我们知道整个世界的颜色虽然五彩缤纷,但是都是3种原色彩合成的(R G B),有了(R G …...
pytorch学习(十):损失函数与反向传播
损失函数(Loss Function) 损失函数是衡量模型预测值与真实值之间差异的一个函数。在训练神经网络时,我们的目标是找到一组参数(如权重和偏置),使得模型的预测尽可能接近真实值,即最小化损失函数…...
day58|拓扑排序精讲,dijkstra(朴素版)精讲
拓扑排序精讲 117. 软件构建 (kamacoder.com) #include <iostream> #include <vector> #include <algorithm> #include <queue> #include <unordered_map>using namespace std;int main(){int n, m, s, t;cin >> n >> m;vector<…...
基于SSH的医院在线挂号系统设计与实现
点击下载源码 基于SSH的医院在线挂号系统设计与实现 摘 要 互联网技术迅速的发展给我们的生活带来很大的方便,同时也让许多行业迅速的发展起来。互联网技术已走向科技发展的巅峰期,我们要做的就是合理的使用互联网技术让我们的各个行业得到更快速的发展…...
TOPIK韩语等级考试|韩语语法:被动词和使动词
韩语语法: 被动词与主动词 글쓰기 관련 강좌나 책에서 우리 문장을 쓸 때 웬만하면 피동형을 쓰지 말라는 주장을 흔히 접하게 된다. 능동형 동사를 사용하면 글이 늘어지지 않아 간결해지고 힘찬 문장이 되는 게 사실이다. 그러나 이 주장이 우리글에서 피동형 동…...
基于大模型的Agent
2023年,对于所有的人工智能领域只有一个共同的主题——大模型。大模型的受关注程度与发展速度可谓前所未有。其中,基于大模型的Agent又是最近几个月大模型领域的热点。这不开始研究没有几个月,综述文章都出来了,你说快不快&#x…...
解决k8s flannel网络插件国内镜像docker拉取不到问题
一、准备下载资源 https://download.csdn.net/download/weixin_43205308/89608560 以下,每个k8s节点都要执行 二、载入镜像 解压上面的下载资源的文件夹后,会有图中的两个资源 载入资源 docker load --input flannel-flannel-v0.25.1-amd64.tar.gzd…...
HTML-03.新浪新闻-标题-样式2
1.<span>标签 <span>是一个在开发网页时大量使用的没有语义的布局标签 特点:一行可以显示多个(行内组合元素),宽度和高度默认由内容撑开 2.CSS选择器 2.1 元素选择器:标签名{...} 元素名称{ color:red; }…...
玩转大模型之五(测试FastGPT高级编排)
一、高级编排 FastGPT 从 V4 版本开始采用新的交互方式来构建 AI 应用。使用了 Flow 节点编排(工作流)的方式来实现复杂工作流,提高可玩性和扩展性。但同时也提高了上手的门槛,有一定开发背景的用户使用起来会比较容易。 编排方…...
YOLO:输入mp4视频数据,经过YOLO目标检测算法,输出带有目标框的新视频
作者:CSDN _养乐多_ 本文将介绍输入mp4视频数据,经过YOLO目标检测算法,输出带有目标框的新视频的代码脚本。 文章目录 一、代码 一、代码 代码只需要安装好cv2、ultralytics,然后修改模型路径、输入mp4视频文件路径、保存文件的…...
渲染技术如何应对数据增长与计算挑战
随着科技的飞速发展,数字内容的制作与呈现变得日益复杂和精细,这对渲染技术提出了前所未有的挑战。特别是在数据爆炸式增长和计算需求急剧提升的背景下,如何优化渲染技术,以应对这些挑战,成为了一个亟待解决的问题。 …...
uniapp用自带的canvas做画板签字
如下图移动端经常需要做此功能,用户签字。用户填表啥的。 先用touch进行监听手指的触摸事件 获取所点击的坐标位置。 这里有很多要注意的地方。 初始化 uniapp里的canvas与原生的canvas有区别,渲染之后会多很多莫名其妙的div节点,并且还有个div直接就把原生的canvas覆盖…...
Vue 3+Vite+Eectron从入门到实战系列之(二)一Elementplus及VueRouter的配置
为了后续开发方便,在没有 UI 设计师配合的情况下,让我们的界面更加美观,我们使用 elementplus 组件库,并配置路由。 删除不需要的默认文件夹及文件,src 配置如下 实现效果 安装 elementplus,vue-router npm install element-plus --save npm install vue-router --save在…...
JVM笔记一
JVM的功能 解释和运行 对字节码文件中的指令,实时的解释成机器码,让计算机执行。 内存管理 自动为对象、方法等分配内存自动的垃圾回收机制,回收不再使用的对象 即时编译 对热点代码进行优化,提高执行效率。将热点代码解释并…...
Flink 实时数仓(二)【DIM 层搭建】
1、DIM 层搭建 1.1、设计要点 DIM层设计要点: DIM层存的是维度表(环境信息,比如人、场、货等)DIM层的数据存储在 HBase 表中DIM层表名的命名规范为dim_表名 DIM 层表是用于维度关联的,要通过主键(维度外…...
如何提高编程能力?(来自准大三学长的含泪建议)
种一棵树最好是十年前,其次是现在 想了解更多内容可以看我主页:GGBondlctrl-CSDN博客 1.前言 以下是小编的亲身经历哟 (1)大一,摆烂 -------和每个人一样,大学都是带着美好的憧憬,我开始学习…...
PostgreSQL 高阶函数详解:全面深入的功能与实用示例
PostgreSQL 高阶函数详解 PostgreSQL 是一款功能强大的开源关系数据库管理系统,以其丰富的功能和高扩展性著称。在数据处理和分析方面,PostgreSQL 提供了一系列高阶函数,可以极大地简化和优化各种复杂操作。本文将详细介绍 PostgreSQL 的高阶…...
8–9月,Sui Move智能合约工作坊将在台北+线上举行
你对区块链和去中心化应用感兴趣吗?想深入学习Sui Move编程语言吗? 从8月10日到9月28日,Sui Mover社区将在每周六下午13:00–17:00举办精彩的工作坊,为期两个月,带你从零基础入门到高级进阶,全面掌握Sui M…...
【科研小小白】解释mmdetection 项目中configs文件夹中相关模型配置文件,以yolox为例子:
AI解释configs/_base_中相关模型配置文件: 标题这段代码是一个配置文件,用于设置YOLOX模型的训练和测试参数。下面是代码的详细解释: _base_:这是一个列表,包含了一些基础配置文件的路径。这些基础配置文件包含了模型…...
代码回滚命令
定位到当前分支 git branch回滚到指定的commit git reset --hard 85da0cb8322accad143cpush到远程分支 git push --force...
Fluent Mybatis
官方文档:https://gitee.com/fluent-mybatis/fluent-mybatis/wikis 新的ORM框架,整个设计理念非常符合工程师思维。 Fluent Mybatis 介绍 何为 Fluent Mybatis? Fluent Mybatis, 是一款 Mybatis 语法增强框架, 综合了 Mybatis Plus, Dynam…...