3.7 - Convolución en imágenes con múltiples canales de entrada

Lección 7 de la sección “Redes Convolucionales” del curso Fundamentos de Deep Learning con Python.

Introducción

En las lecciones anteriores hablamos del filtro o kernel y de las operaciones básicas usadas en una Red Convolucional: la convolución, el padding y los strides.

Con esto estamos listos para extender el principio de la convolución a imágenes con múltiples canales de entrada, como es el caso de las imágenes RGB, que son precisamente las imágenes más usadas en la práctica.

Veamos entonces qué modificaciones realizar a la convolución vista originalmente para el caso de este tipo de volúmenes.

Contenido exclusivo suscriptores

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El kernel en la convolución con imágenes a color

A diferencia de una imagen en escala de grises, en una imagen a color (o RGB) tendremos un arreglo de tres dimensiones: alto x ancho x profundidad, donde la profundidad tendrá exactamente 3 canales correspondientes a los planos rojo (R), verde (G) y azul (B).

Para realizar la convolución requeriremos entonces un kernel al cual agregaremos también 3 planos de profundidad.

Así por ejemplo, si procesamos una imagen en escala de grises con un kernel de 3x3, se tendrán que aprender 9 parámetros o coeficientes, mientras que ahora necesitaremos aprender 3x3x3 = 27 coeficientes en total.

La idea es entonces que cada plano del kernel permitirá extraer las características del plano correspondiente en la imagen.

Resultado de la convolución con imágenes a color

Ahora, la convolución será calculada entre cada plano de la imagen y el correspondiente plano del kernel, obteniendo tres mapas de características resultantes.

Posteriormente estos tres mapas resultantes se suman, dando como resultado un mapa de características con un sólo plano. Este será precisamente el resultado de la convolución.

Generalización a un volumen

El mismo principio anterior lo podemos extender al caso en el cual estemos procesando una imagen con múltiples canales (n).

De nuevo, el kernel tendrá el mismo número de canales (n) del volumen a procesar; al calcular la convolución obtendremos n diferentes mapas de características los cuales se suman para obtener un único mapa de características resultante, el cual contendrá un sólo canal.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Ya hemos logrado extender la convolución a imágenes con múltiples canales, es decir a volúmenes.

Pero resulta que también podemos usar no sólo uno sino múltiples kernels para procesar dicho volumen. Así que en la próxima lección veremos cómo realizar la convolución con múltiples filtros.

Ver todas las lecciones de este curso