추론

Ultralytics Platform은 학습된 모델을 테스트하기 위한 추론 API를 제공합니다. 브라우저 기반의 Predict 탭을 사용하여 빠르게 검증하거나 REST API를 사용하여 프로그래밍 방식으로 접근하십시오.

Ultralytics Platform Model Predict Tab With Detections Overlay

예측 탭

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

  1. 모델로 이동하십시오.
  2. Predict 탭을 클릭하십시오.
  3. 이미지를 업로드하거나, 예제를 사용하거나, 웹캠을 여십시오.
  4. 바운딩 박스 오버레이와 함께 예측 결과를 즉시 확인하십시오.

Ultralytics Platform Predict Tab Image Upload Dropzone

입력 방식

예측 패널은 다양한 입력 방식을 지원합니다:

메서드설명
이미지 업로드이미지를 드래그 앤 드롭하거나 클릭하여 업로드하십시오.
예제 이미지내장된 예제(데이터셋 이미지 또는 기본값)를 클릭하십시오.
웹캠 캡처단일 프레임 캡처가 가능한 실시간 카메라 피드입니다.
graph LR
    A[Upload Image] --> D[Auto-Inference]
    B[Example Image] --> D
    C[Webcam Capture] --> D
    D --> E[Results + Overlays]

    style D fill:#2196F3,color:#fff
    style E fill:#4CAF50,color:#fff

이미지 업로드

드래그 앤 드롭하거나 클릭하여 업로드하십시오:

  • 지원되는 형식: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP, DNG, MPO
  • 최대 크기: 10MB
  • 자동 추론: 업로드 후 결과가 자동으로 나타납니다.
자동 추론

예측 패널은 이미지를 업로드하거나, 예제를 선택하거나, 웹캠 프레임을 캡처하면 자동으로 추론을 실행합니다. 버튼을 클릭할 필요가 없습니다.

예제 이미지

예측 패널은 모델의 연결된 데이터셋에서 가져온 예제 이미지를 보여줍니다. 데이터셋이 연결되어 있지 않으면 기본 예제가 사용됩니다:

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

OBB 모델의 경우, 대신 보트와 공항의 항공 이미지가 표시됩니다.

사전 로드된 이미지

예제 이미지는 페이지 로드 시 사전 로드되므로, 예제를 클릭하면 다운로드 대기 시간 없이 거의 즉시 추론이 시작됩니다.

웹캠

실시간 카메라 피드를 시작하려면 웹캠 카드를 클릭하십시오:

  1. 메시지가 표시되면 카메라 권한을 승인하십시오.
  2. 비디오 미리보기를 클릭하여 프레임을 캡처하십시오.
  3. 캡처된 프레임에서 추론이 자동으로 실행됩니다.
  4. 웹캠을 다시 시작하려면 클릭하십시오.

결과 보기

추론 결과는 다음과 같이 표시됩니다:

  • SVG 오버레이로 클래스 레이블이 표시된 바운딩 박스
  • 각 탐지에 대한 신뢰도 점수
  • 데이터셋의 색상 팔레트(또는 Ultralytics 기본 팔레트)에서 가져온 클래스 색상
  • 속도 분석: 전처리, 추론, 후처리 및 네트워크 시간

Ultralytics Platform Predict Tab Results With Detections And Speed Stats

결과 패널은 다음을 보여줍니다:

필드설명
탐지 목록클래스 이름과 신뢰도가 포함된 각 탐지 결과
속도 통계전처리, 추론, 후처리, 네트워크 시간(ms)
JSON 응답코드 블록 내의 원시 API 응답

추론 매개변수

접을 수 있는 Parameters 섹션의 매개변수로 탐지 동작을 조정하십시오:

Ultralytics Platform Predict Tab Parameters Sliders

매개변수범위기본값(Default)설명
신뢰도0.01 – 1.00.25최소 신뢰도 임계값
IoU0.0 – 0.950.7NMS IoU 임계값
이미지 크기320, 640, 1280 (UI 토글)640입력 크기 조정 치수 (API는 32 – 1280 사이의 모든 값을 허용)
자동 재실행

매개변수를 변경하면 500ms 디바운싱(debounce)과 함께 현재 이미지에 대해 자동으로 추론이 재실행됩니다. 다시 업로드할 필요가 없습니다.

신뢰도 임계값

신뢰도에 따라 예측을 필터링하십시오:

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

IoU 임계값

Non-Maximum Suppression 제어:

  • 높음 (0.7+): 더 많이 겹치는 박스 허용
  • 낮음 (0.3-0.5): 인접한 탐지 결과를 더 공격적으로 병합
  • 기본값 (0.7): 대부분의 사용 사례에 균형 잡힌 NMS 동작

배포 예측

