Aprende a exportar modelos Ultralytics YOLO utilizando a integração TensorRT para um desempenho de IA mais rápido e eficiente nas GPUs NVIDIA para aplicações em tempo real.
Considera 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 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. 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 por computador, 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 do mundo real, muitas vezes, necessitam de processar a informação rapidamente, lidar com várias 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 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. Usa técnicas avançadas para reduzir significativamente o tempo de inferência, mantendo a precisão.
Neste artigo, vamos explorar a integraçãoTensorRT suportada pelo Ultralytics e explicar como podes exportar o teu modelo YOLO11 para uma implementação mais rápida e eficiente no hardware NVIDIA . Toca a começar!
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 teus modelos funcionam com baixa latência e podem lidar com um maior rendimento.
A integração TensorRT suportada pelo Ultralytics funciona optimizando o teu 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.
Antes de falarmos sobre como podes exportar YOLO11 utilizando a integração TensorRT , vamos ver algumas caraterísticas-chave do formato do modelo TensorRT :
Exportar modelosUltralytics YOLO como o Ultralytics YOLO11 para o formato de modelo TensorRT é fácil. Vamos percorrer as etapas envolvidas.
Para começar, podes instalar o pacoteUltralytics Python 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.
Depois de instalar com êxito o Ultralytics Python Package, podes 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 tiveres alguma dificuldade, podes consultar o guia Problemas comuns para obteres soluções e sugestões.
Para o próximo passo, vais precisar de um dispositivo NVIDIA . Utiliza o fragmento de código abaixo para carregar e exportar o YOLOv11 para o formato de modelo TensorRT . Carrega uma variante nano pré-treinada do modelo YOLO11 (yolo11n.pt) e exporta-a 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 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 envolve a utilização do modelo treinado para fazer previsões sobre novos dados. Neste caso, vamos usar 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 executas este código, a seguinte imagem de saída é guardada na pasta runs/detect/predict.
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 deves 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:
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 podem ser utilizados.
Uma vasta gama de tarefas nas lojas de retalho, como a leitura de códigos de barras, a pesagem de produtos ou o embalamento de artigos, ainda é feita manualmente pelo pessoal. No entanto, confiar apenas nos funcionários pode abrandar as operações e levar à frustração dos clientes, especialmente na caixa. As longas filas são inconvenientes tanto para os clientes como para os proprietários das lojas. As caixas automáticas inteligentes são uma óptima solução para este problema.
Estes contadores utilizam a visão por computador e as 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.
Um modelo de visão por computador como o YOLO11 pode ser treinado à medida para detetar 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.
Do mesmo modo, indústrias como a farmacêutica estão a utilizar este tipo 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.
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:
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 quem constrói 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 iniciares o teu projeto de visão por computador. Descobre mais sobre inovações como a IA no fabrico e a visão por computador na indústria logística nas nossas páginas de soluções.
Começa a tua viagem com o futuro da aprendizagem automática