Verificação verde
Link copiado para a área de transferência

Exportar Ultralytics YOLO11 utilizando a integração PaddlePaddle

Aprende a exportar modelos Ultralytics YOLO como o Ultralytics YOLO11 com o PaddlePaddle para uma implementação eficiente em plataformas edge, móveis e na nuvem.

À medida que a inteligência artificial (IA) avança, as máquinas estão a melhorar a compreensão do mundo que as rodeia. Uma área chave que impulsiona este progresso é a visão computacional, um ramo da IA que permite às máquinas interpretar e tomar decisões com base em dados visuais.

Desde ajudar os carros a reconhecer os sinais de trânsito até verificar as prateleiras das lojas de retalho, a visão por computador faz agora parte de muitas ferramentas do dia a dia. Estas tarefas dependem de modelos de IA de visão que podem analisar rapidamente uma fotografia ou um vídeo e identificar o que é importante.

Ao longo do tempo, estes modelos tornaram-se mais rápidos e mais precisos, tornando-os úteis em áreas como a agricultura, os cuidados de saúde, a segurança e o retalho. Por exemplo, Ultralytics YOLO11 é um modelo criado para lidar com uma série de tarefas de visão computacional com velocidade e precisão. Consegue detetar e classificar objectos, seguir movimentos e estimar poses corporais.

Uma parte vital da passagem da visão computacional da investigação para as aplicações do mundo real é a implementação. Depois de um modelo ter sido treinado, o próximo passo é executá-lo em dispositivos como telemóveis, hardware de ponta ou servidores na nuvem. 

Figura 1. A implementação de modelos é uma parte fundamental de qualquer projeto de visão computacional.

Para tal, os modelosYOLO Ultralytics , como o YOLO11 , podem ser exportados para vários formatos, consoante a plataforma de destino. Um desses formatos é o PaddlePaddle, uma estrutura de IA de código aberto que permite a implementação e inferência eficientes de modelos numa vasta gama de dispositivos e sistemas.

Neste artigo, vamos explorar a forma como Ultralytics YOLO11 pode ser exportado através da integraçãoPaddlePaddle suportada pelo Ultralytics para permitir uma implementação eficiente em várias plataformas.

O que é o PaddlePaddle? 

Implementar modelos de IA fora dos ambientes de investigação, como em dispositivos móveis ou hardware de ponta, pode por vezes ser complicado, especialmente quando precisas que funcionem de forma eficiente e utilizem o mínimo de recursos. PaddlePaddle é uma estrutura de aprendizagem profunda concebida para ajudar exatamente nisso.

É uma plataforma chinesa de código aberto, cujo nome significa Parallel Distributed Deep Learning. Desenvolvida pela Baidu, uma empresa bem conhecida pelo seu trabalho em IA e infra-estruturas de software, PaddlePaddle foi criada especialmente para aplicações do mundo real e não apenas para investigação.

Os programadores podem executar modelos no formato PaddlePaddle em servidores, dispositivos de ponta e até mesmo em hardware móvel. Também suporta ferramentas que simplificam o desenvolvimento de IA, incluindo opções de baixo código e sem código. A plataforma tem uma forte comunidade de programadores com mais de 4,7 milhões de utilizadores e é utilizada numa variedade de indústrias, incluindo cuidados de saúde, agricultura, fabrico e finanças.

Principais caraterísticas do PaddlePaddle

Aqui estão algumas das principais caraterísticas que ajudam PaddlePaddle a executar modelos de forma mais eficiente em dispositivos do mundo real:

  • Conversão de gráficos dinâmicos para estáticos: Esta funcionalidade transforma um modelo flexível numa versão fixa que funciona de forma mais suave e previsível. Um modelo fixo é mais fácil de otimizar e mais rápido ao fazer previsões.
  • Fusão de operadores: PaddlePaddle pode combinar vários passos do modelo num só. Isto reduz a quantidade de memória que o modelo utiliza e ajuda-o a correr mais depressa. Pensa nisto como combinar várias tarefas numa única ação para poupar tempo.
  • Quantização: Torna o modelo mais pequeno, utilizando números mais simples (como o arredondamento para menos casas decimais). Ajuda o modelo a funcionar em dispositivos com potência limitada, como telefones ou câmaras inteligentes, sem perder muita precisão.
