企业级安全防护: 符合 ISO 27001 + SOC 2 Type I 标准。

Link to this section在 Intel Core Ultra Series 3 上使用 DL Streamer 流水线框架和 OpenVINO™ 运行 Ultralytics YOLO26#

This comprehensive guide provides a detailed walkthrough for deploying Ultralytics YOLO26 on Intel Core Ultra Series 3 platforms using DL Streamer Pipeline Framework and OpenVINO™ toolkit. Here we use OpenVINO™ to maximize inference performance on Intel CPUs, integrated and discrete GPUs, and NPUs.

Intel DL Streamer

目录: 什么是 Intel DL Streamer?前提条件YOLO26 模型准备使用 YOLO26 运行推理多流设置常见问题

Link to this section什么是 Intel DL Streamer?#

深度学习流媒体 (DL Streamer) 流水线框架 是一个基于 GStreamer 多媒体框架的开源流媒体分析框架,旨在为云端或边缘端创建复杂的媒体分析流水线。

DL Streamer 支持对音频和视频流进行分析,以检测、分类、追踪、识别和统计物体、事件及人员。它针对 Intel 硬件进行了优化,并提供了基于不同后端库构建的 GStreamer 插件之间的互操作性:

  • 推理OpenVINO™ 推理引擎,针对 Intel CPU、GPU 和 NPU 进行了优化
  • 视频编码/解码:通过 VA-API 实现 GPU 加速
  • 图像处理:通过 VA-API 实现 GPU 加速
  • 元数据:用于结构化推理结果的 GStreamer Analytics
  • 生态系统:数百个用于媒体 I/O、封装/解封装、编解码支持等的 GStreamer 插件

DL Streamer 支持多种 AI 模型,包括完整的 Ultralytics YOLO 系列(YOLOv5 到 YOLO26),所有模型均采用 OpenVINO™ 格式。

DL Streamer 定期通过 系统要求 — Open Edge Platform 文档 中提供的系统进行验证。

Link to this section前提条件#

在开始之前,请确保你的 Intel 系统已安装并配置好以下软件:

  • Ubuntu 24.04,且已安装 Intel GPU/NPU 驱动程序(查看 安装指南

  • docker engine(查看 安装指南

Link to this sectionYOLO26 模型准备#

DL Streamer 使用 OpenVINO™ IR 格式 的模型。Ultralytics YOLO26 模型通过 Ultralytics 导出工具从 PyTorch 导出为 OpenVINO™ IR。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. 从 Ultralytics 下载 PyTorch YOLO26s 模型,将其转换为 OpenVINO™ IR 格式,并生成 INT8 精度版本。
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

模型应下载到 ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model 文件夹。

Link to this section模型精度#

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)。

Link to this section使用 YOLO26 运行推理#

在运行 DL Streamer YOLO26 推理检测流水线之前,请以交互模式运行 DL Streamer docker 镜像。确保你已遵循 YOLO26 模型准备 步骤,并从 Pexels 数据库下载了以下视频文件。

curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4

以交互模式运行 DL Streamer docker 镜像。

注意

此命令适用于配备 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

Link to this sectionINT8 精度(最高性能)#

INT8 量化通过将模型权重减少到 8 位整数来提供最高的吞吐量。Ultralytics 导出器会自动处理校准。

Link to this section在 GPU 上运行 INT8 版本的 YOLO26s#

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

Link to this section在 GPU 上运行 INT8 版本的 YOLO26s,并将输出保存到视频文件 (~/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

Link to this section在 NPU 上运行 INT8 版本的 YOLO26s#

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

Link to this section多流设置#

DL Streamer 支持多流处理,即同时对多个视频源进行解码和推理。你可以使用 GStreamer 的 vacompositor 元素并行启动多个流水线来合并多个流。

Link to this section并行运行多个流水线(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

Link to this section常见问题解答#

Link to this section如何配置基于 DL Streamer 的 Intel 平台上的 Ultralytics YOLO26?#

按照 安装指南 安装 DL Streamer,使用 source /opt/intel/dlstreamer/scripts/setup_dls_env.sh 设置环境,安装 Ultralytics 和 OpenVINO™,并使用 download_ultralytics_models.sh 下载模型。然后使用 DL Streamer 示例应用程序 yolo_detect.sh 运行推理,该脚本提供了运行 YOLO26 推理流水线的现成方案。查看 简短教程 以了解如何运行它。

Link to this section在 Intel 硬件上使用 OpenVINO™ 和 YOLO26 有什么好处?#

OpenVINO™ 通过图优化、算子融合和针对特定硬件的内核调优等技术,专门针对 Intel 硬件优化了 YOLO26 模型。结合 DL Streamer 的 VA-API 加速解码和零拷贝 va-surface-sharing 预处理,完整的视频分析流水线比未优化的框架实现了显著更高的吞吐量。

Link to this section我可以在不同的 Intel 设备上通过 DL Streamer 运行 YOLO26 吗?#

可以。DL Streamer 支持在跨多个 Intel 平台代际的 Intel CPU (Core, Core Ultra, Xeon)、集成 GPU (Iris Xe, Arc)、独立 GPU (Arc A-Series, B-Series) 和 NPU (AI Boost) 上进行推理。只需将 DEVICE 参数更改为 CPUGPUNPU 即可。

Link to this section我该如何在 FP16 和 INT8 精度之间进行选择?#

  • FP16 被推荐为 GPU 推理的默认精度 —— 它提供接近 FP32 的精度,并带来约 2 倍的吞吐量提升。
  • INT8 提供最高的性能(比 FP32 高 2-3 倍),尽管有较小的精度权衡,但非常适合优先考虑最高吞吐量的场景。INT8 模型在 Ultralytics 导出过程中会自动进行校准。

Link to this section支持哪些 YOLO26 任务?#

DL Streamer 支持所有 YOLO26 任务变体: - 检测 (Detection):yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - 旋转边界框 (OBB):yolo26s-obb(以及所有尺寸变体) - 实例分割 (Instance Segmentation):yolo26s-seg(以及所有尺寸变体) - 姿态估计 (Pose Estimation):yolo26s-pose(以及所有尺寸变体) - 分类 (Classification):yolo26s-cls(带检测的复合流水线)

Link to this section如何将检测结果导出为结构化数据?#

使用 json 输出选项将检测结果以 JSON-lines 格式写入文件:

./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8

或者,在自定义流水线中使用 gvametapublish 元素将元数据发布到文件、MQTT 或 Kafka。

Link to this section更多资源#

贡献者

评论