Implementa facilmente o Ultralytics YOLO11 com a integração MNN
Aprende a exportar e implementar modelos Ultralytics YOLO11 com a integração MNN para obter inferência rápida em plataformas móveis, incorporadas e de baixo consumo.

Atualmente, as inovações em IA expandiram-se para além dos ambientes de servidores remotos. As soluções de IA estão a ser integradas em dispositivos de edge, como sensores e smartphones. Graças a esta mudança tecnológica, os dados podem agora ser processados diretamente no local onde são gerados, permitindo respostas mais rápidas, maior privacidade e menor dependência de uma conectividade constante à cloud.
Como resultado, a IA de edge está a ganhar força em muitos setores. Prevê-se que o mercado de software de IA de edge 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 focado na compreensão de imagens e vídeos, está a ser rapidamente adotada na edge. Desde contar alimentos à medida que são embalados até ajudar veículos a detetar peões, a visão computacional viabiliza inúmeras aplicações práticas em diferentes setores.
Isto é possível graças aos modelos de visão computacional. Por exemplo, o Ultralytics YOLO11 é um modelo que suporta várias tarefas de IA de visão, como deteção de objetos, segmentação de instâncias, rastreamento de objetos e 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 rastreamento de alimentos a serem embalados usando o Ultralytics YOLO11 (Fonte).
Além de ser adequado para implementação na edge, através das várias integrações suportadas pela Ultralytics, o YOLO11 pode ser exportado para vários formatos adequados a diferentes ambientes de hardware.
Uma das opções mais eficientes é o MNN (Rede Neural Móvel), um motor de inferência leve concebido para dispositivos com poucos recursos. Exportar o Ultralytics YOLO11 para MNN permite executá-lo diretamente em telemóveis, sistemas embebidos e outras plataformas de edge onde o processamento rápido no dispositivo é essencial.
Neste artigo, vamos explorar o funcionamento da integração MNN, destacar casos de utilização comuns e explicar como começar a executar inferências com um modelo Ultralytics YOLO11 exportado. Vamos começar!
Uma visão geral do MNN: uma estrutura de deep learning#
Executar modelos de visão computacional em dispositivos mais pequenos, como telemóveis, sensores industriais e sistemas portáteis, nem sempre é simples. Estes dispositivos têm frequentemente memória limitada, processadores mais lentos e limites rigorosos de consumo energético.
A Rede Neural Móvel, ou MNN, é um motor de inferência leve e de alto desempenho desenvolvido pela Alibaba para executar modelos de IA de forma eficiente em hardware com poucos recursos, mantendo o desempenho em tempo real. O MNN suporta uma vasta gama de plataformas, incluindo Android, iOS e Linux, e funciona em vários tipos de hardware, como unidades centrais de processamento (CPUs) e unidades de processamento gráfico (GPUs).

Fig. 2. Uma visão geral da estrutura MNN (Fonte).
A integração MNN suportada pela Ultralytics permite exportar facilmente modelos YOLO11 para o formato MNN. Em termos simples, isto significa que os modelos podem ser convertidos do formato YOLO para MNN.
Depois de convertidos, podem ser implementados em dispositivos compatíveis com a estrutura MNN para uma inferência eficiente no dispositivo. Uma das principais vantagens de utilizar o formato MNN é simplificar a implementação do Ultralytics YOLO11 em cenários onde o tamanho, a velocidade e a eficiência dos recursos são críticos.
Principais funcionalidades do backend de inferência MNN#
Antes de explicarmos como utilizar a integração MNN, vejamos o que torna a estrutura MNN uma excelente escolha para executar modelos de IA em dispositivos do mundo real. Foi concebida para lidar com as restrições específicas dos ambientes de edge, proporcionando simultaneamente um desempenho rápido e fiável.
Curiosamente, a Alibaba utiliza internamente o MNN 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 implementações em grande escala e executa milhões de inferências por dia em ambientes de produção.
Eis algumas das principais funcionalidades da estrutura 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 onde está a ser executado.
- Execução multithread: suporta multithreading, permitindo tirar o máximo partido de processadores multicore para obter inferências mais rápidas.
- Suporta quantização de modelos: permite reduzir significativamente o tamanho do modelo através da quantização FP16 ou INT8, ajudando a melhorar a velocidade de inferência e utilizando menos memória.
- Leve e rápido: o MNN ocupa muito pouco espaço, com uma biblioteca principal de cerca de 400 KB no Android e aproximadamente 5 MB no iOS, o que o torna ideal para dispositivos móveis e embebidos.
Compreender o funcionamento da integração MNN#
De seguida, vamos explicar como exportar modelos Ultralytics YOLO11 para o formato MNN.
O primeiro passo é instalar o pacote Python da Ultralytics, que disponibiliza tudo o que é necessário para exportar modelos YOLO11 para o formato MNN. Podes fazê-lo executando "pip install ultralytics" no terminal ou utilizando a linha de comandos. Se estiveres a utilizar um Jupyter Notebook ou o Google Colab, adiciona um ponto de exclamação antes do comando.
Se encontrares problemas durante a instalação, consulta o guia de Problemas comuns para obteres sugestões de resolução.
Depois de configurares o ambiente, podes carregar um modelo YOLO11 pré-treinado, como "yolo11n.pt", e exportá-lo para o formato MNN, conforme mostrado no trecho de código abaixo. Se tiveres treinado o teu próprio modelo YOLO11 personalizado, podes exportá-lo simplesmente substituindo o nome do ficheiro pelo caminho do teu modelo.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="mnn")Depois de converteres o modelo para MNN, podes utilizá-lo em diferentes plataformas móveis e embebidas, dependendo das necessidades da tua aplicação.
Por exemplo, suponhamos que queres testar o modelo exportado num vídeo de trânsito. Nesse caso, podes carregar o modelo Ultralytics YOLO11 no formato MNN para detetar objetos como veículos, peões e sinais de trânsito diretamente no dispositivo, conforme mostrado no 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 objetos detetados é guardado automaticamente na pasta 'runs/detect/predict'. Além disso, se quiseres executar inferências utilizando diretamente o pacote Python MNN, consulta a documentação oficial da Ultralytics para obteres mais detalhes e exemplos.

