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? • 前提条件 • 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 系统已安装并配置好以下软件:
Link to this sectionYOLO26 模型准备#
DL Streamer 使用 OpenVINO™ IR 格式 的模型。Ultralytics YOLO26 模型通过 Ultralytics 导出工具从 PyTorch 导出为 OpenVINO™ IR。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- 从 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:latestLink 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
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.mp4Link 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
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
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 参数更改为 CPU、GPU 或 NPU 即可。
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。