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™, чтобы максимально повысить производительность инференса на CPU, встроенных и дискретных GPU, а также NPU Intel.
Содержание: Что такое Intel DL Streamer? • Предварительные требования • Подготовка модели YOLO26 • Запуск инференса с YOLO26 • Настройка нескольких потоков • FAQ
Что такое Intel DL Streamer?#
Платформа конвейеров потоковой передачи глубокого обучения (DL Streamer) — это фреймворк с открытым исходным кодом для потоковой аналитики мультимедиа на основе мультимедийного фреймворка GStreamer, предназначенный для создания сложных конвейеров мультимедийной аналитики в облаке или на периферии.
DL Streamer позволяет анализировать аудио- и видеопотоки для обнаружения, классификации, отслеживания, идентификации и подсчета объектов, событий и людей. Он оптимизирован для оборудования Intel и обеспечивает взаимодействие между плагинами GStreamer, созданными на основе различных серверных библиотек:
- Инференс: OpenVINO™ — механизм инференса, оптимизированный для CPU, GPU и NPU Intel
- Кодирование и декодирование видео: аппаратное ускорение GPU через VA-API
- Обработка изображений: аппаратное ускорение GPU через VA-API
- Метаданные: GStreamer Analytics для структурированных результатов инференса
- Экосистема: сотни плагинов GStreamer для мультимедийного ввода-вывода, мультиплексирования и демультиплексирования, поддержки кодеков и многого другого
DL Streamer поддерживает множество AI-моделей, включая все семейство Ultralytics YOLO (от YOLOv5 до YOLO26) в формате OpenVINO™.
DL Streamer регулярно проходит проверку на системах, представленных в System Requirements — Open Edge Platform Documentation
Предварительные требования#
Перед началом убедись, что в твоей системе 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- Скачай модель YOLO26s из PyTorch от 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, оснащенными встроенным 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 и сохрани результат в видеофайл (~/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™ Toolkit
- 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 и предварительной обработкой без копирования
va-surface-sharingв DL Streamer весь конвейер видеоаналитики обеспечивает значительно более высокую пропускную способность, чем неоптимизированные фреймворки.Да. DL Streamer поддерживает инференс на CPU Intel (Core, Core Ultra, Xeon), встроенных GPU (Iris Xe, Arc), дискретных GPU (Arc A-Series, B-Series) и 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.