论文精读:YOLOE: Real-Time Seeing Anything

news2025/5/11 16:19:54

文章目录

  • 前言
  • 1、背景
  • 2、方法
    • 2.1.重参Region-Text对齐模块
    • 2.2.VisualPrompt模块
    • 2.3.PromptFree
  • 2.4.损失函数
  • 3、实验
    • 3.1.训练集
    • 3.2.实验结果
  • 总结


前言

 本文介绍一篇来自清华的开放词汇检测论文:YOLOE;源码链接。

在这里插入图片描述

1、背景

 本文在yolo-world基础上,拓展使其支持开方词汇检测、分割、以及visual prompt和prompt free来实现检测任务。笔者感觉其灵感来自DINO-X,后续我会单独写一篇博客来介绍,读者有兴趣可自行阅读。

2、方法

 论文的行文思路是如何实现各种prompt检测的,如下图所示:左下角是visual prompt模块,右下角是重参Text模块、右上角部分是prompt free模块,即不指定prompt会尽可能检索词库里的物体。
在这里插入图片描述
 而图中其余部分:左上角部分其实就是yolo-world,其中Seg、Reg表示分割和检测头,而Embedding则是每个anchor包含的语义向量:比如维度是[8400,256],其中8400表示anchor个数,后续该Embedding即O跟各种prompt进行对比学习,来实现物体类别判断。
 下面将分别介绍各个prompt模块是如何实现的。


2.1.重参Region-Text对齐模块

在这里插入图片描述

 如上图所示,首先Text经过TextEncoder提取出特征嵌入向量P,然后经过 f θ f_\theta fθ 经过一次变换,得到Prompt Embedding。注意,上述部分在部署阶段是可以离线做的,即不影响模型性能,也就是Re-parameterization过程。 整体流程比较简单, f θ f_\theta fθ 则是如下图,选用了一个FFN:
在这里插入图片描述

2.2.VisualPrompt模块

在这里插入图片描述
 这块就是如何将box或者mask等视觉prompt转化成PromptEmbedding,输入需要借助经过PAN模块的P3-P5特征层,子模块设计了一个激活分支和语义分支,其中S表示语义分支输出,W表示激活分支输出:
在这里插入图片描述
 这里简单说下S和W是如何聚合的,作者采用类似分组卷积思想,将S分成A组,即下面公式中的G_i,通过下面公式将W的A那个维度给销掉了,从而得到PromptEmbedding,使其维度对齐其余的Prompt embedding。
在这里插入图片描述

2.3.PromptFree

在这里插入图片描述
 该部分作者使用了一种LazyRegionPromptContrast方式:首先自己内建了一个词汇库特征向量,然后又额外创建一条可学习的Specialized Embedding,然后跟每个Anchor_Points的特征向量进行乘积,但考虑到检索复杂度太大,因此,在进行Retrieval前,进行了一步过滤:就是人为卡了个阈值 δ \delta δ
在这里插入图片描述

2.4.损失函数

 分配策略采用simOTA ,损失就是二元交叉熵和定位以及Seg Loss。

3、实验

3.1.训练集

 跟yolo-world一样O365+GQA,只不过用SAM得到mask来进行Seg分支训练。训练阶段比较复杂,分为好几个阶段,分别训练不同的prompt分支。(感觉这块不完美)。

3.2.实验结果

 依旧看LVIS指标,看起来确实比YOLO-world效果明显。
在这里插入图片描述
 还有prompt free的前景物体召回实验结果:
在这里插入图片描述

总结

 整体来说是YOLO-World一篇拓展,使其支持各种Prompt方式,但训练stage很多,这点可能训练会不方便,另外,对于实际应用来说:应该是个不错的部署工作。

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

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

相关文章

以影像为笔,劳润智在世界舞台上书写艺术之路

在光影交织中,摄影师劳润智的镜头仿佛能穿透喧嚣,捕捉人类情感最细腻的脉动。从疫情下洛杉矶裁缝日常的温馨瞬间,到象征自由与解脱的飞鸟影像,再到探索时间与空间交错的抽象作品,每一幅作品都展现了他对艺术的深度追求与对生活的温柔洞察。 劳润智的作品为他赢得了多个国际奖项…

LLMs之ChatGPT:《Connecting GitHub to ChatGPT deep research》翻译与解读

LLMs之ChatGPT:《Connecting GitHub to ChatGPT deep research》翻译与解读 导读:这篇OpenAI帮助文档全面介绍了将GitHub连接到ChatGPT进行深度代码研究的方法、优势和注意事项。通过连接GitHub,用户可以充分利用ChatGPT强大的代码理解和生成…

【桌面】【输入法】常见问题汇总

目录 一、麒麟桌面系统输入法概述 1、输入法介绍 2、输入法相关组件与服务 3、输入法调试相关命令 3.1、输入法诊断命令 3.2、输入法配置重新加载命令 3.3、启动fcitx输入法 3.4、查看输入法有哪些版本,并安装指定版本 3.5、重启输入法 3.6、查看fcitx进程…

QT的初始代码解读及其布局和弹簧

this指的是真正的当前正在显示的窗口 main函数: Widget w是生成了一个主窗口,QT Designer是在这个主窗口里塞组件 w.show()用来展示这个主窗口 头文件: namespace Ui{class Widget;}中的class Widget和下面的class Widget不是一个东西 Ui…

