Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Otimização dos modelosYOLO Ultralytics com a integração TensorRT

Abirami Vina

Leitura de 5 minutos

20 de maio de 2025

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

Considere um automóvel autónomo a circular numa rua movimentada com apenas milissegundos para detect um peão a sair do passeio. Ao mesmo tempo, poderá ter de reconhecer um sinal de stop parcialmente escondido por uma árvore ou reagir rapidamente a um veículo próximo que se desvie para a sua faixa de rodagem. Nestas situações, a velocidade e as respostas em tempo real são fundamentais.

É 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 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 por essas tarefas, graças à sua capacidade de fornecer baixa latência e alta taxa de transferência.

No entanto, a execução de um modelo numa GPU tal como está nem sempre garante um desempenho ótimo. Os modelos de IA de visão requerem normalmente otimização para tirar o máximo partido das capacidades dos dispositivos de hardware. Para atingir o desempenho total com um hardware específico, precisamos de compilar o modelo para utilizar o conjunto específico de instruções para o hardware.

Por exemplo, TensorRT é um formato de exportação e uma biblioteca de otimização desenvolvida 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.

Figura 1. NVIDIA TensorRT permite que os modelos sejam executados de forma optimizada em vários dispositivos NVIDIA .

Neste artigo, vamos explorar a integraçãoTensorRT suportada pelo Ultralytics e explicar como pode exportar o seu modelo YOLO11 para uma implementaçã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 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 controlo de qualidade no fabrico e na indústria farmacêutica. 

TensorRT inclui ferramentas como compiladores e optimizadores de modelos que podem trabalhar nos bastidores para garantir que os seus modelos são executados com baixa latência e podem lidar com uma maior taxa de transferência.

A integração TensorRT suportada pelo Ultralytics funciona optimizando o seu modelo YOLO para ser executado 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 inferiores, como o ponto flutuante de 16 bits (FP16) ou o inteiro de 8 bits (INT8), para representar os dados do modelo, o que reduz a utilização de memória e acelera o cálculo com um impacto mínimo na precisão. 

Além disso, as camadas de redes neurais compatíveis são fundidas em modelos TensorRT optimizados para reduzir a utilização de memória, resultando numa inferência mais rápida e eficiente.

Fig. 2. Um olhar sobre a técnica de fusão de camadas do TensorRT.

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

Antes de discutirmos a forma como pode exportar YOLO11 utilizando a integração TensorRT , vejamos algumas das principais caraterísticas do formato do modelo TensorRT :

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

Como funciona a integração TensorRT ?

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

Para começar, pode instalar o pacoteUltralytics Python utilizando um gestor de pacotes como o 'pip'. Isso pode ser feito executando o comando "pip install ultralytics" no seu prompt de comando ou terminal.

Depois de instalar com êxito o Ultralytics Python Package, pode treinar, testar, afinar, exportar e implementar modelos para várias tarefas de visão computacional, como a deteção de objectos, a classificação e a segmentação de instâncias. Durante a instalação do pacote, se encontrar alguma dificuldade, pode consultar o guia Problemas comuns para obter soluções e sugestões.

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 do 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-a pronta para implantação em dispositivos NVIDIA .

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="engine") 

Depois de converter o seu modelo para o formato TensorRT , pode implementá-lo para 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 envolve a utilização do modelo treinado para fazer previsões sobre novos dados. 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 este código é executado, a seguinte imagem de saída é guardada na pasta detect.

Fig. 3. Resultado da execução de uma inferência utilizando o modelo YOLO11 exportado no formato TensorRT .

Quando tirar partido da integração TensorRT

O pacote Ultralytics Python suporta várias integrações que permitem exportar modelos YOLO para diferentes formatos, como TorchScript, CoreML, ONNX e TensorRT. Então, quando é que deve optar por utilizar a integração TensorRT ?

Eis alguns factores que distinguem o formato do modelo TensorRT de outras opções de integração de exportação:

  • Tamanho do modelo mais pequeno: A exportação de 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 consumo de energia: A quantização INT8 não só reduz o tamanho do modelo, mas também diminui o consumo de energia. As operações de precisão reduzida para modelos YOLO exportados 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 ponta.
  • Desempenho mais rápido: A combinação da 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 do 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 optimizados são especialmente úteis quando 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.

Estes contadores utilizam visão por computador e GPUs para acelerar o processo, ajudando a reduzir os tempos de espera. A visão por computador permite que estes sistemas vejam e compreendam o seu ambiente através de tarefas como a deteção de objectos. Modelos avançados como o YOLO11, quando optimizados 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 inteligentes que utilizam dispositivos de hardware compactos mas potentes, como o NVIDIA Jetson Nano, concebido 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 por computador como o YOLO11 pode ser treinado à medida para detect produtos defeituosos na indústria transformadora. Uma vez treinado, o modelo pode ser exportado para o formato TensorRT para ser implementado em instalações equipadas com sistemas de IA de alto desempenho. 

À medida que os produtos se deslocam ao longo das correias transportadoras, as câmaras captam imagens e o modelo YOLO11 , executado no formato TensorRT , analisa-as em tempo real para detetar defeitos. Esta configuração permite às empresas detetar problemas de forma rápida e precisa, reduzindo os 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 do YOLO para detect defeitos na indústria farmacêutica.

Consideraçõ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 exporta o seu modelo no formato TensorRT , o modelo exportado pode não ser tão exato como o original. As métricas de desempenho como a precisão, a recuperação e a forma como o modelo detecta objectosmAP pontuaçõesmAP ) podem diminuir ligeiramente. Isso pode ser atenuado usando um conjunto de dados representativo durante a quantização. 
  • Maior complexidade de depuração: As optimizações efectuadas pelo TensorRT podem tornar mais complicado o rastreio de erros ou a compreensão de comportamentos inesperados, especialmente quando se comparam resultados com o modelo original.
  • Sensibilidade ao tamanho do lote: Os ganhos de desempenho doTensorRT são mais pronunciados com tamanhos de lote maiores. Para aplicações que processam imagens individuais ou pequenos lotes, as melhorias de desempenho podem ser menos significativas.

Principais conclusões

A exportação dos modelos Ultralytics YOLO para o formato TensorRT torna-os significativamente mais rápidos e eficientes, tornando-os ideais para tarefas em tempo real, como a deteção de defeitos em fábricas, a alimentação de sistemas de caixas inteligentes ou a monitorização de áreas 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 TensorRT uma óptima escolha para qualquer pessoa que esteja a criar 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