6 cosas básicas que hay que saber sobre la Convolución
En matemáticas, la convolución es una operación que se realiza sobre dos funciones (f y g) para producir una tercera función. La convolución es una de las operaciones más importantes en el procesamiento de señales e imágenes. Puede operar en 1D (por ejemplo, en el procesamiento del habla), en 2D (por ejemplo, en el procesamiento de imágenes) o en 3D (en el procesamiento de vídeo).
En el procesamiento de imágenes, la convolución es el proceso de transformación de una imagen mediante la aplicación de un núcleo sobre cada píxel y sus vecinos locales en toda la imagen. El kernel es una matriz de valores cuyo tamaño y valores determinan el efecto de transformación del proceso de convolución.
El proceso de convolución implica estos pasos. (1)Coloca la matriz del Kernel sobre cada píxel de la imagen (asegurándose de que todo el Kernel está dentro de la imagen), multiplica cada valor del Kernel por el píxel correspondiente sobre el que está. (2)Luego, suma los valores multiplicados resultantes y devuelve el valor resultante como el nuevo valor del píxel central. (3) Este proceso se repite sobre toda la imagen.
Como vemos en la imagen, un kernel de 3×3 se convoluciona sobre una imagen fuente de 7×7. El elemento central del núcleo se coloca sobre el píxel fuente. El píxel de origen se sustituye por una suma ponderada de sí mismo y de los píxeles circundantes. La salida se coloca en el valor del píxel de destino. En este ejemplo, en la primera posición, tenemos 0 en el píxel de origen y 4 en el núcleo. 4×0 es 0, luego pasando al siguiente píxel tenemos 0 y 0 en ambos lugares. 0x0 es 0. A continuación, de nuevo 0x0 es 0. A continuación, en el centro hay 1 en la imagen de origen y 0 en la posición correspondiente del núcleo. 0x1 es 0. Luego otra vez 0x1 es 0. Luego 0x0 es 0 y 0x1 es 0 y en la última posición es -4×2 que es -8. Ahora sumando todos estos resultados obtenemos -8 como respuesta por lo que la salida de esta operación de convolución es -8. Este resultado se actualiza en la imagen de destino.
La salida del proceso de convolución cambia con los valores cambiantes del kernel. Por ejemplo, un Kernel de Identidad que se muestra a continuación, cuando se aplica a una imagen a través de la convolución, no tendrá ningún efecto en la imagen resultante. Cada píxel conservará su valor original como se muestra en la siguiente figura.