Ultralytics YOLO26 на Intel Core Ultra Series 3 с использованием DL Streamer Pipeline Framework и OpenVINO™#
Это подробное руководство предлагает детальное пошаговое описание развертывания Ultralytics YOLO26 на платформах Intel Core Ultra Series 3 с использованием DL Streamer Pipeline Framework и OpenVINO™ toolkit. Здесь мы используем OpenVINO™ для максимального повышения производительности инференса на процессорах Intel, встроенных и дискретных графических процессорах, а также NPU.
Содержание: Что такое Intel DL Streamer? • Предварительные требования • Подготовка модели YOLO26 • Запуск инференса с YOLO26 • Настройка нескольких потоков • Часто задаваемые вопросы
Что такое Intel DL Streamer?#
Deep Learning Streamer (DL Streamer) Pipeline Framework — это фреймворк с открытым исходным кодом для аналитики потокового мультимедиа, основанный на мультимедийном фреймворке 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 регулярно проверяется на системах, представленных в документации System Requirements — Open Edge Platform Documentation
Предварительные требования#
Перед началом работы убедись, что на твоей системе Intel установлено и настроено следующее:
-
Ubuntu 24.04 с установленными драйверами для Intel GPU/NPU (см. руководство по установке)
-
docker engine (см. руководство по установке)
Подготовка модели 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#
Перед запуском конвейера обнаружения инференса DL Streamer YOLO26 запусти docker-образ 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 со встроенным графическим процессором (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, сохрани вывод в видеофайл (~/intel/dlstreamer_demo/yolo_video1_yolo26s_INT8_GPU.mp4)#
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 поддерживает многопоточную обработку, при которой несколько видеоисточников декодируются и обрабатываются одновременно. Ты можешь запустить несколько конвейеров параллельно, используя элемент vacompositor от GStreamer для объединения нескольких потоков.
Запуск нескольких конвейеров (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
- Таблица поддерживаемых моделей
FAQ#
Установи 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 и B) и NPU (AI Boost) на различных поколениях платформ Intel. Просто измени параметр
DEVICEнаCPU,GPUилиNPU.- FP16 рекомендуется по умолчанию для логического вывода на GPU — он обеспечивает точность, близкую к FP32, с примерно двукратным увеличением пропускной способности.
- INT8 обеспечивает самую высокую производительность (в 2–3 раза выше, чем FP32) с небольшим компромиссом в точности и идеально подходит, когда приоритетом является максимальная пропускная способность. Модели INT8 автоматически калибруются во время экспорта Ultralytics.
DL Streamer поддерживает все варианты задач YOLO26: - Обнаружение: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - Ориентированные ограничивающие рамки (OBB): yolo26s-obb (и все варианты по размеру) - Сегментация экземпляров: yolo26s-seg (и все варианты по размеру) - Оценка позы: yolo26s-pose (и все варианты по размеру) - Классификация: yolo26s-cls (композитный конвейер с обнаружением)
Используй опцию вывода
json, чтобы записать результаты обнаружения в файл в формате JSON-lines:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8В качестве альтернативы используй элемент
gvametapublishв пользовательских конвейерах для публикации метаданных в файлы, MQTT или Kafka.