Profinet转CanOpen网关,打破协议壁垒的关键技术

在石油化工行业的生产现场,各类自动化设备如同精密运转的神经系统,而通信协议则是传递信号的"语言"。当不同厂商的设备采用Canopen与Profinet这两种主流工业协议时,就像两个使用不同方言的专家需要实时协作,此时开疆智能…

引用第三方自定义组件——微信小程序学习笔记

1. 使用 npm 安装第三方包 1.1 下载安装Node.js 工具 下载地址:Node.js — Download Node.js 1.2 安装 npm 包 在项目空白处右键弹出菜单,选择“在外部终端窗口打开”,打开命令行工具,输入以下指令: 1> 初始化:…

SpringAI实现AI应用-使用redis持久化聊天记忆

SpringAI实战链接 1.SpringAl实现AI应用-快速搭建-CSDN博客 2.SpringAI实现AI应用-搭建知识库-CSDN博客 3.SpringAI实现AI应用-内置顾问-CSDN博客 4.SpringAI实现AI应用-使用redis持久化聊天记忆-CSDN博客 5.SpringAI实现AI应用-自定义顾问(Advisor&#xff09…

C#问题 加载格式不正确解决方法

出现上面问题 解决办法:C#问题 改成x86 不要选择anycpu

CentOS 7.9 安装详解:手动分区完全指南

CentOS 7.9 安装详解:手动分区完全指南 为什么需要手动分区?CentOS 7.9 基本分区说明1. /boot/efi 分区2. /boot 分区3. swap 交换分区4. / (根) 分区 可选分区(进阶设置)5. /home 分区6. /var 分区7. /tmp 分区 分区方案建议标准…

如何使用测试软件 Jmeter

第一步,点击 编辑 添加线程组 第二步,右键单击线程组,添加取样器 HTTP 请求 第三步,设置请求路径 第四步,添加 查看结果树 用于查看请求响应 最后点击绿色小三角启动即可

2025盘古石初赛WP

来不及做,还有n道题待填坑 文章目录 手机取证 Mobile Forensics分析安卓手机检材,手机的IMSI是? [答案格式:660336842291717]养鱼诈骗投资1000,五天后收益是? [答案格式:123]分析苹果手机检材&a…

系统分析与设计期末复习

第一章 系统的五个特性 整体性、目的性、相关性、环境适应性、层次性 软件系统的四个特性 复杂性、一致性、可变性、不可见性 第二章 系统规划 系统开发生命周期 系统规划->系统分析->系统设计->系统实施->系统运行维护->系统规划 诺兰阶段模型 阶段&a…

IBM BAW(原BPM升级版)使用教程第八讲

续前篇! 一、流程开发功能模块使用逻辑和顺序 前面我们已经对 流程、用户界面、公开的自动化服务、服务、事件、团队、数据、性能、文件各个模块进行了详细讲解,现在统一进行全面统一讲解。 在 IBM Business Automation Workflow (BAW) 中,…

从电动化到智能化,法雷奥“猛攻”中国汽车市场

当前,全球汽车产业正在经历前所未有的变革,外资Tier1巨头开始向中国智能电动汽车市场发起新一轮“猛攻”。 在4月23日-5月2日上海国际车展期间,博世、采埃孚、大陆集团、法雷奥等全球百强零部件厂商纷纷发布战略新品与转型计划。在这其中&am…

鸿蒙开发——3.ArkTS声明式开发:构建第一个ArkTS应用

鸿蒙开发——3.ArkTS声明式开发:构建第一个ArkTS应用 一、创建ArkTS工程二、ArkTS工程目录结构(Stage模型)三、构建第一个页面四、构建第二个页面五、实现页面之间的跳转六、模拟器运行 一、创建ArkTS工程 1、若首次打开DevEco Studio,请点击…

word换行符和段落标记

换行符:只换行不分段 作用:我们需要对它进行分段,但它是一个信息群组,我希望它们有同样的段落格式! 快捷键:shiftenter 段落标记:分段 快捷键:enter 修改字体格式或段落格式 …

AI时代的数据可视化:未来已来

你有没有想过,数据可视化在未来会变成什么样?随着人工智能(AI)的飞速发展,数据可视化已经不再是简单的图表和图形,而是一个充满无限可能的智能领域。AI时代的可视化不仅能自动解读数据,还能预测…

深入理解 TCP:重传机制、滑动窗口、流量控制与拥塞控制

TCP(Transmission Control Protocol)是一个面向连接、可靠传输的协议,支撑着绝大多数互联网通信。在实现可靠性的背后,TCP 引入了多个关键机制:重传机制、滑动窗口、流量控制 和 拥塞控制。这些机制共同协作&#xff0…

uniapp-商城-51-后台 商家信息(logo处理)

前面对页面基本进行了梳理和说明,特别是对验证规则进行了阐述,并对自定义规则的兼容性进行了特别补充,应该说是干货满满。不知道有没有小伙伴已经消化了。 下面我们继续前进,说说页面上的logo上传组件,主要就是uni-fil…

springboot 加载 tomcat 源码追踪

加载 TomcatServletWebServerFactory 从 SpringApplication.run()方法进入 进入到 refresh () 方法 选择实现类 ServletWebServerApplicationContext 进入到 AbstractApplicationContext onRefresh() 方法创建容器 找到加载bean 得到 webServer 实例 点击 get…