Suy luận
Ultralytics Platform cung cấp một Inference API để kiểm tra các mô hình đã được huấn luyện. Sử dụng tab Test dựa trên trình duyệt để xác thực nhanh hoặc REST API để truy cập có lập trình.
Tab kiểm tra
Mỗi mô hình đều bao gồm một tab Test để suy luận dựa trên trình duyệt:
- Điều hướng đến mô hình của bạn
- Nhấp vào tab Test
- Tải ảnh lên hoặc sử dụng ảnh ví dụ
- Xem kết quả dự đoán ngay lập tức
Tải lên hình ảnh
Kéo và thả hoặc nhấp để tải lên:
- Định dạng được hỗ trợ: JPG, PNG, WebP, GIF
- Kích thước tối đa: 10MB
- Suy luận tự động: Kết quả hiển thị tự động
Hình ảnh ví dụ
Sử dụng ảnh ví dụ có sẵn để kiểm tra nhanh:
| Ảnh | Nội dung |
|---|---|
bus.jpg | Cảnh đường phố với phương tiện |
zidane.jpg | Cảnh thể thao với người |
Xem kết quả
Hiển thị kết quả suy luận:
- Hộp giới hạn với nhãn lớp
- Điểm tin cậy cho mỗi lần detect
- Màu lớp khớp với tập dữ liệu của bạn
Tham số suy luận
Điều chỉnh hành vi detect bằng các tham số:
| Tham số | Phạm vi | Mặc định | Mô tả |
|---|---|---|---|
| Ngưỡng tin cậy | 0.0-1.0 | 0.25 | Ngưỡng tin cậy tối thiểu |
| IoU | 0.0-1.0 | 0.70 | Ngưỡng IoU NMS |
| Kích thước hình ảnh | 32-1280 | 640 | Kích thước thay đổi của đầu vào |
Ngưỡng tin cậy
Lọc dự đoán theo độ tin cậy:
- Cao hơn (0.5+): Ít dự đoán hơn, độ chính xác cao hơn
- Thấp hơn (0.1-0.25): Nhiều dự đoán hơn, có thể có nhiễu
- Mặc định (0.25): Cân bằng cho hầu hết các trường hợp sử dụng
Ngưỡng IoU
Điều khiển Non-Maximum Suppression:
- Cao hơn (0,7 trở lên) : Cho phép nhiều hộp chồng lên nhau hơn
- Thấp hơn (0,3-0,5) : Kết hợp các phát hiện gần đó một cách mạnh mẽ hơn
- Mặc định (0.70) : Cân bằng NMS hành vi đối với hầu hết các trường hợp sử dụng
REST API
Truy cập suy luận theo chương trình:
Xác thực
Bao gồm khóa API của bạn trong các yêu cầu:
Authorization: Bearer YOUR_API_KEY
Điểm cuối
POST https://platform.ultralytics.com/api/models/{model_slug}/predict
Yêu cầu
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())
Phản hồi
{
"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
}
}
Các trường phản hồi
| Trường | Loại | Mô tả |
|---|---|---|
success | boolean | Trạng thái yêu cầu |
predictions | mảng | Danh sách các detect |
predictions[].class | chuỗi | Tên lớp |
predictions[].confidence | số thực | Độ tin cậy của detect (0-1) |
predictions[].box | đối tượng | Tọa độ hộp giới hạn |
image | đối tượng | Kích thước ảnh gốc |
Phản hồi theo tác vụ cụ thể
Định dạng phản hồi thay đổi theo tác vụ:
{
"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}
]
}
Giới hạn tốc độ
Suy luận chia sẻ có giới hạn tốc độ:
| Gói | Yêu cầu/Phút | Yêu cầu/Ngày |
|---|---|---|
| Miễn phí | 10 | 100 |
| Pro | 60 | 10,000 |
Để có giới hạn cao hơn, hãy triển khai một điểm cuối chuyên dụng.
Xử lý lỗi
Các phản hồi lỗi thường gặp:
| Mã | Thông báo | Giải pháp |
|---|---|---|
| 400 | Ảnh không hợp lệ | Kiểm tra định dạng tệp |
| 401 | Không được ủy quyền | Xác minh khóa API |
| 404 | Không tìm thấy mô hình | Kiểm tra slug mô hình |
| 429 | Bị giới hạn tốc độ | Chờ hoặc nâng cấp gói |
| 500 | Lỗi máy chủ | Thử lại yêu cầu |
Câu hỏi thường gặp
Tôi có thể chạy suy luận trên video không?
API chấp nhận các khung hình riêng lẻ. Đối với video:
- Trích xuất khung hình cục bộ
- Gửi từng khung hình đến API
- Tổng hợp kết quả
Đối với video thời gian thực, hãy cân nhắc triển khai một điểm cuối chuyên dụng.
Làm cách nào để lấy hình ảnh đã được chú thích?
API trả về các dự đoán JSON. Để trực quan hóa:
- Sử dụng các dự đoán để vẽ hộp cục bộ
- Sử dụng Ultralytics
plot()phương thức:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model("image.jpg")
results[0].save("annotated.jpg")
Kích thước hình ảnh tối đa là bao nhiêu?
- Giới hạn tải lên: 10MB
- Recommended: <5MB for fast inference
- Tự động thay đổi kích thước: Hình ảnh được thay đổi kích thước thành
imgsztham số
Các hình ảnh lớn được tự động thay đổi kích thước trong khi vẫn giữ nguyên tỷ lệ khung hình.
Tôi có thể chạy suy luận theo lô không?
API hiện tại xử lý một hình ảnh cho mỗi yêu cầu. Đối với xử lý theo lô (batch):
- Gửi các yêu cầu đồng thời
- Sử dụng điểm cuối chuyên dụng để đạt thông lượng cao hơn
- Cân nhắc suy luận cục bộ cho các lô lớn