Usando a integração ONNX para exportar modelos Ultralytics YOLO
Saiba como exportar modelos Ultralytics YOLO11 para ONNX, executar inferência com o modelo exportado e implantá-lo em CPUs, GPUs, dispositivos móveis e dispositivos de borda.
Abirami Vina12 min de leitura
Quando as soluções de IA começaram a ganhar destaque, a maioria dos modelos era implantada em servidores potentes, em ambientes controlados. No entanto, com o avanço da tecnologia, a implantação se expandiu muito além do data center.
Hoje, os modelos de IA são executados em tudo, desde servidores na nuvem e computadores de mesa até smartphones e dispositivos de borda. Essa mudança permite um processamento mais rápido, funcionamento offline e sistemas mais inteligentes que operam mais perto de onde os dados são gerados.
Uma área em que isso é especialmente evidente é a visão computacional, um ramo da IA que permite às máquinas interpretar dados visuais. Ela está sendo usada em aplicações como reconhecimento facial, condução autônoma e análise de vídeo em tempo real. À medida que esses casos de uso se expandem, também aumenta a necessidade de modelos que funcionem sem problemas em diferentes hardwares e plataformas.
No entanto, nem sempre é simples implantar modelos de visão computacional em diversos destinos. Os dispositivos variam em termos de hardware, sistemas operacionais e estruturas compatíveis, por isso a flexibilidade e a compatibilidade são essenciais.
Por isso, é essencial poder exportar modelos de visão computacional, como o Ultralytics YOLO11, para diferentes formatos. Por exemplo, a integração com ONNX (Intercâmbio Aberto de Redes Neurais), compatível com Ultralytics, oferece uma maneira prática de superar a distância entre treinamento e implantação. O ONNX é um formato aberto que torna os modelos independentes de framework e prontos para implantação em diferentes plataformas.

Fig. 1. O ONNX ajuda-te a pegar num modelo treinado numa framework e executá-lo facilmente noutra.
Neste artigo, vamos analisar mais de perto a integração com ONNX suportada pela Ultralytics e explorar como podes exportar o teu modelo YOLO11 para uma implementaçã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 aprendizagem automática. Desenvolvido originalmente pela Microsoft e pelo Facebook, permite aos programadores treinar um modelo numa framework, como PyTorch, e executá-lo noutra, como TensorFlow. Isto 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 ficheiro unificado, facilitando a transferência de modelos entre diferentes ferramentas, frameworks, ambientes de execução e compiladores. Normalmente, um modelo treinado numa framework não é facilmente compatível com outra, mas com o ONNX podes exportar o teu modelo uma vez e implementá-lo em quase todo o lado: em CPUs (unidades centrais de processamento), GPUs (unidades de processamento gráfico), dispositivos móveis ou hardware de ponta.
Além disso, o ONNX Runtime é um mecanismo de inferência de alto desempenho desenvolvido especificamente para executar modelos no formato ONNX. Foi concebido para executar modelos ONNX de forma mais rápida e eficiente numa ampla variedade de plataformas, incluindo servidores, dispositivos móveis e hardware de ponta. O ONNX Runtime é compatível com frameworks populares como PyTorch, TensorFlow, TensorFlow Lite e scikit-learn, facilitando a integração em diferentes fluxos de trabalho e a implementação de modelos onde forem necessários.

