Ultralytics YOLO27:

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

Esta guía completa ofrece instrucciones detalladas para implementar Ultralytics YOLO26 en plataformas Intel Core Ultra Series 3 mediante 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

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 contenido multimedia en streaming y de código abierto basado en el marco multimedia GStreamer, diseñado para crear flujos complejos de análisis multimedia 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 con los sistemas proporcionados en la documentación de la plataforma Open Edge: requisitos del sistema

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™ mediante el exportador de Ultralytics. DL Streamer aprovecha la integración oficial de OpenVINO™ de Ultralytics, 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 de Ultralytics el modelo YOLO26s de PyTorch, 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 de inferencias de YOLO26 con DL Streamer, ejecuta la imagen Docker de DL Streamer en modo interactivo. Asegúrate de haber seguido el paso de preparación del modelo YOLO26 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.mp4

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 realiza 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
Intel DL Streamer 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
Intel DL Streamer 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
Intel DL Streamer Multistream 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 inferencias con la aplicación de ejemplo de DL Streamer yolo_detect.sh, que incluye un script listo para usar con canalizaciones de inferencia de YOLO26. Consulta el tutorial breve para saber cómo ejecutarlo.

  • 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 inferencias en CPU Intel (Core, Core Ultra, Xeon), GPU integradas (Iris Xe, Arc), GPU discretas (Arc Series A, Series B) y NPU (AI Boost) en varias generaciones de plataformas Intel. Solo tienes que cambiar la propiedad device de gvadetect a CPU, GPU o NPU.

    • Se recomienda FP16 como opción predeterminada para las inferencias en GPU: ofrece una precisión casi igual a FP32 con una mejora del rendimiento de aproximadamente 2x.
    • INT8 ofrece el máximo rendimiento (2–3x superior a FP32) con una pequeña pérdida de precisión, por lo que es ideal cuando la prioridad es alcanzar 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)
  • 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