YOLO-World 零样本目标检测模型

YOLO-World 是一个强大的模型,能够在没有任何预训练的情况下识别图像中的目标。通过提供文本提示,YOLO-World 能够定位图像中指定对象的实例。例如,可以上传一张图像,并要求 YOLO-World 识别潜在的产品缺陷位置。

YOLO-World 适用于零样本目标检测和自动标记图像,以用于训练微调模型。在本指南中,将详细介绍如何结合 Roboflow 使用 YOLO-World 的各种方式,包括参考托管 API、在边缘部署、构建工作流应用程序等。

为了更深入地了解 YOLO-World 背后的架构,请参考。

如何结合Roboflow使用 YOLO-World

YOLO-World 能够识别广泛的对象,而无需针对特定用例进行微调。它在识别抽象对象方面表现最佳,如“包裹”、“盒子”或“金属文件”。相比之下,当模型被要求区分不同类型的螺丝时,效果可能不佳。

考虑以下饼干图像,提示语为“小金属文件”: # 假设的代码示例,用于说明如何使用 YOLO-World 进行目标检测 import roboflow model = roboflow.YOLOWorld() results = model.predict(image_path="path_to_your_image.jpg", prompt="small metal filing") print(results)

通过正确的提示,YOLO-World 能够准确识别饼干中的金属屑。要了解如何得出这个提示,以及为 YOLO-World 提示的最佳实践,请参考。

现在考虑以下草莓农场的图像,传递了“绿色草莓”和“红色草莓”的提示: # 假设的代码示例,用于说明如何使用 YOLO-World 进行目标检测 results = model.predict(image_path="path_to_your_image.jpg", prompt="green strawberry, red strawberry") print(results)

在上述图像中,展示了 YOLO-World 在农场图像上的结果。可以看到模型成功识别了水果。虽然有一些错误的预测,但这些可以通过预处理逻辑过滤掉(例如,通过移除宽度超过一定量的边界框)。

使用Roboflow的托管YOLO-WorldAPI 端点

Roboflow 提供了托管的 YOLO-World API 端点。使用 Roboflow 托管的 YOLO-World 端点的一个原因是,实现实时性能需要计算资源。YOLO-World 被描述为实时模型,只有在昂贵的 GPU(如 T4 和 V100)上才能实现每秒多帧的推理速度。

可以使用 Roboflow YOLO-World API 在不训练、不购买专门运行模型的硬件的情况下,识别图像中的目标,并实现实时性能。要了解如何使用托管端点,请参考。

将 YOLO-World 部署到边缘

对于实时应用,将 YOLO-World 部署到边缘至关重要。这可能涉及在自己的基础架构上拥有一个或多个 GPU,它们直接连接到设施中的摄像机。这样的连接可以通过 RTSP 等协议实现。

也可以直接将摄像机连接到支持 GPU 的边缘设备,如 NVIDIA Jetson。这些设备可以放置在制造设施中,用于实时推理。要将 YOLO-World 部署到边缘,可以使用,这是一个开源推理服务器,用于运行计算机视觉模型。可以直接通过 Inference Python 包使用 YOLO-World,或者将 YOLO-World 部署为微服务,多个客户端可以使用推理服务器启动命令发送请求。

可以在图像和视频流上部署推理。视频流可以是读取帧的视频文件、网络摄像头馈送或 RTSP 流。要了解如何开始使用 YOLO-World,请参考。

使用 YOLO-World 自动标记图像数据

尽管 YOLO-World 可能是一个需要专用 GPU 来实时运行推理的大型模型,但可以利用该模型自动标记数据,以用于训练更小、微调的模型。较小模型可以在不需要昂贵 GPU 的情况下实时运行。

自动标记数据的工作流程是: # 假设的代码示例,用于说明如何使用 YOLO-World 自动标记数据 from autodistill import Autodistill autodistill = Autodistill(model="YOLO-World") labeled_data = autodistill.label_data(prompt="your_prompt", image_path="path_to_your_image.jpg") print(labeled_data)

要自动标记数据,可以使用,这是一个开源框架,用于使用大型、基础视觉模型自动标记图像数据。Autodistill 有一个自定义的 YOLO-World 集成,可以用它来标记数据。

要了解如何使用 YOLO-World 自动标记数据,请参考。鼓励尝试不同的提示,以找到一个允许标记数据的提示。有关如何最佳提示 YOLO-World 以实现所需输出的更多信息,请参阅 YOLO-World 提示指南。

Roboflow 现在全面支持 YOLO-World,这是一个零样本目标检测模型。可以向 YOLO-World 提供文本提示,模型将尝试检索图像中该对象的所有实例。可以使用Roboflow托管的 API 在图像上运行 YOLO-World,或者使用开源的 Roboflow Inference 解决方案在图像、视频和视频流上运行 YOLO-World。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485