Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

Otimizando modelos Ultralytics YOLO com a integração TensorRT

Abirami Vina

Leitura de 5 minutos

20 de maio de 2025

Descubra como exportar modelos Ultralytics YOLO usando a integração TensorRT para um desempenho de IA mais rápido e eficiente em GPUs NVIDIA para aplicações em tempo real.

Considere um carro autónomo a mover-se por uma rua movimentada com apenas milissegundos para detetar um peão a sair do passeio. Ao mesmo tempo, pode precisar de reconhecer um sinal de stop parcialmente escondido por uma árvore ou reagir rapidamente a um veículo próximo a desviar-se para a sua faixa. Em tais situações, a velocidade e as respostas em tempo real são críticas.

É aqui que a inteligência artificial (IA), especificamente a visão computacional, um ramo da IA que ajuda as máquinas a interpretar dados visuais, desempenha um papel fundamental. Para que as soluções de visão computacional funcionem de forma confiável em ambientes do mundo real, muitas vezes, elas precisam de processar informações rapidamente, lidar com várias tarefas ao mesmo tempo e usar a memória de forma eficiente.

Uma forma de conseguir isso é através da aceleração de hardware, usando dispositivos especializados como unidades de processamento gráfico (GPUs) para executar modelos mais rapidamente. As GPUs da NVIDIA são especialmente conhecidas por tais tarefas, graças à sua capacidade de fornecer baixa latência e alto rendimento.

No entanto, executar um modelo em uma GPU como está nem sempre garante um desempenho ideal. Os modelos de Visão de IA normalmente exigem otimização para aproveitar ao máximo os recursos dos dispositivos de hardware. Para obter o desempenho máximo com hardware específico, precisamos compilar o modelo para usar o conjunto específico de instruções para o hardware.

Por exemplo, o TensorRT é um formato de exportação e biblioteca de otimização desenvolvida pela NVIDIA para melhorar o desempenho em máquinas de ponta. Ele usa técnicas avançadas para reduzir significativamente o tempo de inferência, mantendo a precisão.

Fig 1. O NVIDIA TensorRT permite que os modelos sejam executados de forma otimizada em vários dispositivos NVIDIA.

Neste artigo, vamos explorar a integração TensorRT suportada pela Ultralytics e explicar como você pode exportar seu modelo YOLO11 para uma implantação mais rápida e eficiente no hardware NVIDIA. Vamos começar!

Uma visão geral do TensorRT

TensorRT é um kit de ferramentas desenvolvido pela NVIDIA para ajudar os modelos de IA a serem executados de forma mais rápida e eficiente em GPUs NVIDIA. Ele foi projetado para aplicações do mundo real onde velocidade e desempenho realmente importam, como carros autônomos e controle de qualidade na fabricação e produtos farmacêuticos. 

O TensorRT inclui ferramentas como compiladores e otimizadores de modelo que podem funcionar nos bastidores para garantir que seus modelos sejam executados com baixa latência e possam lidar com uma taxa de transferência maior.

A integração com o TensorRT suportada pela Ultralytics funciona otimizando seu modelo YOLO para ser executado de forma mais eficiente em GPUs, usando métodos como a redução de precisão. Isso se refere ao uso de formatos de bit mais baixos, como ponto flutuante de 16 bits (FP16) ou inteiro de 8 bits (INT8), para representar os dados do modelo, o que reduz o uso de memória e acelera a computação com impacto mínimo na precisão. 

Além disso, as camadas de rede neural compatíveis são fundidas em modelos TensorRT otimizados para reduzir o uso de memória, resultando em inferência mais rápida e eficiente.

Fig. 2. Uma olhada na técnica de fusão de camadas do TensorRT.

Principais características do formato de exportação TensorRT

