Ultralytics YOLO26 na série Intel Core Ultra 3 usando o DL Streamer Pipeline Framework e o OpenVINO™#
Este guia abrangente apresenta um passo a passo detalhado para implementar o Ultralytics YOLO26 em plataformas Intel Core Ultra Series 3 usando o DL Streamer Pipeline Framework e o OpenVINO™ toolkit. Aqui, usamos o OpenVINO™ para maximizar o desempenho da inferência em CPUs, GPUs integradas e dedicadas e NPUs Intel.
Conteúdo: O que é o Intel DL Streamer? • Pré-requisitos • Preparação do modelo YOLO26 • Execução da inferência com YOLO26 • Configuração de múltiplos streams • FAQ
O que é o Intel DL Streamer?#
O Deep Learning Streamer (DL Streamer) Pipeline Framework é um framework de análise de mídia em streaming de código aberto baseado no framework multimídia GStreamer, desenvolvido para criar pipelines complexos de análise de mídia na Cloud ou no Edge.
O DL Streamer permite a análise de fluxos de áudio e vídeo para detetar, classificar, rastrear, identificar e contar objetos, eventos e pessoas. Ele está otimizado para hardware Intel e oferece interoperabilidade entre os plugins do GStreamer criados em várias bibliotecas de backend:
- Inferência: motor de inferência OpenVINO™, otimizado para CPU, GPU e NPU Intel
- Codificação/descodificação de vídeo: aceleração por GPU através de VA-API
- Processamento de imagem: aceleração por GPU através de VA-API
- Metadados: GStreamer Analytics para resultados de inferência estruturados
- Ecossistema: centenas de plugins do 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 (YOLOv5 a YOLO26), todos no formato OpenVINO™.
O DL Streamer é validado regularmente com sistemas fornecidos em System Requirements — Open Edge Platform Documentation
Pré-requisitos#
Antes de começar, certifique-se de que os seguintes componentes estão instalados e configurados no seu sistema Intel:
-
Ubuntu 24.04 com os drivers de GPU/NPU Intel instalados (consulte o guia de instalação)
-
docker engine (consulte o guia de instalação)
Preparação do modelo YOLO26#
O DL Streamer usa modelos no formato IR do OpenVINO™. Os modelos Ultralytics YOLO26 são exportados do PyTorch para o formato IR do OpenVINO™ usando o exportador da Ultralytics. O DL Streamer utiliza a integração oficial da Ultralytics com o OpenVINO™, que fornece recursos otimizados de exportação e inferência para hardware Intel.
- Crie a pasta
~/intel/dlstreamer_demoe instale o OpenVINO™ e a 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- Descarrega o modelo PyTorch YOLO26s do 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.yamlO 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 um 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.yamlOs exemplos abaixo usam o modelo INT8 exportado na etapa de preparação. Para usar modelos FP32 ou FP16, substitua o caminho do modelo conforme necessário (por exemplo, yolo26s_openvino_model/yolo26s.xml).
Execução da inferência com YOLO26#
Antes de executar o pipeline de deteção de inferência YOLO26 do DL Streamer, executa a imagem Docker do DL Streamer em modo interativo. Certifica-te de que seguiste o passo YOLO26 Model Preparation e descarrega o seguinte ficheiro de vídeo da base de dados Pexels.
curl -L https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 --output ~/intel/dlstreamer_demo/video1.mp4Execute a imagem Docker do DL Streamer no modo interativo.
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:latestPrecisão INT8 (desempenho máximo)#
A quantização INT8 proporciona o maior throughput ao reduzir os pesos do modelo a inteiros de 8 bits. O exportador da Ultralytics trata automaticamente da calibração.
Execute 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
Execute YOLO26s com INT8 na GPU e guarde a saída num ficheiro 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.mp4Execute 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
Configuração de múltiplos streams#
O DL Streamer suporta o processamento de múltiplos fluxos, onde várias fontes de vídeo são descodificadas e objeto de inferência em simultâneo. Podes lançar múltiplos pipelines em paralelo utilizando o elemento vacompositor do GStreamer para combinar múltiplos fluxos.
Execução de vários pipelines (4 streams) 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
Recursos adicionais#
- Repositório do DL Streamer no GitHub
- Documentação do DL Streamer
- Elementos do DL Streamer
- OpenVINO™ Toolkit
- Ultralytics YOLO26
- Framework GStreamer
- Tabela de modelos compatíveis
Perguntas frequentes#
Instale o DL Streamer seguindo o Guia de instalação, configure o ambiente com
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh, instale a Ultralytics e o OpenVINO™, e transfira os modelos usandodownload_ultralytics_models.sh. Em seguida, execute a inferência com a aplicação de exemplo do DL Streameryolo_detect.sh, que fornece um script pronto a usar para executar pipelines de inferência do YOLO26. Consulte o tutorial curto para saber como o executar.O OpenVINO™ otimiza o modelo YOLO26 especificamente para hardware Intel através de técnicas como a otimização de grafos, fusão de camadas e afinação de kernels específica para o hardware. Combinado com a descodificação acelerada por VA-API do DL Streamer e o pré-processamento de zero-copy
va-surface-sharing, o pipeline completo de análise de vídeo atinge um rendimento significativamente superior ao dos frameworks não otimizados.Sim. O DL Streamer suporta inferência em CPUs Intel (Core, Core Ultra, Xeon), GPUs integrados (Iris Xe, Arc), GPUs discretos (Arc A-Series, B-Series) e NPUs (AI Boost) em várias gerações de plataformas Intel. Basta alterar a propriedade
devicedegvadetectparaCPU,GPUouNPU.- FP16 é recomendada como predefinição para inferência na GPU — proporciona uma precisão próxima da FP32 com uma melhoria de throughput de aproximadamente 2x.
- INT8 proporciona o desempenho máximo (2–3x superior ao FP32), com uma pequena redução da precisão, e é ideal quando a prioridade é o throughput máximo. Os modelos INT8 são calibrados automaticamente durante a exportação da Ultralytics.
O DL Streamer suporta todas as variantes de tarefas do YOLO26:
- Deteção: yolo26n, yolo26s, yolo26m, yolo26l, yolo26x
- Bounding Box Orientada (OBB): yolo26s-obb (e todas as variantes de tamanho)
- Segmentação de Instâncias: yolo26s-seg (e todas as variantes de tamanho)
- Estimativa de Pose: yolo26s-pose (e todas as variantes de tamanho)
- Classificação: yolo26s-cls (pipeline composto com deteção)
Use a opção de saída
jsonpara escrever os resultados das deteções como linhas JSON num ficheiro:./yolo_detect.sh yolo26s GPU input_video.mp4 json va-surface-sharing INT8Como alternativa, use o elemento
gvametapublishem pipelines personalizados para publicar metadados em ficheiros, MQTT ou Kafka.