Real-time Inference
Открой для себя возможности инференса в реальном времени для мгновенных ИИ-предсказаний. Узнай, как Ultralytics YOLO26 обеспечивает результаты с низкой задержкой для периферийных устройств и робототехники.
Инференс в реальном времени — это процесс, при котором обученная модель машинного обучения (ML) принимает входящие в реальном времени данные и генерирует предсказания практически мгновенно. В отличие от офлайн-обработки, где данные собираются и анализируются пакетами позже, инференс в реальном времени происходит на лету, позволяя системам реагировать на окружение быстро и гибко. Эта способность лежит в основе современных приложений искусственного интеллекта (ИИ), позволяя устройствам воспринимать, интерпретировать данные и действовать на их основе за миллисекунды.
Важность низкой задержки#
Основной метрикой для оценки производительности в реальном времени является задержка инференса. Она измеряет временную задержку между моментом поступления данных в модель (например, кадра с видеокамеры) и моментом выдачи моделью результата, такого как рамка объекта или метка класса. Чтобы приложение считалось работающим «в реальном времени», задержка должна быть достаточно низкой, чтобы соответствовать скорости входящего потока данных.
Например, в задачах понимания видео, выполняемых со скоростью 30 кадров в секунду (FPS), у системы есть строгий лимит времени примерно в 33 миллисекунды на обработку каждого кадра. Если инференс занимает больше времени, система создает задержку, что потенциально приводит к пропуску кадров или запаздыванию ответов. Достижение этого часто требует аппаратного ускорения с использованием GPU или специализированных устройств Edge AI, таких как NVIDIA Jetson.
Инференс в реальном времени против пакетного инференса#
Полезно отличать рабочие процессы в реальном времени от пакетной обработки. Хотя оба процесса связаны с генерацией предсказаний, их цели и архитектуры существенно различаются:
- Инференс в реальном времени: Приоритетом является низкая задержка. Он обрабатывает отдельные точки данных (или очень маленькие пакеты) сразу по мере их поступления. Это необходимо для интерактивных приложений, таких как автономные транспортные средства, где автомобиль должен мгновенно обнаружить пешехода, чтобы вовремя затормозить.
- Пакетный инференс: Приоритетом является высокая пропускная способность. Он собирает большой объем данных и обрабатывает их все сразу. Это подходит для не срочных задач, таких как создание ночных отчетов об инвентаризации или анализ исторических трендов больших данных.
Реальные приложения#
Способность принимать решения за доли секунды преобразила многие отрасли, позволив автоматизировать процессы в динамичных средах.
- Умное производство: В сфере искусственного интеллекта в производстве камеры, расположенные над конвейерными лентами, используют инференс в реальном времени для автоматического контроля качества. Модель обнаружения объектов может мгновенно выявлять дефекты или посторонние предметы в изделиях, движущихся на высоких скоростях. Если обнаружена аномалия, система задействует роборуку для немедленного удаления предмета, гарантируя, что до упаковки дойдут только товары высокого качества.
- Видеонаблюдение и безопасность: Современные охранные системы полагаются на компьютерное зрение для мониторинга периметров. Вместо простой записи видеоматериалов эти камеры выполняют обнаружение людей или распознавание лиц в реальном времени, чтобы предупредить сотрудников службы безопасности о несанкционированном доступе в момент его совершения.
- Робототехника: В области ИИ в робототехнике роботы используют оценку позы для навигации в сложных физических пространствах. Складской робот должен непрерывно определять местоположение препятствий и людей-операторов, чтобы безопасно и эффективно планировать свой маршрут.
Оптимизация и развертывание#
Развертывание моделей для приложений реального времени часто требует оптимизации для обеспечения их эффективной работы на целевом оборудовании. Такие методы, как квантование моделей, снижают точность весов модели (например, с float32 до int8), чтобы уменьшить использование памяти и увеличить скорость инференса с минимальным влиянием на точность.
Разработчики могут использовать Ultralytics Platform для оптимизации этого процесса. Платформа упрощает обучение и позволяет пользователям экспортировать модели в оптимизированные форматы, такие как TensorRT для графических процессоров NVIDIA, OpenVINO для процессоров Intel или TFLite для мобильного развертывания.
Пример кода#
Следующий фрагмент на Python демонстрирует, как запустить инференс в реальном времени для потока с веб-камеры с помощью библиотеки ultralytics. В нем используется нано-модель YOLO26, которая специально разработана для высокопроизводительной работы на периферийных устройствах.
from ultralytics import YOLO
# Load the YOLO26 Nano model, optimized for speed and real-time tasks
model = YOLO("yolo26n.pt")
# Run inference on the default webcam (source="0")
# 'stream=True' returns a generator for memory-efficient processing
# 'show=True' displays the video feed with bounding boxes in real-time
results = model.predict(source="0", stream=True, show=True)
# Iterate through the generator to process frames as they arrive
for result in results:
# Example: Print the number of objects detected in the current frame
print(f"Detected {len(result.boxes)} objects")





