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





