Otimizando modelos Ultralytics YOLO com a integração TensorRT
Aprenda a 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.

Imagina um carro autónomo a circular numa rua movimentada com apenas alguns 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 que se desvia para a sua faixa. Em situações como estas, a velocidade e as respostas em tempo real são cruciais.
É 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 fiável em ambientes reais, muitas vezes precisam de processar informações rapidamente, lidar com múltiplas tarefas ao mesmo tempo e utilizar a memória de forma eficiente.
Uma forma de o conseguir é através da aceleração de hardware, utilizando dispositivos especializados como unidades de processamento gráfico (GPUs) para executar modelos mais rapidamente. As GPUs NVIDIA são especialmente conhecidas para tais tarefas, graças à sua capacidade de proporcionar baixa latência e elevado débito.
No entanto, executar um modelo numa GPU tal como ele é nem sempre garante o desempenho ideal. Os modelos de visão por IA requerem normalmente otimização para aproveitar totalmente as capacidades dos dispositivos de hardware. Para obter o desempenho máximo com um hardware específico, precisamos de compilar o modelo para utilizar o conjunto específico de instruções do hardware.
Por exemplo, o TensorRT é um formato de exportação e uma biblioteca de otimização desenvolvida pela NVIDIA para melhorar o desempenho em máquinas de gama alta. Utiliza 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 funcionem de forma otimizada em vários dispositivos NVIDIA.
Neste artigo, vamos explorar a integração TensorRT suportada pela Ultralytics e percorrer como podes exportar o teu modelo YOLO11 para uma implementação mais rápida e eficiente em hardware NVIDIA. Vamos começar!
Link to this sectionUma visão geral do TensorRT#
O TensorRT é um kit de ferramentas desenvolvido pela NVIDIA para ajudar os modelos de IA a funcionarem mais rapidamente e de forma mais eficiente em GPUs NVIDIA. Foi concebido para aplicações do mundo real onde a velocidade e o desempenho são realmente importantes, como carros autónomos e controlo de qualidade na indústria transformadora e farmacêutica.
O TensorRT inclui ferramentas como compiladores e otimizadores de modelos que podem trabalhar nos bastidores para garantir que os teus modelos funcionam com baixa latência e conseguem lidar com um débito mais elevado.
A integração TensorRT suportada pela Ultralytics funciona otimizando o teu modelo YOLO para funcionar de forma mais eficiente em GPUs, utilizando métodos como a redução da precisão. Isto refere-se à utilização de formatos de bits mais baixos, como vírgula flutuante de 16 bits (FP16) ou inteiro de 8 bits (INT8), para representar dados do modelo, o que reduz a utilização de memória e acelera a computação com um impacto mínimo na precisão.
Além disso, as camadas de rede neuronal compatíveis são fundidas em modelos TensorRT otimizados para reduzir a utilização de memória, resultando numa inferência mais rápida e eficiente.

Fig 2. Uma vista sobre a técnica de fusão de camadas do TensorRT.
Link to this sectionPrincipais características do formato de exportação TensorRT#
Antes de discutirmos como podes exportar o YOLO11 utilizando a integração TensorRT, vamos dar uma vista de olhos a algumas características principais do formato de modelo TensorRT:
-
Integração fácil de frameworks: O TensorRT suporta a integração direta com frameworks de IA populares como PyTorch, Hugging Face e ONNX, oferecendo até 6x mais desempenho. Também suporta MATLAB, permitindo o desenvolvimento de motores de IA de alta velocidade em plataformas como Jetson, NVIDIA DRIVE e centros de dados.
-
Implementação escalável com o Triton: Os modelos otimizados no formato TensorRT podem ser implementados à escala utilizando o NVIDIA Triton Inference Server, que melhora a eficiência através de funcionalidades como o envio em lote de entradas (input batching), execução de modelos concorrentes, suporte para conjunto de modelos e transmissão de áudio/vídeo em tempo real.
-
Flexível entre dispositivos: Desde pequenos dispositivos de edge até servidores potentes, o TensorRT funciona em todo o ecossistema NVIDIA, suportando ferramentas como DeepStream para vídeo, Riva para IA de voz, e outras para cibersegurança, recomendações e muito mais.
Link to this sectionComo funciona a integração TensorRT?#
Exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 para o formato de modelo TensorRT é fácil. Vamos percorrer os passos envolvidos.
Para começar, podes instalar o pacote Python da Ultralytics utilizando um gestor de pacotes como o 'pip'. Isto pode ser feito executando o comando “pip install ultralytics” na tua linha de comandos ou terminal.
Após a instalação bem-sucedida do pacote Python da Ultralytics, podes treinar, testar, ajustar, exportar e implementar modelos para várias tarefas de visão computacional, como deteção de objetos, classificação e segmentação de instâncias. Durante a instalação do pacote, se encontrares alguma dificuldade, podes consultar o guia de Problemas Comuns para obter soluções e dicas.
Para o próximo passo, precisarás de um dispositivo NVIDIA. Usa o excerto de código abaixo para carregar e exportar o YOLO11 para o formato de modelo TensorRT. Ele carrega uma variante nano pré-treinada do modelo YOLO11 (yolo11n.pt) e exporta-a como um ficheiro de motor TensorRT (yolo11n.engine), tornando-o pronto para implementação em dispositivos NVIDIA.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")Após converter o teu modelo para o formato TensorRT, podes implementá-lo para várias 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 usar o modelo treinado para fazer previsões em 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 executares 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 utilizando o modelo YOLO11 exportado no formato TensorRT.
Link to this sectionQuando aproveitar a integração TensorRT#
O pacote Python da Ultralytics suporta várias integrações que permitem exportar modelos YOLO para diferentes formatos como TorchScript, CoreML, ONNX e TensorRT. Então, quando deves optar por utilizar a integração TensorRT?
Aqui estão alguns fatores que distinguem o formato de modelo TensorRT de outras opções de integração de exportação:
-
Tamanho de modelo mais pequeno: 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 transferência mais rápidos, requisitos de armazenamento mais baixos e uma pegada de memória reduzida durante a implementação.
-
Menor consumo de energia: A quantização INT8 não só reduz o tamanho do modelo, como 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 modelos FP32, o que é especialmente benéfico para dispositivos alimentados por bateria, como drones, smartphones ou dispositivos de edge.
-
Desempenho mais rápido: Combinar a arquitetura eficiente do YOLO com a otimização INT8 do TensorRT pode melhorar as velocidades de inferência.
Link to this sectionAplicações do YOLO11 e do formato de modelo TensorRT#
Os modelos Ultralytics YOLO exportados para o formato TensorRT podem ser implementados numa vasta gama de cenários do mundo real. Estes modelos otimizados são especialmente úteis onde o desempenho rápido e eficiente da IA é fundamental. Vamos explorar alguns exemplos interessantes de como podem ser utilizados.
Link to this sectionCaixas de pagamento inteligentes em lojas de retalho#
Uma vasta gama de tarefas em lojas de retalho, como digitalizar códigos de barras, pesar produtos ou embalar artigos, ainda é tratada manualmente pelos funcionários. No entanto, depender apenas dos funcionários pode atrasar as operações e levar à frustração dos clientes, especialmente no momento do pagamento. As filas longas são inconvenientes tanto para os compradores como para os proprietários das lojas. As caixas de self-checkout inteligentes são uma excelente solução para este problema.
Estas caixas utilizam visão computacional e GPUs para acelerar o processo, ajudando a reduzir os tempos de espera. A visão computacional permite que estes sistemas vejam e compreendam o seu ambiente através de tarefas como a deteção de objetos. Modelos avançados como o YOLO11, quando otimizados com ferramentas como o TensorRT, podem funcionar muito mais rapidamente em dispositivos GPU.
Estes modelos exportados são bem adequados para configurações de retalho inteligente que utilizam dispositivos de hardware compactos mas potentes, como o NVIDIA Jetson Nano, concebidos especificamente para aplicações de IA de edge.