Fig. 3. Análise do trânsito utilizando um modelo Ultralytics YOLO11 exportado para o formato MNN. Imagem do autor.
Casos de utilização da implementação de modelos de IA de edge possibilitada pelo Ultralytics YOLO11 e pelo MNN#
A implementação do Ultralytics YOLO11 com MNN permite executar tarefas de visão computacional rápidas e eficientes, como a deteção de objetos, em ambientes onde o processamento baseado na cloud não é prático ou possível. Vejamos como esta integração pode ser especialmente útil em cenários do mundo real.
IA de edge móvel para identificação de doenças nas plantas#
As aplicações de identificação de doenças nas plantas que utilizam 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 sinais precoces de doenças, como manchas ou descoloração das folhas. Como estas aplicações são frequentemente utilizadas em áreas exteriores onde o acesso à Internet pode ser limitado ou inexistente, depender do processamento na cloud pode ser pouco fiável.
Após o treino, um modelo Ultralytics 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 localmente sintomas visíveis de doenças, sem enviar dados para um servidor.

Fig. 4. Um exemplo da utilização do YOLO11 para detetar sinais de ferrugem (uma doença das plantas) numa folha (Fonte).
Inferências eficientes no dispositivo na indústria transformadora#
O rastreamento preciso de embalagens é essencial em linhas de produção movimentadas de instalações de fabrico. O Ultralytics YOLO11 pode ser utilizado para rastrear e contar cada item à medida que passa por pontos de controlo importantes, atualizando as contagens em tempo real e assinalando quaisquer discrepâncias. Isto ajuda a reduzir envios não contabilizados ou extraviados e contribui para operações mais fluidas e fiáveis.

Fig. 5. Rastreamento e contagem de embalagens utilizando o YOLO11 (Fonte).
A integração MNN pode ser especialmente impactante neste contexto. Depois de o modelo Ultralytics YOLO11 ser 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 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 a funcionar de forma eficiente e preservando elevados níveis de precisão e controlo.
Vantagens de exportar o Ultralytics YOLO11 para o formato de modelo MNN#
Eis algumas das principais vantagens da integração MNN disponibilizada pela Ultralytics:
- Tempos de resposta mais rápidos: como a inferência é executada no dispositivo, as previsões ocorrem em tempo real com latência mínima.
- Maior privacidade dos dados: os dados permanecem no dispositivo, reduzindo a necessidade de enviar imagens ou vídeos sensíveis para a cloud.
- Código aberto e mantido ativamente: apoiado pela Alibaba e por uma comunidade ativa, o MNN é fiável e recebe atualizações regulares com melhorias de desempenho.
Fatores a considerar ao utilizar a estrutura MNN#
Antes de escolheres o MNN como estrutura de implementação, também é importante avaliar em que medida se adequa aos requisitos do teu projeto, aos destinos de implementação e às limitações técnicas. Eis alguns fatores importantes a considerar:
- Compatibilidade contínua: as atualizações da estrutura ou as alterações às plataformas de destino podem exigir novos testes ou ajustes para manter tudo a funcionar corretamente.
- Menos ferramentas de depuração: em comparação com estruturas maiores, o MNN dispõe de ferramentas mais limitadas para depurar e inspecionar o comportamento dos modelos, o que pode dificultar a resolução de problemas.
- O desempenho depende do hardware: a velocidade e a eficiência do teu modelo variam consoante o dispositivo. Testa o hardware de destino para garantir que cumpre os teus objetivos de desempenho.
Principais conclusões#
O suporte da Ultralytics para a integração MNN facilita a exportação de modelos YOLO11 para utilização em dispositivos móveis e embebidos. É uma opção prática para aplicações que exigem deteção rápida e fiável sem depender do acesso à cloud ou de uma conectividade constante.
Esta configuração ajuda a simplificar a implementação, mantendo o desempenho e reduzindo as necessidades de recursos. Quer estejas a criar sistemas domésticos inteligentes, ferramentas para trabalho no terreno ou dispositivos industriais compactos, exportar o Ultralytics YOLO11 para MNN proporciona uma forma flexível e eficiente de executar tarefas de visão computacional diretamente em dispositivos de edge.
Junta-te à nossa comunidade! Explora o nosso repositório no GitHub para aprofundar os teus conhecimentos sobre IA. Pronto para começares os teus projetos de visão computacional? Consulta as nossas opções de licenciamento. Descobre mais sobre IA na área da saúde e visão computacional no retalho nas nossas páginas de soluções!









