YOLO Vision 2026:

Inference#

Ultralytics Platform предоставляет инференс в браузере для тестирования обученных моделей и выделенные эндпоинты для программного доступа.

Ultralytics Platform Model Predict Tab With Detections Overlay

Вкладка Предсказание (Predict)#

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

  1. Перейди к своей модели
  2. Нажми на вкладку Predict
  3. Загрузи изображение, воспользуйся примером или включи веб-камеру
  4. Посмотри на оверлей для конкретной задачи, сводку предсказаний, время выполнения и исходный ответ.

Модели без весов вместо этого показывают пустое состояние — сначала обучи модель или загрузи веса.

Ultralytics Platform Predict Tab Image Upload Dropzone

Методы ввода#

Панель прогнозирования поддерживает несколько методов ввода:

МетодОписание
Загрузка изображенияПеретащи файл или кликни, чтобы загрузить изображение
Примеры изображенийНажми на встроенные примеры (изображения из набора данных или стандартные)
Захват с веб-камерыПрямая трансляция с камеры с захватом отдельных кадров
graph LR
    A[Upload Image]:::start --> D[Auto-Inference]:::proc
    B[Example Image]:::start --> D
    C[Webcam Capture]:::start --> D
    D --> E[Results + Overlays]:::out

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef out fill:#9C27B0,color:#fff

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

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

  • Поддерживаемые форматы: JPEG, PNG, WebP, AVIF, HEIC, JP2, TIFF, BMP
  • Максимальный размер: 10 МБ
  • Автоматический инференс: Результаты появляются автоматически после загрузки
Авто-инференс

Панель прогнозирования автоматически запускает инференс, когда ты загружаешь изображение, выбираешь пример или захватываешь кадр с веб-камеры. Нажимать кнопку не нужно.

Изменение размера на стороне клиента

Перед загрузкой панель изменяет размер изображения так, чтобы его наибольшая сторона соответствовала выбранному значению Image Size, и запрашивает нормализованные координаты. Это ускоряет тестирование в браузере; запросы, отправляемые тобой самостоятельно, не изменяются в размере.

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

Панель предсказаний отображает до двух примеров изображений из связанного набора данных твоей модели, отдавая предпочтение сплиту val, затем test и затем train. Если набор данных не связан, используются примеры по умолчанию:

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

Для моделей OBB вместо этого отображаются аэрофотоснимки лодок и аэропорта.

Предварительно загруженные изображения

Примеры изображений предварительно загружаются при открытии страницы, поэтому клик по примеру запускает инференс практически мгновенно, без ожидания скачивания.

Веб-камера#

Нажми на карточку веб-камеры, чтобы запустить трансляцию:

  1. Предоставь разрешение на использование камеры, когда появится запрос
  2. Нажми на предварительный просмотр видео, чтобы захватить кадр
  3. Инференс автоматически запустится для захваченного кадра
  4. Нажми еще раз, чтобы перезапустить веб-камеру

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

Результаты инференса отображают выходные данные, соответствующие задаче модели: боксы, маски, ключевые точки, ориентированные боксы, оценки классификации, семантическое покрытие или карту глубины. Результаты для объектов используют цвета классов датасета, если они доступны. Панель также показывает время препроцессинга, инференса, постобработки и сети.

Ultralytics Platform Predict Tab Results With Detections And Speed Stats Панель результатов отображает:

ПолеОписание
Сводка результатовСписок для каждого обнаружения либо топ-5 классов для моделей классификации и семантических моделей
Статистика скоростиПрепроцессинг, инференс, постобработка и сеть (мс)
ВерсииВерсии Ultralytics и PyTorch, а также диапазон глубин или размер маски, где применимо
JSON-ответНеобработанный ответ API в блоке кода с исключенными данными карты base64

После получения результатов поверх предварительного просмотра появляются два элемента управления: нажми на изображение, чтобы увеличить его с сохранением наложений, и используй кнопку загрузки, чтобы сохранить аннотированный JPEG текущего результата.

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

Настрой поведение инференса с помощью трех ползунков под изображением:

Ultralytics Platform Predict Tab Parameters Sliders

ПараметрДиапазонПо умолчаниюОписание
Уверенность (Confidence)0.01 – 1.0, шаги по 0.010.25Минимальный порог достоверности
IoU0.0 – 0.95, шаги по 0.010.7Порог NMS IoU
Размер изображения32 – 1280, шаги по 32640Размер изменения входного изображения
Автоматический перезапуск

Изменение любого параметра автоматически перезапускает инференс на текущем изображении с задержкой в 500 мс. Повторно загружать не нужно.

