추론
Ultralytics Platform은 학습된 모델을 테스트하기 위한 Inference API를 제공합니다. 빠른 검증을 위해 브라우저 기반의 테스트 탭을 사용하거나, 프로그래밍 방식의 접근을 위해 REST API를 활용하세요.
테스트 탭
모든 모델에는 브라우저 기반 추론을 위한 테스트 탭이 포함되어 있습니다:
- 모델로 이동
- 테스트 탭을 클릭
- 이미지를 업로드하거나 예시를 사용
- 예측 결과를 즉시 확인
이미지 업로드
드래그 앤 드롭 또는 클릭하여 업로드:
- 지원 형식: JPG, PNG, WebP, GIF
- 최대 크기: 10MB
- 자동 추론: 결과가 자동으로 표시됩니다
예시 이미지
빠른 테스트를 위해 내장된 예시 이미지를 사용하세요:
| 이미지 | 내용 |
|---|---|
bus.jpg | 차량이 있는 거리 풍경 |
zidane.jpg | 사람들이 있는 스포츠 장면 |
결과 보기
추론 결과 표시:
- 클래스 레이블이 있는 바운딩 박스
- 각 감지에 대한 신뢰도 점수
- 데이터셋과 일치하는 클래스 색상
추론 매개변수
매개변수를 사용하여 감지 동작 조정:
| 파라미터 | 범위 | 기본값 | 설명 |
|---|---|---|---|
| 신뢰도 | 0.0-1.0 | 0.25 | 최소 신뢰도 임계값 |
| IoU | 0.0-1.0 | 0.70 | NMS IoU 임계값 |
| 이미지 크기 | 32-1280 | 640 | 입력 크기 조정 차원 |
신뢰도 임계값
신뢰도에 따라 예측 필터링:
- 높음 (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
}
}
응답 필드
| 필드 | 유형 | 설명 |
|---|---|---|
success | boolean | 요청 상태 |
predictions | array | detect 목록 |
predictions[].class | 문자열 | 클래스 이름 |
predictions[].confidence | 부동 소수점 | detect 신뢰도 (0-1) |
predictions[].box | object | 바운딩 박스 좌표 |
image | object | 원본 이미지 차원 |
작업별 응답
응답 형식은 작업에 따라 다름:
{
"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("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
최대 이미지 크기는 얼마인가요?
- 업로드 제한: 10MB
- Recommended: <5MB for fast inference
- 자동 크기 조정: 이미지는 다음으로 크기 조정됩니다.
imgsz매개변수
큰 이미지는 종횡비를 유지하면서 자동으로 크기 조정됩니다.
배치 추론을 실행할 수 있나요?
현재 API는 요청당 하나의 이미지를 처리합니다. 배치 처리의 경우:
- 동시 요청 전송
- 더 높은 처리량을 위해 전용 엔드포인트 사용
- 대규모 배치에는 로컬 추론을 고려하십시오.
5; 20 전에 생성됨 ✏️ 14 전에 업데이트됨