Óptica de Fourier · Artículo 06

Recuperar lo perdido

Si toda imagen es una convolución con la respuesta del sistema, ¿podemos deshacerla? La respuesta es sí — con matices, con límites, y con una lección profunda sobre la información.

En el artículo anterior vimos que toda imagen real es una versión degradada de la imagen ideal: el sistema óptico la convoluciona con su PSF, suavizando detalles y perdiendo información en las frecuencias altas. Ahora la pregunta natural: si sabemos cómo se degradó, ¿podemos deshacerlo? ¿Podemos recuperar la imagen original?

El problema inverso

Recordemos: si f(x,y)f(x,y) es la imagen ideal y h(x,y)h(x,y) es la PSF del sistema, la imagen que observamos es:

g(x,y)=f(x,y)h(x,y)+n(x,y)g(x,y) = f(x,y) \circledast h(x,y) + n(x,y)

donde n(x,y)n(x,y) es el ruido inevitable en cualquier medición real. En el dominio de Fourier, la convolución se convierte en multiplicación:

G(u,v)=F(u,v)H(u,v)+N(u,v)G(u,v) = F(u,v) \cdot H(u,v) + N(u,v)

El problema inverso parece trivial: divide ambos lados por H(u,v)H(u,v) y recuperas F(u,v)F(u,v). Simple división. ¿Qué podría salir mal?

El filtro inverso: una idea obvia que falla

El filtro inverso ingenuo hace exactamente eso:

F^(u,v)=G(u,v)H(u,v)\hat{F}(u,v) = \frac{G(u,v)}{H(u,v)}

El problema está donde H(u,v)H(u,v) se hace pequeño. Un sistema óptico real atenúa las frecuencias altas — eso es precisamente lo que hace la PSF. Entonces, en esas frecuencias, H(u,v)0|H(u,v)| \to 0. Dividir por un número cercano a cero amplifica cualquier cosa que haya ahí. ¿Y qué hay ahí? Ruido.

Incluso ruido minúsculo — ruido que no puedes ver a simple vista en la imagen degradada — se amplifica hasta dominar completamente el resultado. El filtro inverso es matemáticamente correcto pero prácticamente inútil en presencia de ruido.

Prueba esto: empieza con ruido en cero y observa que el filtro inverso funciona perfectamente. Luego sube el ruido al mínimo (0.005) y mira cómo explota. El filtro de Wiener, a la derecha, controla esa explosión:

Explorar
Desenfoque (sigma) 3
Ruido 0.020
Wiener K 0.0316
Original
Borrosa + ruido
Filtro inverso
Filtro de Wiener
El filtro inverso amplifica el ruido donde H(u,v) es pequeño. Wiener lo controla con K.

El filtro de Wiener: regularizar para sobrevivir

La solución es no dividir ciegamente, sino regularizar. El filtro de Wiener reemplaza la división por:

F^(u,v)=H(u,v)H(u,v)2+KG(u,v)\hat{F}(u,v) = \frac{H^*(u,v)}{|H(u,v)|^2 + K} \cdot G(u,v)
Derivación: minimizar el error cuadrático medio

Buscamos el filtro lineal W(u,v)W(u,v) que minimiza el error cuadrático medio entre la imagen original y la estimada:

minW  E ⁣[FWG2]\min_W \; E\!\left[\left|F - W \cdot G\right|^2\right]

Sustituyendo G=HF+NG = HF + N (señal + ruido independientes):

E ⁣[FW(HF+N)2]=1WH2Sf+W2SnE\!\left[\left|F - W(HF + N)\right|^2\right] = |1 - WH|^2 S_f + |W|^2 S_n

donde Sf=E[F2]S_f = E[|F|^2] y Sn=E[N2]S_n = E[|N|^2] son las densidades espectrales de señal y ruido. Derivando respecto a WW^* e igualando a cero:

HSf(1WH)+WSn=0-H S_f (1 - WH)^* + W S_n = 0

Resolviendo para WW:

W=HH2+Sn/SfW = \frac{H^*}{|H|^2 + S_n/S_f}

Si asumimos Sn/Sf=KS_n/S_f = K constante, recuperamos el filtro de Wiener simplificado. El resultado es óptimo en el sentido de mínimo error cuadrático medio — no existe un filtro lineal mejor.

La constante KK es el parámetro de regularización. Donde H2K|H|^2 \gg K, el filtro se comporta como el inverso normal — divide por HH y recupera la señal. Donde H2K|H|^2 \ll K, el denominador está dominado por KK y el filtro básicamente pone cero — no intenta recuperar información que está enterrada en ruido.

Es un compromiso elegante: KK grande suprime más ruido pero pierde más detalle. KK pequeño recupera más detalle pero deja pasar más ruido. No hay almuerzo gratis.

En la versión completa, KK se reemplaza por la razón entre la densidad espectral del ruido y la de la señal:

F^(u,v)=H(u,v)H(u,v)2+Sn(u,v)/Sf(u,v)G(u,v)\hat{F}(u,v) = \frac{H^*(u,v)}{|H(u,v)|^2 + S_n(u,v)/S_f(u,v)} \cdot G(u,v)

Este es el estimador lineal óptimo en el sentido de minimizar el error cuadrático medio E[ff^2]E\left[|f - \hat{f}|^2\right]. Cuando asumes que la razón Sn/SfS_n/S_f es constante en todas las frecuencias, obtienes la versión simplificada con KK constante. La conexión con la regularización de Tikhonov es directa: estabilizar un problema mal condicionado añadiendo un término de penalización.

