Glossário

Convolução

Aprende 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.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A convolução é uma operação matemática fundamental amplamente utilizada na inteligência artificial, nomeadamente no domínio da visão computacional (CV). Constitui o elemento central das redes neurais convolucionais (CNN), permitindo que estas redes aprendam eficazmente padrões hierárquicos a partir de dados em grelha, como as imagens. O processo envolve a aplicação de um pequeno filtro, frequentemente designado por kernel, a um sinal ou imagem de entrada para produzir um resultado conhecido como mapa de caraterísticas. Estes mapas de caraterísticas realçam padrões específicos como arestas, texturas ou formas detectadas pelo kernel.

Como funciona a convolução

Imagina que deslizas uma pequena lupa (o núcleo) sobre uma imagem maior (a entrada). Em cada posição, a lupa foca uma pequena parte da imagem. A operação de convolução calcula uma soma ponderada dos valores de pixel dentro dessa área, utilizando os pesos definidos pelo núcleo. Este valor calculado único torna-se um pixel no mapa de caraterísticas de saída. O núcleo desliza sistematicamente por toda a imagem de entrada, passo a passo (definido por um parâmetro chamado 'stride'), criando um mapa de caraterísticas completo. Os diferentes kernels são concebidos para detetar caraterísticas diferentes; por exemplo, um kernel pode detetar arestas horizontais, enquanto outro detecta cantos. Ao utilizar vários kernels numa única camada, uma CNN pode extrair um conjunto rico de caraterísticas da entrada. Podes explorar explicações visuais deste processo em recursos como as notas do curso Stanford CS231n sobre CNNs.

Componentes principais da convolução

  • Dados de entrada: Normalmente, uma imagem multicanal (por exemplo, canais RGB) ou o mapa de caraterísticas de saída de uma camada anterior.
  • Kernel (Filtro): Uma pequena matriz de pesos que define a caraterística a ser detectada. Estes pesos são aprendidos durante o processo de formação do modelo.
  • Mapa de caraterísticas: O resultado da operação de convolução, que representa a presença e a localização espacial das caraterísticas detectadas.
  • Desloca: O número de pixels que o kernel desloca sobre a entrada em cada passo.
  • Preenchimento: Adiciona pixéis (normalmente zeros) à volta da borda da imagem de entrada para controlar as dimensões espaciais do mapa de caraterísticas de saída.

Aplicações da convolução

As camadas convolucionais são essenciais em muitas aplicações modernas de IA:

1. Deteção de objectos

Na deteção de objectos, as CNNs utilizam convoluções para identificar objectos e a sua localização numa imagem utilizando caixas delimitadoras. Modelos como Ultralytics YOLO dependem fortemente de camadas convolucionais para extrair caraterísticas em diferentes escalas, permitindo a deteção de vários objectos de forma eficiente. Isto é fundamental para aplicações como veículos autónomos, onde a deteção de peões, carros e sinais de trânsito em tempo real é vital para a segurança. Saiba mais sobre as soluções de IA no setor automotivo.

2. Análise de imagens médicas

A convolução é fundamental na análise de imagens médicas, ajudando os radiologistas a analisar exames como raios X, TAC e ressonâncias magnéticas. Os modelos de IA que utilizam CNNs podem detetar anomalias subtis, como tumores ou fracturas, muitas vezes mais rapidamente e, por vezes, com maior precisão do que os especialistas humanos. Por exemplo, a utilização do YOLOv11 para a deteção de tumores demonstra esta capacidade. Explora mais sobre as soluções de IA nos cuidados de saúde.

Convolução versus conceitos relacionados

A convolução é frequentemente utilizada juntamente com outras operações e conceitos nas redes neuronais:

  • Pooling: Enquanto a convolução extrai caraterísticas, as camadas de pooling (como o Max Pooling ou o Average Pooling) reduzem as dimensões espaciais (downsample) dos mapas de caraterísticas. Isto ajuda a diminuir a carga computacional e torna a representação das caraterísticas mais robusta a pequenas variações espaciais. O agrupamento resume as caraterísticas numa região, enquanto a convolução as extrai. Podes encontrar mais detalhes em recursos que explicam as camadas de pooling em CNNs.
  • Extração de caraterísticas: Este é um termo mais amplo que se refere ao processo de transformação de dados brutos em caraterísticas numéricas utilizáveis para a aprendizagem automática. A convolução é uma técnica específica e altamente eficaz para a extração automática de caraterísticas a partir de dados em grelha, particularmente em CNNs.
  • Camadas totalmente conectadas: Ao contrário das camadas convolucionais que aplicam kernels localmente e partilham pesos, as camadas totalmente ligadas ligam todos os neurónios da camada anterior a todos os neurónios da camada atual. Normalmente, aparecem no final de uma arquitetura CNN para efetuar a classificação ou regressão com base nas caraterísticas de alto nível extraídas pelas camadas convolucionais e de pooling. Saiba mais sobre os conceitos básicos de redes neurais (NNs).

Compreender a convolução é fundamental para perceber como muitos modelos de IA de última geração, incluindo os disponíveis no Ultralytics HUB, interpretam a informação visual. Frameworks como PyTorch e TensorFlow fornecem implementações eficientes de operações de convolução. Bibliotecas como a OpenCV também utilizam a convolução para tarefas tradicionais de processamento de imagem, como a desfocagem e a nitidez.

Lê tudo