Fig. 2. O ONNX e o ONNX Runtime permitem a implementação flexível de modelos em várias plataformas.
Principais funcionalidades do ONNX#
Antes de vermos como exportar o Ultralytics YOLO11 para o formato ONNX, vamos conhecer algumas das principais funcionalidades do formato de modelo ONNX.
Quer estejas a alternar entre ferramentas, a implementar em diferentes dispositivos ou a atualizar sistemas, o ONNX ajuda a manter tudo a funcionar sem problemas. Eis o que torna único o formato de modelo ONNX:
- Um formato padrão: o ONNX utiliza uma forma comum de descrever a estrutura dos modelos, como camadas e operações (pensa nelas como blocos de construção). Quando um modelo é convertido para ONNX, segue este padrão para que qualquer sistema compatível com ONNX o possa compreender e executar.
- Compatibilidade com versões anteriores: Mesmo à medida que o ONNX continua a melhorar, garante que os modelos mais antigos continuam a funcionar com as versões mais recentes. Isto significa que não precisas de voltar a treinar ou reconstruir os teus modelos sempre que o ONNX é atualizado.
- Conceção de modelos baseada em grafos: Os modelos ONNX são estruturados como grafos computacionais, em que cada nó representa uma operação (como uma camada ou função matemática) e as arestas indicam o fluxo de dados. Esta conceção baseada em grafos facilita a integração com vários sistemas que utilizam estruturas de grafos computacionais semelhantes.
- Ferramentas fáceis de usar para programadores: Inclui uma vasta gama de ferramentas que ajudam a converter, validar e otimizar os teus modelos. Estas ferramentas simplificam a transferência de modelos entre diferentes frameworks e podem acelerar a implementação, especialmente em aplicações de visão computacional.
Visão geral da integração com ONNX#
Exportar modelos Ultralytics YOLO, como o Ultralytics YOLO11, no formato ONNX é simples e pode ser feito em poucos passos.
Para começar, instale o pacote Python da Ultralytics usando um gerenciador de pacotes como pip. Para isso, execute pip install ultralytics no prompt de comando ou no terminal.
Com o pacote Ultralytics, podes 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. Se encontrares alguma dificuldade durante a instalação, consulta o guia de problemas comuns para obter soluções e sugestões.
Depois de instalares o pacote Ultralytics, podes 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 exporta-o como um ficheiro ONNX (yolo11n.onnx), deixando-o pronto para implementação em diferentes plataformas e dispositivos.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="onnx")As mesmas etapas funcionam com modelos mais recentes, como o Ultralytics YOLO26. Depois de converter seu modelo para o formato ONNX e confirmar que ele produz os mesmos resultados que o original, você pode implantá-lo em diversas plataformas.
O exemplo abaixo mostra como carregar o modelo YOLO11 exportado (yolo11n.onnx) e executar inferências com ele. Inferência significa simplesmente usar o modelo treinado para fazer previsões com novos dados. Neste caso, usaremos a URL de uma imagem de um ônibus para testar o modelo.
onnx_model = YOLO("yolo11n.onnx")
results = onnx_model("https://ultralytics.com/images/bus.jpg", save=True)Quando executares este código, a imagem de saída seguinte será guardada na pasta runs/detect/predict.

Fig. 3. Execução de uma inferência numa imagem com o modelo Ultralytics YOLO11 exportado.
Quando deves escolher a integração com ONNX?#
O pacote Ultralytics para Python suporta a exportação de modelos para vários formatos, incluindo TorchScript, CoreML, TensorRT e ONNX. Então, porquê escolher ONNX?
O que distingue o ONNX é ser um formato independente de frameworks. Enquanto muitos outros formatos de exportação estão associados 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 multiplataforma, quer trabalhes com servidores na nuvem, aplicações móveis ou dispositivos de ponta.
Eis algumas razões pelas quais a integração com ONNX pode ser a escolha ideal para os teus projetos com Ultralytics YOLO11:
- Implementação portátil: Depois de exportares o teu modelo Ultralytics YOLO11 para ONNX, podes implementá-lo em várias plataformas sem alterar o código nem voltar a treiná-lo.
- Apoio generalizado no setor: O ONNX é compatível com as principais empresas e frameworks de IA, o que faz dele um formato fiável e amplamente aceite. Garante compatibilidade a longo prazo, tal como os PDF funcionam em vários dispositivos.
- Desenvolvimento preparado para o futuro: Usar ONNX ajuda a proteger o investimento nos teus modelos. À medida que as ferramentas evoluem, o ONNX mantém os teus modelos relevantes e utilizáveis, mesmo em ambientes novos ou diferentes.
- Sem dependência de um fornecedor: Algumas ferramentas obrigam-te a usar apenas o respetivo sistema, o que pode limitar as capacidades do teu modelo. O ONNX evita esse problema ao permitir-te escolher a plataforma que melhor se adequa às tuas necessidades, sem ficares preso a uma única configuração.
Aplicações do Ultralytics YOLO11 e do formato de modelo ONNX#
Em seguida, vamos explorar algumas aplicações reais em que o Ultralytics YOLO11 pode ser implementado com a ajuda da integração com ONNX.
Acompanhamento de inventário em armazéns com o Ultralytics YOLO11#
Em armazéns movimentados, é difícil acompanhar todos os produtos e pacotes o tempo todo. Os sistemas de visão computacional podem ajudar os trabalhadores a encontrar produtos nas prateleiras e obter informações como a quantidade e o tipo de produtos, entre outras. Esses sistemas podem ajudar as empresas a gerenciar automaticamente seus vastos estoques e economizar muito tempo dos trabalhadores do armazém.
Em particular, em armazéns inteligentes, os modelos Ultralytics YOLO11 exportados para ONNX podem ser usados para identificar e contar itens em tempo real por meio de câmeras e dispositivos de borda. O modelo exportado pode ajudar a examinar prateleiras ou paletes para detectar níveis de estoque, itens ausentes ou espaços vazios. Como os modelos ONNX funcionam com eficiência em uma ampla variedade de hardware, o modelo 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. Exemplo de utilização do YOLO11 para detetar e contar embalagens.
Gestão de resíduos hospitalares com o Ultralytics YOLO11#
Hospitais do mundo todo produzem grandes quantidades de resíduos todos os dias, desde luvas e seringas usadas até equipamentos usados durante cirurgias, como tesouras e bisturis descartáveis ou contaminados. De fato, pesquisas mostram que os hospitais produzem mais de 5 milhões de toneladas de resíduos por ano, o equivalente a 29 libras de resíduos por leito por dia.
A separação correta desses resíduos é essencial para a higiene, a segurança e o cumprimento das normas. Com os modelos Ultralytics YOLO11 exportados no formato ONNX, os hospitais podem usar a visão computacional na área da saúde para automatizar e monitorar o descarte de resíduos em tempo real.
Por exemplo, as câmaras colocadas junto a contentores de resíduos em zonas como blocos operatórios ou corredores podem monitorizar os artigos à medida que são descartados. Um modelo Ultralytics YOLO11 personalizado, treinado para reconhecer diferentes tipos de resíduos médicos, pode analisar as imagens e identificar o que está a ser deitado fora. Se um artigo for colocado no contentor errado, como uma seringa usada no lixo comum, o sistema pode alertar imediatamente o pessoal através de uma luz ou de um som, ajudando a evitar contaminações e a garantir o cumprimento das normas.

