Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Usando a integração ONNX para exportar modelos Ultralytics YOLO

Abirami Vina

4 min de leitura

2 de maio de 2025

Descubra como exportar modelos Ultralytics YOLO, como o Ultralytics YOLO11, usando a integração ONNX para implantação entre plataformas em vários hardwares.

Quando as soluções de IA começaram a ganhar atenção, a maioria dos modelos era implementada em servidores potentes em ambientes controlados. No entanto, com o avanço da tecnologia, a implementação expandiu-se muito além do data center.

Hoje, os modelos de IA são executados em tudo, desde servidores de nuvem e computadores desktop até smartphones e dispositivos de edge. Esta mudança suporta um processamento mais rápido, funcionalidade offline e sistemas mais inteligentes que operam mais perto de onde os dados são gerados.

Uma área onde isso é especialmente evidente é a visão computacional - um ramo da IA que permite que as máquinas interpretem dados visuais. Ela está sendo usada para impulsionar aplicações como reconhecimento facial, direção autônoma e análise de vídeo em tempo real. À medida que esses casos de uso crescem, também aumenta a necessidade de modelos que possam ser executados sem problemas em diversos hardwares e plataformas.

Mas implementar modelos de visão computacional em uma variedade de alvos de implementação nem sempre é simples. Os dispositivos diferem em termos de hardware, sistemas operacionais e frameworks suportados, tornando a flexibilidade e a compatibilidade essenciais.

É por isso que ter a opção de exportar modelos de visão computacional como o Ultralytics YOLO11 para diferentes formatos é fundamental. Por exemplo, a integração ONNX (Open Neural Network Exchange) suportada pela Ultralytics fornece uma maneira prática de preencher a lacuna entre o treinamento e a implantação. O ONNX é um formato aberto que torna os modelos independentes de estrutura e prontos para implantação em todas as plataformas.

Fig. 1. ONNX ajuda a usar um modelo treinado numa framework e executá-lo facilmente noutra.

Neste artigo, vamos analisar mais de perto a integração ONNX suportada pela Ultralytics e explorar como você pode exportar seu modelo YOLO11 para uma implantação flexível e multiplataforma.

O que são ONNX e ONNX Runtime?

O Open Neural Network Exchange é um projeto de código aberto que define um formato padrão para modelos de machine learning. Originalmente desenvolvido pela Microsoft e pelo Facebook, ele permite que os desenvolvedores treinem um modelo em uma estrutura, como o PyTorch, e o executem em outra, como o TensorFlow. Isso torna o desenvolvimento de IA mais flexível, colaborativo e acessível, especialmente em áreas como a visão computacional.

O ONNX fornece um conjunto comum de operadores e um formato de arquivo unificado, facilitando a movimentação de modelos entre diferentes ferramentas, frameworks, runtimes e compiladores. Normalmente, um modelo treinado em um framework não é facilmente compatível com outro - mas com o ONNX, você pode exportar seu modelo uma vez e implantá-lo em quase qualquer lugar: em CPUs (Unidades Centrais de Processamento), GPUs (Unidades de Processamento Gráfico), dispositivos móveis ou hardware de borda.

Além disso, o ONNX Runtime é um mecanismo de inferência de alto desempenho desenvolvido especificamente para executar modelos no formato ONNX. Ele foi projetado para fazer com que os modelos ONNX sejam executados de forma mais rápida e eficiente em uma ampla gama de plataformas - incluindo servidores, dispositivos móveis e hardware de borda. O ONNX Runtime é compatível com estruturas populares como PyTorch, TensorFlow, TensorFlow Lite e scikit-learn, facilitando a integração em diferentes fluxos de trabalho e a implantação de modelos onde quer que sejam necessários.

Fig 2. ONNX e ONNX Runtime permitem a implantação flexível de modelos entre plataformas.

Principais características do ONNX 

Antes de discutirmos como exportar o YOLO11 para o formato ONNX, vamos verificar alguns recursos importantes do formato de modelo ONNX. 

Esteja você alternando entre ferramentas, implantando em diferentes dispositivos ou atualizando sistemas, o ONNX ajuda a manter tudo funcionando sem problemas. Veja o que torna o formato de modelo ONNX único:

  • Um formato padrão: O ONNX usa uma maneira comum de descrever como os modelos são construídos, como camadas e operações (pense neles como blocos de construção). Quando um modelo é convertido para ONNX, ele segue este padrão para que qualquer sistema que suporte ONNX possa entender e executá-lo.
  • Compatibilidade com versões anteriores: Mesmo com a evolução contínua do ONNX, ele garante que os modelos mais antigos ainda funcionem com as versões mais recentes. Isso significa que você não precisa retreinar ou reconstruir seus modelos cada vez que o ONNX recebe uma atualização.
  • Design de modelo baseado em grafo: Os modelos ONNX são estruturados como grafos de computação, onde cada nó representa uma operação (como uma camada ou função matemática), e as arestas indicam o fluxo de dados. Este design baseado em grafo facilita a integração com vários sistemas que utilizam estruturas de grafo computacional semelhantes.
  • Ferramentas amigáveis para desenvolvedores: Ele vem com uma ampla gama de ferramentas que ajudam você a converter, validar e otimizar seus modelos. Essas ferramentas simplificam o processo de movimentação de modelos entre diferentes frameworks e podem acelerar a implementação - especialmente para aplicações de visão computacional.

