X
Ultralytics YOLOv8.2 发布Ultralytics YOLOv8.2 发布Ultralytics YOLOv8.2 释放箭头
绿色检查
链接复制到剪贴板

亲身体验YOLO-World

了解YOLO-World,这是一种创新的对象检测模型,可通过文本提示识别对象。探索YOLO-World 的工作原理及其应用,并通过快速代码示例进行实际操作。

Facebook 徽标Twitter 徽标LinkedIn 徽标复制链接符号

计算机视觉项目通常需要花费大量时间标注数据和训练对象检测模型。不过,这可能很快就会成为过去。腾讯人工智能实验室于 2024 年 1 月 31 日发布了YOLO-World,这是一个实时、开放词汇的物体检测模型。 YOLO-World 是一个零镜头模型,这意味着你可以在图像上运行物体检测推断,而无需对其进行训练。

零镜头模型有可能改变我们处理计算机视觉应用的方式。在本博客中,我们将探讨YOLO-World 的工作原理及其潜在用途,并分享一个实用的代码示例,帮助您开始使用。

窥探YOLO- 世界

您可以通过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-世界模型可用于多种应用。让我们来探讨其中的一些应用。

生产质量控制

装配线上生产的产品在包装前都要经过目视检查,以确定是否存在缺陷。缺陷检测通常由人工完成,既费时又容易出错。这些错误会导致高成本、需要维修或召回等问题。为了帮助解决这些问题,人们创造了特殊的机器视觉相机和人工智能系统来执行这些检查。 

YOLO-世界模型是这一领域的一大进步。即使没有接受过针对特定问题的培训,它们也能利用 "零误差 "能力发现产品缺陷。例如,一家生产水瓶的工厂可以使用YOLO-World 轻松识别出瓶盖密封良好的水瓶与漏盖或有缺陷的水瓶。

瓶盖检查示例

机器人

YOLO-世界模型允许机器人与陌生环境进行交互。虽然没有接受过关于房间内可能存在的特定物体的训练,但它们仍能识别出房间内存在的物体。因此,假设一个机器人进入了一个它从未进入过的房间。有了YOLO-World 模型,它仍然可以识别和辨认出椅子、桌子或台灯等物品,尽管它并没有接受过关于这些物品的专门训练。

除了物体检测外,YOLO-World 还能利用其 "先提示后检测 "功能确定这些物体的状况。例如,在农业 机器人技术中,它可以通过对机器人进行编程来识别成熟水果和未成熟水果。

人工智能在汽车行业的应用

汽车行业涉及许多活动部件,YOLO-World 可用于不同的汽车应用。例如,在汽车维护方面,YOLO-World 无需人工标记或大量预培训即可识别各种对象的能力非常有用。YOLO-World可用于识别需要更换的汽车零件。它甚至可以自动执行质量检查、发现缺陷或新车缺件等任务。

另一项应用是自动驾驶汽车中的零镜头物体检测。YOLO-World 的零镜头检测功能可以提高自动驾驶汽车实时检测和分类路上行人、交通标志和其他车辆等物体的能力。通过这种方式,它可以帮助探测障碍物,防止事故发生,从而实现更安全的旅程。 

检测道路上物体的示例

零售店库存管理

识别零售商店货架上的物品是跟踪库存、维护库存和自动化流程的重要组成部分。Ultralytics YOLO-World 能够识别各种各样的物品,无需人工标记或大量的预培训,这对库存管理非常有用。 

例如,在库存管理方面,YOLO-World 可以迅速发现货架上的商品并进行分类,如不同品牌的能量饮料。零售店可以保持准确的库存,有效地管理库存水平,使供应链运作更加顺畅。 

所有应用都是独一无二的,显示了YOLO-World 的广泛用途。接下来,让我们亲手操作YOLO-World,看看一个编码示例。

代码漫步

正如我们之前提到的,YOLO-World 可用于检测汽车的不同部位,以便进行维修。检测是否需要维修的计算机视觉应用程序包括拍摄汽车照片、识别汽车零件、检查汽车各部分的损坏情况并提出维修建议。该系统的每个部分都将使用不同的人工智能技术和方法。在本代码演练中,让我们重点讨论检测汽车部件的部分。

通过YOLO-World,您可以在 5 分钟内识别图像中的不同汽车部件。您还可以使用YOLO-World 扩展这段代码,尝试不同的应用!要开始使用,我们需要如下所示安装Ultralytics 软件包

# Install ultralytics package
pip install ultralytics

有关安装过程的更多说明和最佳实践,请查看我们的Ultralytics 安装指南。在安装YOLOv8 所需的软件包时,如果遇到任何困难,请查看我们的常见问题指南,了解解决方案和技巧。

安装好所需的软件包后,我们就可以从网上下载一张图片来运行推理。我们将使用下面的图片。

我们的输入图像

然后,我们将导入所需的软件包,初始化我们的模型,并设置我们在输入图像中寻找的类。在这里,我们对以下类感兴趣:汽车、车轮、车门、汽车后视镜和车牌。

# Import YOLOWorld class from ultralytics module
from ultralytics import YOLOWorld

# Initialize the model with pre-trained weights
model = YOLOWorld('yolov8s-world')

# Set the classes you'd like to find in your image
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

然后,我们将使用预测方法,提供图像路径、最大检测次数参数以及交集大于联合(IoU)和置信度(conf)阈值,对图像进行推理。最后,检测到的对象会被保存到一个名为 "result.jpg "的文件中。

# Run object detection for your custom classes on your image
results = model.predict('path_to_your_image.jpg', max_det=100, iou=0.01, conf=0.01)

# Save the results
results[0].save(filename='result.jpg')

以下输出图像将保存到您的文件中。

我们的输出图像

如果您想看看YOLO-World 不需要编码就能做什么,可以访问YOLO-World 演示页面,上传输入图片并输入自定义类。 

请阅读我们关于YOLO-World的文档页面,了解如何保存带有自定义类的模型,以便以后可以直接使用,而无需重复输入自定义类

您注意到车门没有被检测到吗?

如果再次查看输出图像,就会发现自定义类 "车门 "没有被检测到。尽管YOLO-World 取得了巨大的成就,但它也有一定的局限性。要克服这些限制并有效使用YOLO-World 模型,使用正确的文本提示类型非常重要。 

下面我们就来了解一下:

  • YOLO-世界可能并不需要很高的置信度来进行准确预测,因此降低置信度阈值可以提高检测率。
  • 添加您不感兴趣的类。这将有助于减少次要对象的误报,从而改进主要对象检测
  • 先检测较大的物体,再关注较小的细节,可以提高检测精度。
  • 在课堂中提及颜色,根据颜色线索检测物体。
  • 在提示中描述物体的尺寸也有助于YOLO-World 更准确地识别特定物体。
  • 后处理方法,如按大小过滤预测或调整每个类别的置信度,可进一步改善物体检测结果。

极限无止境

总之,YOLO-World 模型具有先进的对象检测功能,可以成为一个强大的工具。它提供了极高的效率和准确性,有助于在各种应用中自动执行不同的任务,比如我们实际讨论过的识别汽车零件的例子。

欢迎访问我们的GitHub 存储库,了解我们在计算机视觉和人工智能方面的更多贡献。如果您对人工智能如何重塑医疗保健 技术等领域感到好奇,请查看我们的解决方案页面。YOLO-World 这样的创新似乎有无限可能!

让我们共同打造人工智能的未来

开始您的未来机器学习之旅

在此类别中阅读更多内容