Convoluciones y filtros para detectar bordes en imágenes digitales

Clase 4 de 15Curso de Redes Neuronales Convolucionales

Resumen

Las convoluciones son una herramienta esencial en el procesamiento digital de imágenes, ya que permiten resaltar texturas, bordes y patrones complejos. Aplicando la técnica conocida como convolución, avanzamos desde ejemplos sencillos hacia aplicaciones como centros médicos al analizar radiografías.

¿Qué es una convolución y para qué sirve?

Una convolución implica dos elementos básicos: la imagen que queremos modificar y un kernel o filtro. En este caso específico, utilizamos el kernel Sobel para detectar bordes. La aplicación práctica revela:

  • Imágenes sintéticas como un gradiente de negro a blanco que no posee bordes.
  • Figuras más complejas como la letra „P“, cuyos bordes aparecen claramente.
  • Imágenes reales como el logo de Platzi, donde la convolución transforma una imagen a color en una escala de grises para identificar bordes y patrones resaltados.

¿Cómo cargar nuestras propias imágenes en Google Colab?

Colab ofrece simplicidad para incluir imágenes propias:

  1. Dirígete a la pestaña archivos.
  2. Arrastra tu imagen hasta la interfaz.
  3. Dale clic derecho y copia la ruta del archivo.
  4. Coloca esta información en la sección específica del código para cargar y procesar.

Esto facilita trabajar con imágenes personales y diversos casos de prueba, incluyendo radiografías médicas.

¿Qué son el stride y el padding en las convoluciones?

Además del kernel, existen dos parámetros clave que modifican cómo la convolución se aplica en la imagen:

¿Qué significa stride en convoluciones?

El stride define el salto que dará nuestro kernel sobre la imagen:

  • Por defecto, el kernel avanza píxel por píxel.
  • Modificando el stride podemos avanzar de dos en dos o incluso de cuatro en cuatro píxeles.

Incrementar el stride permite un procesamiento más ágil y resaltado diferente de patrones.

¿Qué función cumple el padding en convoluciones?

El padding agrega píxeles con valor cero alrededor de los bordes de la imagen original:

  • Evita problemas al aplicar kernels en los bordes.
  • Ayuda a mantener intacta la forma de la imagen.

Comúnmente se usa un padding de valor uno para efectos estándar.

¿Qué ocurre al usar múltiples filtros en convoluciones?

Aplicar múltiples filtros o kernels simultáneamente permite detectar diversos tipos de bordes o patrones. Ejemplos prácticos con filtros horizontales y verticales mostraron un comportamiento particular:

  • Un filtro de dirección vertical detecta bordes horizontales.
  • Un filtro horizontal resalta bordes verticales.

Este resultado, aunque quizás inesperado, no es un error, sino una consecuencia del comportamiento del kernel frente a la imagen.

¿Has experimentado ya con aplicaciones prácticas de convoluciones? Comparte qué otras utilidades has encontrado al trabajar con imágenes.