亲自实践 YOLO-World
了解 YOLO-World,这是一款可以通过文本提示识别物体的创新目标检测模型。探索 YOLO-World 的工作原理及其应用,并通过一个简短的代码示例亲自实践。

计算机视觉项目通常需要花费大量时间标注数据和训练目标检测模型。但这可能很快就会成为过去。腾讯 AI Lab 于 2024 年 1 月 31 日发布了YOLO-World,这是一款实时开放词汇目标检测模型。YOLO-World 是一种零样本模型,这意味着你无需训练模型,就可以在图像上运行目标检测推理。
零样本模型有望改变我们处理计算机视觉应用的方式。在本文中,我们将探讨 YOLO-World 的工作原理及其潜在用途,并分享一个实用的代码示例,帮助你快速开始。
初探 YOLO-World#
你可以将图像和描述目标的文本提示输入 YOLO-World 模型。例如,如果你想在照片中找到“穿红色衬衫的人”,YOLO-World 会接收这一输入并开始工作。
该模型独特的架构结合了三个主要部分:
- 一个基于Ultralytics YOLOv8目标检测模型的检测器,用于分析图像中的视觉内容。
- 一个由 OpenAI 的 CLIP 预训练的文本编码器,专门用于理解你的文本提示。
- 一个视觉-语言路径聚合网络(RepVL-PAN),用于整合处理后的图像数据和文本数据。
YOLO 检测器会扫描输入图像,以识别潜在目标。文本编码器会将你的描述转换为模型能够理解的格式。随后,这两路信息通过 RepVL-PAN,利用多层级跨模态融合进行合并。这样,YOLO-World 就能在图像中精确检测并定位提示所描述的目标。

YOLO-World 结果示例。
选择 YOLO-World 的优势#
使用 YOLO-World 的最大优势之一,是你无需针对特定类别训练模型。它已经从图像和文本对中学习,因此能够根据描述查找目标。你可以省去数小时的数据收集、数据标注以及在昂贵 GPU 上训练等工作。
以下是使用 YOLO-World 的其他一些优势:
- 实时性能 - YOLO-World 与原始 YOLO 架构一样支持实时性能。它非常适合自动驾驶汽车和监控系统等需要立即进行目标检测的应用。
- 实例分割 - YOLO-World 可以清晰地勾勒并分离图像中的目标,即使这些目标在训练期间没有被专门教过。
- 效率 - YOLO-World 将高精度与计算效率相结合,使其适用于实际应用。其精简的架构让快速目标检测成为可能,同时不会对处理能力提出过高要求。
YOLO-World 的应用#
YOLO-World 模型可用于各种各样的应用。下面来看看其中一些。
制造业质量控制#
装配线上生产的产品在包装前需要进行目视缺陷检查。缺陷检测通常由人工完成,这既耗时,也容易出错。这些错误可能导致高昂成本、维修或召回等问题。为了解决这一问题,人们开发了专用机器视觉相机和 AI 系统来执行这些检查。
YOLO-World 模型是这一领域的一项重大进步。凭借零样本能力,即使没有针对某个具体问题进行训练,它们也能发现产品中的缺陷。例如,使用 YOLO-World,生产水瓶的工厂可以轻松区分瓶盖密封良好的瓶子,以及漏盖或瓶盖有缺陷的瓶子。

瓶盖检测示例。
机器人技术#
YOLO-World 模型可以让机器人与陌生环境互动。即使没有针对房间中可能出现的特定物体进行训练,它们仍然能够识别其中有哪些物体。比如,一个机器人进入从未去过的房间。借助 YOLO-World 模型,它仍然可以识别椅子、桌子或灯等物体,尽管它没有专门针对这些物体进行训练。
除了目标检测之外,YOLO-World 还可以确定这些目标的状态,这得益于其“先提示后检测”功能。例如,在农业机器人领域,可以通过对机器人进行编程来检测水果,从而识别成熟和未成熟的水果。
汽车行业中的 AI#
汽车行业涉及许多运动部件,YOLO-World 可用于不同的汽车应用。例如,在汽车维护方面,YOLO-World 无需人工标注或大量预训练即可识别各种目标,这一能力非常实用。YOLO-World 可用于识别需要更换的汽车零部件,甚至可以自动执行新车质量检查、发现缺陷或缺失部件等任务。
另一个应用是在自动驾驶汽车中进行零样本目标检测。YOLO-World 的零样本检测能力可以提升自动驾驶汽车实时检测和分类道路上行人、交通标志及其他车辆等目标的能力。这样,它可以帮助检测障碍物并防止事故,让出行更加安全。

