Operación de convolución sobre una matriz de 7×7 con un núcleo de 3×3
  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Núcleo de Identidad

Imagen original(Izquierda) e imagen después de aplicar el filtro de identidad de tamaño 3×3(Derecha)

Un Sharpen Kernel como este cuando se aplica a una imagen a través de la convolución, tendrá un efecto de nitidez en la imagen resultante. Los valores precisos pueden ser personalizados para variar los niveles de nitidez como se muestra en la siguiente figura.

Núcleo de nitidez

Imagen original (izquierda) e imagen después de aplicar el filtro Sharpen de tamaño 3×3 (derecha)

El Núcleo de Desenfoque Gaussiano así cuando se aplica a una imagen a través de la convolución, aplicará un efecto de desenfoque gaussiano a la imagen resultante.

Núcleo de Desenfoque Gaussiano

Imagen original (izquierda) e imagen después de aplicar el filtro de desenfoque de tamaño 7×7 (derecha)

Así como los valores del Kernel pueden ser variados para diferentes niveles de efectos, el tamaño del Kernel también puede modificarse para dar forma al efecto de la convolución.Aumentando el tamaño de la matriz del Kernel, se incrementa la localización espacial que influye en el valor resultante de cada píxel, ya que los píxeles más lejanos se incorporan a la ecuación. Hay muchos más Kernels que se utilizan en el procesamiento de imágenes, como la detección de bordes, el relieve, la rotación, etc.

6. La convolución es el concepto clave en las Redes Neuronales Convolucionales. Las redes neuronales convolucionales (CNN) son un tipo de red neuronal profunda. Una CNN se compone de una capa convolucional, una capa de agrupación y una capa totalmente conectada. En la capa de convolución, una CNN aplica la convolución a sus entradas utilizando una matriz de núcleo que calibra mediante el entrenamiento. Por esta razón, las CNN son muy buenas en la comparación de características en imágenes y en la clasificación de objetos. Los parámetros de la capa de convolución consisten en un conjunto de kernels aprendibles. Cada kernel es una pequeña matriz que se extiende por toda la profundidad del volumen de entrada. Durante el pase de avance, convolvemos cada núcleo a lo largo de la anchura y la altura de la imagen de entrada y calculamos los productos de punto entre los valores de los píxeles de la fuente y el núcleo en las posiciones correspondientes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.