Link to this sectionUltralytics YOLO26 no NVIDIA Jetson usando DeepStream SDK e TensorRT#
Watch: How to use Ultralytics YOLO26 models with NVIDIA Deepstream on Jetson Orin NX 🚀
Este guia abrangente fornece um passo a passo detalhado para implantar o Ultralytics YOLO26 em dispositivos NVIDIA Jetson usando o DeepStream SDK e o TensorRT. Aqui, usamos o TensorRT para maximizar o desempenho de inferência na plataforma Jetson.
Este guia aborda a configuração do DeepStream para o YOLO26, calibração INT8, configuração multi-stream e resultados de benchmark.

Este guia foi testado com NVIDIA Jetson Orin Nano Super Developer Kit executando a versão estável mais recente do JetPack JP6.1, Seeed Studio reComputer J4012 que é baseado no NVIDIA Jetson Orin NX 16GB executando a versão do JetPack JP5.1.3 e Seeed Studio reComputer J1020 v2 que é baseado no NVIDIA Jetson Nano 4GB executando a versão do JetPack JP4.6.4. Espera-se que funcione em toda a linha de hardware NVIDIA Jetson, incluindo modelos recentes e legados.
Link to this sectionO que é o NVIDIA DeepStream?#
NVIDIA's DeepStream SDK é um kit de ferramentas completo de análise de streaming baseado em GStreamer para processamento multissensor baseado em IA, compreensão de vídeo, áudio e imagem. É ideal para desenvolvedores de IA de visão, parceiros de software, startups e OEMs que criam aplicativos e serviços de IVA (Intelligent Video Analytics). Agora você pode criar pipelines de processamento de fluxo que incorporam redes neurais e outras tarefas complexas de processamento, como rastreamento, codificação/decodificação de vídeo e renderização de vídeo. Esses pipelines permitem análise em tempo real de dados de vídeo, imagem e sensores. O suporte multiplataforma do DeepStream oferece uma maneira mais rápida e fácil de desenvolver aplicativos e serviços de IA de visão localmente, na borda e na nuvem.
Link to this sectionPré-requisitos#
Antes de começar a seguir este guia:
- Visite nossa documentação, Guia de Início Rápido: NVIDIA Jetson com Ultralytics YOLO26 para configurar seu dispositivo NVIDIA Jetson com o Ultralytics YOLO26
- Instale o DeepStream SDK de acordo com a versão do JetPack
- Para o JetPack 4.6.4, instale o DeepStream 6.0.1
- Para o JetPack 5.1.3, instale o DeepStream 6.3
- Para o JetPack 6.1, instale o DeepStream 7.1
- Para o JetPack 7.1, instale o DeepStream 9.0
Neste guia, usamos o método de pacote Debian para instalar o DeepStream SDK no dispositivo Jetson. Você também pode visitar o DeepStream SDK no Jetson (Arquivado) para acessar versões legadas do DeepStream.
Link to this sectionConfiguração do DeepStream para YOLO26#
Aqui estamos usando o repositório GitHub marcoslucianops/DeepStream-Yolo que inclui suporte ao NVIDIA DeepStream SDK para modelos YOLO. Agradecemos os esforços de marcoslucianops por suas contribuições!
-
Instale o Ultralytics com as dependências necessárias
cd ~ pip install -U pip git clone https://github.com/ultralytics/ultralytics cd ultralytics pip install -e ".[export]" onnxslim -
Clone o repositório DeepStream-Yolo
cd ~ git clone https://github.com/marcoslucianops/DeepStream-Yolo -
Copie o arquivo
export_yolo26.pydo diretórioDeepStream-Yolo/utilspara a pastaultralyticscp ~/DeepStream-Yolo/utils/export_yolo26.py ~/ultralytics cd ultralytics -
Baixe o modelo de detecção Ultralytics YOLO26 (.pt) de sua escolha a partir dos lançamentos do YOLO26. Aqui usamos o yolo26s.pt.
wget https://github.com/ultralytics/assets/releases/download/v8.4.0/yolo26s.pt
Você também pode usar um modelo YOLO26 treinado de forma personalizada.
-
Converta o modelo para ONNX
python3 export_yolo26.py -w yolo26s.pt
Para o DeepStream 5.1, remova o argumento --dynamic e use opset 12 ou inferior. O opset padrão é 17.
--opset 12Para alterar o tamanho da inferência (padrão: 640)
-s SIZE
--size SIZE
-s HEIGHT WIDTH
--size HEIGHT WIDTHExemplo para 1280:
-s 1280
or
-s 1280 1280Para simplificar o modelo ONNX (DeepStream >= 6.0)
--simplifyPara usar tamanho de lote (batch-size) dinâmico (DeepStream >= 6.1)
--dynamicPara usar tamanho de lote (batch-size) estático (exemplo para batch-size = 4)
--batch 4-
Copie o arquivo de modelo
.onnxgerado e o arquivolabels.txtpara a pastaDeepStream-Yolocp yolo26s.onnx labels.txt ~/DeepStream-Yolo cd ~/DeepStream-Yolo -
Defina a versão do CUDA de acordo com a versão do JetPack instalada
Para o JetPack 4.6.4:
export CUDA_VER=10.2Para o JetPack 5.1.3:
export CUDA_VER=11.4Para o JetPack 6.1:
export CUDA_VER=12.6 -
Compile a biblioteca
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
Edite o arquivo
config_infer_primary_yolo26.txtde acordo com seu modelo (para YOLO26s com 80 classes)[property] ... onnx-file=yolo26s.onnx ... num-detected-classes=80 ... parse-bbox-func-name=NvDsInferParseYolo ...
O YOLO26 redimensiona a entrada com preenchimento central e executa sem NMS. Para obter a melhor precisão, adicione o seguinte à seção [property] do arquivo config_infer_primary_yolo26.txt:
[property]
...
maintain-aspect-ratio=1
symmetric-padding=1
cluster-mode=4
...-
Edite o arquivo
deepstream_app_config... [primary-gie] ... config-file=config_infer_primary_yolo26.txt -
Você também pode alterar a fonte de vídeo no arquivo
deepstream_app_config. Aqui, um arquivo de vídeo padrão é carregado... [source0] ... uri=file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h264.mp4
Link to this sectionExecutar inferência#
deepstream-app -c deepstream_app_config.txtLevará um tempo para gerar o arquivo de mecanismo TensorRT antes de iniciar a inferência. Portanto, por favor, seja paciente.

