Aprende a exportar modelos Ultralytics YOLO , como o Ultralytics YOLO11, utilizando a integração ONNX para a implementação multiplataforma em vários hardwares.
Quando as soluções de IA começaram a chamar a atenção, a maioria dos modelos era implementada em servidores potentes em ambientes controlados. No entanto, à medida que a tecnologia avançou, a implementação expandiu-se muito para além do centro de dados.
Atualmente, os modelos de IA são executados em tudo, desde servidores na nuvem e computadores de secretária a smartphones e dispositivos de ponta. Esta mudança permite um processamento mais rápido, funcionalidade offline e sistemas mais inteligentes que funcionam mais perto do local onde os dados são gerados.
Uma área em que isto é especialmente claro é a visão por computador - um ramo da IA que permite às máquinas interpretar dados visuais. Está a ser utilizada para impulsionar aplicações como o reconhecimento facial, a condução autónoma e a análise de vídeo em tempo real. À medida que estes casos de utilização crescem, cresce também a necessidade de modelos que possam funcionar sem problemas em diversos hardwares e plataformas.
Mas a implantação de modelos de visão computacional em uma variedade de alvos de implantação nem sempre é simples. Os dispositivos diferem em termos de hardware, sistemas operacionais e estruturas suportadas, 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 pelo Ultralytics proporciona uma forma prática de colmatar a lacuna entre a formação e a implementação. ONNX é um formato aberto que torna os modelos independentes da estrutura e prontos para serem implementados em várias plataformas.
Neste artigo, analisaremos mais detalhadamente a integraçãoONNX suportada pelo Ultralytics e exploraremos a forma como podes exportar o teu modelo YOLO11 para uma implementação flexível e multiplataforma.
O Open Neural Network Exchange é um projeto de código aberto que define um formato padrão para modelos de aprendizagem automática. Originalmente desenvolvido pela Microsoft e pelo Facebook, permite que os programadores treinem um modelo numa estrutura, como PyTorch, e o executem noutra, como o TensorFlow. Isto torna o desenvolvimento da IA mais flexível, colaborativo e acessível, especialmente em domínios como a visão por computador.
ONNX fornece um conjunto comum de operadores e um formato de arquivo unificado, facilitando a movimentação de modelos entre diferentes ferramentas, frameworks, tempos de execução e compiladores. Normalmente, um modelo treinado numa estrutura não é facilmente compatível com outra - mas com ONNX, podes exportar o teu modelo uma vez e implementá-lo em praticamente qualquer lugar: em CPUs (Central Processing Units), GPUs (Graphics Processing Units), dispositivos móveis ou hardware de ponta.
Além disso, ONNX Runtime é um mecanismo de inferência de alto desempenho desenvolvido especificamente para executar modelos no formato ONNX . Foi concebido para que os modelos ONNX sejam executados de forma mais rápida e eficiente numa vasta gama de plataformas - incluindo servidores, dispositivos móveis e hardware de ponta. 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 quer que sejam necessários.
Antes de falarmos sobre como exportar YOLO11 para o formato ONNX , vamos ver algumas das principais caraterísticas do formato de modelo ONNX .
Quer estejas a alternar entre ferramentas, a implementar em diferentes dispositivos ou a atualizar sistemas, ONNX ajuda a manter tudo a funcionar sem problemas. Eis o que torna o formato do modelo ONNX único:
A exportação dos modelosUltralytics YOLO , como Ultralytics YOLO11 , para o formato ONNX é simples e pode ser efectuada em poucos passos.
Para começar, instala o pacoteUltralytics Python utilizando um gestor de pacotes como o 'pip'. Isto pode ser feito executando o comando "pip install ultralytics" no teu prompt de comando ou terminal para começar.
Com o pacote Ultralytics , podes facilmente treinar, testar, afinar, exportar e implementar modelos para várias tarefas de visão por computador, tornando todo o processo mais rápido e eficiente. Durante a instalação, se tiveres alguma dificuldade, podes consultar o guia Problemas comuns para obteres soluções e dicas.
Assim que o pacote Ultralytics estiver instalado, podes carregar e exportar o modelo YOLO11 para o formato ONNX utilizando o código abaixo. Este exemplo carrega um modelo YOLO11 pré-treinado (yolo11n.pt) e exporta-o como um ficheiro ONNX (yolo11nonnx), tornando-o pronto para ser implementado em diferentes plataformas e dispositivos.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="onnx")
Depois de converter o teu modelo para o formato ONNX , podes implementá-lo numa variedade de plataformas.
O exemplo abaixo mostra como carregar o modelo YOLO11 exportado (yolo11nonnx) e executar uma inferência com ele. A inferência significa simplesmente usar o modelo treinado para fazer previsões sobre novos dados. Nesse caso, usaremos o 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 executas este código, a seguinte imagem de saída é guardada na pasta runs/detect/predict.
O pacote Ultralytics Python suporta a exportação de modelos para vários formatos, incluindo TorchScript, CoreML, TensorRT e ONNX. Então, por que escolher ONNX?
O que faz com que ONNX se destaque é o facto de ser um formato independente da estrutura. Enquanto muitos outros formatos de exportação estão ligados a ferramentas ou ambientes específicos, ONNX utiliza um formato normalizado e um conjunto partilhado de operadores. Isto torna-o altamente portátil, compatível com hardware e ideal para a implementação multiplataforma - quer estejas a trabalhar com servidores na nuvem, aplicações móveis ou dispositivos de ponta.
Eis algumas razões pelas quais a integração ONNX pode ser a escolha ideal para os teus projectos YOLO11 :
De seguida, vamos explorar algumas aplicações do mundo real em que YOLO11 pode ser implementado com a ajuda da integração ONNX .
Em armazéns movimentados, é difícil manter um olho em cada produto e embalagem o tempo todo. Os sistemas de visão por computador podem ajudar os trabalhadores a encontrar produtos nas prateleiras e a obter informações como o número de produtos, o tipo, etc. Estes sistemas podem ajudar as empresas a gerir automaticamente o seu vasto inventário e poupar muito tempo aos trabalhadores do armazém.
Especificamente, em armazéns inteligentes, os modelos YOLO11 exportados para ONNX podem ser utilizados para identificar e contar artigos em tempo real utilizando câmaras e dispositivos de ponta. O modelo exportado pode ajudar a analisar prateleiras ou paletes para detetar níveis de stock, artigos em falta ou pontos vazios. Uma vez que a exportação para ONNX torna o modelo leve e eficiente, pode ser executado diretamente em pequenos dispositivos periféricos, como câmaras inteligentes, eliminando a necessidade de servidores dispendiosos ou de acesso constante à nuvem.
Os hospitais de todo o mundo produzem diariamente grandes quantidades de resíduos, desde luvas e seringas usadas até ao equipamento utilizado durante a cirurgia (como instrumentos cirúrgicos de utilização única ou contaminados, como tesouras e bisturis). De facto, a investigação mostra que os hospitais produzem cerca de 5 milhões de toneladas de resíduos todos os anos, o que corresponde a 29 libras de resíduos por cama e por dia.
A seleção adequada destes resíduos é essencial para a higiene, segurança e cumprimento dos regulamentos. Com os modelos YOLO11 exportados no formato ONNX , os hospitais podem automatizar e monitorizar a eliminação de resíduos em tempo real.
Por exemplo, as câmaras colocadas perto de caixotes do lixo em áreas como salas de operações ou corredores podem monitorizar os artigos à medida que são deitados fora. Um modelo 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 item for parar ao contentor errado, como uma seringa usada no lixo normal, o sistema pode ser configurado para alertar imediatamente o pessoal com uma luz ou um som, ajudando a evitar a contaminação e a garantir a conformidade.
Saber a altura certa para fazer a colheita pode ter um grande impacto tanto na qualidade dos produtos como na produtividade geral de uma exploração agrícola. Tradicionalmente, os agricultores confiam na experiência e nas inspecções manuais - mas com os recentes avanços na tecnologia, isso está a começar 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. Utilizando drones ou câmaras montadas em tractores ou postes, os agricultores podem captar imagens das suas culturas (como tomates, maçãs ou trigo). YOLO11 pode então ser utilizado para detetar indicadores-chave como a cor, o tamanho e a distribuição das culturas. Com base nesta informação, os agricultores podem determinar se as culturas estão prontas para a colheita, se ainda estão a amadurecer ou se já passaram o seu pico.
Embora ONNX ofereça inúmeras vantagens, como a portabilidade, a compatibilidade entre plataformas e a interoperabilidade de estruturas, há algumas limitações a ter em conta.
A exportação do Ultralytics YOLO11 para o ONNX facilita a utilização de um modelo de visão por computador treinado e a sua implementação em praticamente qualquer lugar - quer seja num computador portátil, num dispositivo móvel ou mesmo numa câmara inteligente compacta. Com a integração ONNX , não estás preso a uma única estrutura ou plataforma, o que te dá a flexibilidade de executar o teu modelo no ambiente que melhor se adequa à tua aplicação.
Isto torna a transição da formação para a implementação no mundo real mais rápida e eficiente. Quer estejas a controlar o inventário num armazém ou a garantir que os resíduos hospitalares são eliminados corretamente, 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 verifica as nossas opções de licenciamento para iniciares o teu projeto de visão computacional. Se estiveres a explorar inovações como a IA no fabrico e a visão por computador na indústria automóvel, visita as nossas páginas de soluções para saberes mais.
Começa a tua viagem com o futuro da aprendizagem automática