추론
Ultralytics 훈련된 모델 테스트를 위한 추론 API를 제공합니다. 빠른 검증을 위해 브라우저 기반의 '테스트' 탭을 사용하거나 프로그래밍 방식 접근을 REST API 활용하십시오.
테스트 탭
모든 모델에는 브라우저 기반 추론을 위한 테스트 탭이 포함됩니다:
- 모델로 이동하십시오
- 테스트 탭을 클릭하세요
- 이미지를 업로드하거나 예시를 사용하세요
- 예측 결과를 즉시 확인하세요
이미지 업로드
드래그 앤 드롭 또는 클릭하여 업로드:
- 지원되는 형식: JPG, PNG, WebP, GIF
- 최대 크기: 10MB
- 자동 추론: 결과가 자동으로 표시됩니다
예시 이미지
빠른 테스트를 위해 내장된 예제 이미지를 사용하세요:
| 이미지 | 콘텐츠 |
|---|---|
bus.jpg | 차량이 있는 거리 풍경 |
zidane.jpg | 사람들이 있는 스포츠 장면 |
결과 보기
추론 결과 표시:
- 클래스 레이블이 있는 바운딩 박스
- 각 탐지에 대한 신뢰도 점수
- 데이터셋에 맞는 클래스 색상
추론 매개변수
매개변수를 사용하여 감지 동작 조정:
| 파라미터 | 범위 | 기본값 | 설명 |
|---|---|---|---|
| 자신감 | 0.0-1.0 | 0.25 | 최소 신뢰도 임계값 |
| IoU | 0.0-1.0 | 0.45 | NMS IoU |
| 이미지 크기 | 32-1280 | 640 | 입력 크기 조정 치수 |
신뢰 임계값
확신도에 따라 예측값 필터링:
- 높음 (0.5+): 더 적고, 더 확실한 예측
- 낮음 (0.1-0.25): 더 많은 예측, 일부 잡음
- 기본값 (0.25): 대부분의 사용 사례에 균형 잡힘
IoU
비최대 억제 제어:
- 높음 (0.7+): 상자 중첩 허용
- 낮음 (0.3-0.45): 인접한 탐지 결과 병합
- 기본값 (0.45): 표준 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.45"
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.45}
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
}
}
응답 필드
| 필드 | 유형 | 설명 |
|---|---|---|
success | 부울 | 요청 상태 |
predictions | 배열 | 탐지 목록 |
predictions[].class | 문자열 | 클래스 이름 |
predictions[].confidence | 부동 소수점 | 탐지 신뢰도 (0-1) |
predictions[].box | 객체 | 바운딩 박스 좌표 |
image | 객체 | 원본 이미지 크기 |
작업별 대응
응답 형식은 작업별로 다릅니다:
{
"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}
]
}
속도 제한
공유 추론에는 속도 제한이 적용됩니다:
| 계획 | 분당 요청 수 | 요청/일 |
|---|---|---|
| 무료 | 10 | 100 |
| Pro | 60 | 10,000 |
더 높은 한도를 위해 전용 엔드포인트를 배포하십시오.
오류 처리
일반적인 오류 응답:
| 코드 | 메시지 | 솔루션 |
|---|---|---|
| 400 | 잘못된 이미지 | 파일 형식 확인 |
| 401 | 무단 | API 키 확인 |
| 404 | 모델을 찾을 수 없습니다 | 모델 슬러그 확인 |
| 429 | 속도 제한 | 기다리기 또는 플랜 업그레이드 |
| 500 | 서버 오류 | 요청 재시도 |
FAQ
동영상에 대해 추론을 실행할 수 있나요?
API는 개별 프레임을 수락합니다. 비디오의 경우:
- 로컬에서 프레임 추출
- 각 프레임을 API로 전송하십시오
- 집계 결과
실시간 비디오의 경우 전용 엔드포인트를 배포하는 것을 고려하십시오.
주석이 달린 이미지를 어떻게 얻을 수 있나요?
API는 JSON 예측값을 반환합니다. 시각화하려면:
- 예측을 사용하여 로컬로 박스를 그립니다
- Ultralytics 사용하세요
plot()메서드:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
최대 이미지 크기는 얼마입니까?
- 업로드 제한: 10MB
- Recommended: <5MB for fast inference
- 자동 크기 조정이미지는 크기가 조정됩니다.
imgsz매개변수
큰 이미지는 가로세로 비율을 유지하면서 자동으로 크기가 조정됩니다.
배치 추론을 실행할 수 있나요?
현재 API는 요청당 하나의 이미지를 처리합니다. 일괄 처리의 경우:
- 동시 요청을 보냅니다
- 더 높은 처리량을 위해 전용 엔드포인트를 사용하십시오
- 대규모 배치에 대한 로컬 추론을 고려하십시오
📅 생성 0 일 전 ✏️ 업데이트 0일 전