Antes de discutirmos como você pode exportar o YOLO11 usando a integração do TensorRT, vamos dar uma olhada em alguns recursos importantes do formato de modelo TensorRT:

  • Fácil integração de frameworks: O TensorRT suporta a integração direta com frameworks de IA populares como o PyTorch, o Hugging Face e o ONNX, oferecendo um desempenho até 6x mais rápido. Também suporta o MATLAB, permitindo o desenvolvimento de motores de IA de alta velocidade em plataformas como o Jetson, o NVIDIA DRIVE e os centros de dados.
  • Implantação escalável com Triton: Os modelos otimizados no formato TensorRT podem ser implementados em escala usando o NVIDIA Triton Inference Server, o que aumenta a eficiência por meio de recursos como batching de entrada, execução simultânea de modelos, suporte a ensemble de modelos e streaming de áudio/vídeo em tempo real.
  • Flexível em diversos dispositivos: De pequenos dispositivos de borda a servidores poderosos, o TensorRT funciona em todo o ecossistema NVIDIA, suportando ferramentas como DeepStream para vídeo, Riva para IA de voz e outras para segurança cibernética, recomendações e muito mais.

Como funciona a integração do TensorRT?

Exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 para o formato de modelo TensorRT é fácil. Vamos percorrer as etapas envolvidas.

Para começar, você pode instalar o pacote Python Ultralytics usando um gerenciador de pacotes como ‘pip.’ Isso pode ser feito executando o comando “pip install ultralytics” em seu prompt de comando ou terminal.

Após instalar com sucesso o pacote Python Ultralytics, você pode treinar, testar, ajustar, exportar e implementar modelos para várias tarefas de visão computacional, como detecção de objetos, classificação e segmentação de instâncias. Se você encontrar alguma dificuldade ao instalar o pacote, pode consultar o guia de Problemas Comuns para obter soluções e dicas.

Para a próxima etapa, você precisará de um dispositivo NVIDIA. Use o trecho de código abaixo para carregar e exportar o YOLOv11 para o formato de modelo TensorRT. Ele carrega uma variante nano pré-treinada do modelo YOLO11 (yolo11n.pt) e a exporta como um arquivo de mecanismo TensorRT (yolo11n.engine), tornando-o pronto para implantação em dispositivos NVIDIA.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine") 

Depois de converter seu modelo para o formato TensorRT, você pode implementá-lo para diversas aplicações. 

O exemplo abaixo mostra como carregar o modelo YOLO11 exportado (yolo11n.engine) e executar uma inferência usando-o. A inferência envolve o uso do modelo treinado para fazer previsões sobre novos dados. Neste caso, usaremos uma imagem de entrada de um cachorro para testar o modelo. 

tensorrt_model = YOLO("yolo11n.engine")

results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

Quando executar este código, a seguinte imagem de saída será guardada na pasta runs/detect/predict.

Fig 3. O resultado da execução de uma inferência usando o modelo YOLO11 exportado no formato TensorRT.

Quando aproveitar a integração TensorRT

O pacote Python Ultralytics oferece suporte a várias integrações que permitem a exportação de modelos YOLO para diferentes formatos, como TorchScript, CoreML, ONNX e TensorRT. Então, quando você deve escolher usar a integração do TensorRT?

Aqui estão alguns fatores que diferenciam o formato de modelo TensorRT de outras opções de integração:

  • Tamanho de modelo menor: Exportar um modelo YOLO para o formato TensorRT com precisão INT8 pode reduzir significativamente o tamanho do modelo. A quantização de FP32 para INT8 pode levar a uma redução de 4x no tamanho do modelo, o que permite tempos de download mais rápidos, menores requisitos de armazenamento e uma pegada de memória reduzida durante a implantação.
  • Menor uso de energia: A quantização INT8 não apenas reduz o tamanho do modelo, mas também diminui o consumo de energia. As operações de precisão reduzida para modelos YOLO exportados em INT8 podem consumir menos energia em comparação com os modelos FP32, o que é especialmente benéfico para dispositivos alimentados por bateria, como drones, smartphones ou dispositivos de borda.
  • Desempenho Mais Rápido: Combinar a arquitetura eficiente do YOLO com a otimização INT8 do TensorRT pode melhorar as velocidades de inferência.

Aplicações do YOLO11 e do formato de modelo TensorRT

Os modelos Ultralytics YOLO exportados para o formato TensorRT podem ser implantados em uma ampla gama de cenários do mundo real. Esses modelos otimizados são especialmente úteis onde o desempenho rápido e eficiente da IA é fundamental. Vamos explorar alguns exemplos interessantes de como eles podem ser usados.

