Исследуйте возможности вывода в реальном времени для мгновенных прогнозов ИИ. Узнайте, как Ultralytics обеспечивает результаты с низкой задержкой для периферийных устройств и робототехники.
Вывод в реальном времени — это процесс, при котором обученная модель машинного обучения (ML) принимает входные данные в режиме реального времени и практически мгновенно генерирует прогнозы. В отличие от автономной обработки, при которой данные собираются и анализируются последующим образом, вывод в реальном времени происходит на лету, что позволяет системам быстро и гибко реагировать на окружающую среду . Эта способность является сердцем современных приложений искусственного интеллекта (ИИ) , позволяя устройствам воспринимать, интерпретировать и действовать на основе данных в течение миллисекунд.
Основным показателем для оценки производительности в реальном времени является задержка вывода. Она измеряет временную задержку между моментом ввода данных в модель (например, кадра с видеокамеры) и моментом вывода модели (например, ограничительной рамки или метки классификации). Чтобы приложение считалось «реальным», задержка должна быть достаточно низкой, чтобы соответствовать скорости входящего потока данных.
Например, при выполнении задач по пониманию видео со скоростью 30 кадров в секунду (FPS) система имеет строгий временной бюджет примерно 33 миллисекунд на обработку каждого кадра. Если вывод занимает больше времени, система вводит задержку, что может привести к пропуску кадров или задержке ответов. Для достижения этой цели часто требуется аппаратное ускорение с использованием графических процессоров или специализированных устройств Edge AI, таких как NVIDIA .
Полезно различать рабочие процессы в реальном времени и пакетную обработку. Хотя и те, и другие включают в себя создание прогнозов, их цели и архитектура значительно различаются:
Способность принимать решения за доли секунды преобразовала различные отрасли промышленности, сделав возможной автоматизацию в динамичных средах.
Развертывание моделей для приложений реального времени часто требует оптимизации, чтобы обеспечить их эффективную работу на целевом оборудовании. Такие методы, как квантование модели, снижают точность весов модели (например, с float32 до int8), чтобы уменьшить использование памяти и увеличить скорость вывода с минимальным влиянием на точность.
Разработчики могут использовать Ultralytics для оптимизации этого процесса. Платформа упрощает обучение и позволяет пользователям экспортировать модели в оптимизированные форматы, такие как TensorRT для NVIDIA , OpenVINO для Intel или TFLite для мобильных устройств.
Следующий Python демонстрирует, как выполнять инференцию в реальном времени по потоку с веб-камеры с помощью
ultralytics библиотеку. Она использует YOLO26 Модель Nano,
специально разработанная для обеспечения высокой скорости работы на периферийных устройствах.
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")