Fig. 5. Utilização do Ultralytics YOLO11 para detetar instrumentos médicos.
Monitorização de culturas com o Ultralytics YOLO11#
Saber qual é o momento certo para colher as culturas pode ter um grande impacto tanto na qualidade dos produtos como na produtividade geral de uma exploração agrícola. Tradicionalmente, os agricultores baseiam-se na experiência e em inspeções manuais, mas os avanços tecnológicos recentes estão a mudar esta realidade.
Agora, com inovações de visão computacional como o YOLO11 exportado para o formato ONNX, os agricultores podem automatizar e aumentar a precisão no campo. Usando drones ou câmaras instaladas em tratores ou postes, os agricultores podem captar imagens das culturas, como tomates, maçãs ou trigo. O YOLO11 pode então detetar indicadores importantes, como a cor, o tamanho e a distribuição das culturas. Com base nestas informações, os agricultores podem determinar se as culturas estão prontas para a colheita, ainda a amadurecer ou já passaram do ponto ideal.

Fig. 6. O YOLO11 pode ser usado para detetar culturas em imagens aéreas captadas por drones.
Limitações do ONNX a ter em conta#
Embora o ONNX ofereça inúmeras vantagens, como portabilidade, compatibilidade multiplataforma e interoperabilidade entre frameworks, há algumas limitações a ter em conta:
- Tamanho do modelo: A conversão de modelos para o formato ONNX pode, por vezes, resultar em ficheiros maiores do que os dos formatos originais. Técnicas como a quantização e a poda podem ajudar a atenuar este problema, reduzindo o tamanho do modelo sem afetar significativamente o desempenho.
- Compatibilidade do ambiente de execução: Embora o ONNX Runtime tenha sido concebido para compatibilidade multiplataforma, o desempenho e o suporte podem variar consoante o hardware e os sistemas operativos.
- Dificuldades de depuração: A depuração de modelos ONNX pode ser mais complexa do que em frameworks nativas como PyTorch ou TensorFlow. As mensagens de erro podem ser menos descritivas, dificultando a identificação dos problemas. No entanto, ferramentas como o Netron, para visualização de modelos, e as capacidades de registo do ONNX Runtime podem ajudar na resolução de problemas.
Principais conclusões#
Exportar o Ultralytics YOLO11 para ONNX facilita a implementação de um modelo de visão computacional treinado em quase todo o lado, seja num portátil, num dispositivo móvel ou até numa câmara inteligente compacta. Com a integração com ONNX, não ficas dependente de uma única framework ou plataforma, o que te dá flexibilidade para executar o modelo no ambiente mais adequado à tua aplicação.
Isto torna a transição do treino para a implementação no mundo real mais rápida e eficiente. Quer estejas a acompanhar o inventário de um armazém ou a garantir a eliminação correta de resíduos hospitalares, esta configuração ajuda os sistemas a funcionar melhor, reduz os erros e poupa tempo valioso.
Queres saber mais sobre visão computacional e IA? Explora o nosso repositório GitHub, liga-te à nossa comunidade e consulta as nossas opções de licenciamento para dar início ao teu projeto de visão computacional. Se estás a explorar inovações como a IA na indústria transformadora e a visão computacional na indústria automóvel, visita as nossas páginas de soluções para saberes mais.
Escrito por
Comentários
Faça uma pergunta, compartilhe seus resultados ou ajude alguém.










