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

了解 YOLO-World,这是一种创新的目标检测模型,可以通过文本提示识别物体。探索 YOLO-World 的工作原理及其应用,并通过一个快速代码示例进行实践。
计算机视觉项目通常需要花费大量时间来标注数据和训练目标检测模型。但是,这种情况可能很快就会成为过去。腾讯人工智能实验室于 2024 年 1 月 31 日发布了YOLO-World,这是一种实时的、开放词汇的目标检测模型。YOLO-World 是一种零样本模型,这意味着您无需对其进行训练,即可在图像上运行目标检测推理。
零样本模型有潜力改变我们处理计算机视觉应用的方式。在本博客中,我们将探讨 YOLO-World 的工作原理及其潜在用途,并分享一个实用的代码示例,以帮助您入门。
您可以将图像和描述您要查找的对象的文本提示传递给 YOLO-World 模型。例如,如果您有兴趣在照片中找到“一个穿着红色衬衫的人”,YOLO-World 会接收此输入并开始工作。
该模型独特的架构结合了三个主要元素:
YOLO 检测器扫描您的输入图像以识别潜在的对象。文本编码器将您的描述转换为模型可以理解的格式。然后,通过使用多级跨模态融合的 RepVL-PAN 合并这两个信息流。它使 YOLO-World 能够精确地检测和定位图像中提示中描述的对象。
使用 YOLO-World 的最大优势之一是您不必为特定类别训练模型。它已经从图像和文本对中学习,因此它知道如何根据描述查找对象。您可以避免花费数小时收集数据、标注数据、在昂贵的 GPU 上进行训练等等。
以下是使用 YOLO-World 的其他一些优势:
YOLO-World 模型可用于各种应用。让我们来探索其中的一些应用。
在装配线上制造的产品在包装前会进行目视检查,以发现缺陷。缺陷检测通常由人工完成,这既耗时又容易出错。这些错误可能会导致高成本以及维修或召回的需求等问题。为了解决这个问题,已经创建了专门的机器视觉相机和AI系统来进行这些检查。
YOLO-World模型在这方面是一个巨大的进步。即使没有针对特定问题进行训练,它们也可以利用其zero-shot能力发现产品中的缺陷。例如,一家生产水瓶的工厂可以轻松识别正确密封瓶盖的瓶子与缺少瓶盖或瓶盖有缺陷的瓶子,这都得益于YOLO-World。
YOLO-World模型使机器人能够与不熟悉的环境进行交互。即使没有经过房间内特定物体的训练,它们仍然可以识别存在的物体。假设一个机器人进入一个它从未进入过的房间。借助YOLO-World模型,它可以识别椅子、桌子或灯等物体,即使它没有经过专门针对这些物体的训练。
除了目标检测之外,借助其“prompt-then-detect”功能,YOLO-World还可以确定这些物体的状况。例如,在农业机器人技术中,可以通过对机器人进行编程以检测成熟的水果与未成熟的水果,从而识别它们。
汽车工业涉及许多移动部件,YOLO-World可用于不同的汽车应用。例如,在汽车维护方面,YOLO-World无需手动标记或大量预训练即可识别各种物体的能力非常有用。YOLO-World可用于识别需要更换的汽车零件。它甚至可以自动化质量检查等任务,从而发现新车中的缺陷或缺失部件。
另一个应用是自动驾驶汽车中的zero-shot目标检测。YOLO-World的zero-shot检测能力可以提高自动驾驶车辆实时检测和分类道路上物体(如行人、交通标志和其他车辆)的能力。通过这样做,它可以帮助检测障碍物并防止事故发生,从而实现更安全的旅程。
识别零售店货架上的物品是跟踪库存、维持库存和自动化流程的重要组成部分。Ultralytics YOLO-World无需手动标记或大量预训练即可识别各种物体的能力对于库存管理非常有用。
例如,在库存管理中,YOLO-World可以快速发现和分类货架上的物品,例如不同品牌的能量饮料。零售店可以保持准确的库存,高效地管理库存水平,并简化供应链运营。
所有这些应用都是独一无二的,并展示了YOLO-World的广泛用途。接下来,让我们亲身体验YOLO-World,并看一个编码示例。
正如我们之前提到的,YOLO-World可用于检测汽车的不同部件以进行维护。检测所需维修的计算机视觉应用程序将包括拍摄汽车照片、识别汽车零件、检查汽车的每个零件是否有损坏以及推荐维修。该系统的每个部分都将使用不同的人工智能技术和方法。为了进行本次代码演练,让我们重点关注检测汽车零件的部分。
借助YOLO-World,您可以在不到5分钟的时间内识别图像中的不同汽车零件。您还可以扩展此代码以尝试使用YOLO-World的不同应用程序!首先,我们需要使用pip安装Ultralytics软件包,如下所示。
有关安装过程的更多说明和最佳实践,请查看我们的Ultralytics安装指南。如果在为YOLOv8安装所需软件包时遇到任何困难,请查看我们的常见问题解答指南,以获取解决方案和提示。
安装所需的软件包后,我们可以从Internet下载图像以运行我们的推理。我们将使用下面的图像。
然后,我们将导入所需的软件包,初始化我们的模型,并设置我们在输入图像中要查找的类别。在这里,我们对以下类别感兴趣:汽车、车轮、车门、汽车后视镜和车牌。
然后,我们将使用predict方法,提供图像的路径以及最大检测次数的参数,以及交并比(IoU)和置信度(conf)的阈值,以在图像上运行推理。最后,检测到的对象将保存到名为“result.jpg”的文件中。
以下输出图像将保存到您的文件中。
如果您想在不编写代码的情况下了解 YOLO-World 的功能,可以访问 YOLO-World Demo 页面,上传输入图像并输入自定义类别。
请阅读我们的 YOLO-World 文档页面,了解如何保存包含自定义类别的模型,以便日后可以直接使用,而无需重复输入自定义类别。
如果您再次查看输出图像,您会注意到自定义类别“车门”未被检测到。尽管 YOLO-World 取得了巨大成就,但它仍然存在一定的局限性。为了克服这些局限性并有效地使用 YOLO-World 模型,使用正确的文本提示类型非常重要。
以下是一些见解:
总的来说,YOLO-World 模型凭借其先进的对象检测功能,可以成为一个强大的工具。它提供了极高的效率和准确性,并有助于自动化各种应用中的不同任务,例如我们实际讨论的识别汽车零件的例子。
欢迎浏览我们的 GitHub 仓库,以了解更多关于我们对计算机视觉和 AI 领域的贡献。如果您对 AI 如何重塑医疗保健技术等行业感到好奇,请查看我们的解决方案页面。像 YOLO-World 这样的创新所带来的可能性似乎是无穷无尽的!