Álgebra Lineal en Procesamiento de Imágenes

Filtro de promedio, diagonalización de matrices y su aplicación en kernels de convolución

Introducción

En procesamiento de imágenes, un kernel o máscara de convolución es una matriz pequeña que se utiliza para aplicar efectos como desenfoque, detección de bordes, realce, etc.

El kernel se desplaza sobre cada píxel de la imagen y realiza operaciones matemáticas con los píxeles vecinos para calcular un nuevo valor.

En este seminario trabajaremos con un kernel de promedio 3×3, que produce un efecto de desenfoque (blur) al reemplazar cada píxel por el promedio de sus vecinos.

La diagonalización de matrices permite simplificar el cálculo de potencias de kernels, haciendo más eficiente la aplicación repetida del filtro.

Representación Visual de un Kernel

Un kernel 3×3 aplicado a una imagen. La región roja representa el kernel recorriendo los píxeles.

Kernel de Promedio

El kernel de promedio 3×3 está definido como:

$$K = \frac{1}{9} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}$$

Cada elemento de la matriz original se multiplica por 1/9, lo que equivale a calcular el promedio de los 9 píxeles en la vecindad 3×3.

1

Matriz de píxeles original

245
612
451
2

Aplicación del kernel

Sumamos todos los valores y dividimos entre 9:

$$\frac{2+4+5+6+1+2+4+5+1}{9} = \frac{30}{9} \approx 3.33$$
3

Matriz resultante

245
63.332
451

El píxel central se ha reemplazado por el promedio de todos los píxeles.

Simulador de Kernel

Modifica los valores de la matriz de píxeles y observa cómo cambia el resultado:

Resultado del promedio:

3.33

Nuevo valor para el píxel central

Descripción imagen 1 Descripción imagen 2




Diagonalización del Kernel

Diagonalizar una matriz \(A\) significa expresarla como \(A = PDP^{-1}\), donde \(D\) es una matriz diagonal con los autovalores y \(P\) contiene los autovectores.

Para el kernel de promedio 3×3, solo hay un autovalor no nulo porque la matriz tiene rango 1. La traza (suma de la diagonal) es igual a la suma de autovalores:

$$\text{Traza} = \frac{1}{9} + \frac{1}{9} + \frac{1}{9} = \frac{1}{3} = \lambda_1$$

Los otros dos autovalores son cero: \(\lambda_2 = \lambda_3 = 0\).

Autovector principal

El autovector asociado a \(\lambda_1 = \frac{1}{3}\) es \([1, 1, 1]^T\), porque el kernel trata por igual a todos los píxeles.

1
1
1

Cálculo de \(K^5\) mediante diagonalización

Si \(K = PDP^{-1}\), entonces \(K^n = PD^nP^{-1}\). Para \(n=5\):

$$D^5 = \begin{bmatrix} (1/3)^5 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} = \begin{bmatrix} 1/243 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$$

Y por lo tanto, \(K^5 = P D^5 P^{-1}\).

Autovalores y Autovectores

Autovalores: \(\lambda_1 = \frac{1}{3}\), \(\lambda_2 = 0\), \(\lambda_3 = 0\)

Autovector principal:

1
1
1

Calculadora de \(K^n\)

5

Resultado de \(K^n\):

$$K^5 = \frac{1}{243} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix}$$

Todas las entradas son iguales, lo que refuerza el efecto de suavizado.

Aplicación Práctica

¿Por qué diagonalizar?

La diagonalización hace que el cálculo de \(K^n\) sea mucho más eficiente:

  • Calcular \(D^n\) es trivial (solo elevar los elementos diagonales)
  • Evita multiplicaciones matriciales repetidas
  • Proporciona insight sobre cómo funciona el filtro

El resultado de \(K^5\) tiene sentido para un filtro de promedio: aplicar el filtro varias veces seguidas refuerza el efecto de suavizado, haciendo que la imagen sea más uniforme.

Interpretación geométrica

Los autovectores con autovalor cero representan patrones que el filtro elimina (diferencias entre píxeles), mientras que el autovector \([1,1,1]^T\) con autovalor \(1/3\) representa la intensidad promedio que se preserva.

Efecto del Filtro en una Imagen

Imagen Original
Con Filtro (n=5)
5

Conclusión

La diagonalización de matrices no es solo un concepto teórico de álgebra lineal, sino una herramienta práctica en procesamiento de imágenes:

Eficiencia computacional

Calcular \(K^n\) mediante diagonalización es mucho más rápido que multiplicar la matriz por sí misma \(n\) veces.

Interpretación visual

Los autovectores muestran qué patrones se preservan y cuáles se eliminan al aplicar el filtro.

Aplicaciones prácticas

Este enfoque se extiende a otros filtros lineales utilizados en visión por computadora, procesamiento de señales y gráficos por computadora.

El kernel de promedio es solo un ejemplo simple; conceptos similares se aplican a filtros más complejos como el de Sobel (detección de bordes) o el de Gauss (desenfoque gaussiano).

Resumen Matemático

$$K = \frac{1}{9} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} = P \begin{bmatrix} 1/3 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} P^{-1}$$

Este seminario demuestra que:

El álgebra lineal es fundamental para entender y optimizar algoritmos de procesamiento de imágenes.

Para explorar más:

  • Filtro gaussiano y sus autofunciones
  • Transformada de Fourier en procesamiento de imágenes
  • Aplicaciones en aprendizaje automático y visión por computadora