Conteúdo do Curso
Fundamentos de Visão Computacional
Fundamentos de Visão Computacional
Camadas de Convolução
Compreendendo as Camadas de Convolução
Camadas de convolução são o núcleo das redes neurais convolucionais (CNNs). Elas aplicam a convolução, onde uma pequena matriz chamada filtro (ou kernel) desliza sobre uma imagem para detectar bordas, texturas e formas. Isso permite que as CNNs processem imagens de forma mais eficiente do que redes tradicionais.
Em vez de analisar uma imagem inteira de uma vez, as CNNs a dividem em seções menores, detectando características em diferentes níveis. Camadas iniciais reconhecem padrões simples como bordas, enquanto camadas mais profundas detectam estruturas complexas.
Como a Convolução Funciona
A convolução envolve um filtro (kernel) movendo-se sobre uma imagem, seguindo estes passos:
Aplicar o kernel no canto superior esquerdo da imagem.
Realizar multiplicação elemento a elemento entre o kernel e os valores dos pixels.
Somar os produtos para gerar um pixel de saída.
Mover o kernel de acordo com o stride e repetir.
Gerar um mapa de características que destaca os padrões detectados.
Múltiplos filtros permitem que as CNNs capturem diferentes características, como bordas verticais, curvas e texturas.
Filtros (Kernels):
Filtros desempenham um papel fundamental na extração de padrões significativos de imagens. Diferentes tipos de filtros se especializam na identificação de várias características:
Filtros de detecção de bordas: identificam limites de objetos ao detectar mudanças abruptas de intensidade (por exemplo, filtros Sobel, Prewitt e Laplaciano);
Filtros de textura: capturam padrões repetitivos como ondas ou grades (por exemplo, filtros de Gabor);
Filtros de nitidez: realçam detalhes da imagem ao amplificar componentes de alta frequência;
Filtros de desfoque: reduzem ruídos e suavizam imagens (por exemplo, filtro de desfoque Gaussiano);
Filtros de relevo: destacam bordas e adicionam efeito 3D ao enfatizar profundidade.
Cada filtro é treinado para detectar padrões específicos e contribui para a construção de representações hierárquicas de características em CNNs profundas.
Camadas de convolução reutilizam o mesmo filtro em toda a imagem, reduzindo parâmetros e tornando as CNNs eficientes. No entanto, camadas localmente conectadas especializadas utilizam filtros diferentes para diferentes regiões quando necessário.
Ao empilhar camadas de convolução, as CNNs extraem padrões detalhados, tornando-se eficazes para classificação de imagens, detecção de objetos e tarefas de visão computacional.
Hiperparâmetros:
Stride: controla o quanto o filtro se desloca a cada passo;
Padding: adiciona pixels para controlar o tamanho da saída (padding same preserva o tamanho, padding valid reduz);
Número de filtros (profundidade): mais filtros melhoram a detecção de características, mas aumentam o custo computacional.
Antes do próximo capítulo, é necessário lembrar:
Embora as camadas convolucionais possam diminuir o tamanho da saída, seu objetivo principal é a extração de características, não a redução de dimensionalidade. As camadas de pooling, por outro lado, reduzem explicitamente a dimensionalidade enquanto mantêm informações importantes, garantindo eficiência nas camadas mais profundas.
1. Qual é o papel principal de uma camada convolucional em uma CNN?
2. Qual hiperparâmetro determina o quanto um filtro se move durante a convolução?
3. Qual é o objetivo de aplicar múltiplos filtros em uma camada de convolução?
Obrigado pelo seu feedback!