Порог достоверности (Confidence Threshold)#

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

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

Порог IoU#

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

  • Выше (0.7+): Разрешить больше пересекающихся рамок
  • Нижняя (0.3-0.5): Более агрессивно подавлять пересекающиеся детекции
  • По умолчанию (0.7): Сбалансированное поведение NMS для большинства случаев использования

Инференс развертывания (Deployment Predict)#

Каждый запущенный выделенный эндпоинт включает в себя вкладку Predict прямо на карточке развертывания. Здесь используется собственный сервис инференса развертывания, а не общий сервис предсказаний, что позволяет тебе тестировать развернутый эндпоинт прямо из браузера.

API выделенного эндпоинта#

Карточка API Docs на вкладке модели Predict содержит примеры запросов на Python, JavaScript и cURL, предварительно заполненные значениями доверия, IoU и размера изображения, установленными в данный момент на ползунках. URL и ключ являются заполнителями, пока ты не развернешь модель: кнопка Deploy рядом с вкладками кода ведет на вкладку модели Deploy. После развертывания вкладка Code карточки развертывания заполняет URL этого эндпоинта и, для владельцев рабочей области, ее привязанный ключ API, готовые к копированию и запуску.

Аутентификация#

Включай свой API-ключ в запросы:

Authorization: Bearer YOUR_API_KEY
Требуется API-ключ

Чтобы запустить инференс из собственных скриптов, ноутбуков или приложений, включи ключ API. Сгенерируй его в Settings > API Keys. Выделенный эндпоинт принимает только тот единственный ключ, с которым он был создан; общий API модели принимает любой активный ключ в рабочей области, а публичные модели также принимают анонимные запросы.

Эндпоинт#

Выделенные эндпоинты принимают запросы по собственному URL:

POST https://YOUR_DEPLOYMENT_URL.run.app/predict

Общий инференс использует Platform API с полным путем модели:

POST https://platform.ultralytics.com/api/models/{owner}/{project}/{model}/predict

Оба принимают одинаковое тело multipart/form-data и возвращают одинаковую форму ответа. С помощью Python SDK используй client.models.predict(owner, project, model, body=...) для общего вывода или client.deployments.predict(owner, deployment, body=...) для выделенного развертывания:

from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
with open("image.jpg", "rb") as f:
    results = client.models.predict("acme-vision", "inspection", "v3", body={"file": f, "conf": 0.25})

Запрос#

import requests

url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"conf": 0.25, "iou": 0.7, "imgsz": 640}

with open("image.jpg", "rb") as image_file:
    response = requests.post(url, headers=headers, files={"file": image_file}, data=data)
print(response.json())

Ultralytics Platform Predict Tab Code Examples Python Tab

Параметры запроса#

ПараметрТипПо умолчаниюДиапазонОписание
fileфайл--Файл изображения или видео (обязательно, если не задано source)
conffloat0.250.01 – 1.0Минимальный порог достоверности
ioufloat0.70.0 – 0.95Порог NMS IoU
imgszint64032 – 1280Размер входного изображения в пикселях
normalizeboolfalse-Возвращать координаты рамки в диапазоне 0–1
decimalsint50 – 10Десятичная точность для значений координат
bitsint88, 12, 16Квантование карты глубин, только для моделей глубины
sourcestring--URL изображения или строка base64 (альтернатива file)

Ответ#

{
    "images": [
        {
            "shape": [1080, 1920],
            "results": [
                {
                    "class": 0,
                    "name": "person",
                    "confidence": 0.92,
                    "box": { "x1": 100, "y1": 50, "x2": 300, "y2": 400 }
                },
                {
                    "class": 2,
                    "name": "car",
                    "confidence": 0.87,
                    "box": { "x1": 400, "y1": 200, "x2": 600, "y2": 350 }
                }
            ],
            "speed": {
                "preprocess": 1.2,
                "inference": 12.5,
                "postprocess": 2.3
            }
        }
    ],
    "metadata": {
        "imageCount": 1,
        "functionTimeAlive": 1284.51,
        "functionTimeCall": 0.018,
        "task": "detect",
        "version": {
            "ultralytics": "8.x.x",
            "torch": "2.6.0",
            "torchvision": "0.21.0",
            "python": "3.13.0"
        }
    }
}

Ultralytics Platform Predict Tab Json Response View

Поля ответа#

