YOLO Vision 2026:

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

Содержание: Что такое 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 установлено и настроено следующее:

Подготовка модели YOLO26#

DL Streamer использует модели в формате OpenVINO™ IR. Модели Ultralytics YOLO26 экспортируются из PyTorch в формат OpenVINO™ IR с помощью экспортера Ultralytics. DL Streamer задействует официальную интеграцию Ultralytics OpenVINO™, которая обеспечивает оптимизированные возможности экспорта и инференса для оборудования Intel.

  1. Создай папку ~/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
  1. Скачай модель 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
Intel DL Streamer GPU

Запусти 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
Intel DL Streamer NPU

Настройка многопоточности#

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
Intel DL Streamer Multistream GPU

Дополнительные ресурсы#

FAQ#

  • Установи DL Streamer следуя Руководству по установке, настрой окружение с помощью source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, установи Ultralytics и OpenVINO™, загрузи модели с помощью download_ultralytics_models.sh. Затем запусти инференс с помощью примерного приложения DL Streamer yolo_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.

Комментарии