콘텐츠로 건너뛰기

추론

Ultralytics Platform은 학습된 모델을 테스트하기 위한 Inference API를 제공합니다. 빠른 검증을 위해 브라우저 기반의 테스트 탭을 사용하거나, 프로그래밍 방식의 접근을 위해 REST API를 활용하세요.

테스트 탭

모든 모델에는 브라우저 기반 추론을 위한 테스트 탭이 포함되어 있습니다:

  1. 모델로 이동
  2. 테스트 탭을 클릭
  3. 이미지를 업로드하거나 예시를 사용
  4. 예측 결과를 즉시 확인

이미지 업로드

드래그 앤 드롭 또는 클릭하여 업로드:

  • 지원 형식: JPG, PNG, WebP, GIF
  • 최대 크기: 10MB
  • 자동 추론: 결과가 자동으로 표시됩니다

예시 이미지

빠른 테스트를 위해 내장된 예시 이미지를 사용하세요:

이미지내용
bus.jpg차량이 있는 거리 풍경
zidane.jpg사람들이 있는 스포츠 장면

결과 보기

추론 결과 표시:

  • 클래스 레이블이 있는 바운딩 박스
  • 각 감지에 대한 신뢰도 점수
  • 데이터셋과 일치하는 클래스 색상

추론 매개변수

매개변수를 사용하여 감지 동작 조정:

파라미터범위기본값설명
신뢰도0.0-1.00.25최소 신뢰도 임계값
IoU0.0-1.00.70NMS IoU 임계값
이미지 크기32-1280640입력 크기 조정 차원

신뢰도 임계값

신뢰도에 따라 예측 필터링:

  • 높음 (0.5 이상): 더 적고, 더 확실한 예측
  • 낮음 (0.1-0.25): 더 많은 예측, 일부 노이즈 포함
  • 기본값 (0.25): 대부분의 사용 사례에 균형 잡힘

IoU 임계값

NMS 제어:

  • 높음 (0.7+): 더 많은 상자 중첩 허용
  • 낮음 (0.3-0.5): 인접한 탐지 결과를 더 적극적으로 병합
  • 기본값 (0.70): 대부분의 사용 사례에 대해 균형 잡힌 NMS

REST API

추론을 프로그래밍 방식으로 액세스:

인증

요청에 API 키 포함:

Authorization: Bearer YOUR_API_KEY

엔드포인트

POST https://platform.ultralytics.com/api/models/{model_slug}/predict

요청

curl -X POST \
  "https://platform.ultralytics.com/api/models/username/project/model/predict" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@image.jpg" \
  -F "conf=0.25" \
  -F "iou=0.7"
import requests

url = "https://platform.ultralytics.com/api/models/username/project/model/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"file": open("image.jpg", "rb")}
data = {"conf": 0.25, "iou": 0.7}

response = requests.post(url, headers=headers, files=files, data=data)
print(response.json())

응답

{
    "success": true,
    "predictions": [
        {
            "class": "person",
            "confidence": 0.92,
            "box": {
                "x1": 100,
                "y1": 50,
                "x2": 300,
                "y2": 400
            }
        },
        {
            "class": "car",
            "confidence": 0.87,
            "box": {
                "x1": 400,
                "y1": 200,
                "x2": 600,
                "y2": 350
            }
        }
    ],
    "image": {
        "width": 1920,
        "height": 1080
    }
}

응답 필드

필드유형설명
successboolean요청 상태
predictionsarraydetect 목록
predictions[].class문자열클래스 이름
predictions[].confidence부동 소수점detect 신뢰도 (0-1)
predictions[].boxobject바운딩 박스 좌표
imageobject원본 이미지 차원

작업별 응답

응답 형식은 작업에 따라 다름:

{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "segments": [[100, 50], [150, 60], ...]
}
{
  "class": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400},
  "keypoints": [
    {"x": 200, "y": 75, "conf": 0.95},
    ...
  ]
}
{
  "predictions": [
    {"class": "cat", "confidence": 0.95},
    {"class": "dog", "confidence": 0.03}
  ]
}

속도 제한

공유 추론에는 속도 제한이 있습니다:

플랜분당 요청 수일일 요청 수
무료10100
Pro6010,000

더 높은 제한을 위해서는 전용 엔드포인트를 배포하십시오.

오류 처리

일반적인 오류 응답:

코드메시지솔루션
400유효하지 않은 이미지파일 형식 확인
401권한 없음API 키 확인
404모델을 찾을 수 없음모델 슬러그 확인
429속도 제한됨대기하거나 플랜 업그레이드
500서버 오류요청 재시도

FAQ

비디오에서 추론을 실행할 수 있나요?

API는 개별 프레임을 허용합니다. 비디오의 경우:

  1. 로컬에서 프레임 추출
  2. 각 프레임을 API로 전송
  3. 결과 집계

실시간 비디오의 경우 전용 엔드포인트 배포를 고려하십시오.

주석이 달린 이미지를 어떻게 얻을 수 있나요?

API는 JSON 예측을 반환합니다. 시각화하려면:

  1. 예측을 사용하여 로컬에서 상자 그리기
  2. Ultralytics 사용 plot() 메서드:
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")

최대 이미지 크기는 얼마인가요?

  • 업로드 제한: 10MB
  • Recommended: <5MB for fast inference
  • 자동 크기 조정: 이미지는 다음으로 크기 조정됩니다. imgsz 매개변수

큰 이미지는 종횡비를 유지하면서 자동으로 크기 조정됩니다.

배치 추론을 실행할 수 있나요?

현재 API는 요청당 하나의 이미지를 처리합니다. 배치 처리의 경우:

  1. 동시 요청 전송
  2. 더 높은 처리량을 위해 전용 엔드포인트 사용
  3. 대규모 배치에는 로컬 추론을 고려하십시오.


5; 20 전에 생성됨 ✏️ 14 전에 업데이트됨
glenn-jocherLaughing-q

댓글