Descubra por que a poda e a quantização são essenciais para otimizar modelos de visão computacional e permitir um desempenho mais rápido em dispositivos de borda.
Descubra por que a poda e a quantização são essenciais para otimizar modelos de visão computacional e permitir um desempenho mais rápido em dispositivos de borda.
Os dispositivos periféricos estão a tornar-se cada vez mais comuns com o avanço da tecnologia. Desde smartwatches que track o ritmo cardíaco a drones aéreos que monitorizam as ruas, os sistemas periféricos podem processar dados em tempo real localmente no próprio dispositivo.
Este método é frequentemente mais rápido e seguro do que enviar dados para a nuvem, especialmente para aplicações que envolvem dados pessoais, como deteção de placas de matrícula ou rastreamento de gestos. Estes são exemplos de visão computacional, um ramo da inteligência artificial (IA) que permite que as máquinas interpretem e compreendam informações visuais.

No entanto, uma consideração importante é que tais aplicações exigem modelos de Visão de IA capazes de lidar com computação pesada, usando recursos mínimos e operando de forma independente. A maioria dos modelos de visão computacional são desenvolvidos para sistemas de alto desempenho, tornando-os menos adequados para implantação direta em dispositivos edge.
Para preencher essa lacuna, os desenvolvedores geralmente aplicam otimizações direcionadas que adaptam o modelo para ser executado de forma eficiente em hardware menor. Esses ajustes são críticos para implementações de borda no mundo real, onde a memória e o poder de processamento são limitados.
Curiosamente, modelos de visão por computador como o Ultralytics YOLO11 já foram concebidos tendo em mente a eficiência dos limites, o que os torna óptimos para tarefas em tempo real. No entanto, o seu desempenho pode ser ainda melhorado utilizando técnicas de otimização de modelos, como a poda e a quantização, permitindo uma inferência ainda mais rápida e uma menor utilização de recursos em dispositivos com restrições.
Neste artigo, veremos mais de perto o que são a poda e a quantização, como funcionam e como podem ajudar os modelos YOLO a funcionar em implantações de borda do mundo real. Vamos começar!
Ao preparar modelos de Visão de IA para implantação em dispositivos de borda, um dos principais objetivos é tornar o modelo leve e confiável, sem sacrificar o desempenho. Isso geralmente envolve reduzir o tamanho do modelo e as demandas computacionais para que ele possa operar de forma eficiente em hardware com memória, energia ou capacidade de processamento limitadas. Duas maneiras comuns de fazer isso são a poda e a quantização.
A poda é uma técnica de otimização de modelos de IA que ajuda a tornar as redes neurais menores e mais eficientes. Em muitos casos, partes de um modelo, como certas conexões ou nós, não contribuem muito para suas previsões finais. A poda funciona identificando e removendo essas partes menos importantes, o que reduz o tamanho do modelo e acelera seu desempenho.
Por outro lado, a quantização é uma técnica de otimização que reduz a precisão dos números que um modelo usa. Em vez de depender de números de ponto flutuante de 32 bits de alta precisão, o modelo muda para formatos menores e mais eficientes, como inteiros de 8 bits. Essa mudança ajuda a diminuir o uso de memória e acelera a inferência, o processo em que o modelo faz previsões.

Agora que temos uma melhor compreensão do que são pruning e quantização, vamos percorrer como ambos funcionam.
A poda é feita usando um processo conhecido como análise de sensibilidade. Ele identifica quais partes dos modelos de redes neurais, como certos pesos, neurônios ou canais, contribuem menos para a previsão de saída final. Essas partes podem ser removidas com efeito mínimo na precisão. Após a poda, o modelo geralmente é re-treinado para ajustar seu desempenho. Este ciclo pode ser repetido para encontrar o equilíbrio certo entre seu tamanho e precisão.
Enquanto isso, a quantização de modelos se concentra em como o modelo lida com os dados. Começa com a calibração, onde o modelo é executado em dados de amostra para aprender a faixa de valores que precisa processar. Esses valores são então convertidos de ponto flutuante de 32 bits para formatos de precisão mais baixa, como inteiros de 8 bits.

