Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em "Aceitar todos os cookies", concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Saiba como exportar e implementar modelos Ultralytics YOLO11 com a integração MNN para inferência rápida em plataformas móveis, incorporadas e de baixo consumo.
Atualmente, as inovações da IA expandiram-se para além dos ambientes de servidores remotos. As soluções de IA estão a ser integradas em dispositivos periféricos, como sensores e smartphones. Graças a esta mudança tecnológica, os dados podem agora ser tratados diretamente no local onde são gerados, permitindo respostas mais rápidas, maior privacidade e menor dependência da conetividade constante com a nuvem.
Como resultado, a IA de ponta está a ganhar força em muitas indústrias. Prevê-se que o mercado de software de IA de ponta atinja 8,88 mil milhões de dólares até 2031, à medida que mais sistemas avançam para um processamento mais rápido e local.
Em particular, a visão computacional, um ramo da IA que se concentra na compreensão de imagens e vídeos, está a ser rapidamente adoptada na periferia. Desde a contagem de alimentos à medida que são embalados até à ajuda a veículos para detetar peões, a visão computacional suporta inúmeras aplicações práticas em diferentes sectores.
Isto é possível através de modelos de visão por computador. Por exemplo, o Ultralytics YOLO11 é um modelo que suporta várias tarefas de IA de visão, como a deteção de objectos, a segmentação de instâncias, o seguimento de objectos e a estimativa de pose. Foi concebido para ser rápido e eficiente e tem um bom desempenho em dispositivos com recursos de hardware limitados.
Fig. 1. Deteção e seguimento de alimentos embalados utilizando o YOLO11(Fonte).
Para além de ser adequado para a implantação de ponta, através de várias integrações suportadas pelo Ultralytics, o YOLO11 pode ser exportado para vários formatos adequados a diferentes ambientes de hardware.
Uma das opções mais eficientes é o MNN (Mobile Neural Network), um motor de inferência leve concebido para dispositivos com poucos recursos. A exportação do YOLO11 para o MNN permite-lhe funcionar diretamente em telemóveis, sistemas incorporados e outras plataformas de ponta em que o processamento rápido no dispositivo é essencial.
Neste artigo, vamos explorar como funciona a integração MNN, destacar casos de utilização comuns e explicar como começar a executar inferências utilizando um modelo YOLO11 exportado. Vamos começar!
Uma visão geral do MNN: Uma estrutura de aprendizagem profunda
A execução de modelos de visão por computador em dispositivos mais pequenos, como telemóveis, sensores industriais e sistemas portáteis, nem sempre é simples. Esses dispositivos geralmente têm memória limitada, processadores mais lentos e limites rígidos de energia.
A Mobile Neural Network, ou MNN, é um mecanismo de inferência leve e de alto desempenho desenvolvido pela Alibaba para fazer com que os modelos de IA sejam executados de forma eficiente em hardware com poucos recursos, mantendo o desempenho em tempo real. A MNN suporta uma vasta gama de plataformas, incluindo Android, iOS e Linux, e funciona numa variedade de tipos de hardware, como unidades de processamento central (CPUs) e unidades de processamento gráfico (GPUs).
A integração MNN suportada pelo Ultralytics permite exportar facilmente os modelos YOLO11 para o formato MNN. Em termos simples, isto significa que os modelos podem ser convertidos do formato YOLO para MNN.
Uma vez convertidos, podem ser implementados em dispositivos que suportam a estrutura MNN para uma inferência eficiente no dispositivo. Uma das principais vantagens da utilização do formato MNN é o facto de simplificar a implementação do YOLO11 em cenários em que o tamanho, a velocidade e a eficiência dos recursos são fundamentais.
Principais caraterísticas do backend de inferência MNN
Antes de nos aprofundarmos em como usar a integração do MNN, vamos dar uma olhada no que torna a estrutura do MNN uma ótima opção para executar modelos de IA em dispositivos do mundo real. Ele foi criado para lidar com as restrições exclusivas dos ambientes de borda e, ao mesmo tempo, oferecer desempenho rápido e confiável.
Curiosamente, a MNN é utilizada internamente na Alibaba em mais de 30 aplicações, incluindo Taobao, Tmall, Youku, DingTalk e Xianyu, numa vasta gama de cenários como vídeo em direto, conteúdos curtos, pesquisa de imagens e verificações de segurança no dispositivo. Suporta uma implementação em grande escala e executa milhões de inferências por dia em ambientes de produção.
Eis algumas das principais caraterísticas do quadro MNN:
Seleção automática do backend: O MNN pode escolher automaticamente o backend de execução mais adequado, como CPU ou GPU, com base no hardware em que está a ser executado.
Execução multi-tarefa: Suporta multi-threading, o que lhe permite tirar o máximo partido dos processadores multicore para uma inferência mais rápida.
Suporta a quantização de modelos: Permite-lhe reduzir significativamente o tamanho do modelo utilizando a quantização FP16 ou INT8, ajudando a melhorar a velocidade de inferência e utilizando menos memória.
Leve e rápido: O MNN tem um tamanho muito pequeno, com a biblioteca principal a rondar os 400 KB no Android e cerca de 5 MB no iOS, o que o torna ideal para dispositivos móveis e incorporados.
Compreender o funcionamento da integração MNN
De seguida, vamos ver como exportar modelos YOLO11 para o formato MNN.
O primeiro passo é instalar o pacote Ultralytics Python, que fornece tudo o que é necessário para exportar modelos YOLO11 para o formato MNN. Pode fazer isso executando "pip install ultralytics" no seu terminal ou usando o prompt de comando. Se estiver a utilizar um Jupyter Notebook ou o Google Colab, adicione um ponto de exclamação antes do comando.
Se encontrar algum problema durante a instalação, consulte o guia Problemas comuns para obter dicas de resolução de problemas.
Uma vez configurado o ambiente, pode carregar um modelo YOLO11 pré-treinado, como "yolo11n.pt", e exportá-lo para o formato MNN, como mostra o fragmento de código abaixo. Se tiver treinado o seu próprio modelo YOLO11 personalizado, pode exportá-lo simplesmente substituindo o nome do ficheiro pelo caminho do seu modelo.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")
Depois de converter o seu modelo em MNN, pode utilizá-lo em diferentes plataformas móveis e incorporadas, consoante as necessidades da sua aplicação.
Por exemplo, suponha que pretende testar o modelo exportado num vídeo de trânsito. Nesse caso, pode carregar o modelo YOLO11 no formato MNN para detetar objectos como veículos, peões e sinais de trânsito diretamente no dispositivo, como mostra o exemplo abaixo.
Quando a inferência estiver concluída, o vídeo de saída com os objectos detectados é guardado automaticamente na pasta 'runs/detect/predict'. Além disso, se pretender executar a inferência utilizando diretamente o pacote Python MNN, pode consultar a documentação oficial do Ultralytics para obter mais detalhes e exemplos.
Fig. 3. Análise do tráfego utilizando um modelo YOLO11 exportado para o formato MNN. Imagem do autor.
Casos de utilização da implantação de modelos de IA de ponta possibilitada pelo YOLO11 e pelo MNN
A implementação do YOLO11 com o MNN permite tarefas de visão computacional rápidas e eficientes, como a deteção de objectos em ambientes onde o processamento baseado na nuvem não é prático ou possível. Vamos ver como esta integração pode ser especialmente útil em cenários do mundo real.
IA de ponta móvel para identificação de doenças das plantas
As aplicações de identificação de doenças das plantas que utilizam a classificação de imagens estão a ganhar popularidade entre jardineiros, investigadores e entusiastas da natureza. Com apenas uma fotografia, os utilizadores podem identificar rapidamente os primeiros sinais de doença, como manchas ou descoloração das folhas. Uma vez que estas aplicações são frequentemente utilizadas em áreas exteriores onde o acesso à Internet pode ser limitado ou não estar disponível, depender do processamento na nuvem pode não ser fiável.
Após o treino, um modelo YOLO11 pode ser exportado para o formato MNN e executado diretamente em dispositivos móveis. O modelo pode então classificar espécies de plantas e detetar sintomas visíveis de doenças localmente, sem enviar quaisquer dados para um servidor.
Fig. 4. Um exemplo de utilização do YOLO11 para detetar sinais de ferrugem (uma doença das plantas) numa folha(Fonte).
Inferências eficientes no dispositivo no fabrico
O rastreio exato de embalagens é essencial em linhas de produção movimentadas nas instalações de fabrico. O YOLO11 pode ser utilizado para seguir e contar cada item à medida que este passa pelos principais pontos de controlo, actualizando as contagens em tempo real e assinalando quaisquer discrepâncias. Isto ajuda a reduzir os envios perdidos ou não contabilizados e apoia operações mais suaves e fiáveis.
Fig. 5. Seguimento e contagem de pacotes utilizando o YOLO11(Fonte).
A integração MNN pode ter um impacto especial neste contexto. Uma vez que o modelo YOLO11 é exportado para o formato MNN, pode ser executado diretamente em dispositivos compactos e de baixo consumo instalados ao longo do transportador.
Uma vez que todo o processamento ocorre localmente, o sistema pode fornecer feedback instantâneo e não requer ligação à Internet. Isto garante um desempenho rápido e fiável no chão de fábrica, mantendo a produção em movimento de forma eficiente, ao mesmo tempo que mantém uma elevada precisão e controlo.
Vantagens da exportação do YOLO11 para o formato de modelo MNN
Eis algumas das principais vantagens da integração MNN fornecida pela Ultralytics:
Tempos de resposta mais rápidos: Uma vez que a inferência é executada no dispositivo, as previsões ocorrem em tempo real com uma latência mínima.
Melhoria da privacidade dos dados: Os dados permanecem no dispositivo, reduzindo a necessidade de enviar imagens ou vídeos sensíveis para a nuvem.
Código aberto e mantido ativamente: Apoiado pela Alibaba e suportado por uma comunidade ativa, o MNN é fiável e atualizado regularmente com melhorias de desempenho.
Factores a considerar quando se utiliza o quadro MNN
Antes de escolher a MNN como estrutura de implantação, também é importante avaliar até que ponto ela se adapta aos requisitos do seu projeto, às metas de implantação e às limitações técnicas. Aqui estão alguns fatores-chave a serem considerados:
Compatibilidade contínua: As actualizações da estrutura ou as alterações às suas plataformas alvo podem exigir novos testes ou ajustes para manter tudo a funcionar sem problemas.
Menos ferramentas de depuração: Em comparação com estruturas maiores, o MNN tem ferramentas mais limitadas para depurar e inspecionar o comportamento do modelo, o que pode dificultar a resolução de problemas.
O desempenho depende do hardware: A velocidade e a eficiência do seu modelo variam consoante o dispositivo. Teste o seu hardware de destino para se certificar de que cumpre os seus objectivos de desempenho.
Principais conclusões
O suporte do Ultralytics para a integração MNN facilita a exportação de modelos YOLO11 para utilização em dispositivos móveis e incorporados. É uma opção prática para aplicações que requerem uma deteção rápida e fiável sem depender do acesso à nuvem ou de uma conetividade constante.
Essa configuração ajuda a simplificar a implantação, mantendo o desempenho e as demandas de recursos baixas. Quer esteja a construir sistemas domésticos inteligentes, ferramentas de campo ou dispositivos industriais compactos, a exportação do YOLO11 para o MNN proporciona uma forma flexível e eficiente de executar tarefas de visão computacional diretamente em dispositivos de ponta.