Descubra porque é que a poda e a quantização são essenciais para otimizar os modelos de visão por computador e permitir um desempenho mais rápido em dispositivos de ponta.

Descubra porque é que a poda e a quantização são essenciais para otimizar os modelos de visão por computador e permitir um desempenho mais rápido em dispositivos de ponta.
Os dispositivos periféricos estão a tornar-se cada vez mais comuns com o avanço da tecnologia. Desde smartwatches que monitorizam 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 mais seguro do que enviar dados para a nuvem, especialmente para aplicações que envolvem dados pessoais, como a deteção de matrículas ou o rastreio de gestos. Estes são exemplos de visão computacional, um ramo da inteligência artificial (IA) que permite às máquinas interpretar e compreender informações visuais.
No entanto, um aspeto importante a ter em conta é o facto de essas aplicações exigirem modelos de IA de visão capazes de lidar com computação pesada, utilizando recursos mínimos e funcionando de forma independente. A maior parte dos modelos de visão computacional são desenvolvidos para sistemas de elevado desempenho, o que os torna menos adequados para a implantação direta em dispositivos periféricos.
Para colmatar esta lacuna, os programadores aplicam frequentemente optimizações específicas que adaptam o modelo para funcionar eficientemente em hardware mais pequeno. Esses ajustes são essenciais para implantações de ponta no mundo real, onde a memória e o poder de processamento são limitados.
Curiosamente, os 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 IA de visão para implementação em dispositivos periféricos, um dos principais objectivos é tornar o modelo leve e fiável sem sacrificar o desempenho. Isso geralmente envolve a redução do tamanho do modelo e das demandas computacionais para que ele possa operar eficientemente em hardware com memória, potência 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 neuronais mais pequenas e mais eficientes. Em muitos casos, partes de um modelo, como certas ligações ou nós, não contribuem muito para as suas previsões finais. A poda funciona identificando e removendo estas partes menos importantes, o que reduz o tamanho do modelo e acelera o 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 utiliza. Em vez de se basear em números de vírgula flutuante de 32 bits de alta precisão, o modelo muda para formatos mais pequenos e eficientes, como os números inteiros de 8 bits. Esta alteração ajuda a reduzir a utilização 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 a poda e a quantização, vamos ver como funcionam.
A poda é feita através de um processo conhecido como análise de sensibilidade. Este processo identifica as partes dos modelos de redes neuronais, como determinados pesos, neurónios ou canais, que menos contribuem para a previsão do resultado final. Essas partes podem ser removidas com um efeito mínimo na precisão. Após a poda, o modelo é normalmente treinado de novo para afinar o seu desempenho. Este ciclo pode ser repetido para encontrar o equilíbrio correto entre o tamanho e a precisão.
Entretanto, a quantização do modelo centra-se na forma como o modelo lida com os dados. Começa com a calibração, em que o modelo é executado em dados de amostra para aprender o intervalo de valores que precisa de processar. Esses valores são então convertidos de ponto flutuante de 32 bits para formatos de menor precisão, 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, o 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 modelos YOLO da 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 o 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 um 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, 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, o ONNX é frequentemente utilizado em fluxos de trabalho de quantização devido à sua compatibilidade com uma vasta gama de ferramentas e plataformas. O 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 detetar 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 estaleiros de construção são ambientes de ritmo acelerado e imprevisível, repletos de maquinaria pesada, trabalhadores em movimento e atividade constante. As condições podem mudar rapidamente devido a mudanças de horários, movimentação de equipamento ou mesmo mudanças súbitas no clima. Num ambiente tão dinâmico, a segurança dos trabalhadores 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. O 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.
Eis algumas das principais vantagens que os métodos de otimização de modelos de visão por computador, como a poda e a quantização, oferecem:
Embora a poda e a quantização ofereçam muitas vantagens, também têm certas compensações que os programadores devem considerar ao otimizar os modelos. Eis algumas limitações a ter em conta:
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.
Estes métodos de otimização também dão aos programadores a flexibilidade de ajustar os modelos para diferentes tipos de hardware sem terem de os reconstruir completamente. Com alguns ajustes e testes, torna-se mais fácil aplicar a IA de visão em situações do mundo real.
Junte-se à nossa comunidade em crescimento! Explore o nosso repositório GitHub para saber mais sobre IA. Pronto para iniciar os seus projectos de visão computacional? Veja as nossas opções de licenciamento. Descubra a IA na agricultura e a IA de visão nos cuidados de saúde visitando as nossas páginas de soluções!