Existem várias ferramentas disponíveis que facilitam a utilização da poda e da quantização em projectos de IA do mundo real. A maioria das estruturas de IA, como o PyTorch e o TensorFlow, inclui suporte integrado para estas técnicas de otimização, permitindo que os programadores as integrem diretamente no processo de implementação do modelo.
Quando um modelo é optimizado, ferramentas como o ONNX Runtime podem ajudar a executá-lo de forma eficiente em várias plataformas de hardware, como servidores, computadores de secretária e dispositivos de ponta. Além disso, Ultralytics oferece integrações que permitem que os modelos YOLO sejam exportados em formatos adequados para quantização, facilitando a redução do tamanho do modelo e o aumento do desempenho.
Os modelosYOLO Ultralytics , como o YOLO11 , são amplamente reconhecidos por sua deteção rápida de objetos em uma única etapa, o que os torna ideais para tarefas de IA de visão em tempo real. Eles já foram projetados para serem leves e eficientes o suficiente para implantação na borda. No entanto, as camadas responsáveis pelo processamento de caraterísticas visuais, chamadas camadas convolucionais, ainda podem exigir um poder de computação considerável durante a inferência.
Poderá perguntar-se: se YOLO11 já está optimizado para utilização em dispositivos periféricos, porque é que precisa de mais otimização? Em termos simples, nem todos os dispositivos periféricos são iguais. Alguns funcionam com hardware mínimo, como pequenos processadores incorporados que consomem menos energia do que uma lâmpada LED normal.
Nestes casos, mesmo um modelo simplificado como o YOLO11 necessita de otimização adicional para garantir um desempenho suave e fiável. Técnicas como a poda e a quantização ajudam a reduzir o tamanho do modelo e a acelerar a inferência sem afetar significativamente a precisão, tornando-as ideais para ambientes tão limitados.
Para facilitar a aplicação destas técnicas de otimização, Ultralytics suporta várias integrações que podem ser utilizadas para exportar modelos YOLO para vários formatos, como ONNX, TensorRT, OpenVINO, CoreML e PaddlePaddle. Cada formato foi concebido para funcionar bem com tipos específicos de hardware e ambientes de implementação.
Por exemplo, ONNX é frequentemente utilizado em fluxos de trabalho de quantização devido à sua compatibilidade com uma vasta gama de ferramentas e plataformas. TensorRT, por outro lado, é altamente optimizado para dispositivos NVIDIA e suporta inferência de baixa precisão utilizando INT8, o que o torna ideal para implementação a alta velocidade em GPUs de ponta.
À medida que a visão computacional continua a expandir-se para várias aplicações do mundo real, os modelos YOLO optimizados tornam possível executar tarefas como a deteção de objectos, segmentação de instâncias e seguimento de objectos em hardware mais pequeno e mais rápido. A seguir, vamos discutir alguns casos de uso em que a poda e a quantização tornam essas tarefas de visão computacional mais eficientes e práticas.
Muitos espaços industriais, bem como áreas públicas, dependem da monitorização em tempo real para se manterem seguros e protegidos. Locais como estações de trânsito, locais de fabrico e grandes instalações ao ar livre precisam de sistemas Vision AI que possam detect pessoas ou veículos de forma rápida e precisa. Muitas vezes, estes locais funcionam com conetividade limitada e restrições de hardware, o que dificulta a implementação de modelos de grandes dimensões.
Nesses casos, um modelo optimizado de Vision AI como o YOLO11 é uma excelente solução. O seu tamanho compacto e desempenho rápido tornam-no perfeito para ser executado em dispositivos de ponta de baixo consumo, como câmaras incorporadas ou sensores inteligentes. Estes modelos podem processar dados visuais diretamente no dispositivo, permitindo a deteção em tempo real de violações de segurança, acesso não autorizado ou atividade anormal, sem depender de um acesso constante à nuvem.

Os canteiros de obras são ambientes dinâmicos e imprevisíveis, cheios de máquinas pesadas, trabalhadores em movimento e atividade constante. As condições podem mudar rapidamente devido a mudanças de horários, movimentação de equipamentos ou até mesmo mudanças repentinas no clima. Em um ambiente tão dinâmico, a segurança do trabalhador pode parecer um desafio contínuo.
A monitorização em tempo real desempenha um papel crucial, mas os sistemas tradicionais dependem frequentemente do acesso à nuvem ou de hardware dispendioso que pode não ser prático no local. É aqui que modelos como o YOLO11 podem ter impacto. YOLO11 pode ser optimizado para funcionar em dispositivos de ponta pequenos e eficientes que funcionam diretamente no local sem necessitar de uma ligação à Internet.
Por exemplo, considere um local de construção de grandes dimensões, como a expansão de uma autoestrada que se estende por vários hectares. Neste tipo de cenário, seguir manualmente cada veículo ou peça de equipamento pode ser difícil e demorado. Um drone equipado com uma câmara e um modelo YOLO11 optimizado pode ajudar, detectando e seguindo automaticamente os veículos, monitorizando o fluxo de tráfego e identificando problemas de segurança como acesso não autorizado ou comportamento de condução inseguro.

Aqui estão algumas vantagens importantes que os métodos de otimização de modelos de visão computacional, como pruning e quantização, oferecem:
Embora a poda e a quantização ofereçam muitas vantagens, elas também vêm com certas compensações que os desenvolvedores devem considerar ao otimizar modelos. Aqui estão algumas limitações a serem lembradas:
A poda e a quantização são técnicas úteis que ajudam os modelos YOLO a ter um melhor desempenho em dispositivos de ponta. Reduzem o tamanho do modelo, diminuem as suas necessidades de computação e aceleram as previsões, tudo isto sem uma perda percetível de precisão.
Esses métodos de otimização também oferecem aos desenvolvedores a flexibilidade de ajustar modelos para diferentes tipos de hardware sem precisar reconstruí-los completamente. Com alguns ajustes e testes, torna-se mais fácil aplicar a Visão de IA em situações do mundo real.
Junte-se à nossa crescente comunidade! Explore nosso repositório GitHub para saber mais sobre IA. Pronto para iniciar seus projetos de visão computacional? Confira nossas opções de licenciamento. Descubra a IA na agricultura e a Visão de IA na área da saúde visitando nossas páginas de soluções!