RAR:Retrieving And Ranking Augmented MLLMs for Visual Recognition

news2025/1/22 13:09:19

我的博客已全部迁往个人博客站点:oukohou.wang,敬请前往~~

  • paper: RAR:Retrieving And Ranking Augmented MLLMs for Visual Recognition
  • codes: https://github.com/Liuziyu77/RAR

一、闲言碎语

RAR,整体动机总结一下:clip知道吧?Multimodal Large Language Models (MLLMs)知道吧?作者把它们俩整合到一起,
先用clip基于相似度找出外部知识库中最相近的几个候选项,然后用MLLM来选出最终的结果,这就是retrieving-and-ranking(RAR)的由来。
怎么样,是不是感觉好像有点意思?再给你张概览图爽一下:

rar-flow

是不是已经有点恍然大明白了?那等我再详细介绍下这篇论文的实现细节,我的天,你对这篇论文的理解会有多高,我都不敢想!

二、历历在目

2.1. Multimodal Retriever

就是如何更好更快地实现从外部知识库retrieve到准确的图像或者文本的embedding.
pipeline

看图说话,以图像分类为例,图像和对应的标签都是用clip的对应模块给encode成embedding,然后保存到外部知识库。
这就是文中所谓的few-shot了;当有时候没有图像只有类别标签时,那就是所谓的zero-shot。

为了加速embedding匹配的速度,使用了 HNSW(Hierarchical Navigable Small World)来将embedding降低到初始维度的1/9。

对于检测来说,就是基于proposal的bounding box进行了固定比例的resize,然后将非目标区域进行了模糊化,从而让MLLM
能够聚焦于待检测目标,不被冗余信息干扰:
objectdetect

2.2. inference

预测的时候就很简单了,分类任务就直接匹配top-k个最相近的图像,然后用MLLM排序选出最像的;检测任务因为目标框
一般都比较小,特征embedding没啥大用,但是硬着头皮也得上啊,就改为匹配图像和文本的相似度。
然后得到的结果就拿来给MLLM来排序,prompt示意图如下:
ranking-prompt

2.3. Fine-tuning for Ranking

最后可能是担心论文内容不够丰富吧,还锦上添花地多加了个MLLM的微调任务,就是构造了个小数据集,然后训练MLLM
来更好地排序最终结果,就是这样。

三、完结撒花

最后就是试验结果了,无非就是对比一下,效果更好了,懒得贴图了。就这样。


