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
Exporte os modelos Ultralytics YOLO11 para o formato de modelo NCNN para executar inferências de IA eficientes e de baixa latência em dispositivos de borda com recursos de computação e energia limitados.
As soluções de IA estão se tornando mais comuns, mesmo em setores de alto risco como gestão de desastres, gestão de resíduos e combate a incêndios. À medida que a adoção continua a crescer, os modelos de IA estão sendo implementados em ambientes mais diversos - não apenas em servidores ou na nuvem, mas diretamente em dispositivos que operam no campo.
Por exemplo, drones e equipamentos com componentes de borda alimentados por pequenos processadores podem desempenhar um papel crucial em zonas de desastre. Equipados com câmeras térmicas, esses dispositivos podem coletar e analisar dados no local para localizar pessoas presas sob os escombros. Isso é possível através da visão computacional, um ramo da inteligência artificial que interpreta informações visuais de imagens e vídeos.
No entanto, implementar modelos de IA Vision em dispositivos de borda não é tão simples quanto parece. Os modelos de IA precisam ser otimizados para serem executados de forma eficiente em hardware com poder de computação e memória limitados. É por isso que frameworks de IA como o NCNN são essenciais. Eles ajudam a converter e otimizar modelos para desempenho em tempo real em dispositivos de baixa potência sem sacrificar a precisão.
Em particular, os modelos Ultralytics YOLO, como o Ultralytics YOLO11, podem ser facilmente exportados para o formato de modelo NCNN usando a integração NCNN suportada pela Ultralytics. Converter o YOLO11 para o formato de modelo NCNN permite que o modelo seja executado mais rapidamente, use menos memória e funcione sem problemas em diferentes dispositivos sem perder a precisão.
Neste artigo, exploraremos a integração NCNN suportada pela Ultralytics e mostraremos como você pode exportar seu modelo YOLO11 para o formato de modelo NCNN. Vamos começar!
Uma visão geral do NCNN: Uma framework leve de redes neurais
NCNN é um framework de inferência de rede neural de código aberto desenvolvido pela Tencent. Foi especificamente projetado para ambientes móveis e de borda, alimentando a inferência de alto desempenho com uma pegada mínima. Isso o torna ideal para implantação em dispositivos com recursos limitados, como smartphones, drones e dispositivos IoT (Internet das Coisas).
A estrutura NCNN ganhou popularidade na comunidade de IA e aprendizado profundo devido à sua eficiência, portabilidade e otimização para CPUs (Unidades Centrais de Processamento) móveis. Ele permite que os desenvolvedores executem modelos de rede neural em dispositivos acessíveis com memória e poder de processamento limitados. Projetado para ser simples e flexível, o NCNN suporta uma ampla gama de modelos de visão computacional e é executado em várias plataformas, incluindo Android, Linux, iOS e macOS.
Fig 1. Modelos no formato NCNN podem ser implementados em diversas plataformas.
Principais recursos da otimização de desempenho do NCNN
Aqui estão alguns dos principais recursos que tornam o NCNN uma estrutura de inferência de rede neural impactante e amplamente utilizada:
Runtime leve e independente de hardware: A framework NCNN é otimizada para executar modelos em CPUs padrão e não requer hardware especializado, como GPUs (Unidades de Processamento Gráfico) ou NPUs (Unidades de Processamento Neural).
Quantização de modelo: Para aplicações onde memória e velocidade são críticas, o NCNN oferece suporte a métodos de quantização que reduzem o tamanho do modelo e melhoram o tempo de inferência. Ele ajuda a executar modelos de IA sem problemas em dispositivos móveis e embarcados.
Código aberto e acessível: Como uma estrutura de código aberto, o NCNN está disponível gratuitamente para qualquer pessoa usar, modificar e aprimorar. Isso incentiva a inovação e a ampla adoção em uma variedade de casos de uso.
Desenvolvimento ativo e comunidade: O NCNN é ativamente mantido no GitHub pela Tencent e por uma crescente comunidade de desenvolvedores, com atualizações regulares e melhorias na compatibilidade de modelos.
Exportando YOLO11 para o formato de modelo NCNN: Um guia rápido
Agora que discutimos o que é NCNN, vamos dar uma olhada mais de perto em como exportar modelos YOLO11 para o formato NCNN.
Passo 1: Instale o pacote Python Ultralytics
Antes de exportar o modelo, a primeira etapa é instalar o pacote Python Ultralytics usando o instalador de pacotes, pip. Isso pode ser feito executando "pip install ultralytics" no seu terminal ou prompt de comando. Se você estiver trabalhando em um Jupyter Notebook ou Google Colab, adicione um ponto de exclamação antes do comando, assim: "!pip install ultralytics".
O pacote Ultralytics fornece ferramentas para treinar, testar, ajustar e exportar modelos de Visão de IA para uma variedade de tarefas de visão computacional. Se você encontrar algum problema durante a instalação ou ao exportar um modelo, a documentação oficial do Ultralytics e o guia de Problemas Comuns são ótimos recursos para solucionar problemas.
Passo 2: Exportando Ultralytics YOLO11
Após instalar o pacote Ultralytics, você pode carregar seu modelo YOLO11 e exportá-lo para o formato NCNN. O exemplo abaixo usa um modelo pré-treinado ("yolo11n.pt") e o exporta no formato NCNN, salvando a saída em uma pasta chamada "/yolo11n_ncnn_model".
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="ncnn")
O modelo YOLO11 exportado pode então ser implementado em vários dispositivos leves, como smartphones, sistemas embarcados ou plataformas IoT. O processo de implementação também é muito simplificado.
Por exemplo, considere o fragmento de código abaixo, que mostra como carregar o modelo exportado e executar a inferência. A inferência refere-se ao processo de usar um modelo treinado para fazer previsões sobre dados novos e não vistos. Neste exemplo, o modelo é testado numa imagem de um homem a andar de bicicleta, obtida a partir de um URL disponível publicamente.
Depois de executar o código, você encontrará a imagem de saída na pasta "runs/detect/predict".
Fig 2. Detecção de objetos usando um modelo YOLO11 exportado no formato NCNN. Imagem do autor.
Por que escolher a detecção em tempo real com NCNN
Ao explorar as várias integrações que a Ultralytics suporta, você pode notar que existem diversas opções de exportação disponíveis. Então, quando você deve escolher o formato NCNN?
O formato de exportação NCNN é uma escolha confiável quando você precisa implantar modelos YOLO11 em dispositivos com recursos limitados. É especialmente útil para aplicações em tempo real que são executadas diretamente no dispositivo, como dispositivos de borda, sem necessidade de conexão com a nuvem. Isso significa que o modelo pode lidar com tarefas como detecção de objetos no local.
Aqui estão alguns cenários comuns onde o NCNN é uma ótima opção:
Implantação móvel: O formato NCNN é otimizado para Android e iOS, facilitando a integração de modelos em aplicativos móveis para inferência rápida e no dispositivo com latência mínima.
Sistemas embarcados e dispositivos IoT: Se você estiver implantando em dispositivos como Raspberry Pi ou NVIDIA Jetson, exportar para NCNN pode ajudar a aumentar o desempenho e a capacidade de resposta.
Implantação em desktop e servidor: Embora o NCNN seja ótimo para dispositivos de baixa potência, ele também oferece suporte a Linux, Windows e macOS para ambientes de desktop e servidor. Isso oferece aos desenvolvedores opções flexíveis de implantação.
Fig. 3. Opções para implantação do modelo YOLO11 com NCNN. Imagem do autor.
Casos de uso da implantação do modelo YOLO11 com NCNN
Em seguida, vamos mergulhar em alguns casos de uso práticos onde a exportação de modelos YOLO11 para NCNN pode fazer uma diferença real.
Capacetes de Visão de IA para combate a incêndios
Capacetes de segurança equipados com câmeras e microcomputadores embutidos podem ser usados em áreas como construção e combate a incêndios para melhorar a segurança e a conscientização. Modelos de Vision AI em tempo real, como o YOLO11, podem ser executados nesses dispositivos para detectar vários tipos de objetos e equipamentos. Por exemplo, esses capacetes podem ajudar os bombeiros a detectar pessoas, obstáculos ou perigos em condições de baixa visibilidade.
No entanto, executar modelos completos diretamente em dispositivos vestíveis pode causar lentidão no desempenho e esgotar a bateria rapidamente. Nesse caso, usar a integração NCNN é uma escolha inteligente. Ele permite inferência de baixa latência e com eficiência energética.
Classificação de resíduos e lixeiras inteligentes
Da mesma forma, os contentores de lixo inteligentes podem ser integrados com câmaras e processadores de IA de borda compactos para identificar e separar materiais à medida que são descartados. Os modelos de IA de visão como o YOLO11 podem ser treinados sob medida para detetar diferentes tipos de materiais de resíduos, como papel, plástico, borracha, etc.
Uma vez que o lixo é identificado, ele pode ser automaticamente separado em compartimentos distintos com base na sua reutilização. Ao usar edge AI juntamente com modelos YOLO11 exportados no formato NCNN, esses contentores podem processar dados localmente, sem necessidade de uma conexão à internet. Isso permite que operem de forma autónoma e tomem decisões de triagem em tempo real com o mínimo de atraso.
Fig 4. Detectando materiais de resíduos plásticos usando YOLO11.
Monitoramento de gado usando drones e visão computacional
Por vezes, as áreas agrícolas em locais remotos não têm acesso a ligações de internet estáveis ou mesmo a energia consistente, o que limita a sua capacidade de executar aplicações de IA online. Nesses casos, os dispositivos edge e os drones podem ser usados para lidar com uma variedade de tarefas.
Um bom exemplo é o monitoramento de gado, como bovinos, ovinos e aves. Isso pode ser feito usando modelos de Visão de IA como o YOLO11, que pode ser usado para rastrear o movimento dos animais, detectar sinais de lesão, doença ou comportamento anormal e alertar os agricultores quando os animais desaparecem. A integração do NCNN também torna possível executar e processar esses dados diretamente em dispositivos de borda, tornando-o uma ótima opção para análise de imagem e vídeo em fazendas em áreas remotas ou fora da rede.
Fig 5. Uma olhada no uso do YOLO11 para monitorar o gado.
Principais conclusões
Exportar modelos YOLO11 usando a integração NCNN suportada pela Ultralytics é uma maneira direta de levar a Visão de IA para ambientes de baixa potência. Seja em drones em zonas de desastre, contentores inteligentes de triagem de resíduos ou monitoramento de gado em fazendas remotas, YOLO e NCNN permitem inferências de IA em tempo real que são rápidas, eficientes e portáteis. Esta abordagem ajuda a tornar os sistemas de IA mais acessíveis e confiáveis quando mais importa.