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

모델 API 엔드포인트 사용

하드웨어를 따로 준비할 필요 없이 5분 만에 Roboflow의 클라우드 GPU에서 모델을 실행하세요.

Serverless Cloud API Roboflow의 클라우드에서 GPU로 모델과 워크플로를 실행합니다. 이미지를 보내면 결과를 돌려받습니다. 설정할 하드웨어도, 계속 실행해 둘 서버도 없습니다.

이 가이드는 아무것도 없는 상태에서 시작해 5분 안에 모델을 실행하는 방법까지 안내합니다. 이미 이름만 붙여 이미지 속 객체를 찾고, 준비된 모델로 일상적인 객체를 탐지하고, 동일한 Serverless Cloud API 엔드포인트에서 직접 만든 모델도 실행할 수 있습니다.

이름만 붙여 객체 찾기

모델에 다음과 같은 몇 개의 단어를 입력하세요 "taxi", "blue bus", 또는 "bush" 그러면 이미지에서 일치하는 모든 객체의 윤곽을 그려줍니다. 먼저 설정하거나 학습할 것은 없습니다. 이 기능은 SAM3.

1

API 키 받기

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

export ROBOFLOW_API_KEY="your-key-here"
2

의존성을 설치하세요

supervision 를 함께 가져옵니다 cv2numpy:

pip install -U supervision
3

모델 실행

다음으로 POST 요청을 보내세요: /sam3/concept_segment 모델을 실행합니다. sv.Detections.from_sam3 그 결과를 다음과 같은 형식으로 바꿔 supervision 그릴 수 있게 합니다:

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

image = sv.load_image_from_url("https://media.roboflow.com/quickstart/traffic.jpg")
image_b64 = base64.b64encode(content).decode("utf-8")
h, w = image.shape[:2]

response = requests.post(
    "https://serverless.roboflow.com/sam3/concept_segment",
    params={"api_key": os.environ["ROBOFLOW_API_KEY"]},
    json={
        "image": {"type": "base64", "value": image_b64},
        "prompts": [
            {"type": "text", "text": "taxi"},
            {"type": "text", "text": "blue bus"},
            {"type": "text", "text": "bush"},
        ],
    },
)

detections = sv.Detections.from_sam3(response.json(), (w, h))
annotated = sv.MaskAnnotator().annotate(image.copy(), detections)
cv2.imwrite("sam3.jpg", annotated)
1

API 키 받기

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

export ROBOFLOW_API_KEY="your-key-here"
2

의존성을 설치하세요

이 두 패키지는 모델을 호출하고 결과를 그려줍니다:

pip install -U inference-sdk supervision
3

모델 실행

Inference SDK 이미지를 클라우드로 보내 결과를 반환합니다. sv.Detections.from_sam3 그 결과를 다음과 같은 형식으로 바꿔 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")
h, w = image.shape[:2]

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

data = client.sam3_concept_segment(
    image,
    prompts=[
        {"type": "text", "text": "taxi"},
        {"type": "text", "text": "blue bus"},
        {"type": "text", "text": "bush"},
    ],
)

detections = sv.Detections.from_sam3(data, (w, h))
annotated = sv.MaskAnnotator().annotate(image.copy(), detections)
annotated = sv.BoxAnnotator().annotate(annotated, detections)
cv2.imwrite("sam3.jpg", annotated)

응답에는 각 프롬프트에 대해 발견된 윤곽이 나열되며, 각 항목마다 신뢰도 점수가 포함됩니다. sv.Detections.from_sam3 그 모든 내용을 대신 읽어줍니다.

Outlines around taxis, a blue bus, and bushes from text prompts
텍스트 프롬프트에서 윤곽이 표시된 객체

비주얼 프롬프트, 예시 박스, RLE 출력이 포함된 전체 SAM3 API는 다음을 참조하세요: SAM3 문서.

준비된 모델로 일상적인 객체 탐지

이름으로 지정한 객체의 윤곽을 그리는 대신 일반적인 객체 주위에 박스를 그리려면 다음을 호출하세요: POST /{project}/{version} 다음 대신 모델 ID를 사용합니다: POST /sam3/concept_segment. 이 예제는 준비된 RF-DETR 모델을 사용합니다. 이 모델은 차량, 사람, 반려동물 같은 일반적인 객체를 탐지할 수 있습니다:

이름으로 지정한 객체의 윤곽을 그리는 대신 일반적인 객체 주위에 박스를 그리려면 다음을 호출하세요: client.infer() 다음 대신 모델 ID를 사용합니다: client.sam3_concept_segment(). 이 예제는 준비된 RF-DETR 모델을 사용합니다. 이 모델은 차량, 사람, 반려동물 같은 일반적인 객체를 탐지할 수 있습니다:

RF-DETR bounding boxes for cars, buses, people, and motorcycles
RF-DETR은 자동차, 버스, 사람, 오토바이를 탐지합니다

직접 만든 모델이나 다른 모델을 실행하기

같은 client.infer() 또는 POST /{project}/{version} 호출은 어떤 모델이든 다음 기준으로 실행합니다: model_id:

  • Roboflow에서 학습한 모델입니다. 모델 ID를 복사하세요(형식: {project}/{version})을 프로젝트의 다음에서 복사하세요: Roboflow 앱

  • 다음의 공개 모델: Roboflow Universe

  • 준비된 사전 학습된 모델 다음과 같은 별칭으로: rfdetr-nano, rfdetr-seg-medium, 또는 yolo26l-640 (Inference SDK 전용)

다음 단계

클라우드에서 모델을 실행하고 있습니다. 여기서 다음을 할 수 있습니다:

마지막 업데이트

도움이 되었나요?