Balcões de checkout inteligentes em lojas de retalho

Uma ampla gama de tarefas em lojas de varejo, como escanear códigos de barras, pesar produtos ou embalar itens, ainda é realizada manualmente por funcionários. No entanto, depender apenas de funcionários pode retardar as operações e levar à frustração do cliente, especialmente no caixa. Filas longas são inconvenientes tanto para os compradores quanto para os donos de lojas. Balcões de autoatendimento inteligentes são uma ótima solução para este problema.

Esses contadores usam visão computacional e GPUs para acelerar o processo, ajudando a reduzir os tempos de espera. A visão computacional permite que esses sistemas vejam e compreendam seu ambiente por meio de tarefas como a detecção de objetos. Modelos avançados como o YOLO11, quando otimizados com ferramentas como o TensorRT, podem ser executados muito mais rapidamente em dispositivos GPU.

Esses modelos exportados são adequados para configurações de varejo inteligente que usam dispositivos de hardware compactos, mas poderosos, como o NVIDIA Jetson Nano, projetado especificamente para aplicações de IA de ponta.

Fig 4. Um exemplo de um balcão de checkout inteligente.

Detecção automatizada de defeitos na fabricação

Um modelo de visão computacional como o YOLO11 pode ser treinado sob medida para detectar produtos defeituosos na indústria de manufatura. Uma vez treinado, o modelo pode ser exportado para o formato TensorRT para implantação em instalações equipadas com sistemas de IA de alto desempenho. 

À medida que os produtos se movem ao longo das esteiras transportadoras, as câmeras capturam imagens, e o modelo YOLO11, executado no formato TensorRT, as analisa em tempo real para identificar defeitos. Essa configuração permite que as empresas detectem problemas de forma rápida e precisa, reduzindo erros e melhorando a eficiência.

Da mesma forma, setores como o farmacêutico estão usando esses tipos de sistemas para identificar defeitos em embalagens médicas. De fato, o mercado global de sistemas inteligentes de detecção de defeitos deverá crescer para US$ 5 bilhões até 2026.

Fig 5. Utilização de YOLO para detetar defeitos na indústria farmacêutica.

Considerações a ter em mente ao usar o TensorRT

Embora a integração do TensorRT traga muitas vantagens, como velocidades de inferência mais rápidas e latência reduzida, aqui estão algumas limitações a serem lembradas:

  • Pequena queda na precisão: Ao exportar seu modelo no formato TensorRT, seu modelo exportado pode não ser tão preciso quanto o original. Métricas de desempenho como precisão, recall e quão bem o modelo detecta objetos (pontuações mAP) podem cair ligeiramente. Isso pode ser atenuado usando um conjunto de dados representativo durante a quantização. 
  • Aumento da complexidade de depuração: As otimizações feitas pelo TensorRT podem tornar mais difícil rastrear erros ou entender comportamentos inesperados, especialmente ao comparar os resultados com o modelo original.
  • Sensibilidade ao tamanho do lote: Os ganhos de desempenho do TensorRT são mais pronunciados com tamanhos de lote maiores. Para aplicações que processam imagens únicas ou pequenos lotes, as melhorias de desempenho podem ser menos significativas.

Principais conclusões

Exportar modelos Ultralytics YOLO para o formato TensorRT faz com que eles sejam executados de forma significativamente mais rápida e eficiente, tornando-os ideais para tarefas em tempo real, como detecção de defeitos em fábricas, alimentando sistemas de checkout inteligentes ou monitorando áreas urbanas movimentadas. 

Esta otimização ajuda os modelos a terem um melhor desempenho nas GPUs NVIDIA, acelerando as previsões e reduzindo o uso de memória e energia. Embora existam algumas limitações, o aumento de desempenho torna a integração do TensorRT uma ótima escolha para quem está a construir sistemas de visão computacional de alta velocidade em hardware NVIDIA.

Quer saber mais sobre IA? Explore o nosso repositório GitHub, conecte-se com a nossa comunidade e consulte as nossas opções de licenciamento para dar o pontapé de saída no seu projeto de visão computacional. Saiba mais sobre inovações como a IA na indústria transformadora e a visão computacional na indústria da logística nas nossas páginas de soluções.

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência