Otimizar modelos Ultralytics YOLO com a integração com TensorRT
Saiba como exportar modelos Ultralytics YOLO utilizando a integração com TensorRT para obter 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 milissegundos para detetar um peão a sair do passeio. Ao mesmo tempo, pode precisar de reconhecer um sinal de stop parcialmente oculto por uma árvore ou de 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 essenciais.
É aqui que a inteligência artificial (AI), mais especificamente a visão computacional, um ramo da AI 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 várias tarefas em simultâneo e utilizar a memória de forma eficiente.
Uma forma de conseguir isto é através da aceleração por hardware, utilizando dispositivos especializados, como unidades de processamento gráfico (GPUs), para executar modelos mais rapidamente. As GPUs NVIDIA são especialmente conhecidas para estas tarefas, graças à sua capacidade de proporcionar baixa latência e elevado débito.
No entanto, executar um modelo numa GPU tal como está nem sempre garante um desempenho ideal. Os modelos de AI para visão requerem normalmente otimização para aproveitarem plenamente as capacidades dos dispositivos de hardware. Para obter o desempenho máximo com um hardware específico, é necessário compilar o modelo para utilizar o conjunto específico de instruções desse hardware.
Por exemplo, o TensorRT é um formato de exportação e uma biblioteca de otimização desenvolvidos pela NVIDIA para melhorar o desempenho em máquinas topo de gama. 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 sejam executados de forma ideal em vários dispositivos NVIDIA.
Neste artigo, vamos explorar a integração do TensorRT suportada pela Ultralytics e explicar como podes exportar o teu modelo YOLO11 para uma implementação mais rápida e eficiente em hardware NVIDIA. Vamos começar!
Uma visão geral do TensorRT#
O TensorRT é um kit de ferramentas desenvolvido pela NVIDIA para ajudar os modelos de AI a serem executados de forma mais rápida e eficiente nas GPUs NVIDIA. Foi concebido para aplicações do mundo real em que a velocidade e o desempenho são realmente importantes, como carros autónomos e o 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 são executados com baixa latência e conseguem processar um débito mais elevado.
A integração do TensorRT suportada pela Ultralytics funciona através da otimização do teu modelo YOLO para que seja executado de forma mais eficiente nas GPUs, utilizando métodos como a redução da precisão. Isto significa utilizar formatos com menos bits, como ponto flutuante de 16 bits (FP16) ou inteiro de 8 bits (INT8), para representar os dados do modelo, reduzindo assim a utilização de memória e acelerando os cálculos com um impacto mínimo na precisão.
Além disso, as camadas de redes neuronais compatíveis são fundidas nos modelos TensorRT otimizados para reduzir a utilização de memória, resultando numa inferência mais rápida e eficiente.

Fig. 2. Uma análise da técnica de fusão de camadas do TensorRT.
Principais funcionalidades do formato de exportação TensorRT#
Antes de explicarmos como podes exportar o Ultralytics YOLO11 utilizando a integração do TensorRT, vejamos algumas funcionalidades importantes do formato de modelo TensorRT:
-
Fácil integração com frameworks: O TensorRT suporta a integração direta com frameworks de AI populares, como PyTorch, Hugging Face e ONNX, oferecendo um desempenho até 6 vezes superior. Também suporta MATLAB, permitindo desenvolver motores de AI de alta velocidade em plataformas como Jetson, NVIDIA DRIVE e centros de dados.
-
Implementação escalável com Triton: Os modelos otimizados no formato TensorRT podem ser implementados em grande escala utilizando o NVIDIA Triton Inference Server, que melhora a eficiência através de funcionalidades como agrupamento de entradas, execução simultânea de modelos, suporte para ensembles 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 AI de voz e outras para cibersegurança, 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. Vejamos os passos envolvidos.
Para começar, podes instalar o pacote Python da Ultralytics utilizando um gestor de pacotes como o «pip». Para tal, executa o comando “pip install ultralytics” na linha de comandos ou no terminal.
Depois de instalares com sucesso o 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. Se encontrares dificuldades durante a instalação do pacote, consulta o guia de Problemas comuns para obteres soluções e sugestões.
Para o passo seguinte, vais precisar de um dispositivo NVIDIA. Utiliza o trecho de código abaixo para carregar e exportar o YOLO11 para o formato de modelo TensorRT. Este código carrega uma variante nano pré-treinada do modelo YOLO11 (yolo11n.pt) e exporta-a como um ficheiro de motor TensorRT (yolo11n.engine), deixando-a pronta para implementação em dispositivos NVIDIA.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")Depois de converteres o teu modelo para o formato TensorRT, podes implementá-lo em várias aplicações.
O exemplo abaixo mostra como carregar o modelo YOLO11 exportado (yolo11n.engine) e executar uma inferência com ele. A inferência consiste em utilizar o modelo treinado para fazer previsões sobre dados novos. Neste caso, vamos utilizar uma imagem de entrada de um cão 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 imagem de saída seguinte será guardada na pasta runs/detect/predict.

Fig. 3. O resultado da execução de uma inferência utilizando o modelo Ultralytics YOLO11 exportado no formato TensorRT.
Quando utilizar a integração do 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 escolher a integração do TensorRT?
Eis alguns fatores que distinguem o formato de modelo TensorRT de outras opções de integração de exportação:
-
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 resultar numa redução de 4 vezes no tamanho do modelo, permitindo tempos de transferência mais rápidos, menores requisitos de armazenamento e uma menor utilização de memória 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 dos modelos YOLO exportados para INT8 podem consumir menos energia do que os 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.
Aplicações do Ultralytics 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 quando um desempenho de AI rápido e eficiente é essencial. Vejamos alguns exemplos interessantes de como podem ser utilizados.
Caixas de pagamento inteligentes em lojas de retalho#
Uma vasta gama de tarefas em lojas de retalho, como ler códigos de barras, pesar produtos ou embalar artigos, continua a ser realizada manualmente pelos funcionários. No entanto, depender exclusivamente dos funcionários pode tornar as operações mais lentas e causar frustração aos clientes, especialmente nas caixas. As filas longas são inconvenientes tanto para os clientes como para os proprietários das lojas. As caixas de pagamento automáticas 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 Ultralytics YOLO11, quando otimizados com ferramentas como o TensorRT, podem ser executados muito mais rapidamente em dispositivos GPU.
Estes modelos exportados são adequados para configurações de retalho inteligente que utilizam dispositivos de hardware compactos mas potentes, como o NVIDIA Jetson Nano, concebido especificamente para aplicações de AI de edge.

Fig. 4. Um exemplo de uma caixa de pagamento inteligente.
Deteção automatizada de defeitos na indústria transformadora#
Um modelo de visão computacional como o Ultralytics YOLO11 pode ser treinado especificamente para detetar produtos defeituosos na indústria transformadora. Depois de treinado, o modelo pode ser exportado para o formato TensorRT para ser implementado em instalações equipadas com sistemas de AI de alto desempenho.
À medida que os produtos avançam pelos tapetes transportadores, as câmaras captam imagens e o modelo Ultralytics YOLO11, executado no formato TensorRT, analisa-as em tempo real para identificar defeitos. Esta configuração permite às empresas detetar problemas de forma rápida e precisa, reduzindo erros e melhorando a eficiência.
Da mesma forma, setores como o farmacêutico estão a utilizar este tipo de sistemas para identificar defeitos em embalagens médicas. Na verdade, prevê-se que o mercado global de sistemas de deteção de defeitos inteligentes cresça até aos 5 mil milhões de dólares até 2026.

Fig. 5. Utilização do YOLO para detetar defeitos na indústria farmacêutica.
Aspetos a considerar ao utilizar o TensorRT#
Embora a integração do TensorRT ofereça muitas vantagens, como velocidades de inferência mais rápidas e latência reduzida, há algumas limitações a ter em conta:
-
Ligeira redução da precisão: Quando exportas o teu modelo no formato TensorRT, o modelo exportado pode não ser tão preciso como o original. As métricas de desempenho, como a precisão, a revocação e a capacidade do modelo para detetar objetos (pontuações mAP), podem diminuir ligeiramente. Isto pode ser atenuado através da utilização de um conjunto de dados representativo durante a quantização.
-
Maior complexidade na depuração: As otimizações realizadas pelo TensorRT podem dificultar o rastreio de erros ou a compreensão de 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 evidentes com tamanhos de lote maiores. Para aplicações que processam imagens individuais ou lotes pequenos, as melhorias de desempenho podem ser menos significativas.
Principais conclusões#
Exportar modelos Ultralytics YOLO para o formato TensorRT faz com que sejam executados 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 zonas urbanas movimentadas.
Esta otimização ajuda os modelos a terem um melhor desempenho nas GPUs NVIDIA, acelerando as previsões e reduzindo a utilização de memória e energia. Embora existam algumas limitações, o aumento de desempenho torna a integração do TensorRT uma excelente opção para quem desenvolve sistemas de visão computacional de alta velocidade em hardware NVIDIA.
Queres saber mais sobre AI? Explora o nosso repositório no GitHub, liga-te à nossa comunidade e consulta as nossas opções de licenciamento para iniciares o teu projeto de visão computacional. Descobre mais sobre inovações como AI na indústria transformadora e visão computacional no setor da logística nas nossas páginas de soluções.









