Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics YOLO

亲自上手 YOLO-World

了解 YOLO-World,这是一种实时开放词汇目标检测模型,可根据文本提示查找对象,并了解其应用和快速代码示例。

Abirami VinaAbirami Vina6 分钟阅读
了解 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 的优势#

使用 YOLO-World 的最大优势之一是,你无需针对特定类别训练模型。它已经从图像和文本配对数据中学习,因此能够根据描述查找对象。你可以省去数小时的数据收集、数据标注以及在昂贵 GPU 上训练等工作。

使用 YOLO-World 还有以下优势:

  • 实时性能 - YOLO-World 和原始 YOLO 架构一样支持实时运行。它非常适合自动驾驶汽车和监控系统等需要即时目标检测的应用。
  • 实例分割 - YOLO-World 的原始版本包含分割变体;在 Ultralytics 软件包中,YOLO-World 执行检测,而 YOLOE 增加了开放词汇实例分割功能。
  • 效率 - 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 安装 Ultralytics 软件包。

pip install ultralytics

有关安装流程的更多说明和最佳实践,请查看我们的 Ultralytics 安装指南。安装 YOLOv8 所需的软件包时,如果遇到任何问题,请查看我们的常见问题指南,获取解决方案和提示。

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

停在城市街道上的白色轿车,是 YOLO-World 示例的输入图像

我们的输入图像。

接下来,我们将导入所需的软件包、初始化模型,并设置要在输入图像中查找的类别。这里我们关注以下类别:汽车、车轮、车门、后视镜和车牌。

接下来,我们将使用 predict 方法,提供图像路径以及最大检测数量、交并比 (IoU) 阈值和置信度 (conf) 阈值等参数,对图像运行推理。最后,检测到的物体会保存到名为 result.jpg 的文件中。

from ultralytics import YOLOWorld

# 初始化 YOLO-World 模型
model = YOLOWorld("yolov8s-worldv2.pt")

# 定义要检测的自定义类别
model.set_classes(["car", "wheel", "car door", "car mirror", "license plate"])

# 使用最大检测数量以及 IoU 和置信度阈值运行推理
results = model.predict("path/to/image.jpg", max_det=100, iou=0.5, conf=0.25)

# 保存已标注的结果
results[0].save("result.jpg")

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

白色轿车上的 YOLO-World 输出结果,方框标出了汽车、车轮、侧视镜和车牌

我们的输出图像。

如果你想不写代码就体验 YOLO-World 的功能,可以前往 YOLO-World 演示页面,上传输入图像并输入自定义类别。

阅读我们的 YOLO-World 文档页面,了解如何使用自定义类别保存模型,以便以后直接使用,而无需反复输入自定义类别。

你注意到车门没有被检测出来吗?#

再次查看输出图像,你会发现自定义类别“车门”没有被检测出来。尽管 YOLO-World 取得了出色成果,但它仍有一些局限性。要克服这些局限并有效使用 YOLO-World 模型,正确使用文本提示至关重要。

以下是一些相关建议:

  • YOLO-World 要获得准确预测,可能不需要很高的置信度,因此降低置信度阈值可以提高检测率。
  • 添加你不感兴趣的类别。这有助于减少次要物体的误报,从而改善主要物体检测。
  • 先检测较大的对象,再关注较小的细节,可以提高检测准确性。
  • 在类别描述中注明颜色,以便根据颜色特征检测对象。
  • 在提示中描述对象的尺寸,也有助于 YOLO-World 更准确地识别特定对象。
  • 后处理方法,例如按尺寸筛选预测结果或调整各类别的置信度,可以进一步改善目标检测效果。

应用潜力无穷无尽#

总体而言,凭借先进的目标检测能力,YOLO-World 模型可以成为强大的工具。它效率高、准确性好,还能帮助自动化各种应用中的不同任务,例如我们实际讨论过的汽车零部件识别。

欢迎浏览我们的 GitHub 代码仓库,了解我们在计算机视觉和 AI 领域的贡献。如果你想了解 AI 如何重塑医疗保健等行业,可以查看我们的解决方案页面。YOLO-World 为视觉 AI 开辟了许多新可能。

作者

Abirami Vina
Abirami Vina

内容创作者 · Ultralytics

Abirami Vina 职业生涯始于计算机视觉工程师,由此在视觉 AI 和机器学习领域打下了坚实基础。她是 Ultralytics 的内容创作者,也是 Scribe of AI 的创始人兼首席撰稿人,为专注 AI 的公司撰写高质量技术内容。她热衷于让 AI 更易理解、更具吸引力,通过自己的作品连接前沿技术与现实影响。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来