Ultralytics YOLO27: Únete a la lista de espera.
Empezar

Ultralytics YOLO26 en Intel Core Ultra Series 3 con DL Streamer Pipeline Framework y OpenVINO™

Esta guía explica cómo implementar Ultralytics YOLO26 en plataformas Intel Core Ultra Series 3 con DL Streamer Pipeline Framework y el kit de herramientas OpenVINO™. Aquí usamos OpenVINO™ para maximizar el rendimiento de inferencia en CPU, GPU integradas y discretas, y NPU de Intel.

Intel DL Streamer Pipeline Framework with Ultralytics YOLO26

Contenido: ¿Qué es Intel DL Streamer? • Requisitos previos • Preparación del modelo YOLO26 • Ejecución de inferencias con YOLO26 • Configuración de varios flujos • Preguntas frecuentes

¿Qué es Intel DL Streamer?#

Deep Learning Streamer (DL Streamer) Pipeline Framework es un marco de análisis de medios en streaming de código abierto, basado en el marco multimedia GStreamer y diseñado para crear canalizaciones complejas de análisis de medios en la nube o en el borde.

DL Streamer permite analizar flujos de audio y vídeo para detectar, clasificar, seguir, identificar y contar objetos, eventos y personas. Está optimizado para el hardware de Intel y ofrece interoperabilidad entre complementos de GStreamer basados en distintas 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 obtener resultados de inferencia estructurados
  • Ecosistema: cientos de complementos de GStreamer para entrada y salida de contenido multimedia, multiplexación y demultiplexación, compatibilidad con códecs y mucho más

DL Streamer es compatible con muchos modelos de IA, incluida toda la familia Ultralytics YOLO (de YOLOv5 a YOLO26) en formato OpenVINO™.

DL Streamer se valida periódicamente en los sistemas incluidos en los requisitos del sistema de DL Streamer.

Requisitos previos#

Antes de empezar, asegúrate de que los siguientes componentes estén instalados y configurados en tu sistema Intel:

Preparación del modelo YOLO26#

DL Streamer utiliza modelos en formato IR de OpenVINO™. Los modelos Ultralytics YOLO26 se exportan de PyTorch a IR de OpenVINO™ con el exportador de Ultralytics. DL Streamer utiliza la integración oficial de Ultralytics con OpenVINO™, que ofrece funciones optimizadas de exportación e inferencia para el hardware de Intel.

  1. Crea la carpeta ~/intel/dlstreamer_demo e 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
  1. Descarga el modelo YOLO26s de PyTorch desde Ultralytics, conviértelo al formato IR de OpenVINO™ y genera una variante con precisión INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

El modelo se exporta a la carpeta ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.

Precisión del modelo#

DL Streamer admite modelos con precisión FP32, FP16 e INT8. Cada uno requiere un paso de exportación independiente:

# 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

Los ejemplos siguientes utilizan el modelo INT8 exportado en el paso de preparación. Para usar modelos FP32 o FP16, sustituye la ruta del modelo según corresponda (p. ej., yolo26s_openvino_model/yolo26s.xml).

Ejecución de inferencias con YOLO26#

Antes de ejecutar la canalización de detección YOLO26 de DL Streamer, completa el paso Preparación del modelo YOLO26 y descarga el siguiente vídeo de ejemplo de Pexels.

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

A continuación, ejecuta la imagen Docker de DL Streamer en modo interactivo.

Nota

Este comando está pensado para sistemas equipados con procesadores Intel Core Ultra Series 3 con GPU integrada (iGPU) y 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

Precisión INT8 (rendimiento máximo)#

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.

Ejecutar YOLO26s con INT8 en la 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
YOLO26s INT8 detections in a DL Streamer pipeline on an Intel GPU

Ejecutar YOLO26s con INT8 en la GPU y guardar la salida en un archivo de vídeo#

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

Ejecutar YOLO26s con INT8 en la 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
YOLO26s INT8 detections in a DL Streamer pipeline on an Intel NPU

Configuración multistream#

DL Streamer admite el procesamiento multistream, en el que se decodifican e infieren varias fuentes de vídeo simultáneamente. Puedes iniciar varias canalizaciones en paralelo con el elemento vacompositor de GStreamer para combinar varios flujos.

Ejecución en paralelo de varias canalizaciones (4 flujos) (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
Four-stream DL Streamer YOLO26 detection grid on an Intel GPU

Recursos adicionales#

Preguntas frecuentes#

  • Instala DL Streamer siguiendo la guía de instalación, configura el entorno con source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, instala Ultralytics y OpenVINO™ y descarga los modelos con download_ultralytics_models.sh. A continuación, ejecuta la inferencia con la aplicación de ejemplo de DL Streamer yolo_detect.sh, que proporciona un script listo para usar con canalizaciones de inferencia YOLO26.

  • OpenVINO™ optimiza el modelo YOLO26 específicamente para el hardware Intel mediante técnicas como la optimización de grafos, la fusión de capas y el ajuste de kernels específicos del hardware. Combinada con la decodificación acelerada por VA-API de DL Streamer y el preprocesamiento de copia cero va-surface-sharing, toda la canalización de análisis de vídeo alcanza un rendimiento significativamente superior al de los frameworks no optimizados.

  • Sí. DL Streamer admite la inferencia en CPU Intel (Core, Core Ultra y Xeon), GPU integradas (Iris Xe y Arc), GPU discretas (Arc serie A y serie B) y NPU (AI Boost) en varias generaciones de plataformas Intel. Cambia la propiedad device de gvadetect a CPU, GPU o NPU.

    • Se recomienda FP16 como opción predeterminada para la inferencia en GPU, ya que ofrece una precisión casi igual a FP32 con un mayor rendimiento.
    • INT8 ofrece el máximo rendimiento con una pequeña pérdida de precisión y es ideal cuando la prioridad es alcanzar el mayor rendimiento posible. Los modelos INT8 se calibran automáticamente durante la exportación de Ultralytics.
  • DL Streamer admite estas variantes de tareas de YOLO26:

    • Detección: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
    • Segmentación de instancias: yolo26s-seg (y todas las variantes de tamaño)
    • Clasificación: yolo26s-cls (canalización compuesta con detección)
    • Estimación de pose: yolo26s-pose (y todas las variantes de tamaño)
    • Cuadro delimitador orientado (OBB): yolo26s-obb (y todas las variantes de tamaño)
  • Usa la opción de salida json para escribir los resultados de detección en un archivo como líneas JSON:

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

    También puedes usar el elemento gvametapublish en canalizaciones personalizadas para publicar metadatos en archivos, MQTT o Kafka.

Comentarios

Haz una pregunta, comparte tus resultados o ayuda a otra persona.