Glossário

Convolução

Saiba como a convolução potencia a IA na visão por computador, permitindo tarefas como a deteção de objectos, o reconhecimento de imagens e a imagiologia médica com precisão.

A convolução é uma operação fundamental na aprendizagem profunda (DL), especialmente no domínio da visão computacional (CV). É o principal elemento de base das redes neurais convolucionais (CNN), permitindo que os modelos aprendam de forma automática e eficiente caraterísticas hierárquicas a partir de dados em grelha, como as imagens. O processo envolve o deslizamento de um pequeno filtro, conhecido como kernel, sobre uma imagem de entrada para produzir mapas de caraterísticas que realçam padrões específicos como arestas, texturas ou formas. Este método é inspirado na organização do córtex visual animal e é altamente eficaz para tarefas em que as relações espaciais entre pontos de dados são importantes.

Como funciona a convolução

Na sua essência, uma convolução é uma operação matemática que funde dois conjuntos de informação. No contexto de uma CNN, combina os dados de entrada (os valores de píxeis de uma imagem) com um kernel. O kernel é uma pequena matriz de pesos que actua como um detetor de caraterísticas. Este núcleo desliza pela altura e largura da imagem de entrada e, em cada posição, efectua uma multiplicação por elementos com a parte sobreposta da imagem. Os resultados são somados para criar um único pixel no mapa de caraterísticas de saída. Este processo de deslizamento é repetido em toda a imagem.

Ao utilizar diferentes núcleos, uma CNN pode aprender a detetar uma vasta gama de caraterísticas. As camadas iniciais podem aprender a reconhecer padrões simples como arestas e cores, enquanto as camadas mais profundas podem combinar estas caraterísticas básicas para identificar estruturas mais complexas como olhos, rodas ou texto. Esta capacidade de construir uma hierarquia de caraterísticas visuais é o que confere às CNNs o seu poder nas tarefas de visão. O processo é computacionalmente eficiente através de dois princípios fundamentais:

  • Partilha de parâmetros: O mesmo kernel é usado em toda a imagem, reduzindo drasticamente o número total de parâmetros aprendidos em comparação com uma rede totalmente conectada. Este conceito de utilização eficiente de parâmetros também ajuda o modelo a generalizar melhor.
  • Localidade espacial: A operação assume que os pixels próximos uns dos outros estão mais fortemente relacionados do que os distantes, uma forte tendência indutiva que é altamente eficaz para imagens naturais.

Importância na aprendizagem profunda

A convolução é a pedra angular da visão computacional moderna. Modelos como o Ultralytics YOLO utilizam extensivamente camadas convolucionais nas suas arquitecturas de base para uma poderosa extração de caraterísticas. Isto permite uma vasta gama de aplicações, desde a deteção de objectos e segmentação de imagens até tarefas mais complexas. A eficiência e a eficácia da convolução tornaram-na no método de referência para o processamento de imagens e de outros dados espaciais, constituindo a base de muitas arquitecturas de ponta detalhadas em recursos como a história dos modelos de visão.

Aplicações no mundo real

  • Análise de imagens médicas: Na IA para os cuidados de saúde, as CNNs utilizam convoluções para analisar exames médicos como ressonâncias magnéticas ou TACs. Os núcleos podem ser treinados para detetar as texturas e formas específicas caraterísticas de tumores ou outras anomalias, ajudando os radiologistas a efetuar diagnósticos mais rápidos e mais precisos. Pode ler mais sobre estes avanços em revistas como Radiology: Artificial Intelligence.
  • Veículos autónomos: Os carros autónomos dependem das CNNs para perceberem o que os rodeia. As convoluções processam os dados das câmaras em tempo real para identificar peões, outros veículos, faixas de rodagem e sinais de trânsito. Isto permite que o sistema do carro construa uma compreensão abrangente do seu ambiente e navegue em segurança, como se vê na tecnologia desenvolvida por empresas como a Waymo.

Convolução Vs. conceitos relacionados

É útil distinguir a convolução de outras operações de redes neuronais:

  • Camadas totalmente conectadas: Numa camada totalmente ligada, cada neurónio está ligado a todos os neurónios da camada anterior. Para imagens, isto é altamente ineficiente, pois ignora a estrutura espacial e conduz a um número enorme de parâmetros. A convolução, com a sua conetividade local e partilha de parâmetros, é muito mais escalável e mais adequada para dados de imagem.
  • Transformadores de visão (ViT): Ao contrário da deteção de caraterísticas locais das CNN, os transformadores de visão utilizam um mecanismo de auto-atenção para modelar as relações globais entre diferentes manchas de imagem. Embora poderosos, os ViTs requerem normalmente conjuntos de dados maiores para aprender estas relações a partir do zero, ao passo que a tendência indutiva das convoluções torna-os mais eficientes em termos de dados. Os modelos híbridos, como o RT-DETR, têm como objetivo combinar os pontos fortes de ambas as abordagens.

Ferramentas e formação

A implementação e o treino de modelos que utilizam a convolução são facilitados por várias estruturas de aprendizagem profunda. Bibliotecas como PyTorch(site oficial do PyTorch) e TensorFlow(site oficial do TensorFlow) fornecem ferramentas robustas para a construção de CNNs. As API de alto nível, como o Keras, simplificam ainda mais o desenvolvimento.

Para uma experiência simplificada, plataformas como o Ultralytics HUB permitem aos utilizadores gerir conjuntos de dados, realizar o treino de modelos e implementar modelos poderosos como o YOLO11 com facilidade. Compreender conceitos fundamentais como convolução, tamanho do kernel, stride, padding e o campo recetivo resultante é crucial para o treinamento eficaz do modelo e o design da arquitetura.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência