Ultralytics YOLO27: Inscreve-te na lista de espera.
Começar

Ultralytics YOLO26 no Intel Core Ultra Series 3 usando DL Streamer Pipeline Framework e OpenVINO™

Este guia explica como implementar o Ultralytics YOLO26 em plataformas Intel Core Ultra Series 3 usando o DL Streamer Pipeline Framework e o kit de ferramentas OpenVINO™. Aqui usamos o OpenVINO™ para maximizar o desempenho de inferência nas CPUs, GPUs integradas e discretas e NPUs da Intel.

Intel DL Streamer Pipeline Framework with Ultralytics YOLO26

Conteúdo: O que é o Intel DL Streamer? • Pré-requisitos • Preparação do modelo YOLO26 • Executar inferência com YOLO26 • Configuração de vários fluxos • Perguntas frequentes

O que é o Intel DL Streamer?#

O Deep Learning Streamer (DL Streamer) Pipeline Framework é uma estrutura de análise de multimédia em fluxo e de código aberto, baseada na estrutura multimédia GStreamer, projetada para criar pipelines complexos de análise de multimédia na nuvem ou na borda.

O DL Streamer permite analisar fluxos de áudio e vídeo para detectar, classificar, rastrear, identificar e contar objetos, eventos e pessoas. Ele é otimizado para hardware Intel e oferece interoperabilidade entre plugins GStreamer desenvolvidos com várias bibliotecas de backend:

  • Inferência: mecanismo de inferência OpenVINO™, otimizado para CPU, GPU e NPU Intel
  • Codificação/decodificação de vídeo: aceleração por GPU via VA-API
  • Processamento de imagem: aceleração por GPU via VA-API
  • Metadados: GStreamer Analytics para resultados de inferência estruturados
  • Ecossistema: centenas de plugins GStreamer para E/S de mídia, multiplexação/demultiplexação, suporte a codecs e muito mais

O DL Streamer é compatível com muitos modelos de IA, incluindo toda a família Ultralytics YOLO (de YOLOv5 a YOLO26), todos no formato OpenVINO™.

O DL Streamer é validado regularmente nos sistemas listados nos requisitos de sistema do DL Streamer.

Pré-requisitos#

Antes de começar, verifique se os seguintes itens estão instalados e configurados no seu sistema Intel:

Preparação do modelo YOLO26#

O DL Streamer usa modelos no formato OpenVINO™ IR. Os modelos Ultralytics YOLO26 são exportados do PyTorch para OpenVINO™ IR usando o exportador do Ultralytics. O DL Streamer usa a integração oficial do Ultralytics com OpenVINO™, que oferece recursos otimizados de exportação e inferência para hardware Intel.

  1. Cria a pasta ~/intel/dlstreamer_demo e instala OpenVINO™ e Ultralytics num ambiente 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. Transfere o modelo YOLO26s do PyTorch a partir da Ultralytics, converte-o para o formato OpenVINO™ IR e gera uma variante de precisão INT8.
yolo export model=yolo26s.pt format=openvino dynamic=True quantize=8 data=coco128.yaml

O modelo é exportado para a pasta ~/intel/dlstreamer_demo/yolo26s_int8_openvino_model.

Precisão do modelo#

O DL Streamer é compatível com modelos de precisão FP32, FP16 e INT8. Cada precisão requer uma etapa de exportação separada:

# 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

Os exemplos abaixo usam o modelo INT8 exportado na etapa de preparação. Para usar modelos FP32 ou FP16, substitui o caminho do modelo conforme necessário (por exemplo, yolo26s_openvino_model/yolo26s.xml).

Executar inferência com YOLO26#

Antes de executar o pipeline de deteção YOLO26 do DL Streamer, conclui a etapa Preparação do modelo YOLO26 e transfere o seguinte vídeo de exemplo do Pexels.

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

Em seguida, executa a imagem Docker do DL Streamer em modo interativo.

Nota

Este comando destina-se a sistemas equipados com processadores Intel Core Ultra Series 3, com GPU integrada (iGPU) e NPU incorporadas.

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

Precisão INT8 (desempenho máximo)#

A quantização INT8 oferece o maior débito ao reduzir os pesos do modelo para inteiros de 8 bits. O exportador Ultralytics trata da calibração automaticamente.

Executar YOLO26s com INT8 na 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

Executar YOLO26s com INT8 na GPU e guardar a saída num ficheiro 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

Executar YOLO26s com INT8 na 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

Configuração de vários fluxos#

O DL Streamer é compatível com o processamento de vários fluxos, no qual várias fontes de vídeo são descodificadas e submetidas a inferência simultaneamente. Podes iniciar vários pipelines em paralelo usando o elemento vacompositor do GStreamer para combinar vários fluxos.

Executar vários pipelines (4 fluxos) em 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
Four-stream DL Streamer YOLO26 detection grid on an Intel GPU

Recursos adicionais#

Perguntas frequentes#

  • Instala o DL Streamer seguindo o Guia de instalação, configura o ambiente com source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, instala Ultralytics e OpenVINO™ e transfere os modelos usando download_ultralytics_models.sh. Em seguida, executa a inferência com a aplicação de exemplo do DL Streamer yolo_detect.sh, que fornece um script pronto a usar para executar pipelines de inferência com YOLO26.

  • O OpenVINO™ otimiza o modelo YOLO26 especificamente para hardware Intel através de técnicas como a otimização de grafos, a fusão de camadas e o ajuste de kernels específicos para o hardware. Em conjunto com a descodificação acelerada por VA-API do DL Streamer e o pré-processamento va-surface-sharing sem cópia, o pipeline completo de análise de vídeo alcança um débito significativamente superior ao de frameworks não otimizados.

  • Sim. O DL Streamer suporta inferência em CPUs Intel (Core, Core Ultra, Xeon), GPUs integradas (Iris Xe, Arc), GPUs dedicadas (Arc A-Series, B-Series) e NPUs (AI Boost) em várias gerações de plataformas Intel. Altera a propriedade device de gvadetect para CPU, GPU ou NPU.

    • FP16 é recomendado como padrão para inferência em GPU — oferece precisão próxima à de FP32 com maior taxa de transferência.
    • INT8 oferece o maior desempenho, com uma pequena perda de precisão, e é ideal quando a prioridade é a taxa de transferência máxima. Os modelos INT8 são calibrados automaticamente durante a exportação do Ultralytics.
  • O DL Streamer suporta estas variantes de tarefas YOLO26:

    • Deteção: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
    • Segmentação de instâncias: yolo26s-seg (e todas as variantes de tamanho)
    • Classificação: yolo26s-cls (pipeline composto com deteção)
    • Estimativa de pose: yolo26s-pose (e todas as variantes de tamanho)
    • Caixa delimitadora orientada (OBB): yolo26s-obb (e todas as variantes de tamanho)
  • Usa a opção de saída json para gravar os resultados da deteção num ficheiro no formato JSON Lines:

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

    Em alternativa, usa o elemento gvametapublish em pipelines personalizados para publicar metadados em ficheiros, MQTT ou Kafka.

Comentários

Faz uma pergunta, partilha os teus resultados ou ajuda alguém.