Ultralytics YOLO26 на Intel Core Ultra Series 3 с использованием DL Streamer Pipeline Framework и OpenVINO™#
Это подробное руководство шаг за шагом описывает развёртывание Ultralytics YOLO26 на платформах Intel Core Ultra Series 3 с использованием среды конвейерной обработки DL Streamer и инструментария OpenVINO™. Здесь мы используем OpenVINO™, чтобы добиться максимальной скорости инференса на CPU, встроенных и дискретных GPU, а также NPU Intel.
Содержание: Что такое Intel DL Streamer? • Предварительные требования • Подготовка модели YOLO26 • Запуск инференса с YOLO26 • Настройка нескольких потоков • FAQ
Что такое Intel DL Streamer?#
Среда конвейерной обработки Deep Learning Streamer (DL Streamer) — это платформа для потоковой аналитики мультимедиа с открытым исходным кодом, основанная на мультимедийной платформе 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 регулярно проходит проверку на системах, указанных в разделе Системные требования — документация Open Edge Platform.
Предварительные требования#
Перед началом убедись, что на твоей системе Intel установлены и настроены:
-
Ubuntu 24.04 с установленными драйверами GPU/NPU Intel (см. руководство по установке)
-
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#
Перед запуском конвейера обнаружения объектов YOLO26 в DL Streamer запусти 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, оснащёнными встроенными 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 поддерживает инференс на CPU Intel (Core, Core Ultra, Xeon), встроенных GPU (Iris Xe, Arc), дискретных GPU (Arc A-Series, B-Series) и NPU (AI Boost) на устройствах нескольких поколений платформ Intel. Просто измени свойство
deviceэлементаgvadetectнаCPU,GPUилиNPU.- FP16 рекомендуется использовать по умолчанию для инференса на GPU: точность почти такая же, как у FP32, а пропускная способность примерно в 2 раза выше.
- 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.