실행 중인 각 전용 엔드포인트에는 배포 카드에 Predict 탭이 직접 포함되어 있습니다. 이는 공유 예측 서비스가 아닌 배포 자체의 추론 서비스를 사용하므로 브라우저에서 배포된 엔드포인트를 직접 테스트할 수 있습니다.

REST API

프로그래밍 방식으로 추론에 접근하십시오:

인증

요청에 API 키를 포함하십시오:

Authorization: Bearer YOUR_API_KEY
API 키 필요

자신의 스크립트, 노트북 또는 앱에서 추론을 실행하려면 API 키를 포함하십시오. Settings > API Keys에서 키를 생성할 수 있습니다.

엔드포인트

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

요청

import requests

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

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

Ultralytics Platform Predict Tab Code Examples Python Tab

응답

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                },
                {
                    "class": 2,
                    "name": "car",
                    "confidence": 0.87,
                    "box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
                }
            ],
            "speed": {
                "preprocess": 1.2,
                "inference": 12.5,
                "postprocess": 2.3
            }
        }
    ],
    "metadata": {
        "imageCount": 1,
        "functionTimeCall": 0.018,
        "model": "model.pt",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platform Predict Tab Json Response View

응답 필드

필드유형(Type)설명
images배열처리된 이미지 목록
images[].shape배열이미지 크기 [높이, 너비]
images[].results배열탐지 목록
images[].results[].name문자열클래스 이름
images[].results[].confidence부동 소수점탐지 신뢰도 (0-1)
images[].results[].box객체BBox 좌표
images[].speed객체밀리초 단위의 처리 시간
metadata객체요청 메타데이터 및 버전 정보

작업별 응답

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

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}

결제

공유 추론(Predict 탭 및 /api/models/{id}/predict 엔드포인트)은 모든 플랜에서 추가 비용 없이 포함되어 있습니다. 공유 추론에 대한 요청당 비용은 없습니다.

더 높은 처리량이 필요한 프로덕션 워크로드는 전용 엔드포인트를 배포하십시오.

속도 제한

Shared inference is rate-limited to 20 requests/min per API key. When throttled, the API returns 429 with a Retry-After header. See the full rate limit reference for all endpoint categories.

더 많은 처리량이 필요하신가요?

속도 제한 없는 무제한 추론, 예측 가능한 처리량, 일관된 저지연 응답을 위해 전용 엔드포인트를 배포하십시오. 로컬 추론의 경우 Predict 모드 가이드를 참조하십시오.

오류 처리

일반적인 오류 응답:

코드메시지해결책
400잘못된 이미지파일 형식 확인
401인증되지 않음API 키 확인
404모델을 찾을 수 없음모델 ID 확인
429속도 제한 초과대기 후 재시도하거나 무제한 처리량을 위해 전용 엔드포인트를 사용하십시오.
500500서버 오류, 요청 재시도

FAQ

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

두 추론 방식 모두 비디오 파일을 허용합니다:

  • 전용 엔드포인트는 비디오 파일을 직접 허용합니다. 지원되는 형식(최대 100MB): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. 각 프레임이 개별적으로 처리되고 프레임별로 결과가 반환됩니다. 자세한 내용은 전용 엔드포인트를 참조하십시오.
  • 공유 추론(/api/models/{id}/predict)은 동일한 예측 서비스를 사용하며 동일한 비디오 형식을 허용합니다. 그러나 UI의 브라우저 Predict 탭은 이미지만 업로드하므로, 비디오 워크플로우를 위해서는 REST API를 직접 사용하거나 전용 엔드포인트를 사용하십시오. 공유 엔드포인트 또한 20회 요청/분으로 속도가 제한되므로, 대규모 비디오 워크로드에는 전용 엔드포인트가 더 나은 선택입니다.

주석이 달린 이미지는 어떻게 가져오나요?

API는 JSON 예측을 반환합니다. 시각화하려면 다음을 수행하십시오:

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

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

전체 결과 API 및 시각화 옵션은 Predict 모드 문서를 참조하십시오.

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

  • 업로드 제한: 10MB
  • 권장: 빠른 추론을 위해 5MB 미만
  • 자동 크기 조정: 이미지는 선택된 Image Size 매개변수에 맞춰 크기가 조정됩니다.

큰 이미지는 가로세로 비율을 유지하면서 자동으로 크기가 조정됩니다.

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

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

  1. 동시 요청 전송
  2. 더 높은 처리량을 위해 전용 엔드포인트 사용
  3. 대규모 배치의 경우 로컬 추론 고려
Python을 사용한 배치 추론
import concurrent.futures

import requests

url = "https://predict-abc123.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
images = ["img1.jpg", "img2.jpg", "img3.jpg"]

def predict(image_path):
    with open(image_path, "rb") as f:
        return requests.post(url, headers=headers, files={"file": f}).json()

with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
    results = list(executor.map(predict, images))

댓글