La fase importa más que la amplitud

Aquí hay un resultado profundo que cambia la intuición sobre la información en una imagen. Toma dos imágenes, calcula la transformada de Fourier de cada una, y luego intercambia sus fases: usa la magnitud de una con la fase de la otra, y viceversa.

El resultado es sorprendente: la imagen reconstruida se parece a la imagen cuya fase se usó, no a la imagen cuya magnitud se usó. La fase de la transformada de Fourier lleva la mayor parte de la información estructural — bordes, formas, posiciones. La magnitud lleva información sobre textura y contraste, pero no sobre dónde están las cosas.

Explorar
Imagen B
Imagen A (letra F)
Imagen B
|A| + fase(B)
|B| + fase(A)
La fase domina la estructura. |A| + fase(B) se parece a B, y |B| + fase(A) se parece a A.

Esto tiene implicaciones profundas. Si pierdes la fase, pierdes la estructura de la imagen. Y en muchos experimentos reales, la fase es exactamente lo que no puedes medir directamente.

Recuperación de fase

En cristalografía de rayos X, en microscopía electrónica, en imagen coherente difraccional, lo que mides es la intensidad en el plano de Fourier: F(u,v)2|F(u,v)|^2. El detector registra cuántos fotones llegan a cada punto, pero no la fase de la onda. La fase se pierde.

Este es el problema de fase, y es uno de los problemas más importantes en óptica computacional. Rosalind Franklin podía medir las intensidades de difracción de rayos X del ADN — los famosos patrones con forma de X — pero para determinar la estructura tridimensional de la molécula necesitaba las fases. Sin fases, no hay estructura. Watson y Crick resolvieron el problema con un modelo físico y mucha intuición, pero el problema general sigue siendo difícil.

Algoritmos como Gerchberg-Saxton (1972) y HIO (Hybrid Input-Output, Fienup 1982) intentan recuperar la fase iterativamente: empiezan con una fase aleatoria, imponen restricciones conocidas en el dominio espacial y en el dominio de Fourier, y van convergiendo hacia una solución consistente. No siempre convergen, y cuando lo hacen, no siempre a la solución correcta. Pero cuando funcionan, son extraordinarios.

Hoy, las redes neuronales están aprendiendo a hacer recuperación de fase directamente, entrenadas con millones de ejemplos. La ptycografía — una técnica de ptycografía donde tomas múltiples mediciones con solapamiento — convierte el problema de fase en uno sobre-determinado y más tratable. Es un campo en plena explosión.

¿Y esto para qué sirve?

En el último artículo veremos que la coherencia misma — si las ondas de luz están «en fase» entre sí — es también una relación de Fourier. El teorema de van Cittert-Zernike conecta la distribución espacial de una fuente de luz con la coherencia de la onda que produce. Es el cierre del círculo.

Ejercicios

Ejercicio 1

Usa el simulador del filtro inverso de arriba. Empieza con ruido en cero y observa que la deconvolución es perfecta. Ahora sube el ruido gradualmente (prueba 0.001, 0.005, 0.01, 0.05). ¿A partir de qué nivel de ruido el filtro inverso ingenuo se vuelve inutilizable? Compara con el filtro de Wiener. Explica por qué el filtro inverso amplifica el ruido usando la fórmula F^(u,v)=G(u,v)/H(u,v)\hat{F}(u,v) = G(u,v) / H(u,v).

Solución

Con ruido = 0, G=FHG = F \cdot H exactamente, así que G/H=FG/H = F: recuperación perfecta.

Con ruido, G=FH+NG = F \cdot H + N, así que:

F^=GH=F+NH\hat{F} = \frac{G}{H} = F + \frac{N}{H}

En las frecuencias altas, donde H0|H| \to 0 (el sistema atenúa esas frecuencias), el término N/HN/H se dispara. Incluso ruido minúsculo dividido por un número cercano a cero produce valores enormes. Ya con ruido ~0.005 el filtro inverso típicamente explota.

El filtro de Wiener evita esto porque su denominador es H2+K|H|^2 + K, que nunca se acerca a cero. Donde H2K|H|^2 \ll K, el filtro esencialmente pone cero en vez de intentar recuperar información enterrada en ruido.

Ejercicio 2

Usa el simulador de fase/magnitud de arriba. Intercambia la fase y la magnitud de dos imágenes distintas. ¿A cuál de las dos se parece la imagen reconstruida: a la que aportó la magnitud o a la que aportó la fase? ¿Qué concluyes sobre dónde está almacenada la información estructural (bordes, formas, posiciones) de una imagen?

Solución

La imagen reconstruida se parece a la imagen cuya fase se usó, no a la que aportó la magnitud. Esto muestra que la fase de la transformada de Fourier lleva la mayor parte de la información estructural: la posición de los bordes, las formas, la distribución espacial de los objetos.

La magnitud lleva información sobre textura y contraste global, pero sin la fase, esa información no se puede posicionar en el espacio. Dicho de otra forma: la magnitud te dice qué frecuencias hay, pero la fase te dice dónde están. La posición relativa de las componentes sinusoidales (que es lo que codifica la fase) es lo que construye las estructuras visibles.

Esto tiene implicaciones prácticas enormes: en cristalografía de rayos X, la magnitud se puede medir pero la fase se pierde. Sin la fase, no hay estructura. Resolver el «problema de fase» es el paso crítico.