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, especialmente no domínio da visão computacional (CV). Funciona como um bloco de construção crucial para as redes neurais convolucionais (CNN), permitindo que estas redes aprendam automaticamente padrões complexos e hierárquicos diretamente a partir de dados em grelha, como imagens ou vídeos. O processo envolve a aplicação de um pequeno filtro, conhecido como kernel, num sinal ou imagem de entrada. Esta operação gera um resultado denominado mapa de caraterísticas, que realça padrões específicos (como arestas, texturas ou formas) que o kernel foi concebido para detetar.

Como funciona a convolução

Pensa no processo de convolução como deslizar uma pequena lupa (o kernel ou filtro) sobre uma imagem maior (os dados de entrada). Em cada posição, o núcleo foca um pequeno fragmento da entrada. A operação de convolução calcula então uma soma ponderada dos valores de pixel dentro desta área, utilizando os pesos definidos no núcleo. Este valor calculado torna-se um único pixel no mapa de caraterísticas de saída resultante. O kernel move-se sistematicamente ao longo de toda a imagem de entrada, passo a passo, com o tamanho do passo determinado por um parâmetro chamado'stride'. Por vezes, é utilizadoo 'padding' (adição de pixels de margem extra) à volta da imagem de entrada para controlar o tamanho da saída. Ao aplicar vários kernels numa única camada convolucional, uma CNN pode extrair simultaneamente um conjunto diversificado de caraterísticas da entrada. As explicações visuais, como as que se encontram nas notas do curso CS231n de Stanford, podem fornecer mais intuição.

Componentes principais da convolução

Vários parâmetros definem uma operação de convolução:

  • Kernel/Filtro: Uma pequena matriz que contém pesos(pesos de filtro) que detectam caraterísticas específicas. O tamanho do kernel determina a área local processada em cada passo.
  • Desloca: O número de pixels que o kernel desloca sobre a imagem de entrada em cada passo. Um stride maior resulta num mapa de caraterísticas de saída mais pequeno.
  • Preenchimento: Adiciona pixels (normalmente de valor zero) à volta da borda da imagem de entrada. Isto ajuda a controlar as dimensões espaciais da saída e permite que os kernels processem os pixels de borda mais eficazmente.
  • Função de ativação: Normalmente, a saída da operação de convolução é passada através de uma função de ativação não linear, como a ReLU (Unidade Linear Rectificada), para introduzir a não linearidade no modelo, permitindo-lhe aprender padrões mais complexos.

Convolução Vs. Operações Relacionadas

A convolução é frequentemente utilizada juntamente com outras operações nas CNNs, mas tem um objetivo distinto:

  • Agrupamento (pooling): Operações como max pooling ou average pooling são utilizadas para reduzir as dimensões espaciais (largura e altura) dos mapas de caraterísticas, tornando o modelo mais eficiente do ponto de vista computacional e robusto a variações na localização das caraterísticas. Ao contrário da convolução, que extrai caraterísticas, o agrupamento resume as caraterísticas dentro de uma região. Para mais pormenores, podes encontrar uma visão geral dos métodos de pooling.
  • Camadas totalmente conectadas: Enquanto as camadas convolucionais processam regiões locais utilizando pesos partilhados(partilha de parâmetros) com base no campo recetivo, uma camada totalmente ligada liga todos os neurónios na sua entrada a todos os neurónios na sua saída. Normalmente, são utilizadas no final de uma CNN numa estrutura de rede neuronal (NN) padrão para tarefas finais de classificação ou regressão.

Aplicações da convolução

As camadas convolucionais são indispensáveis em várias aplicações modernas de IA:

1. Deteção de objectos

Na deteção de objectos, as CNNs utilizam camadas convolucionais para extrair caraterísticas das imagens, permitindo-lhes identificar objectos e determinar a sua localização utilizando caixas delimitadoras. Os modelos mais avançados, como o Ultralytics YOLOda Ultralytics, incluindo versões como YOLO11dependem fortemente de convoluções para analisar caraterísticas em várias escalas para uma deteção eficiente e precisa. Isto é vital para aplicações de IA no sector automóvel, como permitir que os carros autónomos(ver a tecnologia da Waymo) percebam os peões, os veículos e os sinais de trânsito para uma navegação segura, exigindo frequentemente inferência em tempo real.

2. Análise de imagens médicas

A convolução desempenha um papel importante na análise de imagens médicas, ajudando os profissionais de saúde a interpretar exames como os raios X, as tomografias computorizadas e as ressonâncias magnéticas. Os modelos de IA construídos com CNNs podem detetar padrões subtis indicativos de doenças, como tumores ou fracturas, ultrapassando por vezes a velocidade e a precisão humanas(Radiologia: Inteligência Artificial). Por exemplo, os modelos podem ser treinados para tarefas específicas, como a utilização do YOLO11 para a deteção de tumores. Explora mais sobre as soluções de IA nos cuidados de saúde.

Para além destas, a convolução é fundamental para outras tarefas de visão, como o reconhecimento e a segmentação de imagens.

Importância na aprendizagem profunda

A convolução é uma pedra angular da aprendizagem profunda (AP) moderna, em especial para tarefas que envolvem dados em grelha. A sua capacidade para explorar a localidade espacial (assumindo que os pixéis próximos estão relacionados) e partilhar parâmetros em diferentes localizações torna as CNN altamente eficientes e eficazes na aprendizagem de hierarquias visuais em comparação com as redes tradicionais totalmente ligadas.

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 PyTorchPyTorch site oficialPyTorch ) e TensorFlowTensorFlow ) fornecem ferramentas robustas para a construção de CNNs. Plataformas como o Ultralytics HUB simplificam o processo de formação de modelos, permitindo aos utilizadores tirar partido de arquitecturas pré-construídas que incorporam convoluções ou formar modelos personalizados para aplicações específicas. APIs de alto nível, como o Keras, simplificam ainda mais o desenvolvimento.

Lê tudo
OSZAR »