道路目标检测示例。
零售店库存管理#
识别零售店货架上的物体,是跟踪库存、维持库存水平和实现流程自动化的重要环节。Ultralytics YOLO-World 无需人工标注或大量预训练即可识别各种目标,这一能力对库存管理非常实用。
例如,在库存管理中,YOLO-World 可以快速发现并分类货架上的商品,例如不同品牌的能量饮料。零售店可以保持准确的库存记录,高效管理库存水平,并使供应链运营更加顺畅。
所有这些应用各具特色,充分展现了 YOLO-World 广泛的应用范围。接下来,让我们亲自上手 YOLO-World,看看一个代码示例。
代码演练#
正如前文所述,YOLO-World 可用于检测汽车的不同部件,以进行维护。一个用于检测所需维修项目的计算机视觉应用,需要拍摄汽车照片、识别汽车部件、检查每个部件是否受损,并提出维修建议。该系统的每个环节都会使用不同的 AI 技术和方法。在本次代码演练中,我们重点关注汽车部件检测这一环节。
使用 YOLO-World,你可以在 5 分钟内识别图像中的不同汽车部件。你还可以扩展这段代码,尝试使用 YOLO-World 实现各种应用!首先,我们需要按照下面的示例 pip install Ultralytics 软件包。
有关安装过程的更多说明和最佳实践,请查看我们的Ultralytics 安装指南。在为 YOLOv8 安装所需软件包时,如果遇到任何困难,请查看我们的常见问题指南,获取解决方案和建议。
安装所需软件包后,我们就可以从 Internet 下载一张图像来运行推理。我们将使用下面的图像。

我们的输入图像。
接下来,我们将导入所需软件包、初始化模型,并设置要在输入图像中查找的类别。这里,我们关注以下类别:汽车、车轮、车门、汽车后视镜和车牌。
然后,我们将使用 predict 方法,传入图像路径,以及最大检测数量、交并比(IoU)阈值和置信度(conf)阈值等参数,在图像上运行推理。最后,检测到的目标会保存到名为 'result.jpg' 的文件中。
下面的输出图像将保存到你的文件中。

我们的输出图像。
如果你不想编写代码,也想了解 YOLO-World 的能力,可以前往 YOLO-World 演示页面,上传输入图像并输入自定义类别。
阅读我们的YOLO-World 文档页面,了解如何使用自定义类别保存模型,以便之后无需反复输入自定义类别即可直接使用。
你是否注意到车门没有被检测出来?#
再次查看输出图像时,你会发现自定义类别“车门”没有被检测出来。尽管 YOLO-World 取得了出色的成果,但它仍存在一些局限性。为了应对这些局限并有效使用 YOLO-World 模型,使用正确类型的文本提示非常重要。
下面是一些相关提示:
- YOLO-World 可能不需要很高的置信度即可获得准确预测,因此降低置信度阈值可以提高检测率。
- 添加你不感兴趣的类别。这有助于减少次要目标的误报,从而改进主要的目标检测。
- 先检测较大的目标,再关注较小的细节,可以提高检测精度。
- 在类别中注明颜色,以便根据颜色线索检测目标。
- 在提示中描述目标大小,也可以帮助 YOLO-World 更准确地识别特定目标。
- 后处理方法(例如按大小筛选预测结果,或针对每个类别调整置信度)可以进一步改善目标检测结果。
限制无穷#
总体而言,凭借先进的目标检测能力,YOLO-World 模型可以成为强大的工具。它具有效率高、精度高等优势,还能帮助自动化各种应用中的不同任务,例如我们实际讨论过的识别汽车部件。
欢迎探索我们的GitHub 代码仓库,进一步了解我们在计算机视觉和 AI 领域的贡献。如果你想了解 AI 如何重塑医疗保健技术等行业,请查看我们的解决方案页面。YOLO-World 等创新带来的可能性似乎无穷无尽!









