Ultralytics YOLO27:

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

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

Подготовка модели 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#

Перед запуском конвейера обнаружения объектов 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
Intel DL Streamer GPU

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

Настройка нескольких потоков#

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

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

Часто задаваемые вопросы#

  • Установи 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 поддерживает инференс на 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.

Комментарии