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

OwlV2

OwlV2를 전용 배포 또는 자체 호스팅 추론에서 원샷 객체 감지에 사용

OwlV2는 Google의 오픈 보캐뷸러리 객체 탐지기입니다. 참조 이미지에 하나 이상의 예시 바운딩 박스를 제공하면, OwlV2는 별도의 학습 없이 대상 이미지에서 유사한 객체를 탐지합니다.

OwlV2는 Serverless Cloud API에서 사용할 수 없습니다. 다음에서 실행하세요 전용 배포 또는 자가 호스팅 추론.

코드 예시

1

API 키 받기

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

export ROBOFLOW_API_KEY="your-key-here"
2

의존성 설치

이 패키지들은 API를 호출하고 결과를 그립니다:

pip install -U requests supervision opencv-python
3

모델 실행

아래 예시는 입력 이미지의 단일 예시 박스를 프롬프트로 사용하고 같은 이미지에서 일치하는 객체를 탐지합니다. 실제로는 보통 별도의 참조 이미지를 전달합니다. 설정 URL 전용 배포 URL 또는 로컬 Inference 서버로.

import base64
import os
import cv2
import numpy as np
import requests
import supervision as sv

URL = "https://your-deployment.roboflow.cloud"
image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/dog.jpeg")
_, buffer = cv2.imencode(".jpg", image)
image_base64 = base64.b64encode(buffer).decode("utf-8")

response = requests.post(
    f"{URL}/owlv2/infer",
    json={
        "api_key": os.environ["ROBOFLOW_API_KEY"],
        "image": {"type": "base64", "value": image_base64},
        "training_data": [{
            "image": {"type": "base64", "value": image_base64},
            "boxes": [{"x": 360, "y": 800, "w": 500, "h": 500, "cls": "dog"}],
        }],
        "confidence": 0.99,
    },
)
preds = response.json()["predictions"]

xyxys = [
    [p["x"] - p["width"] / 2, p["y"] - p["height"] / 2,
     p["x"] + p["width"] / 2, p["y"] + p["height"] / 2]
    for p in preds
]
detections = sv.Detections(
    xyxy=np.array(xyxys, dtype=float),
    class_id=np.array([p.get("class_id", 0) for p in preds]),
    confidence=np.array([p["confidence"] for p in preds], dtype=float),
    data={"class_name": np.array([p["class"] for p in preds])},
)
labels = [f"{p['class']} {p['confidence']:.2f}" for p in preds]
annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections, labels=labels)
cv2.imwrite("dog_annotated.png", annotated)

추론 속도

지연 시간 측정 기준: Roboflow Inference 1x NVIDIA L4, 배치 크기 1에서 워밍업 후 평균값.

모델
지연 시간(ms)

owlv2

541.2

다음에서 측정됨 owlv2-large-patch14-ensemble 두 개의 텍스트 프롬프트가 있는 체크포인트.

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

OwlV2의 신뢰도는 일반적으로 매우 높습니다(0.99 이상). 다음을 조정하세요 confidence 매개변수를 그에 맞게.

Inference(자가 호스팅)에서 사용

OwlV2는 다음을 사용해 직접 로드할 수 있습니다. inference 패키지입니다. Inference의 구현은 다음에서 객체를 탐지합니다 시각적 예시: 하나 이상의 예시 객체를 박스로 표시하면, 모델이 유사한 객체를 찾습니다.

1

패키지를 설치하세요

사용 inference-gpu[transformers] GPU 머신에서.

2

모델 실행

바꾸세요 training_data 일치시키고 싶은 예시 객체와 이미지 URL을 자신의 입력으로 바꾸세요. 주석이 달린 결과는 다음에 기록됩니다 owlv2_visualization.jpg.

마지막 업데이트

도움이 되었나요?