Fig. 2. Vantagens da utilização do PaddlePaddle. Imagem do autor.

Uma visão geral da implementação YOLO11 com o PaddlePaddle

A integração PaddlePaddle suportada pelo Ultralytics facilita a passagem da formação para a implementação. Os programadores que já utilizam as ferramentas PaddlePaddle podem integrar mais facilmente YOLO11 nos seus fluxos de trabalho.

O pacote Ultralytics Python suporta a exportação direta de modelos YOLO11 para o formato PaddlePaddle , permitindo aos programadores implementar modelos treinados sem ferramentas adicionais ou passos de conversão manual. 

O processo de exportação pode ser efectuado utilizando a linha de comandos ou o código Python , pelo que os programadores podem escolher o método que melhor se adequa ao seu fluxo de trabalho. Isto ajuda a manter as coisas simples e reduz a possibilidade de problemas de configuração. Uma vez exportado, o modelo pode ser utilizado para tarefas de visão por computador, como a deteção de objectos, a classificação de imagens, a estimativa de pose e a segmentação de instâncias.

É uma óptima opção para cenários de implementação em que os dispositivos têm memória limitada ou requerem um processamento rápido. Os modelos exportados são optimizados para serem executados de forma eficiente, mesmo em sistemas com recursos limitados. 

Como exportar modelos YOLO11 para o formato PaddlePaddle

Só precisas de alguns passos para exportar YOLO11 para o formato de modelo PaddlePaddle .

O primeiro passo é instalar o pacoteUltralytics Python usando um gerenciador 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.

O pacote Ultralytics fornece ferramentas para treinamento, avaliação, ajuste fino, exportação e implantação de modelos para uma variedade de tarefas de visão computacional. Se tiveres algum problema durante a instalação, consulta o guia Problemas comuns para obteres sugestões de resolução de problemas.

Quando o ambiente estiver configurado, podes carregar e exportar um modelo YOLO11 pré-treinado, como "yolo11n.pt", como se mostra abaixo. Também podes exportar o teu próprio modelo YOLO11 treinado à medida.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="paddle")

Depois de o teu modelo ter sido convertido para o formato PaddlePaddle , pode ser implementado em vários cenários em diferentes tipos de hardware.

Por exemplo, no exemplo abaixo, estamos a carregar um modelo YOLO11 que foi exportado para o formato PaddlePaddle e a utilizá-lo para fazer uma previsão. Esse processo, conhecido como execução de uma inferência, significa simplesmente usar o modelo para analisar novos dados. Aqui, estamos a testá-lo com uma imagem de dois cães.

paddle_model = YOLO("./yolo11n_paddle_model")

results = paddle_model("https://www.pexels.com/photo/2-vizsla-dogs-standing-on-brown-wood-plank-33287/")

Depois de executares o código, a imagem de saída com as previsões do modelo será guardada automaticamente na pasta "runs/detect/predict".

Figura 3. Utiliza o modelo YOLO11 exportado para detetar objectos numa imagem. Imagem do autor.

Implantação do YOLO11 usando o framework PaddlePaddle