Se você quiser converter o modelo para precisão FP16, basta definir model-engine-file=model_b1_gpu0_fp16.engine e network-mode=2 dentro do config_infer_primary_yolo26.txt
Link to this sectionCalibração INT8#
Se você deseja usar precisão INT8 para inferência, você precisa seguir os passos abaixo:
Atualmente, o INT8 não funciona com o TensorRT 10.x. Esta seção do guia foi testada com o TensorRT 8.x, que deve funcionar.
-
Defina a variável de ambiente
OPENCVexport OPENCV=1 -
Compile a biblioteca
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo -
Para o conjunto de dados COCO, baixe o val2017, extraia e mova para a pasta
DeepStream-Yolo -
Crie um novo diretório para imagens de calibração
mkdir calibration -
Execute o seguinte para selecionar 1000 imagens aleatórias do conjunto de dados COCO para realizar a calibração
for jpg in $(ls -1 val2017/*.jpg | sort -R | head -1000); do cp ${jpg} calibration/ done
A NVIDIA recomenda pelo menos 500 imagens para obter uma boa precisão. Neste exemplo, 1000 imagens são escolhidas para obter melhor precisão (mais imagens = mais precisão). Você pode definir isso a partir de head -1000. Por exemplo, para 2000 imagens, head -2000. Este processo pode levar muito tempo.
-
Crie o arquivo
calibration.txtcom todas as imagens selecionadasrealpath calibration/*jpg > calibration.txt -
Defina variáveis de ambiente
export INT8_CALIB_IMG_PATH=calibration.txt export INT8_CALIB_BATCH_SIZE=1
Valores mais altos de INT8_CALIB_BATCH_SIZE resultarão em maior precisão e velocidade de calibração mais rápida. Defina de acordo com a memória da sua GPU.
-
Atualize o arquivo
config_infer_primary_yolo26.txtDe
... model-engine-file=model_b1_gpu0_fp32.engine #int8-calib-file=calib.table ... network-mode=0 ...Para
... model-engine-file=model_b1_gpu0_int8.engine int8-calib-file=calib.table ... network-mode=1 ...
Link to this sectionExecutar inferência INT8#
Execute o mesmo comando para construir o motor INT8 e iniciar a inferência:
deepstream-app -c deepstream_app_config.txtLink to this sectionConfiguração MultiStream#
Watch: How to Run Multi-Stream Inference with Ultralytics YOLO26 using NVIDIA DeepStream on Jetson Orin 🚀
Para configurar vários fluxos em um único aplicativo DeepStream, faça as seguintes alterações no arquivo deepstream_app_config.txt:
-
Altere as linhas e colunas para criar uma exibição em grade de acordo com o número de fluxos que deseja ter. Por exemplo, para 4 fluxos, podemos adicionar 2 linhas e 2 colunas.
[tiled-display] rows=2 columns=2 -
Adicione um grupo
[sourceN]separado para cada fluxo, cada um com seu própriourienum-sources=1.[source0] enable=1 type=3 uri=file:///path/to/video1.mp4 num-sources=1 [source1] enable=1 type=3 uri=file:///path/to/video2.mp4 num-sources=1 [source2] enable=1 type=3 uri=file:///path/to/video3.mp4 num-sources=1 [source3] enable=1 type=3 uri=file:///path/to/video4.mp4 num-sources=1
Link to this sectionExecutar inferência Multi-Stream#
Execute o mesmo comando para iniciar todos os fluxos na exibição em grade:
deepstream-app -c deepstream_app_config.txt
Link to this sectionResultados de benchmark#
Os benchmarks a seguir resumem o desempenho dos modelos YOLO11 em diferentes níveis de precisão do TensorRT com um tamanho de entrada de 640x640 no NVIDIA Jetson Orin NX 16GB. O YOLO26 utiliza o mesmo fluxo de trabalho de exportação e inferência do DeepStream descrito acima.
Link to this sectionGráfico de comparação#

Link to this sectionTabela de comparação detalhada#
| Formato | Status | Tempo de inferência (ms/im) |
|---|---|---|
| TensorRT (FP32) | ✅ | 8.64 |
| TensorRT (FP16) | ✅ | 5.27 |
| TensorRT (INT8) | ✅ | 4.54 |
Link to this sectionAgradecimentos#
Este guia foi criado inicialmente por nossos amigos da Seeed Studio, Lakshantha e Elaine.
Link to this sectionFAQ#
Link to this sectionComo configuro o Ultralytics YOLO26 em um dispositivo NVIDIA Jetson?#
Para configurar o Ultralytics YOLO26 em um dispositivo NVIDIA Jetson, primeiro você precisa instalar o DeepStream SDK compatível com sua versão do JetPack. Siga o guia passo a passo em nosso Guia de Início Rápido para configurar seu NVIDIA Jetson para a implantação do YOLO26.
Link to this sectionQual é o benefício de usar o TensorRT com o YOLO26 no NVIDIA Jetson?#
Usar o TensorRT com o YOLO26 otimiza o modelo para inferência, reduzindo significativamente a latência e melhorando o rendimento em dispositivos NVIDIA Jetson. O TensorRT fornece inferência de aprendizado profundo de alto desempenho e baixa latência através de fusão de camadas, calibração de precisão e ajuste automático de kernel. Isso leva a uma execução mais rápida e eficiente, particularmente útil para aplicações em tempo real, como análise de vídeo e máquinas autônomas.
Link to this sectionPosso executar o Ultralytics YOLO26 com o DeepStream SDK em diferentes hardwares NVIDIA Jetson?#
Sim, o guia para implantar o Ultralytics YOLO26 com o DeepStream SDK e o TensorRT é compatível com toda a linha NVIDIA Jetson. Isso inclui dispositivos como o Jetson Orin NX 16GB com JetPack 5.1.3 e o Jetson Nano 4GB com JetPack 4.6.4. Consulte a seção Configuração do DeepStream para YOLO26 para obter etapas detalhadas.
Link to this sectionComo posso converter um modelo YOLO26 para ONNX para o DeepStream?#
Para converter um modelo YOLO26 para o formato ONNX para implantação com o DeepStream, use o script utils/export_yolo26.py do repositório DeepStream-Yolo.
Aqui está um exemplo de comando:
python3 utils/export_yolo26.py -w yolo26s.pt --opset 12 --simplifyPara obter mais detalhes sobre a conversão de modelos, confira nossa seção de exportação de modelos.
Link to this sectionComo executo a inferência INT8 com o YOLO26 no DeepStream?#
Para executar a inferência INT8, calibre o modelo em um conjunto de imagens representativo e altere a configuração do DeepStream para o modo INT8. Baixe as imagens COCO val2017, selecione cerca de 1000 imagens de calibração, defina as variáveis de ambiente INT8_CALIB_IMG_PATH e INT8_CALIB_BATCH_SIZE, então atualize o config_infer_primary_yolo26.txt com model-engine-file=model_b1_gpu0_int8.engine, int8-calib-file=calib.table e network-mode=1. Veja a seção Calibração INT8 para os passos completos. O INT8 atualmente requer o TensorRT 8.x.
Link to this sectionComo executo múltiplos fluxos de câmera com o DeepStream no Jetson?#
Para processar múltiplos fluxos em uma única aplicação DeepStream, edite o arquivo deepstream_app_config.txt para adicionar uma grade de exibição e liste cada URI de origem. Defina rows e columns em [tiled-display] para construir a grade, adicione um grupo [sourceN] separado para cada fluxo com seu próprio uri e num-sources=1, e ajuste a grade para acomodar o número de fluxos. Veja a seção Configuração Multi-Stream para um exemplo completo.
Link to this sectionQuais são os benchmarks de desempenho para YOLO no NVIDIA Jetson Orin NX?#
O desempenho dos modelos YOLO11 no NVIDIA Jetson Orin NX 16GB varia de acordo com os níveis de precisão do TensorRT. Por exemplo, os modelos YOLO11s alcançam:
- Precisão FP32: 14,53 ms/im, 68,8 FPS
- Precisão FP16: 7,91 ms/im, 126 FPS
- Precisão INT8: 6,05 ms/im, 165 FPS
Esses benchmarks reforçam a eficiência e a capacidade de usar modelos YOLO11 otimizados pelo TensorRT em hardware NVIDIA Jetson. Para mais detalhes, consulte nossa seção Resultados de Benchmark.