Ultralytics YOLO26 на Intel Core Ultra Series 3 с использованием DL Streamer Pipeline Framework и OpenVINO™
В этом руководстве описано развёртывание Ultralytics YOLO26 на платформах Intel Core Ultra Series 3 с использованием фреймворка DL Streamer Pipeline и набора инструментов OpenVINO™. Мы используем OpenVINO™, чтобы максимально повысить производительность инференса на CPU Intel, встроенных и дискретных GPU, а также NPU.
Содержание: Что такое Intel DL Streamer? • Предварительные требования • Подготовка модели YOLO26 • Запуск инференса с YOLO26 • Настройка нескольких потоков • FAQ
Что такое Intel DL Streamer?#
Фреймворк Deep Learning Streamer (DL Streamer) Pipeline — это фреймворк с открытым исходным кодом для потоковой аналитики медиа, основанный на мультимедийном фреймворке GStreamer и предназначенный для создания сложных конвейеров медиааналитики в облаке или на периферии.
DL Streamer позволяет анализировать аудио- и видеопотоки, чтобы обнаруживать, классифицировать, отслеживать и идентифицировать объекты, события и людей, а также подсчитывать их. Платформа оптимизирована для оборудования Intel и обеспечивает взаимодействие плагинов GStreamer, созданных на основе различных серверных библиотек:
- Инференс: движок инференса OpenVINO™, оптимизированный для CPU, GPU и NPU Intel
- Кодирование/декодирование видео: аппаратное ускорение с помощью GPU через VA-API
- Обработка изображений: аппаратное ускорение с помощью GPU через VA-API
- Метаданные: GStreamer Analytics для структурированных результатов инференса
- Экосистема: сотни плагинов GStreamer для ввода-вывода мультимедиа, мультиплексирования/демультиплексирования, поддержки кодеков и других задач
DL Streamer поддерживает множество моделей ИИ, включая всё семейство Ultralytics YOLO (от YOLOv5 до YOLO26) в формате OpenVINO™.
DL Streamer регулярно проверяется на системах, перечисленных в разделе системных требований DL Streamer.
Предварительные требования#
Перед началом убедись, что на твоей системе Intel установлены и настроены:
-
Ubuntu 24.04 с установленными драйверами Intel GPU/NPU
Подготовка модели YOLO26#
DL Streamer использует модели в формате OpenVINO™ IR. Модели Ultralytics YOLO26 экспортируются из PyTorch в OpenVINO™ IR с помощью экспортёра Ultralytics. DL Streamer использует официальную интеграцию Ultralytics OpenVINO™, которая предоставляет оптимизированные возможности экспорта и инференса для оборудования Intel.
- Создай папку
~/intel/dlstreamer_demoи установи OpenVINO™ и Ultralytics в виртуальное окружение
mkdir -p ~/intel/dlstreamer_demo && cd ~/intel/dlstreamer_demo
python3 -m venv .dls-venv && source .dls-venv/bin/activate
pip install openvino==2026.2.0 ultralytics==8.4.92- Скачай модель PyTorch YOLO26s от Ultralytics, преобразуй её в формат OpenVINO™ IR и создай вариант с точностью INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlМодель экспортируется в папку ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Точность модели#
DL Streamer поддерживает модели с точностью FP32, FP16 и INT8. Для каждой точности требуется отдельный этап экспорта:
# FP32 (default precision, highest accuracy)
yolo export model=yolo26s.pt format=openvino dynamic=True
# FP16 (recommended for GPU inference, good accuracy/performance balance)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=16
# INT8 (maximum performance, requires calibration dataset)
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlВ примерах ниже используется модель INT8, экспортированная на этапе подготовки. Чтобы использовать модели FP32 или FP16, укажи соответствующий путь к модели (например, yolo26s_openvino_model/yolo26s.xml).
Запуск инференса с YOLO26#
Перед запуском конвейера обнаружения YOLO26 в DL Streamer выполни шаг Подготовка модели YOLO26 и скачай следующее демонстрационное видео с Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Затем запусти Docker-образ DL Streamer в интерактивном режиме.
Эта команда предназначена для систем с процессорами Intel Core Ultra Series 3, оснащёнными встроенными GPU (iGPU) и NPU.
docker run -it --rm \
-v ~/intel/dlstreamer_demo:/home/dlstreamer/demo \
-v "$HOME/.Xauthority:/root/.Xauthority:rw" \
-e DISPLAY=$DISPLAY \
-e XDG_RUNTIME_DIR=/tmp \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri \
--group-add $(stat -c "%g" /dev/dri/render*) \
--device /dev/accel \
--group-add $(stat -c "%g" /dev/accel/accel*) \
-e ZE_ENABLE_ALT_DRIVERS=libze_intel_npu.so \
intel/dlstreamer:latestТочность INT8 (максимальная производительность)#
Квантование INT8 обеспечивает максимальную пропускную способность за счёт преобразования весов модели в 8-битные целые числа. Экспортёр Ultralytics автоматически выполняет калибровку.
Запуск YOLO26s с INT8 на GPU#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Запуск YOLO26s с INT8 на GPU и сохранение результата в видеофайл#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! vah264enc ! h264parse ! mp4mux ! filesink location=/home/dlstreamer/demo/yolo_video1_yolo26s_INT8_GPU.mp4Запуск YOLO26s с INT8 на NPU#
gst-launch-1.0 filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=NPU ! queue ! vapostproc ! gvawatermark ! gvafpscounter ! autovideosink sync=false
Настройка нескольких потоков#
DL Streamer поддерживает обработку нескольких потоков: несколько видеоисточников декодируются и обрабатываются одновременно. Можно параллельно запускать несколько конвейеров, используя элемент GStreamer vacompositor для объединения потоков.
Параллельный запуск нескольких конвейеров (4 потока) на GPU#
gst-launch-1.0 vacompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_1::xpos=660 sink_1::ypos=0 sink_2::xpos=0 sink_2::ypos=380 sink_3::xpos=660 sink_3::ypos=380 ! autovideosink sync=false \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_0 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_1 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_2 \
filesrc location=/home/dlstreamer/demo/video1.mp4 ! decodebin3 ! gvadetect model=/home/dlstreamer/demo/yolo26s_int8_openvino_model/yolo26s.xml device=GPU model-instance-id=inf0 scheduling-policy="latency" ! queue ! gvawatermark ! gvafpscounter ! comp.sink_3
Дополнительные ресурсы#
- Репозиторий DL Streamer на GitHub
- Документация DL Streamer
- Элементы DL Streamer
- Инструментарий OpenVINO™
- Ultralytics YOLO26
- Фреймворк GStreamer
- Таблица поддерживаемых моделей
Часто задаваемые вопросы#
Установи DL Streamer, следуя руководству по установке, настрой среду с помощью
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, установи Ultralytics и OpenVINO™, скачай модели с помощьюdownload_ultralytics_models.sh. Затем запусти инференс с помощью демонстрационного приложения DL Streameryolo_detect.sh, которое содержит готовый скрипт для запуска конвейеров инференса YOLO26.OpenVINO™ оптимизирует модель YOLO26 специально для оборудования Intel с помощью таких методов, как оптимизация графа, объединение слоёв и настройка ядер под конкретное оборудование. В сочетании с декодированием с аппаратным ускорением VA-API в DL Streamer и предварительной обработкой без копирования
va-surface-sharingвесь конвейер видеоаналитики обеспечивает значительно более высокую пропускную способность, чем неоптимизированные фреймворки.Да. DL Streamer поддерживает инференс на процессорах Intel (Core, Core Ultra, Xeon), интегрированных GPU (Iris Xe, Arc), дискретных GPU (Arc A-Series, B-Series) и NPU (AI Boost) на нескольких поколениях платформ Intel. Измени свойство
deviceобъектаgvadetectнаCPU,GPUилиNPU.- Для инференса на GPU рекомендуется FP16 — этот формат обеспечивает точность, близкую к FP32, при более высокой пропускной способности.
- INT8 обеспечивает максимальную производительность с небольшим снижением точности и идеально подходит, когда приоритетом является максимальная пропускная способность. Калибровка моделей INT8 выполняется автоматически при экспорте Ultralytics.
DL Streamer поддерживает следующие варианты задач YOLO26:
- Обнаружение объектов: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Сегментация экземпляров: yolo26s-seg (и варианты всех размеров)
- Классификация: yolo26s-cls (составной конвейер с обнаружением объектов)
- Оценка позы: yolo26s-pose (и варианты всех размеров)
- Ориентированные ограничивающие рамки (OBB): yolo26s-obb (и варианты всех размеров)
Используй параметр вывода
json, чтобы записать результаты обнаружения объектов в файл в формате JSON Lines:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Также можно использовать элемент
gvametapublishв пользовательских конвейерах, чтобы публиковать метаданные в файлы, MQTT или Kafka.
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.