Chuyển đến nội dung

Suy luận

Nền tảng Ultralytics cung cấp API suy luận để kiểm tra các mô hình đã được huấn luyện. Sử dụng tab Kiểm tra trên trình duyệt để xác thực nhanh hoặc... REST API để truy cập theo chương trình.

Tab thử nghiệm

Mỗi mô hình đều bao gồm một tab Kiểm thử để suy luận trên trình duyệt:

  1. Điều hướng đến mô hình của bạn
  2. Nhấp vào tab Kiểm tra
  3. Tải lên hình ảnh hoặc sử dụng ví dụ
  4. Xem dự đoán ngay lập tức

Tải ảnh lên

Kéo và thả hoặc nhấp chuột để tải lên:

  • Các đị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

Ví dụ hình ảnh

Sử dụng các hình ảnh ví dụ có sẵn để kiểm tra nhanh:

Hình ảnhNội dung
bus.jpgCảnh đường phố với nhiều phương tiện giao thông
zidane.jpgCảnh thể thao với nhiều người

Xem kết quả

Kết quả suy luận hiển thị:

  • Các hộp giới hạn có nhãn lớp
  • Điểm tin cậy cho mỗi lần phát hiện
  • Màu sắc của lớp học phù hợp với tập dữ liệu của bạn

Tham số suy luận

Điều chỉnh hành vi phát hiện bằng các tham số:

Tham sốPhạm viMặc địnhMô tả
Sự tự tin0,0-1,00.25Ngưỡng tin cậy tối thiểu
IoU0,0-1,00.45NMS IoU ngưỡng
Kích thước hình ảnh32-1280640Nhập kích thước thay đổi

Ngưỡng tin cậy

Lọc các dự đoán theo độ tin cậy:

  • Cao hơn (0,5+) : Ít dự đoán hơn, nhưng chắc chắn hơn
  • Thấp hơn (0,1-0,25) : Nhiều dự đoán hơn, có một số 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

IoU Ngưỡng

Kiểm soát hiện tượng ức chế không tối đa:

  • Cao hơn (0,7+) : Cho phép các hộp chồng lên nhau
  • Giá trị thấp hơn (0,3-0,45) : Kết hợp các phát hiện gần nhau
  • Mặc định (0.45) : Tiêu chuẩn NMS hành vi

REST API

Truy cập lập trình suy luận:

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

Lời 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.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())

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

Cánh đồngLoạiMô tả
successbooleanTrạng thái yêu cầu
predictionsmảngDanh sách các phát hiện
predictions[].classsợi dâyTên lớp
predictions[].confidencetrôi nổiĐộ tin cậy phát hiện (0-1)
predictions[].boxsự vậtTọa độ hộp giới hạn
imagesự vậtKích thước hình ảnh gốc

Phản hồi cụ thể theo nhiệm vụ

Định dạng phản hồi khác nhau tùy thuộc vào nhiệm 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ỷ lệ

Suy luận chia sẻ có giới hạn về số lượng:

Kế hoạchSố yêu cầu/phútSố lượng yêu cầu/ngày
Miễn phí10100
Pro6010,000

Đối với cá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ã sốTin nhắnGiải pháp
400Hình ảnh không hợp lệKiểm tra định dạng tệp
401Không được phépXác minh khóa API
404Không tìm thấy mô hìnhKiểm tra mã số mô hình
429Giới hạn tỷ lệChờ đợi hoặc nâng cấp gói dịch vụ
500Lỗi máy chủThử lại yêu cầu

Câu hỏi thường gặp

Tôi có thể suy luận trên video được không?

API chấp nhận các khung hình riêng lẻ. Đối với video:

  1. Trích xuất khung hình cục bộ
  2. Gửi từng khung hình đến API.
  3. Kết quả tổng hợp

Đối với video thời gian thực, hãy cân nhắc triển khai một thiết bị đầu cuối chuyên dụng .

Tôi có thể lấy hình ảnh có chú thích bằng cách nào?

API trả về các dự đoán dưới dạng JSON. Để trực quan hóa:

  1. Sử dụng dự đoán để vẽ các hộp cục bộ
  2. Sử dụng Ultralytics plot() phương thức:
from ultralytics import YOLO

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

Kích thước ảnh tối đa là bao nhiêu?

  • Giới hạn tải lên : 10MB
  • Recommended: <5MB for fast inference
  • Tự động điều chỉnh kích thướcẢnh đã được điều chỉnh kích thước thành... imgsz tham số

Ảnh có kích thước lớn sẽ tự động được điều chỉnh kích thước mà 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ý hàng loạt:

  1. Gửi yêu cầu đồng thời
  2. Sử dụng điểm cuối chuyên dụng để đạt thông lượng cao hơn
  3. Hãy xem xét phương pháp suy luận cục bộ cho các lô dữ liệu lớn.


📅 Được tạo 0 ngày trước ✏️ Được cập nhật 0 ngày trước
glenn-jocher

Bình luận