ПолеТипОписание
imagesмассивСписок обработанных изображений, по одному элементу на кадр видео для видео
images[].shapeмассивРазмеры изображения [высота, ширина]
images[].resultsмассивСписок обнаружений
images[].results[].classintИндекс класса (целочисленный ID)
images[].results[].namestringНазвание класса
images[].results[].confidencefloatУверенность обнаружения (0-1)
images[].results[].boxобъектКоординаты ограничивающей рамки
images[].semantic_maskобъектПопиксельная карта классов (только для семантических моделей)
images[].depthобъектПопиксельная карта глубин (только для моделей глубины)
images[].speedобъектВремя обработки в миллисекундах
metadataобъектКоличество изображений, тайминги сервиса, задача и версии Ultralytics/PyTorch

Ответы, специфичные для задачи#

Формат ответа зависит от задачи:

{
  "class": 0,
  "name": "person",
  "confidence": 0.92,
  "box": {"x1": 100, "y1": 50, "x2": 300, "y2": 400}
}

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

Общий API моделей ограничен 20 запросами в минуту для каждого ключа API, вошедшего в систему пользователя или анонимного IP-адреса. При превышении лимита API возвращает 429 с заголовоком Retry-After. Полную информацию обо всех категориях эндпоинтов см. в справочнике по лимитам запросов.

Нужна более высокая пропускная способность?

Запросы, отправляемые напрямую на выделенный эндпоинт, не проходят через ограничитель частоты Platform API. Эндпоинт по-прежнему сбрасывает нагрузку с помощью 429 и заголовка Retry-After, когда он временно перегружен. Для локального инференса с высоким объемом см. руководство по режиму Predict.

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

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

КодСообщениеРешение
400Недопустимое изображениеПроверь формат файла или убедись, что у модели есть обученные веса
401НеавторизованПроверь API-ключ
404Модель не найденаПроверь имена владельца, проекта и модели
413Входные данные слишком великиУменьши размер файла ниже лимита эндпоинта
429Лимит запросов превышенПодожди и повтори попытку либо отправь запросы напрямую на выделенный эндпоинт
500Ошибка сервераПовторить запрос
503Сервис недоступенСервис прогнозирования запускается или недоступен; подожди немного и повтори попытку

FAQ#

  • Оба метода инференса принимают видеофайлы:

    • Выделенные эндпоинты принимают видеофайлы напрямую. Поддерживаемые форматы (до 100 МБ): ASF, AVI, GIF, M4V, MKV, MOV, MP4, MPEG, MPG, TS, WEBM, WMV. Каждый кадр обрабатывается индивидуально, и результаты возвращаются для каждого кадра. Подробности см. в разделе выделенные эндпоинты.
    • Общий инференс (POST /api/models/{owner}/{project}/{model}/predict) использует тот же сервис предсказаний и принимает те же форматы видео. Вкладка браузера Predict выбирает только изображения, поэтому для видео используй API или выделенный эндпоинт.
  • На вкладке Predict кнопка загрузки поверх предварительного просмотра сохраняет текущий результат в виде аннотированного JPEG. Сам API возвращает предсказания в формате JSON. Чтобы визуализировать их:

    1. Используй предсказания, чтобы отрисовать рамки локально
    2. Используй метод Ultralytics plot():
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    results = model("image.jpg")
    results[0].save("annotated.jpg")

    Полный API результатов и параметры визуализации см. в документации по режиму Predict.

    • Лимит вкладки Predict: 10 МБ
    • Лимит API: 100 МБ как для общего инференса, так и для выделенных эндпоинтов
    • Автоматическое изменение размера на вкладке Predict: изображения изменяются до выбранного размера Image Size перед загрузкой

    Большие изображения автоматически изменяются в браузере с сохранением пропорций. Запросы, отправляемые тобой самостоятельно, не изменяются в размере, поэтому изображения, превышающие лимит, отклоняются с ошибкой 413.

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

    1. Отправляй отдельные запросы для каждого изображения
    2. Распределяй запросы между выделенными эндпоинтами, когда это уместно
    3. Используй локальный инференс для больших батчей
    Пакетный инференс с Python
    import concurrent.futures
    
    import requests
    
    url = "https://YOUR_DEPLOYMENT_URL.run.app/predict"
    headers = {"Authorization": "Bearer YOUR_API_KEY"}
    images = ["img1.jpg", "img2.jpg", "img3.jpg"]
    
    def predict(image_path):
        with open(image_path, "rb") as f:
            return requests.post(url, headers=headers, files={"file": f}).json()
    
    with concurrent.futures.ThreadPoolExecutor(max_workers=4) as executor:
        results = list(executor.map(predict, images))

Комментарии