微信公众号:璇珠杂俎(也可搜索[oukohou](https://mp.weixin.qq.com/s/dCxGcuv5ngyR6U-uBYVI9Q)),提供本站优质非技术博文~~

wechat_official_account

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

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

相关文章

LeetCode2390从字符串中移除星号

题目描述 给你一个包含若干星号 * 的字符串 s 。在一步操作中,你可以:选中 s 中的一个星号。移除星号 左侧 最近的那个 非星号 字符,并移除该星号自身。返回移除 所有 星号之后的字符串。注意:生成的输入保证总是可以执行题面中描…

JAVA 项目<果园之窗>_完结

目录 1、前言:2、视频展示:3、环境配置:4、工程代码:5、原理:6、原理补充:7、综上: 1、前言: 因为没有足够的时间这个项目用的是别人搭好的框架,在此基础上做调整并根据前…

算法训练营第二十八天 | LeetCode 77 组合(剪枝优化)、LeetCode 216 组合总和III、LeetCode 17 电话号码的字母组合

LeetCode 77 组合&#xff08;剪枝优化&#xff09; 当我们到达某一层&#xff0c;后面的结点数已经不能满足条件时。可以进行剪枝操作。 代码如下&#xff1a; class Solution { private:vector<int> path;vector<vector<int>> res;void backtracking(in…

前端无样式id或者class等来定位标签

目录&#xff1a; 1、使用背景2、代码处理 1、使用背景 客户使用我们产品组件&#xff0c;发现替换文件&#xff0c;每次替换都会新增如下的样式&#xff0c;造就样式错乱&#xff0c;是组件的文件&#xff0c;目前临时处理的话就是替换文件时删除新增的样式&#xff0c;但是发…

机器学习中常用的几种距离——欧式、余弦等

目录 一、欧式距离&#xff08;L2距离&#xff09;二、曼哈顿距离&#xff08;L1距离&#xff09;三、汉明距离四、余弦相似度 一、欧式距离&#xff08;L2距离&#xff09; &#xff08;1&#xff09;二维空间的距离公式&#xff08;三维空间的在这个基础上类推&#xff09;&…

Spring AI项目Open AI对话接口开发指导

文章目录 创建Spring AI项目配置项目pom、application文件controller接口开发接口测试 创建Spring AI项目 打开IDEA创建一个新的spring boot项目&#xff0c;填写项目名称和位置&#xff0c;类型选择maven&#xff0c;组、工件、软件包名称可以自定义&#xff0c;JDK选择17即可…

IDC:2023年中国IT安全软件市场同比增长4.7%

IDC最新发布的《中国IT安全软件市场跟踪报告&#xff0c;2023H2》显示&#xff0c;2023年下半年中国IT安全软件市场厂商整体收入约为169.8亿人民币&#xff08;约合23.5亿元美元&#xff09;&#xff0c;同比上升2.7%。结合全年数据&#xff0c;2023全年中国IT安全软件市场规模…

学习Uni-app开发小程序Day11

今天是学习的第11天&#xff0c;今天学习了组件的生命周期&#xff0c;这里的生命周期&#xff0c;主要是学习uni-app的组件生命周期&#xff0c;虽然vue也有&#xff0c;但主要还是学习uni-app的。1. onLoad 监听页面加载&#xff0c;该钩子被调用时&#xff0c;响应式数据、计…

Python新手注意:避免常见错误,学会‘/’和‘\’的正确使用

Python 编程语言中的正反斜杠符号&#xff08;‘/’和‘\’&#xff09;是非常基础但又极其重要的元素&#xff0c;它们在不同的场合下扮演着不同的角色。了解这两个符号的意义和用法&#xff0c;对于编写清晰、有效的代码至关重要。 基础概念 正斜杠&#xff08;‘/’&#…

Image to Music V2 :只需上传一张照片,自动转换成与图片内容匹配的音频!

前言 我们之前肯定已经见过了很多文本生成图片、文本生成声音以及AI翻唱歌曲 等多种AI产品&#xff08;模型&#xff09;。 其实音乐和图片从某种意义上来说都是艺术创作的一种形式&#xff0c;它们可以相互配合&#xff0c;共同呈现出一种更加丰富、感性的表达方式。 将图片…

vue+vant项目0-1快速发布到--钉钉应用

uniapp开发笔记----vue开发项目配置钉钉应用 一、 vuevant开发项目1. 自定义vuevant项目或者已经有的旧项目1. 自定义vuevant项目1. 创建vue项目2. 安装依赖3. 引入所有组件4. 使用一个组件/效果和代码如下&#xff1a; 2. git官网仓库&#xff0c;直接拉默认dome代码3. 打包项…

优思学院:精益六西格玛如何影响企业文化?

精益六西格玛&#xff08;Lean Six Sigma&#xff09;是一种在优化生产过程、提高效率、减少浪费的管理方法论。其影响远不止于生产线或质量控制部门&#xff0c;实际上&#xff0c;精益六西格玛的实施可以深刻影响企业文化的各个层面&#xff0c;從而令企業獲得真正最大的成功…

游戏中的设计模式一

游戏开发是一个快速迭代的过程&#xff0c;代码复杂度也很高&#xff0c;借助于设计模式&#xff0c;可以帮助我们降低复杂度&#xff0c;降低系统间的耦合&#xff0c;从而高效高质的做出交付。 最近读了这本书&#xff1a;《游戏编程模式》[1]&#xff0c;很受启发&#xff…

AC/DC电源模块的可靠性设计与测试方法

BOSHIDA AC/DC电源模块的可靠性设计与测试方法 AC/DC电源模块是一种将交流电能转换为直流电能的设备&#xff0c;广泛应用于各种电子设备中&#xff0c;如电脑、手机充电器、显示器等。由于其关系到设备的供电稳定性和安全性&#xff0c;因此可靠性设计和测试是非常重要的。下…

AI绘画Stable Diffusion换脸插件ReActor 不香了,新一代换脸神器 InstantID!

前 言 之前我介绍了 SD 中的一款换脸插件 ReActor&#xff0c;虽然好使&#xff0c;但是安装还是有些许麻烦的。 今天给小伙伴们介绍一款新型的换脸插件&#xff1a;InstantID&#xff0c;主要是使用 ControlNet 和 IP-Adapter 的组合来控制扩散过程中的面部特征。 一句话&a…

「JavaEE」多线程案例分析2:实现定时器

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 实现定时器 &#x1f349;简介&#x1f349;模拟实现定时器 &#x1f349;简介 定时器类似一个闹钟&#xff0c;时间到了之后就会执行…

【全开源】JAVA国际版多语言语聊大厅语音聊天APP系统源码

JAVA国际版多语言语聊大厅语音聊天APP系统源码——深度解析市场需求&#xff0c;打造全球化语音社交平台 随着全球化的推进和移动互联网的普及&#xff0c;人们对于语音聊天的需求日益增长。尤其是在国际交流日益频繁的今天&#xff0c;一个支持多语言、覆盖全球用户的语音聊天…

分布式搜索-elaticsearch基础 概念

什么是elaticsearch: 倒排索引&#xff1a;就是将要查询的内容分成一个个词条&#xff0c;在将词条文档id存入&#xff0c;词条是唯一的。 文档词条总结: mysql和Elasticsearch概念对比: 架构: 基本概念总结:

互联网盲盒小程序开发,提高商家在市场中的竞争力

随着人们生活水平的提高&#xff0c;对娱乐消费需要也在慢慢增加&#xff0c;潮玩市场也因此得到了快速发展&#xff0c;尤其是盲盒&#xff0c;深受大众的喜爱&#xff0c;现在在各大商场以及各种社交平台上都能看到盲盒的身影&#xff0c;市场影响力非常大&#xff01; 在当…

FastAPI:Python打造高效API的终极武器

在Python的世界里&#xff0c;如果你想要一个既快速又现代的方式来构建API&#xff0c;那么FastAPI可能是你的首选。这个库基于Starlette&#xff08;用于Web编程&#xff09;和Pydantic&#xff08;用于数据验证&#xff09;&#xff0c;专门为速度和易用性设计。 什么是FastA…