Uma visão geral da integração ONNX

Exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 no formato ONNX é simples e pode ser feito em algumas etapas. 

Para começar, instale 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 para começar.

Com o pacote Ultralytics, você pode facilmente treinar, testar, ajustar, exportar e implementar modelos para várias tarefas de visão computacional - tornando todo o processo mais rápido e eficiente. Ao instalá-lo, se você encontrar alguma dificuldade, pode consultar o guia de Problemas Comuns para obter soluções e dicas.

Após a instalação do pacote Ultralytics, você pode carregar e exportar o modelo YOLO11 para o formato ONNX usando o código abaixo. Este exemplo carrega um modelo YOLO11 pré-treinado (yolo11n.pt) e o exporta como um arquivo ONNX (yolo11n.onnx), preparando-o para implantação em diferentes plataformas e dispositivos.

Depois de converter seu modelo para o formato ONNX, você pode implementá-lo em diversas plataformas. 

O exemplo abaixo mostra como carregar o modelo YOLO11 exportado (yolo11n.onnx) e executar uma inferência com ele. Inferência significa simplesmente usar o modelo treinado para fazer previsões sobre novos dados. Neste caso, usaremos o URL de uma imagem de um ônibus para testar o modelo.

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

Fig 3. Executando uma inferência usando o modelo YOLO11 exportado em uma imagem.

Quando deve escolher a integração ONNX?

O pacote Python Ultralytics oferece suporte à exportação de modelos para vários formatos, incluindo TorchScript, CoreML, TensorRT e ONNX. Então, por que escolher ONNX?

O que destaca o ONNX é o facto de ser um formato independente de framework. Embora muitos outros formatos de exportação estejam ligados a ferramentas ou ambientes específicos, o ONNX utiliza um formato padronizado e um conjunto partilhado de operadores. Isto torna-o altamente portátil, compatível com hardware e ideal para implementação entre plataformas - quer esteja a trabalhar com servidores na nuvem, aplicações móveis ou dispositivos edge. 

Aqui estão algumas razões pelas quais a integração ONNX pode ser a escolha ideal para seus projetos YOLO11:

  • Implantação portátil: Uma vez exportado para ONNX, seu modelo YOLO11 pode ser implantado em várias plataformas sem alterações de código ou retreino.
  • Suporte em todo o setor: O ONNX é suportado pelas principais empresas e frameworks de IA, tornando-o um formato confiável e amplamente aceito. Ele garante compatibilidade a longo prazo, assim como os PDFs funcionam em todos os dispositivos.
  • Desenvolvimento à prova de futuro: Usar ONNX ajuda a proteger seus investimentos em modelos. À medida que as ferramentas evoluem, o ONNX mantém seus modelos relevantes e utilizáveis, mesmo em ambientes novos ou diferentes.
  • Sem dependência de fornecedor: Algumas ferramentas prendem você ao uso exclusivo do sistema deles, o que pode limitar o que seu modelo pode fazer. O ONNX evita isso, permitindo que você escolha a plataforma que melhor se adapta às suas necessidades, sem ficar preso a uma única configuração.

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

Em seguida, vamos explorar algumas aplicações do mundo real onde o YOLO11 pode ser implementado com a ajuda da integração ONNX.

Rastreamento de estoque em armazéns usando YOLO11

Em armazéns movimentados, é difícil ficar de olho em todos os produtos e embalagens o tempo todo. Os sistemas de visão computacional podem ajudar os trabalhadores a encontrar produtos nas prateleiras e obter insights como o número de produtos, tipo, etc. Esses sistemas podem ajudar as empresas a gerenciar automaticamente seu vasto inventário e economizar muito tempo para os trabalhadores do armazém.

Especificamente, em armazéns inteligentes, os modelos YOLO11 exportados para ONNX podem ser usados para identificar e contar itens em tempo real usando câmeras e dispositivos de borda. O modelo exportado pode ajudar a escanear prateleiras ou paletes para detectar níveis de estoque, itens ausentes ou espaços vazios. Como a exportação para ONNX torna o modelo leve e eficiente, ele pode ser executado diretamente em pequenos dispositivos de borda, como câmeras inteligentes, eliminando a necessidade de servidores caros ou acesso constante à nuvem.