PaddlePaddle oferece várias ferramentas de implementação, cada uma adequada a diferentes dispositivos e casos de utilização, como ambientes de nuvem, sistemas incorporados e aplicações Web. Aqui estão algumas das principais opções de implantação:

  • Paddle Serving: Ajuda a implementar modelos como APIs REST, o que o torna uma boa escolha para ambientes de nuvem ou servidor que precisam de recursos como controle de versão e testes on-line.
  • API de inferência de pás: Dá-te mais controlo sobre a forma como os modelos são executados, o que é útil quando precisas de afinar o desempenho ou criar uma lógica de aplicação personalizada.
  • Paddle Lite: Foi concebido para uma implementação leve em dispositivos móveis, tablets e sistemas incorporados. É otimizado para modelos menores e inferência mais rápida em hardware com recursos limitados.
  • Paddle.js: Permite executar modelos de IA em navegadores Web utilizando tecnologias como WebGL e WebAssembly, o que é útil para demonstrações interactivas e ferramentas baseadas no navegador.
Figura 4. Opções de implantação permitidas pelo PaddlePaddle. Imagem do autor.

Depois de escolheres a ferramenta certa para a tua configuração, podes carregar o modelo exportado. O motor PaddlePaddle trata dos passos seguintes. Carrega o modelo, processa a imagem de entrada e devolve os resultados.

Quando deves escolher a integração PaddlePaddle ?

O pacote Ultralytics Python também suporta vários outros formatos de exportação, por isso podes dar por ti a perguntar: Quando é que PaddlePaddle é a escolha certa?

PaddlePaddle é uma opção fiável quando pretende implementar modelos em dispositivos com recursos limitados, como smartphones, sistemas incorporados ou hardware de ponta. Também é excelente para aplicações em tempo real que necessitam de um desempenho rápido e eficiente, como a deteção de objectos em aplicações móveis, a monitorização baseada na visão em câmaras inteligentes ou a estimativa de pose executada diretamente no dispositivo sem suporte na nuvem.

Além disso, se o projeto tiver de ser executado offline ou em ambientes de baixa conetividade, podes considerar a utilização da integração PaddlePaddle . Aplicações como ferramentas de inspeção visual no fabrico, dispositivos portáteis para inquéritos de campo ou scanners de retalho com IA podem beneficiar do tempo de execução leve e das opções de implementação flexíveis do PaddlePaddle. 

Limitações PaddlePaddle a considerar

Embora PaddlePaddle ofereça capacidades de utilização interessantes, há que ter em conta alguns factores restritivos:

  • Comunidade global mais pequena: Fora da China, a base de utilizadores e colaboradores é relativamente pequena. Isso pode tornar mais difícil encontrar suporte da comunidade, problemas resolvidos no GitHub ou respostas no Stack Overflow.
  • Curva de aprendizagem mais acentuada para ferramentas não-Baidu: PaddlePaddle integra-se facilmente no ecossistema da Baidu, mas a sua utilização fora desse contexto pode implicar passos adicionais de configuração e instalação.
  • Menos integrações com as principais ferramentas de ML: PaddlePaddle tem compatibilidade limitada com ferramentas comuns, como Hugging Face Transformers, MLflow ou serviços de IA nativos do Kubernetes.

Principais conclusões

A integração PaddlePaddle suportada pelo Ultralytics facilita a exportação e a implementação de modelos YOLO11 numa série de dispositivos. É especialmente útil para projectos que requerem um desempenho eficiente e no dispositivo - como aplicações móveis, câmaras inteligentes ou sistemas incorporados.

Com apenas alguns passos, podes trazer modelos de visão poderosos para aplicações do mundo real. À medida que a visão computacional continua a avançar, ferramentas como o YOLO e PaddlePaddle estão a tornar mais fácil do que nunca a construção de sistemas rápidos e inteligentes em tudo, desde dispositivos de consumo a ferramentas industriais.

Junta-te hoje à nossa comunidade em crescimento! Mergulha mais fundo na IA explorando o nosso repositório GitHub. Queres criar os teus próprios projectos de visão computacional? Explora as nossas opções de licenciamento. Aprende como a visão computacional nos cuidados de saúde está a melhorar a eficiência e explora o impacto da IA no retalho visitando as nossas páginas de soluções!

Logótipo do LinkedInLogótipo do TwitterLogótipo do FacebookSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática