Convoluciones y filtros para detectar bordes en imágenes digitales
Clase 4 de 15 • Curso 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:
- Dirígete a la pestaña archivos.
- Arrastra tu imagen hasta la interfaz.
- Dale clic derecho y copia la ruta del archivo.
- 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.