Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Integrações

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 VinaAbirami Vina12 min de leitura
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.

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.

ONNX permitindo que um modelo treinado em uma estrutura seja executado em outra

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.

ONNX e ONNX Runtime permitem a implementação de modelos em várias plataformas

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.

Execução de uma inferência numa imagem com o modelo Ultralytics YOLO11 exportado

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.

Exemplo de utilização do Ultralytics YOLO11 para detetar e contar embalagens

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.

Utilização do Ultralytics YOLO11 para detetar instrumentos médicos

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.

Ultralytics YOLO11 a detetar culturas em imagens aéreas captadas por drones

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

Abirami Vina
Abirami Vina

Criador de conteúdo · Ultralytics

Ao iniciar a carreira como engenheira de visão computacional, Abirami Vina construiu uma base sólida em IA de visão e machine learning. Ela é criadora de conteúdo da Ultralytics e fundadora e redatora-chefe da Scribe of AI, onde produz conteúdo técnico de alta qualidade para empresas focadas em IA. Movida pela paixão por tornar a IA compreensível e envolvente, seu trabalho aproxima a tecnologia de ponta do impacto no mundo real.

Comentários

Faça uma pergunta, compartilhe seus resultados ou ajude alguém.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina