Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Вывод в реальном времени

Исследуйте возможности вывода в реальном времени для мгновенных прогнозов ИИ. Узнайте, как Ultralytics обеспечивает результаты с низкой задержкой для периферийных устройств и робототехники.

Вывод в реальном времени — это процесс, при котором обученная модель машинного обучения (ML) принимает входные данные в режиме реального времени и практически мгновенно генерирует прогнозы. В отличие от автономной обработки, при которой данные собираются и анализируются последующим образом, вывод в реальном времени происходит на лету, что позволяет системам быстро и гибко реагировать на окружающую среду . Эта способность является сердцем современных приложений искусственного интеллекта (ИИ) , позволяя устройствам воспринимать, интерпретировать и действовать на основе данных в течение миллисекунд.

Важность низкой задержки

Основным показателем для оценки производительности в реальном времени является задержка вывода. Она измеряет временную задержку между моментом ввода данных в модель (например, кадра с видеокамеры) и моментом вывода модели (например, ограничительной рамки или метки классификации). Чтобы приложение считалось «реальным», задержка должна быть достаточно низкой, чтобы соответствовать скорости входящего потока данных.

Например, при выполнении задач по пониманию видео со скоростью 30 кадров в секунду (FPS) система имеет строгий временной бюджет примерно 33 миллисекунд на обработку каждого кадра. Если вывод занимает больше времени, система вводит задержку, что может привести к пропуску кадров или задержке ответов. Для достижения этой цели часто требуется аппаратное ускорение с использованием графических процессоров или специализированных устройств Edge AI, таких как NVIDIA .

Выводы в реальном времени по сравнению с пакетными выводами

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

  • Вывод в реальном времени: приоритет низкой задержки. Обрабатывает отдельные точки данных (или очень небольшие пакеты) сразу после их поступления. Это необходимо для интерактивных приложений, таких как автономные транспортные средства, где автомобиль должен мгновенно detect , чтобы вовремя затормозить.
  • Пакетное выведение: приоритет высокой пропускной способности. Собирает большой объем данных и обрабатывает их все сразу. Подходит для несрочных задач, таких как создание ночных отчетов по запасам или анализ исторических тенденций больших данных.

Применение в реальном мире

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

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

Оптимизация и развертывание

Развертывание моделей для приложений реального времени часто требует оптимизации, чтобы обеспечить их эффективную работу на целевом оборудовании. Такие методы, как квантование модели, снижают точность весов модели (например, с 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")

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас