Перейти к содержанию

Инференс

Платформа Ultralytics предоставляет Inference API для тестирования обученных моделей. Используйте вкладку «Тест» в браузере для быстрой проверки или REST API для программного доступа.

Вкладка «Тест»

Каждая модель включает вкладку «Тест» для инференса через браузер:

  1. Перейдите к вашей модели
  2. Нажмите на вкладку Тест
  3. Загрузите изображение или используйте примеры
  4. Мгновенно просматривайте предсказания

Загрузить изображение

Перетащите или нажмите для загрузки:

  • Поддерживаемые форматы: JPG, PNG, WebP, GIF
  • Максимальный размер: 10МБ
  • Автоматический вывод: Результаты появляются автоматически

Примеры изображений

Используйте встроенные примеры изображений для быстрого тестирования:

ИзображениеКонтент
bus.jpgУличная сцена с транспортными средствами
zidane.jpgСпортивная сцена с людьми

Посмотреть результаты

Отображение результатов вывода:

  • Ограничивающие рамки с метками классов
  • Показатели достоверности для каждого детектирования
  • Цвета классов, соответствующие вашему набору данных

Параметры инференса

Настройте поведение детектирования с помощью параметров:

ПараметрДиапазонПо умолчаниюОписание
Достоверность0.0-1.00.25Минимальный порог достоверности
IoU0.0-1.00.70Порог IoU для NMS
Размер изображения32-1280640Размерность входного изображения

Порог достоверности

Фильтрация предсказаний по достоверности:

  • Выше (0.5+): Меньше, более достоверных предсказаний
  • Ниже (0.1-0.25): Больше предсказаний, некоторый шум
  • По умолчанию (0.25): Сбалансировано для большинства сценариев использования

Порог IoU

Управление Non-Maximum Suppression:

  • Выше (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логическийСтатус запроса
predictionsмассивСписок detect
predictions[].classстрокаИмя класса
predictions[].confidencefloatУверенность detect (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}
  ]
}

Ограничения скорости запросов

Общий вывод имеет ограничения по скорости:

ПланЗапросов/минутаЗапросов/день
Бесплатно10100
Pro6010,000

Для более высоких лимитов разверните выделенную конечную точку.

Обработка ошибок

Типичные ответы об ошибках:

КодСообщениеРешение
400Недопустимое изображениеПроверьте формат файла
401Не авторизованоПроверьте ключ API
404Модель не найденаПроверьте слаг модели
429Ограничение скоростиПодождите или обновите тарифный план
500Ошибка сервераПовторить запрос

Часто задаваемые вопросы

Могу ли я выполнять инференс на видео?

API принимает отдельные кадры. Для видео:

  1. Извлекать кадры локально
  2. Отправлять каждый кадр в API
  3. Агрегировать результаты

Для видео в реальном времени рассмотрите возможность развертывания выделенной конечной точки.

Как получить аннотированное изображение?

API возвращает предсказания в формате JSON. Для визуализации:

  1. Используйте предсказания для локальной отрисовки ограничивающих рамок
  2. Используйте Ultralytics plot() метод:
from ultralytics import YOLO

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

Каков максимальный размер изображения?

  • Лимит загрузки: 10 МБ
  • Recommended: <5MB for fast inference
  • Автоматическое изменение размера: Изображения масштабируются до imgsz параметр

Большие изображения автоматически изменяются в размере с сохранением соотношения сторон.

Могу ли я выполнять пакетный инференс?

Текущий API обрабатывает одно изображение за запрос. Для пакетной обработки:

  1. Отправлять параллельные запросы
  2. Используйте выделенную конечную точку для повышения пропускной способности
  3. Рассмотрите локальный вывод для больших пакетов


📅 Создано 20 дней назад ✏️ Обновлено 14 дней назад
glenn-jocherLaughing-q

Комментарии