Ultralytics YOLO26 en Intel Core Ultra Series 3 utilizando el marco de trabajo de canalización DL Streamer y OpenVINO™#
Esta guía completa ofrece una explicación detallada para desplegar Ultralytics YOLO26 en plataformas Intel Core Ultra Series 3 utilizando el DL Streamer Pipeline Framework y el OpenVINO™ toolkit. Aquí utilizamos OpenVINO™ para maximizar el rendimiento de inferencia en CPUs de Intel, GPUs integradas y discretas, y NPUs.
Contenido: What is Intel DL Streamer? • Prerequisites • YOLO26 Model Preparation • Running Inference with YOLO26 • Multi-Stream Setup • FAQ
¿Qué es Intel DL Streamer?#
El Deep Learning Streamer (DL Streamer) Pipeline Framework es un framework de análisis de medios de transmisión de código abierto basado en el framework multimedia GStreamer, diseñado para crear pipelines complejos de análisis de medios para la nube o el Edge.
DL Streamer permite el análisis de flujos de audio y vídeo para detectar, clasificar, rastrear, identificar y contar objetos, eventos y personas. Está optimizado para hardware Intel y proporciona interoperabilidad entre complementos de GStreamer integrados en varias bibliotecas de backend:
- Inferencia: Motor de inferencia OpenVINO™, optimizado para CPU, GPU y NPU de Intel
- Codificación/Decodificación de vídeo: aceleración por GPU mediante VA-API
- Procesamiento de imágenes: aceleración por GPU mediante VA-API
- Metadatos: GStreamer Analytics para resultados de inferencia estructurados
- Ecosistema: cientos de complementos de GStreamer para E/S de medios, muxing/demuxing, soporte de códecs y más
DL Streamer admite muchos modelos de IA, incluida la familia completa Ultralytics YOLO (desde YOLOv5 hasta YOLO26), todos en formato OpenVINO™.
DL Streamer se valida regularmente con los sistemas proporcionados en la System Requirements — Open Edge Platform Documentation
Requisitos previos#
Antes de comenzar, asegúrate de que lo siguiente esté instalado y configurado en tu sistema Intel:
-
Ubuntu 24.04 con controladores de GPU/NPU de Intel instalados (consulta la guía de instalación)
-
motor docker (consulta la guía de instalación)
Preparación del modelo YOLO26#
DL Streamer utiliza modelos en OpenVINO™ IR format. Los modelos Ultralytics YOLO26 se exportan desde PyTorch a OpenVINO™ IR utilizando el exportador de Ultralytics. DL Streamer aprovecha la Ultralytics OpenVINO™ integration oficial, que proporciona capacidades optimizadas de exportación e inferencia para hardware Intel.
- Crea la carpeta
~/intel/dlstreamer_demoe instala OpenVINO™ y Ultralytics en un entorno virtual
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- Descarga el modelo PyTorch YOLO26s de Ultralytics, conviértelo al formato OpenVINO™ IR y genera la variante de precisión INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yamlEl modelo debe descargarse en la carpeta ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.
Precisión del modelo#
DL Streamer admite modelos de precisión FP32, FP16 e INT8. Cada uno requiere un paso de exportación por separado:
# 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.yamlLos ejemplos siguientes utilizan el modelo INT8 exportado en el paso de preparación. Para utilizar modelos FP32 o FP16, reemplaza la ruta del modelo en consecuencia (por ejemplo, yolo26s_openvino_model/yolo26s.xml).
Ejecución de la inferencia con YOLO26#
Antes de ejecutar el pipeline de detección de inferencia YOLO26 de DL Streamer, ejecuta la imagen de docker de DL Streamer en modo interactivo. Asegúrate de haber seguido el paso de YOLO26 Model Preparation y descarga el siguiente archivo de vídeo de la base de datos de Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Ejecuta la imagen de docker de DL Streamer en modo interactivo.
Este comando está destinado a sistemas equipados con procesadores Intel Core Ultra Series 3 con GPU integrada (iGPU) y NPU a bordo.
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:latestPrecisión INT8 (máximo rendimiento)#
La cuantización INT8 ofrece el mayor rendimiento al reducir los pesos del modelo a enteros de 8 bits. El exportador de Ultralytics gestiona la calibración automáticamente.
Ejecuta YOLO26s con INT8 en 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
Ejecuta YOLO26s con INT8 en GPU, guarda la salida en un archivo de vídeo (~/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.mp4Ejecuta YOLO26s con INT8 en 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
Configuración multicanal#
DL Streamer admite procesamiento de múltiples transmisiones, donde múltiples fuentes de vídeo se decodifican y se inferencian simultáneamente. Puedes lanzar múltiples pipelines en paralelo utilizando el elemento vacompositor de GStreamer para combinar múltiples transmisiones.
Ejecución de múltiples canalizaciones (4 transmisiones) en paralelo (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
Recursos adicionales#
- DL Streamer GitHub Repository
- DL Streamer Documentation
- DL Streamer Elements
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- GStreamer Framework
- Supported Models Table
FAQ#
Instala DL Streamer siguiendo la Installation Guide, configura el entorno con
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, instala Ultralytics y OpenVINO™, descarga los modelos usandodownload_ultralytics_models.sh. Luego ejecuta la inferencia con la aplicación de ejemplo de DL Streameryolo_detect.sh, que proporciona un script listo para usar para ejecutar pipelines de inferencia YOLO26. Consulta el breve tutorial sobre cómo ejecutarlo.OpenVINO™ optimiza el modelo YOLO26 específicamente para hardware Intel mediante técnicas como optimización de grafos, fusión de capas y ajuste de núcleos específicos de hardware. Combinado con la decodificación acelerada por VA-API de DL Streamer y el preprocesamiento de cero copia de
va-surface-sharing, el pipeline completo de análisis de vídeo alcanza un rendimiento significativamente mayor que los frameworks no optimizados.Sí. DL Streamer admite inferencia en CPUs Intel (Core, Core Ultra, Xeon), GPUs integradas (Iris Xe, Arc), GPUs discretas (Arc A-Series, B-Series) y NPUs (AI Boost) en múltiples generaciones de plataformas Intel. Simplemente cambia el parámetro
DEVICEaCPU,GPUoNPU.- FP16 se recomienda como valor predeterminado para la inferencia en GPU; ofrece una precisión cercana a FP32 con aproximadamente el doble de mejora en el rendimiento.
- INT8 ofrece el mayor rendimiento (2-3 veces más que FP32) con una pequeña compensación en la precisión y es ideal cuando la prioridad es el máximo rendimiento. Los modelos INT8 se calibran automáticamente durante la exportación de Ultralytics.
DL Streamer admite todas las variantes de tareas de YOLO26: - Detección: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x - Cuadro delimitador orientado (OBB): yolo26s-obb (y todas las variantes de tamaño) - Segmentación de instancias: yolo26s-seg (y todas las variantes de tamaño) - Estimación de pose: yolo26s-pose (y todas las variantes de tamaño) - Clasificación: yolo26s-cls (canalización compuesta con detección)
Utiliza la opción de salida
jsonpara escribir los resultados de detección como líneas JSON en un archivo:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Alternativamente, utiliza el elemento
gvametapublishen pipelines personalizados para publicar metadatos en archivos, MQTT o Kafka.