当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 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.xdnf.cn/news/376255.html

相关文章:

  • 从0开始学习大模型--Day05--理解prompt工程
  • 零知识证明:区块链隐私保护的变革力量
  • HTTPS加密握手与加密算法
  • Kotlin 内联函数深度解析:从源码到实践优化
  • 分书问题的递归枚举算法
  • [思维模式-25]:《本质思考力》-6- 马哲的三大规律:对立统一规律、质量互变规律、否定之否定规律,以及在计算机领域中的体现
  • RHCE实验:远程控制qq邮箱发送邮件
  • 20250510解决NanoPi NEO core开发板在Ubuntu core22.04.3系统下适配移远的4G模块EC200A-CN的问题
  • C++内存管理
  • 仓库管理系统,Java+Vue,含源码及文档,高效管理仓库物资,实现入库、存储、出库全流程数字化精准管控
  • 基于CNN卷积神经网络的带频偏QPSK调制信号检测识别算法matlab仿真
  • MySQL 从入门到精通(五):索引深度解析 —— 性能优化的核心武器
  • idea如何快速生成测试类
  • 【赵渝强老师】TiDB SQL层的工作机制
  • Yocto中`${B}`变量的作用
  • 论文图表自动编号与交叉引用
  • python中的继承和多态
  • FreeRTOS Queue消息队列-笔记
  • AlimaLinux设置静态IP
  • 护网HVV初级蓝队面试题总结
  • Axure :基于中继器的列表删除 、 列表编辑
  • 自动语音拨号系统V2.6.0产品说明书
  • Dockers部署oscarfonts/geoserver镜像的Geoserver
  • BERT类模型
  • CenOS7切换使用界面
  • 推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统
  • 基于定制开发开源AI智能名片S2B2C商城小程序的公私域流量融合运营策略研究
  • 策略路由更改路径
  • Best Video下载器——抖音视频去水印工具
  • day21python打卡