For the complete documentation index, see llms.txt. This page is also available as Markdown.

YOLO-World

YOLO-World 오픈 보캐블러리 객체 감지를 Serverless Cloud API를 통해 사용하세요.

YOLO-World는 학습 없이 임의의 텍스트 클래스 이름으로 객체를 감지하는 개방형 어휘 객체 감지 모델입니다. 우리는 다음을 통해 YOLO-World 추론을 지원합니다 서버리스 클라우드 API.

YOLO-World 실행에 대한 자세한 내용은 다음을 참조하세요. 추론 문서.

코드 예시

다음을 사용하여 HTTP 엔드포인트를 통해 YOLO-World를 직접 실행합니다. curl, 또는 다음을 사용하여 inference-sdk 래퍼.

1

API 키 받기

Roboflow 계정을 만들고, 다음에서 키를 찾으세요. Roboflow API 설정 페이지 에서 다음과 같이 셸에서 사용할 수 있도록 합니다:

export ROBOFLOW_API_KEY="your-key-here"
2

모델 실행

다음을 호출합니다. /yolo_world/infer 엔드포인트를 다음과 함께 curl:

curl --location 'https://serverless.roboflow.com/yolo_world/infer' \\
  --header 'Content-Type: application/json' \\
  --data '{
    "api_key": "'"$ROBOFLOW_API_KEY"'",
    "image": {"type": "url", "value": "https://media.roboflow.com/quickstart/traffic.jpg"},
    "text": ["car", "truck"],
    "yolo_world_version_id": "v2-s",
    "confidence": 0.05
  }'
1

API 키 받기

Roboflow 계정을 만들고, 다음에서 키를 찾으세요. Roboflow API 설정 페이지 에서 다음과 같이 셸에서 사용할 수 있도록 합니다:

export ROBOFLOW_API_KEY="your-key-here"
2

의존성 설치

SDK와 supervision:

pip install -U inference-sdk supervision
3

모델 실행

사용자 지정 클래스 이름으로 YOLO-World를 실행한 다음, supervision으로 예측 결과를 디코딩하고 시각화합니다.

import os
import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/quickstart/traffic.jpg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)

results = client.infer_from_yolo_world(
    inference_input=image,
    class_names=["car", "truck"],
    model_version="v2-s",
    confidence=0.05,
)

detections = sv.Detections.from_inference(results[0])

labels = [
    f"{name} {conf:.2f}"
    for name, conf in zip(detections.data["class_name"], detections.confidence)
]
annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections, labels=labels)
cv2.imwrite("annotated.png", annotated)

다음 class_names 인수는 클래스 이름 목록을 모두 허용합니다. 사용 가능한 model_version 값: v2-s, v2-m, v2-l, v2-x, s, m, l, x.

추론 속도

지연 시간 측정 방식: Roboflow Inference 를 사용해 1x NVIDIA L4에서, 배치 크기 1, 워밍업 후 평균으로 측정했습니다.

모델
지연 시간(ms)

yolo-world

12.4

다음에서 측정됨 v2-s 두 개의 클래스가 있는 변형입니다. 클래스 목록을 설정하면 텍스트 인코더가 한 번 실행되며, 프레임마다 반복되지 않으므로 이 수치에서는 제외됩니다.

설정 api_url 를 배포 대상에 맞게:

  • https://serverless.roboflow.com 서버리스 클라우드 API용입니다.

  • http://localhost:9001 로컬 Inference 서버용.

  • 당신의 전용 배포 비공개 엔드포인트용 URL.

Inference(자가 호스팅)와 함께 사용

YOLO-World는 자체 하드웨어에서도 실행되며, 인프로세스로 로드된 inference 패키지 또는 로컬 Inference 서버를 통해 제공할 수 있습니다. 예를 들어 V100 GPU와 같은 성능이 충분한 하드웨어에서는 실시간으로 실행되므로 비디오에 실용적인 선택입니다.

YOLO-World 블록을 워크플로에 추가하고 감지하려는 클래스를 설정합니다. 그런 다음 다음과 함께 웹캠, 카메라 피드 또는 비디오 파일을 해당 워크플로로 스트리밍합니다. Inference SDK WebRTC 클라이언트.

네이티브 패키지에서는 YOLO-World 체크포인트가 다음과 같이 식별됩니다. yolo_world/<version>, 여기서 <version> 은 다음 중 하나입니다 s, m, l, x, v2-s, v2-m, v2-l, v2-x. 다음 v2- 체크포인트는 더 최신이며 평가 지표에서 더 좋은 점수를 받습니다.

대부분의 제로샷 검출기와 마찬가지로 YOLO-World는 일반적인 객체(자동차, 사람, 개)에는 가장 강하고 세분화된 좁은 범주의 객체에는 더 약합니다. 프롬프트 문구를 실험해 보며 장면에 무엇이 잘 맞는지 찾아보세요.

마지막 업데이트

도움이 되었나요?