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

Moondream2

Dedicated Deployment 또는 자체 호스팅 Inference에서 오픈 보캐블러리 감지를 위해 Moondream2를 사용하세요.

Moondream2는 컴팩트한 비전-언어 모델입니다. Roboflow Inference에서는 개방형 어휘 객체 탐지기로 노출됩니다. 즉, 프롬프트로 클래스 이름을 전달하면 일치하는 영역에 대한 바운딩 박스를 반환합니다.

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

코드 예시

1

API 키 받기

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

export ROBOFLOW_API_KEY="your-key-here"
2

의존성 설치

다음을 설치하세요 Inference SDKsupervision:

pip install -U inference-sdk supervision opencv-python
3

모델 실행

설정 api_url 전용 배포 URL 또는 로컬 Inference 서버로.

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

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/dog.jpeg")
client = InferenceHTTPClient(
    api_url="https://your-deployment.roboflow.cloud",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)
result = client.infer_lmm(
    image,
    model_id="moondream2",
    prompt="dog",
)

preds = result["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.get("confidence", 1.0) for p in preds], dtype=float),
    data={"class_name": np.array([p["class"] for p in preds])},
)
labels = [f"{p['class']} {p.get('confidence', 1.0):.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 1개의 NVIDIA L4에서, 배치 크기 1로, 이미지 한 장에 대한 캡션 생성 시 실행됩니다. Moondream2는 출력 길이를 고정할 수 없으므로, 지연 시간은 응답에 따라 달라집니다.

별칭
지연 시간(ms)

moondream2

1669

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

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

Moondream2는 다음과 함께 직접 로드할 수도 있습니다. inference 패키지. 탐지 외에도 이 모델은 이미지 캡셔닝, 포인트 프롬프트 탐지, 시각적 질의응답을 지원합니다.

1

패키지를 설치하세요

pip install "inference[transformers]"

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

2

모델 실행

from PIL import Image

from inference.models.moondream2.moondream2 import Moondream2

model = Moondream2(api_key="YOUR_API_KEY")

image = Image.open("dog.jpeg")
result = model.query(image, "이 이미지에 개는 몇 마리 있나요?")

print(result)

워크플로의 실행 모드

다음에서 사용될 때 워크플로Moondream2는 다음 두 가지 모드 중 하나로 실행됩니다:

  • 로컬 실행: 모델이 Inference 서버에서 실행됩니다(GPU 권장).

  • 원격 실행: 모델이 infer_lmm() 클라이언트 메서드를 통해 원격 Inference 서버에서 HTTP로 호출됩니다.

마지막 업데이트

도움이 되었나요?