上手体验 YOLO-World
了解 YOLO-World,这是一种可以通过文本提示识别对象的创新目标检测模型。探索 YOLO-World 的工作原理及其应用,并通过一个快速代码示例上手实践。

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

来自 YOLO-World 的结果示例。
Link to this section选择 YOLO-World 的优势#
使用 YOLO-World 的最大优势之一是你不必针对特定类别训练模型。它已经从图像和文本对中学习过,因此它知道如何根据描述找到目标。你可以避免数小时的收集数据、标注数据、在昂贵的 GPU 上进行训练等繁琐工作。
以下是使用 YOLO-World 的其他一些好处:
- 实时性能 - YOLO-World 支持与原始 YOLO 架构相同的实时性能。它非常适合需要即时目标检测的应用,例如自动驾驶车辆和监控系统。
- 实例分割 - YOLO-World 可以整齐地勾勒并分离图片中的目标,即使这些目标在其训练过程中并未被专门教授过。
- 效率 - YOLO-World 将高精度与计算效率相结合,使其在实际应用中非常实用。其精简的架构使得在无需过度消耗处理能力的情况下实现快速目标检测成为可能。
Link to this sectionYOLO-World 的应用场景#
YOLO-World 模型可用于多种多样的应用。让我们探索其中的一些。
Link to this section制造业中的质量控制#
流水线上制造的产品在包装前会进行视觉缺陷检查。缺陷检测通常是人工完成的,这既耗时又容易导致失误。这些失误可能会导致高昂的成本以及需要维修或召回等问题。为了解决这个问题,人们创造了专门的机器视觉摄像头和 AI 系统来执行这些检查。
YOLO-World 模型在这一领域取得了重大进展。得益于其零样本能力,即使在没有针对特定问题进行训练的情况下,它们也能发现产品的缺陷。例如,一家制造水瓶的工厂可以利用 YOLO-World 轻松识别瓶盖密封完好的瓶子与缺少瓶盖或瓶盖有缺陷的瓶子之间的区别。

瓶盖检查示例。
Link to this section机器人技术#
YOLO-World 模型允许机器人与陌生的环境进行交互。无需针对室内可能出现的特定物体进行训练,它们仍然可以识别出存在哪些物体。因此,假设一个机器人进入了一个它从未去过的房间。使用 YOLO-World 模型,即使它没有经过针对这些物品的专门训练,仍然可以识别出椅子、桌子或灯等物体。
除了目标检测之外,得益于其“提示后检测”功能,YOLO-World 还可以确定这些物体的状况。例如,在农业机器人领域,可以通过编程让机器人检测水果,从而识别成熟的水果和未成熟的水果。
Link to this section汽车工业中的 AI#
汽车工业涉及许多移动部件,而 YOLO-World 可用于各种汽车应用。例如,在汽车维修方面,YOLO-World 无需手动标记或大量预训练即可识别各种物体的能力极其有用。YOLO-World 可用于识别需要更换的汽车零件。它甚至可以自动化质量检查任务,检测新车中的缺陷或缺失部件。
另一个应用是自动驾驶汽车中的零样本目标检测。YOLO-World 的零样本检测能力可以提高自动驾驶车辆实时检测和分类道路上目标(如行人、交通标志和其他车辆)的能力。通过这种方式,它可以帮助检测障碍物并预防事故,从而实现更安全的出行。

道路目标检测示例。
Link to this section零售店库存管理#
识别零售商店货架上的商品是跟踪库存、维护存货和自动化流程的重要部分。Ultralytics YOLO-World 无需手动标记或大量预训练即可识别各种物体的能力,对库存管理极其有用。
例如,在库存管理中,YOLO-World 可以快速发现并分类货架上的商品,例如不同品牌的能量饮料。零售店可以保持准确的库存,高效管理库存水平,并优化供应链运营。
所有的应用都是独特的,展示了 YOLO-World 的使用范围之广。接下来,让我们动手实践 YOLO-World,并看一个代码示例。
Link to this section代码讲解#
正如我们之前提到的,YOLO-World 可用于检测汽车的不同部件以进行维修。一个检测维修需求的计算机视觉应用将涉及拍摄汽车照片、识别汽车零件、检查每个零件是否有损坏,并推荐维修方案。这个系统的每个部分都将使用不同的 AI 技术和方法。为了本次代码讲解的目的,让我们专注于检测汽车零件的部分。
使用 YOLO-World,你可以在 5 分钟内识别图像中的不同汽车零件。你也可以扩展这段代码来尝试使用 YOLO-World 进行不同的应用!首先,我们需要按照下面的说明使用 pip 安装 Ultralytics 包。
有关安装过程的更多说明和最佳实践,请查看我们的 Ultralytics 安装指南。如果在安装 YOLOv8 所需的包时遇到任何困难,请查看我们的 常见问题指南以获取解决方案和技巧。
安装所需的包后,我们可以从互联网上下载一张图片来运行我们的推理。我们将使用下图。

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

我们的输出图像。
如果你想在不写代码的情况下看看 YOLO-World 能做什么,你可以访问 YOLO-World 演示页面,上传一张输入图像,并输入自定义类别。
阅读我们的 YOLO-World 文档页面,了解如何保存带有自定义类别的模型,以便以后可以直接使用,而无需重复输入自定义类别。
Link to this section你注意到车门没有被检测到吗?#
如果你再次查看输出图像,你会发现自定义类别“车门”没有被检测到。尽管取得了巨大的成就,YOLO-World 仍有某些局限性。为了克服这些局限性并有效地使用 YOLO-World 模型,使用正确的文本提示类型非常重要。
以下是一些见解:
- YOLO-World 可能不需要高置信度来实现准确预测,因此降低置信度阈值可以提高检测率。
- 添加你不感兴趣的类别。这有助于通过减少次要目标的误报来改进主要目标检测。
- 在关注较小细节之前先检测较大物体可以提高检测准确率。
- 在你的类别中提及颜色,以便根据颜色线索检测物体。
- 在提示词中描述物体大小也可以帮助 YOLO-World 更准确地识别特定物体。
- 后处理方法,例如按大小过滤预测结果或调整每个类别的置信度,可以进一步改善目标检测结果。
Link to this section局限是无限的#
总的来说,YOLO-World 模型凭借其先进的目标检测能力可以成为一个强大的工具。它提供了卓越的效率和准确性,并有助于在各种应用中实现不同任务的自动化,比如我们实际讨论的识别汽车零件的例子。
欢迎探索我们的 GitHub 仓库以了解更多关于我们在计算机视觉和 AI 方面的贡献。如果你对 AI 如何重塑医疗保健技术等行业感到好奇,请查看我们的解决方案页面。像 YOLO-World 这样的创新所带来的可能性似乎是无穷无尽的!