Fig 4. Um exemplo de uso do YOLO11 para detectar e contar pacotes.

Gerenciamento de resíduos hospitalares com YOLO11

Hospitais em todo o mundo criam grandes quantidades de resíduos todos os dias, desde luvas e seringas usadas até equipamentos utilizados durante a cirurgia (como ferramentas cirúrgicas descartáveis ou contaminadas, como tesouras e bisturis). De fato, pesquisas mostram que os hospitais produzem cerca de 5 milhões de toneladas de resíduos todos os anos, o que equivale a 29 libras de resíduos por leito por dia. 

A separação adequada desses resíduos é essencial para a higiene, segurança e cumprimento das regulamentações. Com os modelos YOLO11 exportados no formato ONNX, os hospitais podem automatizar e monitorar o descarte de resíduos em tempo real.

Por exemplo, câmeras colocadas perto de lixeiras em áreas como salas de cirurgia ou corredores podem monitorar os itens à medida que são descartados. Um modelo YOLO11 personalizado, treinado para reconhecer diferentes tipos de resíduos médicos, pode analisar as imagens e identificar o que está sendo jogado fora. Se um item acabar na lixeira errada, como uma seringa usada no lixo comum, o sistema pode ser configurado para alertar imediatamente a equipe com uma luz ou som, ajudando a prevenir a contaminação e garantir a conformidade.

Fig 5. Utilização do YOLO11 para detetar instrumentos médicos.

Monitoramento de colheitas habilitado pelo YOLO11

Saber o momento certo para colher as plantações pode ter um grande impacto tanto na qualidade dos produtos quanto na produtividade geral de uma fazenda. Tradicionalmente, os agricultores confiam na experiência e em inspeções manuais - mas com os recentes avanços da tecnologia, isso está começando a mudar.

Agora, com inovações de visão computacional como o YOLO11, exportado no formato ONNX, os agricultores podem trazer automação e precisão para o campo. Ao usar drones ou câmeras montadas em tratores ou postes, os agricultores podem capturar imagens de suas colheitas (como tomates, maçãs ou trigo). O YOLO11 pode então ser usado para detectar indicadores-chave como cor, tamanho e a distribuição das colheitas. Com base nessas informações, os agricultores podem determinar se as colheitas estão prontas para a colheita, ainda amadurecendo ou já passaram do pico.

Fig 6. YOLO11 pode ser usado para detectar plantações em filmagens aéreas de drones. 

Limitações do ONNX a serem consideradas

Embora o ONNX ofereça inúmeros benefícios, como portabilidade, compatibilidade entre plataformas e interoperabilidade de frameworks, existem algumas limitações a serem lembradas:​

  • Tamanho do modelo: Converter modelos para o formato ONNX pode, por vezes, resultar em tamanhos de ficheiro maiores em comparação com os seus formatos originais. Técnicas como quantização e pruning podem ajudar a mitigar este problema, reduzindo o tamanho do modelo sem afetar significativamente o desempenho.​
  • Compatibilidade de runtime: Embora o ONNX Runtime seja projetado para compatibilidade entre plataformas, o desempenho e o suporte podem variar entre diferentes hardware e sistemas operativos. 
  • Desafios de depuração: Depurar modelos ONNX pode ser mais complexo do que em frameworks nativos como PyTorch ou TensorFlow. As mensagens de erro podem ser menos descritivas, tornando mais difícil identificar os problemas. No entanto, ferramentas como o Netron para visualização de modelos e os recursos de registro do ONNX Runtime podem auxiliar na solução de problemas.

Principais conclusões

Exportar Ultralytics YOLO11 para ONNX facilita a utilização de um modelo de visão computacional treinado e a sua implementação em praticamente qualquer lugar - seja num portátil, num dispositivo móvel ou até mesmo numa câmara inteligente compacta. Com a integração ONNX, você não está vinculado a uma única estrutura ou plataforma, o que lhe dá a flexibilidade de executar seu modelo no ambiente que melhor se adapta à sua aplicação. 

Isto torna a transição do treino para a implementação no mundo real mais rápida e eficiente. Quer esteja a rastrear o inventário num armazém ou a garantir que os resíduos hospitalares são descartados corretamente, esta configuração ajuda os sistemas a funcionar de forma mais suave, reduz erros e economiza tempo valioso.

Quer saber mais sobre visão computacional e IA? Explore nosso repositório GitHub, conecte-se com nossa comunidade e confira nossas opções de licenciamento para dar o pontapé inicial no seu projeto de visão computacional. Se você está explorando inovações como IA na manufatura e visão computacional na indústria automotiva, visite nossas páginas de soluções para descobrir mais. 

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