Yolo Vision Shenzhen
Shenzhen
Junte-se agora

Implementar sem problemas Ultralytics YOLO11 utilizando a integração MNN

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 em IA se expandiram para além dos ambientes de servidor remoto. As soluções de IA estão sendo integradas em dispositivos de borda, como sensores e smartphones. Graças a essa mudança tecnológica, os dados agora podem ser tratados diretamente onde são gerados, permitindo respostas mais rápidas, maior privacidade e menor dependência da conectividade constante com a nuvem.

Como resultado, a IA de borda está a ganhar força em muitos setores. Espera-se que o mercado de software de IA de borda atinja 8,88 bilhões de dólares até 2031, à medida que mais sistemas se movem em direção a um processamento mais rápido e local.

Em particular, a visão computacional, um ramo da IA que se centra 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 detect 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, 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, 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 YOLO11 para o MNN permite-lhe ser executado diretamente em telemóveis, sistemas integrados 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 aprendizado profundo

Executar modelos de visão computacional em dispositivos menores, como telefones celulares, sensores industriais e sistemas portáteis, nem sempre é simples. Esses dispositivos geralmente têm memória limitada, processadores mais lentos e limites de energia estritos. 

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).

Fig. 2. Uma visão geral do framework MNN (Fonte).

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 recursos do backend de inferência MNN

Antes de nos aprofundarmos em como usar a integração MNN, vamos dar uma olhada no que torna a estrutura MNN uma ótima opção para executar modelos de IA em dispositivos do mundo real. Ele é construído para lidar com as restrições exclusivas dos ambientes de borda, ao mesmo tempo em que oferece desempenho rápido e confiável.

Curiosamente, o MNN é usado internamente no Alibaba em mais de 30 aplicações, incluindo Taobao, Tmall, Youku, DingTalk e Xianyu, em uma ampla gama de cenários como vídeo ao vivo, conteúdo de formato curto, pesquisa de imagens e verificações de segurança no dispositivo. Ele suporta implantação em larga escala e executa milhões de inferências por dia em ambientes de produção.

Aqui estão alguns dos principais recursos da estrutura MNN:

  • Seleção automática de 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-threaded: Ele suporta multi-threading, permitindo que ele aproveite ao máximo os processadores multicore para uma inferência mais rápida.
  • Suporta quantização de modelo: Permite reduzir significativamente o tamanho do modelo usando a quantização FP16 ou INT8, ajudando a melhorar a velocidade de inferência enquanto usa 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.

Compreendendo como funciona a integração do MNN

De seguida, vamos ver como exportar modelos YOLO11 para o formato MNN.

O primeiro passo é instalar o pacoteUltralytics 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 Google Colab, adicione um ponto de exclamação antes do comando.

Se você encontrar algum problema durante a instalação, consulte o guia de problemas comuns para obter dicas de soluçã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 treinou 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 seu modelo para MNN, você pode usá-lo em diferentes plataformas móveis e embarcadas, dependendo das 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 detect objectos como veículos, peões e sinais de trânsito diretamente no dispositivo, como mostra o exemplo abaixo.

mnn_model = YOLO("yolo11n.mnn")
results = mnn_model("https://videos.pexels.com/video-files/27783817/12223745_1920_1080_24fps.mp4", save=True)

Quando a inferência estiver concluída, o vídeo de saída com os objectos detectados é guardado automaticamente na pasta 'detect'. Além disso, se pretender executar a inferência utilizando diretamente o pacote Python MNN, pode consultar a documentação oficial 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 possibilitados 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 borda móvel para identificação de doenças de plantas

Aplicativos de identificação de doenças de plantas que usam classificação de imagem estão ganhando popularidade entre jardineiros, pesquisadores e entusiastas da natureza. Com apenas uma foto, os usuários podem identificar rapidamente os primeiros sinais de doença, como manchas nas folhas ou descoloração. Como esses aplicativos são frequentemente usados em áreas externas onde o acesso à internet pode ser limitado ou indisponível, confiar no processamento em nuvem pode ser não confiá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 classify espécies de plantas e detect sintomas visíveis de doenças localmente, sem enviar quaisquer dados para um servidor. 

Fig. 4. Um exemplo de utilização do YOLO11 para detect sinais de ferrugem (uma doença das plantas) numa folha(Fonte).

Inferências eficientes on-device na manufatura

O rastreio exato de embalagens é essencial em linhas de produção movimentadas nas instalações de fabrico. YOLO11 pode ser utilizado para track 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 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. 

Como todo o processamento acontece localmente, o sistema pode fornecer feedback instantâneo e não requer conexão com a internet. Isso garante um desempenho rápido e confiável no chão de fábrica, mantendo a produção em movimento de forma eficiente, mantendo alta precisão e controle.

Vantagens da exportação 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: Como a inferência é executada no dispositivo, as previsões acontecem em tempo real com latência mínima.
  • Privacidade de dados aprimorada: Os dados permanecem no dispositivo, reduzindo a necessidade de enviar imagens ou vídeos confidenciais para a nuvem.
  • Código aberto e ativamente mantido: Apoiado pelo Alibaba e suportado por uma comunidade ativa, o MNN é confiável e regularmente atualizado com melhorias de desempenho.

Fatores a considerar ao usar o framework MNN

Antes de escolher o MNN como sua estrutura de implantação, também é importante avaliar o quão bem ele se adapta aos requisitos do seu projeto, aos alvos de implantação e às limitações técnicas. Aqui estão alguns fatores-chave a serem considerados:

  • Compatibilidade contínua: Atualizações de framework ou alterações em suas plataformas de destino podem exigir novos testes ou ajustes para manter tudo funcionando sem problemas.
  • Menos ferramentas de depuração: Comparado com frameworks 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 dependendo do dispositivo. Teste seu hardware de destino para ter certeza de que ele atende às suas metas de desempenho.

Principais conclusões

O suporte do Ultralyticspara 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 YOLO11 para o MNN fornece uma forma flexível e eficiente de executar tarefas de visão computacional diretamente em dispositivos de ponta.

Junte-se à nossa crescente comunidade! Explore nosso repositório GitHub para mergulhar mais fundo na IA. Pronto para iniciar seus projetos de visão computacional? Confira nossas opções de licenciamento. Descubra mais sobre IA na área da saúde e visão computacional no varejo em nossas páginas de soluções!

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente