¿Puede la deconvolución ayudar a mejorar la nitidez aparente de las lentes de espejo?

Recientemente pedí una lente de espejo Samyang 500 mm/f6.3 en eBay, por alrededor de £ 80, en gran parte por curiosidad; al menos, será un juguete interesante y siempre puedo venderlo.

Las lentes de espejo se critican con frecuencia por muchas cosas, pero sobre todo por la falta de nitidez percibida y su efecto bokeh en forma de rosquilla. Esta pregunta presenta una excelente explicación de por qué las obstrucciones de la apertura central enmascaran las frecuencias espaciales y reducen la nitidez.

Mi pregunta es simple: para una lente de espejo, nosotros [o Samyang] conocemos la geometría de la lente con bastante exactitud y, por lo tanto, su función de dispersión de puntos. Me doy cuenta de que se requiere el conocimiento de la posición de todos los elementos en la fotografía para "corregir" el bokeh (si quisiera), pero ingenuamente pensé que seríamos capaces de calcular el PSF de forma analítica o numérica, y luego mejore el contraste desconvolucionando las imágenes obtenidas por él.

Mientras espero que mi lente llegue a la publicación (¡me falta más de una semana!), Exploré rápidamente esta idea usando la imagen de la paloma de Kamen Kunchev (con licencia Creative Commons) que encontré en flickr :

Lente de espejo de paloma

Luego estimé la apertura de la cámara:

Abertura anular

Calculó su función de dispersión de puntos correspondiente (que se muestra en magnitud en un divertido eje semi-logarítmico para hacer visible la estructura):

PSF para un anillo anular

... y lo usó para realizar una deconvolución ciega regularizada basada en la máxima verosimilitud para obtener la siguiente 'paloma afilada':

paloma desconvolucionada

Ahora, en mi opinión, esto se ve un poco raro . El contraste definitivamente se ha mejorado, pero no es todo el cambio de paso que uno podría esperar ingenuamente. He jugado un poco ajustando el tamaño del filtro, lo que obviamente hace una gran diferencia, y creo que es probable que mi PSF no sea del todo preciso. Por supuesto, artísticamente, el original es mucho mejor, y sospecho que siempre lo será, pero me parece extraño que no podamos corregir una propiedad conocida del sistema de imágenes. ¿Qué estoy haciendo mal?

¿Hay ejemplos documentados en los que las personas hayan intentado esto antes? Dado que los sistemas de imágenes catadiatrópicas se han utilizado en telescopios literalmente durante siglos, espero que haya una forma relativamente sencilla de aumentar el "contraste" en estos dispositivos interesantes.

(¿Qué sucede si solo aumenta la intensidad de las otras regiones del espacio k de la imagen?)

EDITAR : Tal vez solo estoy obteniendo mal mi estimación de la apertura. A continuación se muestra otro intento con un anillo más pequeño y una obstrucción más pequeña. ¿Hay complementos de Lightroom que permitan jugar fácilmente con este tipo de cosas, por curiosidad?

Paloma desconvolucionada

No tengo claro cuál es realmente la pregunta, ya que cualquier fotografía puede ser 'ayudada' en Photoshop.
Aunque obviamente no son fotos que nunca fueron debido a la logística en torno al tamaño y el peso de un teleobjetivo convencional y el robusto trípode que lo acompaña.
Tienes razón, debería agregar palabras como "mejorar la nitidez". Además, ¡nada de lo anterior se hizo en Photoshop! Se reformulará...
Creo que la forma de dona ES la función de dispersión de puntos que desea, pero tampoco puedo hacer que funcione. Esto es lo que probé en MathematicaManipulate[ Show[ImageAdd[ ImageSubtract[ ImageDeconvolve[dove // ImageAdjust, #, Method -> "RichardsonLucy"], ImageMultiply[dove, o]] // ImageAdjust, dove], # // Image // ImageAdjust] &@ ArrayPad[GaussianMatrix[ g]*(DiskMatrix[g] - ArrayPad[DiskMatrix[hole], (g - hole)]), 1], {{g, 14}, 2, 40, 1}, {{hole, 8}, 1, 20, 1}, {o, 0, 20}]
Espera un segundo, estaba pensando en el PSF de las partes desenfocadas (es decir, BOKEH)
tienes que hacer una deconvolución tridimensional, porque la "rosquilla" se verá diferente en diferentes puntos del espacio.

Respuestas (2)

para una lente de espejo, nosotros [o Samyang] conocemos la geometría de la lente con bastante exactitud y, por lo tanto, su función de dispersión de puntos.

La primera parte de esta frase no da lugar naturalmente a la segunda. Considere, por ejemplo, que la mayoría de las lentes tienen aperturas circulares (al menos cuando están completamente abiertas). ¿Las imágenes de todos ellos se ven iguales? No lo hacen, y la razón por la que no lo hacen es porque están aberrados. La lente del espejo no es diferente.

Su segunda imagen, la de la rosquilla, es solo una parte de lo que a menudo se denomina función pupilar generalizada. Esa función es P(x,y) = A(x,y)*e^(-i*phi(x,y)) - dibujaste A, y no tienes conocimiento a priori de phi. Su algoritmo de desconvolución ciega, dependiendo de cómo esté construido, puede intentar reconstruir phi. En ese caso, realmente puede calcular el PSF y eliminar con éxito su influencia de la imagen.

Sin embargo, hay dos cuestiones más. Su matriz PSF y la matriz de la pupila tienen el mismo tamaño y la pupila se extiende por toda la matriz. Esto lo obliga a entrar en un régimen de alias, donde Q < 2, y su PSF no es fiel. Primero debe rellenar su pupila antes de tomar su transformada de Fourier.

los abdominales en su PSF también implican que la matriz PSF original es compleja. El campo electromagnético en el plano de la imagen es complejo, el PSF para este tipo de sistema no lo es. Las personas usan la terminología de PSF de campo y PSF de intensidad, o PSF coherente e incoherente para distinguir los dos. Parece que está modelando el campo PSF, cuando necesita la intensidad PSF. Tome la modulación al cuadrado de la transformada de Fourier (adecuadamente rellenada) de la función de pupila generalizada para obtener la intensidad PSF.

Si tiene eso, entonces sí, puede eliminarlo de la imagen sin reparos de ningún tipo, solo una pérdida de SNR / aumento de ruido.

Los PSF desenfocados deberán modelarse de forma independiente, y eso es más complicado.

Con respecto al PSF que publicó el autor de la pregunta, también se ve terriblemente alias para empezar, incluso olvidándose del relleno. ¿Haría alguna diferencia si tuviera un borde más suave?
El límite de la máscara de la pupila probablemente tenga un poco de alias, pero no se ve tan mal. Incrustarlo en un montón de ceros para satisfacer al menos Q>2 eliminará el alias en el PSF que surge de que lo que está haciendo FFT tiene bordes cerca del límite de la matriz.

De hecho, puede tener dichas funciones (incluida su interfaz de usuario) directamente en Photoshop a través del complemento Matlab: https://helpx.adobe.com/photoshop/using/photoshop-matlab.html

Algunas observaciones:

  • Compartir código y filtros realmente ayudaría.
  • Tus filtros se ven un poco toscos y pixelados.
  • No estoy seguro de que deba usar el mismo filtro de (des)convolución para toda la imagen, ya que tiene zonas con un enfoque diferente.