实时开放词汇目标检测

YOLO-World:开启实时开放词汇目标检测新范式 YOLO-World通过视觉-语言联合建模和动态词汇表机制,重新定义了实时开放词汇目标检测。该技术能够实时检测任意文本描述的目标,如'拿着咖啡杯的穿睡衣的程序员',同时保持高效性能。文章详细解析了其核心架构、数据生产方法和实战调参经验,展示了在电商、工业质检等场景的突破性应用。 阅读详情


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:人工智能、话题分享

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

​​

​​

目录

概述

模型框架

使用方式

配置环境

训练和评估

训练

评估

演示效果

Image Demo

Gradio Demo


 本文所有资源均可在该地址处获取。

概述

论文:YOLO-World: Real-Time Open-Vocabulary Object Detection

代码:AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection (github.com)

YOLO-World是由腾讯人工智能实验室于2024年1月31日发布的实时开放词汇目标检测模型,能够在实时环境中跨越开放词汇表识别对象,无需先前的训练。传统的目标检测模型如YOLO由于依赖于预定义和训练过的目标类别(闭集检测),它在开放场景中的适用性受到了限制,例如,使用COCO数据集训练的模型仅能识别80个不同的类别。为了应对固定词汇检测器的限制,开放词汇目标检测(OVD)的概念应运而生,旨在识别超出预先建立类别范围之外的对象。

YOLO-World利用大量的图像-文本对和基础图像进行训练,以理解和响应各种提示,例如“穿着黑色裤子的人”。通过引入“提示-然后检测”的方法论,YOLO-World避开了即时文本编码的需要,而是利用用户提示生成的离线词汇来进行检测。这种方法显著降低了计算需求,允许灵活调整检测词汇,以满足各种需求,而不会影响性能,从而拓展了模型在实际场景中的适用性。在LVIS这个具有挑战性的数据集上,YOLO-World在V100上达到了35.4的AP和52的FPS,无论是精度和速度上都超越了以前SOTA的方法,如下图所示。

image-20240411105536651

模型框架

image-20240411105659293

上图所示为YOLO-World的整体框架,主要包括了YOLO检测器,Text Encoder,和RepVL-PAN(Re-parameterizable Vision-Language Path Aggregation NetWork)。与传统检测器不同的是,YOLO-World作为开集检测器,需要使用文本作为输入,Text Encoder首先会编码输入的文本,然后输出Vocabulary embedding;之后Image Encoder(backbone)会编码输入图像,或者说提取图像特征,以获得多尺度特征图;RepVL-PAN(Vision-Language PAN)会利用图像和文本特征的多层次跨模态进行融合;最后,YOLO-World会预测出回归框和目标embedding,去匹配在输入文本中的出现的类别或者名词。

YOLO检测器

YOLO-World 是基于YOLOv8开发出来的,它包含了Darknet的backbone作为图像encoder,一个路径聚合网络(PAN)构建多尺度特征金字塔,以及一个输出回归边界框和目标embedding的预测头。

文本encoder

给定文本T,我们使用预训练CLIP的Transformer text encoder抽取相关的文本embedding。CLIP的text encoder能够提供更好的视觉-语义能力,使得视觉目标和文本相互连接。

文本对比头(Text Contrastive Head)

使用了yolov8的解耦头和俩个3×3卷积。因为要计算目标-文本的相似度,所以提出文本对比头。为了稳定区域-文本训练,目标编码e和文本编码t使用L2-Norm。

在线词汇表

在训练过程中,为每个包含4幅图像的马赛克样本构建一个在线词汇表 。

离线词汇表

提出了一种以“提示后检测”的策略,使用离线词汇以进一步提高效率。离线词汇表,特指的是经过encoder的embedding,也就是类别名,名词短语和目标描述构成的特征矩阵。与之对应的是,在线词汇则表示的不是embedding,在线词汇指的是没有经过encoder编码后的词汇

RepVL-PAN

image-20240411112406685

