YOLO-World 零样本目标检测指南

YOLO-World是一个强大的零样本目标检测工具,它允许用户通过描述他们想要检测的项目来进行训练,而无需进行传统的训练过程。此外,用户还可以通过开源推理服务器 Inference 来本地运行 YOLO-World。

托管的 API 基础 URL 是 https://infer.roboflow.com。如果想了解如何通过Python SDK或自托管 API 使用YOLO-World进行推理,请参阅 YOLO-World 推理文档页面。

要运行 YOLO-World 零样本目标检测模型,可以使用 POST 请求到 /yolo_world/infer 路径。以下是请求参数和请求体的详细说明。

以下是请求中可能用到的查询参数:

  • id: 唯一标识符,用于模型初始化时获取相关工件。
  • api_key: Roboflow API 密钥,用于模型初始化。
  • start: 开始编号。
  • source: 来源信息。
  • source_info: 来源详细信息。
  • model_id: 模型标识符。
  • model_type: 模型类型,通常指的是模型执行的任务类型,例如 "object-detection"。

请求体应为 application/json 格式,包含以下字段:

  • image: 一个包含 InferenceRequestImage 对象的数组。
  • disable_preproc_auto_orient: 是否禁用自动定向预处理步骤。
  • disable_preproc_contrast: 是否禁用自动对比度预处理步骤。
  • disable_preproc_grayscale: 是否禁用灰度预处理步骤。
  • disable_preproc_static_crop: 是否禁用静态裁剪预处理步骤。
  • text: 一个字符串列表。
  • yolo_world_version_id: Yolo World 版本标识符。
  • confidence: 置信度。

成功响应的 HTTP 状态码为 200,如果请求无效则返回 422。响应体为 application/json 格式,包含以下字段:

  • visualization: 包含预测可视化图像数据的 Base64 编码字符串。
  • inference_id: 推理的唯一标识符。
  • frame_id: 如果输入是视频,则为推理中使用的图像的帧 ID。
  • time: 生成预测(包括图像预处理)所需的时间,以秒为单位。
  • image: 包含 InferenceResponseImage 对象的数组。
  • predictions: 预测结果数组。

以下是使用 JavaScript、Curl 和 Python 进行 API 调用的示例代码。

// JavaScript 示例 const response = await fetch('/yolo_world/infer', { method: 'POST', headers: { "Content-Type": "application/json" }, body: JSON.stringify({ "id": "text", "image": [ { "type": "text" } ], "text": [ "text" ] }), }); const data = await response.json(); // Curl 示例 curl -X POST 'https://infer.roboflow.com/yolo_world/infer' \ -H 'Content-Type: application/json' \ -d '{ "id": "text", "image": [ { "type": "text" } ], "text": [ "text" ] }' // Python 示例 import requests response = requests.post('https://infer.roboflow.com/yolo_world/infer', json={ "id": "text", "image": [ { "type": "text" } ], "text": [ "text" ] }) data = response.json()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485