Fig 4. Um exemplo de uma caixa de pagamento inteligente.
Link to this sectionDeteção automatizada de defeitos na indústria transformadora#
Um modelo de visão computacional como o YOLO11 pode ser treinado à medida para detetar produtos com defeitos na indústria transformadora. Uma vez treinado, o modelo pode ser exportado para o formato TensorRT para implementação em instalações equipadas com sistemas de IA de alto desempenho.
À medida que os produtos se movem ao longo das linhas de montagem, as câmaras captam imagens e o modelo YOLO11, a funcionar no formato TensorRT, analisa-as em tempo real para detetar defeitos. Esta configuração permite que as empresas detetem problemas de forma rápida e precisa, reduzindo erros e melhorando a eficiência.
Da mesma forma, indústrias como a farmacêutica estão a utilizar estes tipos de sistemas para identificar defeitos em embalagens médicas. De facto, o mercado global de sistemas inteligentes de deteção de defeitos deverá crescer para 5 mil milhões de dólares até 2026.

Fig 5. Utilizar o YOLO para detetar defeitos na indústria farmacêutica.
Link to this sectionConsiderações a ter em conta ao utilizar o TensorRT#
Embora a integração TensorRT traga muitas vantagens, como velocidades de inferência mais rápidas e latência reduzida, aqui estão algumas limitações a ter em conta:
-
Ligeira queda na precisão: Quando exportas o teu modelo no formato TensorRT, o teu modelo exportado pode não ser tão preciso quanto o original. Métricas de desempenho como a precisão, a recuperação (recall) e a forma como o modelo deteta objetos (pontuações mAP) podem cair ligeiramente. Isto pode ser atenuado utilizando um conjunto de dados representativo durante a quantização.
-
Aumento da complexidade da depuração: As otimizações feitas pelo TensorRT podem tornar mais complicado rastrear erros ou compreender comportamentos inesperados, especialmente ao comparar 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.
Link to this sectionPrincipais pontos#
Exportar modelos Ultralytics YOLO para o formato TensorRT faz com que funcionem de forma significativamente mais rápida e eficiente, tornando-os ideais para tarefas em tempo real, como detetar defeitos em fábricas, alimentar sistemas de pagamento inteligentes ou monitorizar áreas urbanas movimentadas.
Esta otimização ajuda os modelos a terem um melhor desempenho em GPUs NVIDIA ao acelerar as previsões e reduzir a utilização de memória e energia. Embora existam algumas limitações, o aumento de desempenho torna a integração TensorRT uma excelente escolha para qualquer pessoa que construa sistemas de visão computacional de alta velocidade em hardware NVIDIA.
Queres saber mais sobre IA? Explora o nosso repositório GitHub, liga-te à nossa comunidade, e verifica as nossas opções de licenciamento para dar um impulso ao teu projeto de visão computacional. Descobre mais sobre inovações como a IA na indústria transformadora e visão computacional na indústria logística nas nossas páginas de soluções.