RepVL-PAN的内部结构如上图所示。其中,文本引导的CSPLayer(T-CSPLayer),负责将语言信息注入图像特征中;而图像池化注意力Image Pooling Attention(I-Pooling Attention)则是负责强化具备图像意识的text embedding,以进一步增强图像特征与文本特征之间的交互,这可以提高开集能力的视觉语义表示。RepVL-PAN使用的和YOLOv8相似的特征融合结构,包括了自上而下和自下而上的路径,使用了多尺度的图像特征 {C3,C4,C5}搭建了特征金字塔 {P3,P4,P5}。

使用方式

配置环境

创建python虚拟环境并激活虚拟环境

conda create -n yolov_world python=3.10
conda activate yolov_world

安装依赖包

# 安装pytorch
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 --extra-index-url https://download.pytorch.org/whl/cu113

# 安装其他依赖,这一步会比较久
pip install -e .
# 如果一直卡在Building wheel for mmcv就尝试下面的两个命令然后再重试
pip install -U openmim
mim install mmcv

训练和评估

训练

使用mmyolo默认的训练脚本,位于configs/pretrain目录下。注意:YOLO-World是在4个节点(每个节点配有8个GPU,总计32个GPU)上训练的。

# 给脚本增加可执行权限
chmod +x tools/dist_train.sh
# 训练的示例命令,使用8个GPU,开启AMP混合精度训练
./tools/dist_train.sh configs/pretrain/yolo_world_l_t2i_bn_2e-4_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py 8 --amp

评估

使用mmyolo默认的评估脚本,位于configs/finetune_coco目录下。主要在LVIS-minival数据集上评估预训练模型的性能。

# # 给脚本增加可执行权限
chmod +x tools/dist_test.sh
# 评估的命令
./tools/dist_test.sh path/to/config path/to/weights 8

演示效果

Image Demo

python image_demo.py path/to/config path/to/weights image/path/directory 'person,dog,cat' --topk 100 --threshold 0.005 --output-dir demo_outputs

# 将path/to/config替换成配置文件的路径,path/to/weights换成模型权重路径,模型权重可以在https://huggingface.co/wondervictor/YOLO-World/tree/main中下载,注意配置文件和模型权重需要对应,image/path/directory换成自己要检测图像的路径,'person,dog,cat' 换成自己感兴趣的类别,运行成功后结果在demo_outputs下查看。
# python image_demo.py configs/pretrain/yolo_world_v2_m_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py ./yolo_world_v2_m_obj365v1_goldg_pretrain-c6237d5b.pth data/images 'person,dog,cat' --topk 100 --threshold 0.005 --output-dir demo_outputs

image-20240411113612471

YOLO-World 框架允许通过自定义提示动态指定类别,使用户能够根据自己的特定需求定制模型,而无需重新训练。通过设置自定义提示,用户可以引导模型关注感兴趣的对象,从而提高检测结果的相关性和准确性。如将上面的’person,dog,cat’ 换成自己感兴趣的类别。

(注:如果运行报错:Incorrect path_or_model_id: ‘…/pretrained_models/clip-vit-base-patch32-projection’.将configs目录下对应的配置文件(如上面的configs/pretrain/yolo_world_v2_m_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py )中第一个text_model_name注释掉,第二个text_model_name取消注释,从而自动从huggingface下载clip模型。)

Gradio Demo

在本地机器上运行web界面

pip install gradio==4.16.0 onnx onnxsim # 安装依赖
python demo.py path/to/config path/to/weights

# python demo.py configs/pretrain/yolo_world_v2_m_vlpan_bn_2e-3_100e_4x8gpus_obj365v1_goldg_train_lvis_minival.py ./yolo_world_v2_m_obj365v1_goldg_pretrain-c6237d5b.pth

运行成功然后在浏览器访问http://127.0.0.1:8080可以看到下面的界面,左上方输入检测的图片,下方的文本框输入想检测的类别,然后点击submit就能在右边生成检测结果。下面可以调节一些参数,如NMS Threshold等。还支持导出onnx模型。

image-20240411003544258

​​

实时开放词汇目标检测(论文复现) 阅读详情

相关推荐

YOLO-World:实时开放词汇目标检测

Open Vocabulary:开放词汇论文链接:https://arxiv.org/pdf/2401.17270.pdfYou Only Look Once (YOLO) 系列检测器已经确立了自己作为高效和实用工具的地位。然而,它们对预定义和训练过的对象类别的依赖限制了它们在开放场景中的适用性。为了解决这个问题,我们引入了 YOLO-World,这是一种创新的方法,通过视觉语言建模和在大规模数据集上的预训练,为 YOLO 增添了开放词汇检测能力。

m0_47867638的博客 1221

实时开放词汇目标检测研究综述

开放词汇目标检测研究综述摘要 开放词汇目标检测(OVOD)突破了传统目标检测的封闭类别限制,能够通过自然语言描述识别任意新类别。本文系统梳理了OVOD的研究进展:首先分析传统检测方法的局限性(封闭类别、泛化能力差、扩展成本高),明确OVOD的核心定义是"基于文本引导识别新物体";其次对比传统与开放检测在类别设定、文本输入、零样本能力等方面的差异;然后介绍OVOD发展历程,从2017年萌芽期到2023年实时期(YOLO-World等);最后指出OVOD的优势在于无需重新训练即可扩展新类别,

dejahu的博客 1056

YOLOE高效开放目标检测:实时开放词汇模型实战指南

目标检测是计算机视觉的核心任务之一,传统模型受限于固定类别,新增类目往往需要重新标注训练。开放词汇检测技术通过文本描述动态指定识别目标,打破了这一瓶颈。YOLOE作为高效开放目标检测模型,采用轻量文本映射与Lazy Label策略,在保持实时推理的同时支持任意类别文本输入。该技术让工程团队无需为每个新场景单独训练模型,仅需修改词汇表即可完成类别扩展,适用于边缘设备、视频流监控和工业缺陷检测等场景。本文围绕YOLOE的设计原理、环境搭建、推理部署与自有数据微调展开,结合ONNX导出和实际避坑案例,帮助开发者快

weixin_29035147的博客 142

yolo_world_pytorch实时开放词汇目标检测模型

YOLO-World是一种实时开放词汇目标检测系统,它通过视觉-语言建模和大规模数据集上的预训练,增强了YOLO(You Only Look Once)系列检测器的开放词汇检测能力。该模型没有使用在线词汇表,而是提供了一个提示-检测范式,其中用户根据需要生成一系列提示,提示将被编码到离线词汇表中。然后可以将其重新参数化为模型权重,用于部署和进一步加速。

qq_27815483的博客 1970

Ubuntu 20.04 环境下Autoware.universe 与 Carla 0.9.13 联合仿真

安装内容: ROS Galactic Autoware.universe based on ROS Galactic Carla 0.9.13 UnrealEngine 4.26 Openplanner (additional files: op-bridge/op-agent/scenariorunner/map data)

mhl1107的博客 1798

告别迷茫!用ETAS RTA-OS配置你的第一个AUTOSAR OS任务(含VRTA虚拟ECU实战)

本文详细介绍了如何使用ETAS RTA-OS工具链在VRTA虚拟ECU上配置和运行第一个AUTOSAR OS任务。通过从XML配置到任务调度的全流程实战,帮助开发者快速掌握嵌入式操作系统开发的核心步骤,特别适合刚接触AUTOSAR的开发者快速上手。

weixin_42533622的博客 418

如何快速上手YOLO-World:实时开放词汇目标检测的终极指南

YOLO-World是一款革命性的实时开放词汇目标检测器,能够让你轻松实现基于任意词汇的对象识别,无需复杂配置即可快速部署。无论是新手还是资深开发者,都能通过本指南快速掌握这款下一代YOLO模型的安装与使用技巧。 ## ???? 为什么选择YOLO-World?核心优势解析 YOLO-World作为下一代YOLO检测器,继承了YOLO系列的高效性,同时突破性地实现了开放词汇检测能力。它采用"先提示...

gitblog_01180的博客 758

基于立创EDA的8口全千兆POE交换机设计详解:RTL8370N芯片与90W大功率供电方案

本文详细解析了基于立创EDA设计的8口全千兆POE交换机方案,核心采用RTL8370N交换芯片与支持90W大功率供电的IEEE 802.3bt标准PD芯片。文章深入探讨了PSE/PD供电管理、电源架构设计、电路细节及关键散热方案,为DIY或学习POE交换机硬件设计提供了完整的开源实践指南。

weixin_29050829的博客 1万+

YOLO-World:实时开放词汇目标检测的革命性突破

在计算机视觉领域,目标检测一直是最核心的任务之一。传统的目标检测模型需要预先定义好类别,无法识别训练时未见过的新物体。YOLO-World作为CVPR 2024的突破性成果,彻底改变了这一局面!这个开源项目实现了实时开放词汇目标检测,让你可以用任意文本描述来检测图像中的物体,无需重新训练模型。无论是"戴眼镜的猫"还是"红色跑车",YOLO-World都能准确识别,真正实现了"所见即所得"的智能视觉

gitblog_01102的博客 147

RK3568移植AP6256

本文主要是记录RK3568移植正基的AP6256的WIFIBT模块,感兴趣的朋友可以一起学习!!!提示:以下是本篇文章正文内容,下面案例可供参考。

qq_24093081的博客 3715

(王道408考研数据结构)第二章线性表-第一节:线性表的定义和基本操作

文章目录一:线性表的定义二:线性表的基本操作 一:线性表的定义 线性表(Linear List):零个或多个数据元素的有限序列 元素之间是有顺序的 若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继 线性表强调有限,“所有的整数按递增次序排列”很明显不是线性表 线性表可以表示为 L=(a1,a1,...,ai+1,...,an)L=(a_{1},a_{1},...,a_{i+1},...,a_{n})L=(a1​,a1​,...,ai+1​,...,an​) a

快乐江湖的博客 3700

Yolo-World | 检测一切模型:高效实时开放词汇目标检测

YOLO-World旨在通过视觉语言建模和大规模数据集的预训练来增强 YOLO 的开放词汇检测功能。

m_aigc2022的博客 2001

《SOC架构-ARM架构-文档导读》-目录

小白请看“Armv8/Armv9架构从入门到精通”专栏。以翻译为主的,深度深度深度深度/深入深入深入 学习ARM架构的文章。

baron-周贺贺-代码改变世界ctw 2083

【论文精读】YOLO-World:实时开放词汇目标检测

YOLO系列检测器因其高效性和实用性而被广泛认可。然而,它们依赖于预定义和训练过的物体类别,这限制了其在开放场景中的适用性。为了解决这一限制,我们提出了YOLO-World,这是一种创新的方法,通过视觉-语言建模和在大规模数据集上进行预训练,赋予YOLO开放词汇检测能力。具体来说,我们提出了一个新的可重参数化的视觉-语言路径聚合网络(RepVL-PAN)和区域-文本对比损失函数,以促进视觉和语言信息之间的交互。我们的方法在零样本检测中表现出色,能够高效地检测广泛的目标。

记录学习内容 1918

前沿探索:基于强化学习的目标检测与跟踪技术及论文解析

前沿探索:基于强化学习的目标检测与跟踪技术及论文解析 ,人工智能,计算机视觉,大模型,AI,本文聚焦基于强化学习的目标检测与跟踪技术,先介绍相关技术基础,包括目标检测、跟踪及强化学习的算法等。接着阐述强化学习在目标检测与跟踪中的应用思路、框架及典型算法,解析三篇相关论文的背景、方法、实验结果。还探讨了该技术面临的样本效率、奖励函数设计等挑战,以及结合迁移学习等的未来发展方向,为该领域研究提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

在 SAP BTP 上为应用开启多租户能力:基于 SaaS Provisioning 和 XSUAA 的完整实践指南

本文介绍了在SAP BTP上配置多租户应用的实战指南。主要内容包括: 多租户架构概述:解释provider子账户、consumer子账户和tenant的概念,以及数据隔离机制。 安全配置:在xs-security.json中设置tenant-mode为shared,并为SaaS Provisioning服务添加回调scope授权。 路由配置:通过manifest.yml设置TENANT_HOST_PATTERN来定义多租户访问模式,确保不同租户通过不同子域名访问同一应用。 服务绑定:将XSUAA和SaaS

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 144

YOLO-World终极指南:开启零基础实时开放词汇目标检测新时代

还在为传统目标检测模型无法识别自定义物体而烦恼吗?YOLO-World将彻底改变这一现状!作为下一代实时开放词汇目标检测器,它让你无需重新训练就能检测任意词汇描述的物体,真正实现了"想到什么就能检测什么"的智能体验。 ## 🌟 颠覆传统:为什么YOLO-World如此特别? 想象一下,你只需要输入"红色跑车、戴帽子的人、白色猫咪",系统就能立即在图片中精准定位这些目标。这就是YOLO-Wor

gitblog_00676的博客 801

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

YOLO-World完全指南:零代码实现开放词汇实时目标检测

你是否曾经梦想过拥有一个"万能"的目标检测器?不是只能识别预定义的那几十种物体,而是能够理解你任意描述的任何物体——从"红色雨伞"到"正在喝咖啡的程序员",再到"办公室角落的绿植"。这就是YOLO-World带给我们的革命性体验!作为CVPR 2024的明星项目,YOLO-World实现了开放词汇目标检测的突破,让你用自然语言描述就能检测任何物体,而且还能保持YOLO系列引以为傲的实时性! 想象

gitblog_00142的博客 198

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

YOLO-World:开放词汇实时目标检测技术解析

目标检测是计算机视觉的核心任务,传统方法受限于预定义类别。YOLO-World通过融合视觉语言模型,实现了开放词汇检测能力,支持动态识别训练时未见过的物体。其核心技术包括区域-文本对齐模块和语义激活编码器,在保持YOLO系列实时性的同时,显著提升了模型灵活性。这项技术在零售智能分析、工业质检等场景展现强大应用价值,特别是其160FPS的实时性能和零样本迁移能力,为动态环境下的物体识别提供了新范式。

weixin_29045585的博客 178

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV-DEIM:基于DETR的实时开放词汇目标检测系统

目标检测是计算机视觉中的基础任务,传统方法受限于封闭词汇表,只能识别训练集中存在的类别。随着Transformer架构的普及,DETR等端到端检测模型通过自注意力机制实现了更灵活的检测范式。开放词汇表检测技术结合视觉-语言对齐策略,使模型能够识别训练时未见过的类别,这对智能零售、工业质检等实际应用具有重要意义。OV-DEIM系统创新性地采用GridSynthetic数据增强和DETR架构优化,在保持实时性能(45FPS)的同时,显著提升了新类别识别率(达52.8%)。该系统通过CLIP等多模态模型实现视觉与

weixin_29061425的博客 276

5分钟掌握YOLO-World:零基础入门实时开放词汇目标检测的完整指南

想要让计算机像人类一样"看懂"图片,识别出任何你描述的物体吗?传统的目标检测模型需要预先定义好所有要检测的类别,而YOLO-World彻底改变了这一范式!这是一个突破性的实时开放词汇目标检测框架,能够识别任何你输入的文本描述中的物体,无需预先训练特定类别。无论你是AI新手还是经验丰富的开发者,本文将带你快速上手这个革命性的工具。 YOLO-World是下一代YOLO检测器,具备强大的开放词汇检测

gitblog_00596的博客 219

YOLOv8结合大模型实现开放词汇实时目标检测

目标检测是计算机视觉中的基础技术,其核心原理是通过深度学习模型识别图像中的特定对象。传统方法如YOLO系列依赖固定类别集,而开放词汇检测通过结合视觉语言大模型,突破了这一限制。这种技术将视觉特征与语义嵌入空间对齐,实现了动态类别扩展能力,同时保持实时性优势。在工程实践中,采用离线预计算和模型量化技术,可以显著提升部署效率。该方案特别适用于工业质检和智能零售等需要灵活识别新对象的场景,其中YOLOv8的高效架构与大模型的语义理解能力形成优势互补。通过提示工程和特征蒸馏等技巧,还能进一步优化模型在边缘设备上的表

weixin_29031161的博客 292
上一篇: Modnet 人像抠图
下一篇: 【ViT】对图片进行分类
Srlua小谢
Srlua小谢 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域
博客等级 码龄4年 8963粉丝 332原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值