YOLO-World 是一个强大的模型,能够在没有任何预训练的情况下识别图像中的目标。通过提供文本提示,YOLO-World 能够定位图像中指定对象的实例。例如,可以上传一张图像,并要求 YOLO-World 识别潜在的产品缺陷位置。
YOLO-World 适用于零样本目标检测和自动标记图像,以用于训练微调模型。在本指南中,将详细介绍如何结合 Roboflow 使用 YOLO-World 的各种方式,包括参考托管 API、在边缘部署、构建工作流应用程序等。
为了更深入地了解 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-World API 端点。使用 Roboflow 托管的 YOLO-World 端点的一个原因是,实现实时性能需要计算资源。YOLO-World 被描述为实时模型,只有在昂贵的 GPU(如 T4 和 V100)上才能实现每秒多帧的推理速度。
可以使用 Roboflow YOLO-World API 在不训练、不购买专门运行模型的硬件的情况下,识别图像中的目标,并实现实时性能。要了解如何使用托管端点,请参考。
对于实时应用,将 YOLO-World 部署到边缘至关重要。这可能涉及在自己的基础架构上拥有一个或多个 GPU,它们直接连接到设施中的摄像机。这样的连接可以通过 RTSP 等协议实现。
也可以直接将摄像机连接到支持 GPU 的边缘设备,如 NVIDIA Jetson。这些设备可以放置在制造设施中,用于实时推理。要将 YOLO-World 部署到边缘,可以使用,这是一个开源推理服务器,用于运行计算机视觉模型。可以直接通过 Inference Python 包使用 YOLO-World,或者将 YOLO-World 部署为微服务,多个客户端可以使用推理服务器启动命令发送请求。
可以在图像和视频流上部署推理。视频流可以是读取帧的视频文件、网络摄像头馈送或 RTSP 流。要了解如何开始使用 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。