¿Es el filtro antialias realmente un filtro de desenfoque?

Estoy tratando de profundizar en la naturaleza de cómo funciona el filtro antialiasing. Esto es importante para mí, ya que necesito capturar pequeños detalles en el borde del límite de resolución de la lente de la cámara, como lo describe Ernst Abbe. Necesito calcular la solución más barata posible, solo que el impacto de los filtros aa es un poco desconocido en este momento.

También hay una segunda razón: también estoy interesado en cuál es el afilado real en general. Entonces, por ejemplo, ¿es la máscara de enfoque la herramienta real para contrarrestarla, o deberíamos desconvolucionar en su lugar? ¿Quizás ambos? Quiero decir, si realmente quisiéramos ser científicamente lo más precisos posible.

¿El filtro aa realmente desenfoca la imagen antes de que llegue al sensor? ¿Hay un componente electrónico en esto?

Respuestas (2)

Sí, el filtro anti-aliasing de la mayoría de las cámaras digitales es un filtro óptico que desenfoca la luz justo en frente del sensor de imagen. Pero para tus propósitos esa es la menor de tus preocupaciones.

La forma en que funciona una máscara de filtro Bayer en la gran mayoría de las cámaras digitales significa que el límite de resolución real de las cámaras así equipadas es aproximadamente la mitad del número de píxeles. Los datos sin procesar incluyen solo un único valor de luminancia para cada píxel, que se enmascara para que sea más sensible a uno de los tres colores que componen la máscara de Bayer: rojo, verde o azul.¹ Reflejando la respuesta de color del ojo humano, hay dos píxeles verdes, uno azul y uno rojo en cada grupo de cuatro píxeles dispuestos 2 x 2 en el sensor. Para obtener colores de esta información monocromática, los datos sin procesar se deben demostrar mediante algoritmos que comparan los valores de los píxeles adyacentes e interpolan un valor rojo, verde y azul para cada píxel en el sensor.

¹ Excepto que nuestras máscaras Bayer no son en realidad los colores RGB que creemos que son. El "rojo" en la mayoría de las máscaras de Bayer es más sensible a ≈590-600nm, que los humanos perciben como amarillo anaranjado. El rojo emitido por nuestras pantallas RGB es de ≈640nm. El "verde" en la mayoría de las máscaras de Bayer es más sensible a ≈535nm, a diferencia del verde en RGB a ≈525nm. "El azul en la mayoría de las máscaras de Bayer es más sensible a ≈450nm en lugar del azul RGB a ≈480nm.

No se preocupe, operamos con imágenes BW, ¿no ayudaría eso?
¡Bayer NO quiere decir 1/4 de resolución! Mantiene la resolución de luminancia completa siempre que los tres canales tengan alguna información, no se apaguen.
En realidad, significa aproximadamente la mitad de lo que obtendría con un sensor verdaderamente monocromático.
@joojaa No si el sensor es un sensor de color enmascarado de Bayer. Incluso en la salida en escala de grises, los valores de cada píxel deben interpolarse a partir de los píxeles enmascarados de cada color.
@RogerKrueger Sí, tiene valores para tantos píxeles. Pero el límite de la cantidad de líneas/mm de un gráfico de prueba que puede resolver un sensor de Bayer es aproximadamente la mitad de lo que puede lograr un sensor monocromático (sin máscara de Bayer) o un sensor de tipo Foveon con el mismo tamaño de píxel (cuando la lente no es el factor limitante).
@MichaelClark, ¿sabe si este filtro óptico provoca un desenfoque gaussiano o la forma es indeterminada?
Como es óptico, depende de la forma de las microlentes que forman el filtro AA. Sería preferible el desenfoque circular, pero es posible que no siempre sea factible en la práctica. Pero el desenfoque gaussiano se crea mediante la manipulación matemática de una imagen almacenada digitalmente, por lo que no creo que el desenfoque inducido ópticamente pueda considerarse gaussiano. Tenga en cuenta que el desenfoque inducido por un filtro AA es apenas más grande que un solo píxel.
@MichaelClark, pero ¿todavía sangra al siguiente píxel o solo elementos subixel? ¿O podría agudizar digitalmente este efecto hasta cierto punto?
No hay elementos de subpíxeles. Todos los fotones que se filtran hasta el borde del siguiente píxel se incluyen en el recuento total de ese píxel , independientemente de la parte del píxel que golpeen.
Puede usar el afilado digital, pero eso introducirá artefactos, no restaurará los datos reales que se perdieron en el proceso de conversión analógico-digital. Esos artefactos pueden parecerse o no a la imagen real.
Mi otra pregunta es más eso. No voy a restaurar los datos perdidos, solo restaurar la pérdida de nitidez. Estoy tratando de determinar qué método describiría mejor los fenómenos físicos que están sucediendo.
@RogerKrueger, en teoría, puede obtener la resolución completa si la entrada es monocromática, la salida no importa. Creo que muchos filtros anti-Bayering modernos intentan acercarse a este ideal, pero no sé qué tan cerca se acercan.
@joojaa la respuesta es compleja. Como se señala en esta respuesta, solo la mitad del problema es el filtro anti-aliasing, la otra es la demostración del filtro Bayer. El suavizado enviará parte de la información que debería haber ido a un píxel de color a otro píxel de color diferente. Los filtros demosaicos modernos no son bestias simples, y dudo que su respuesta pueda modelarse de manera consistente.

No podrá obtener los mejores resultados analizando teóricamente uno o más efectos que causan el desenfoque. La mejor manera de proceder es medir el desenfoque y luego realizar la deconvolución en función de la función de dispersión del punto medido. Puede imprimir un patrón en blanco y negro con líneas en diferentes direcciones o círculos en una hoja de papel. Una imagen tomada desde relativamente cerca, digamos a un metro de distancia pero sin mucha deformación en los bordes, se puede usar como una imagen de referencia de alta resolución. Entonces, si tomas otra foto desde más lejos (usando exactamente la misma distancia focal) tendrás una imagen de menor resolución. El mapeo de la imagen de alta resolución a la imagen de baja resolución implica todos los efectos de desenfoque que desea corregir.

Ahora, como se menciona en los comentarios de la respuesta de Michael, debe trabajar con las imágenes sin procesar originales sin hacer ninguna demostración. Para esto, puede usar el programa dcraw y usar la opción -d o -D para producir archivos TIFF. Estos archivos Tiff deben dividirse en 3 partes seleccionando los píxeles correspondientes a R, G y B de la imagen original. Luego debe asegurarse de que la salida que obtiene sea realmente lineal como debería ser, de lo contrario, debe corregir eso. Por lo tanto, debe hacerlo bien antes de poder comenzar con la medición de la función de dispersión de puntos.

Lo que puedes hacer es tomar fotografías de algunos objetos en una habitación con dos luces A y B usando un trípode. Toma imágenes con solo luz A, solo luz B y tanto A como B. Luego, si las imágenes sin procesar son exactamente lineales, debería poder calcular exactamente la imagen A + B de la imagen A y B. Pero debe tomar muchas fotos, alinearlas y promediarlas para hacerlas casi totalmente libres de ruido. También debe corregir los diferentes tiempos de exposición, después de apilar termina con un tiempo de exposición efectivo desconocido. Pero eso no importa, porque se supone que A + B es una combinación lineal de A y B, y si no lo es, puedes detectarlo fácilmente.

Luego, suponiendo que puede producir imágenes no demostradas que son casi exactamente lineales y libres de ruido, puede producir tales imágenes para los patrones y luego usarlas para calcular la función de dispersión de puntos para varias configuraciones de cámara. Esto debe hacerse para diferentes números F y también para desviaciones deliberadas del enfoque perfecto. El cálculo de la función de dispersión de puntos en cada caso se puede realizar utilizando métodos de transformada de Fourier.

Con los datos de todas las funciones de dispersión de puntos, puede afinar con mucha precisión utilizando la deconvolución. Si toma fotografías de algún objeto, debe hacerlo utilizando métodos de apilamiento de imágenes para eliminar el ruido lo mejor posible. Además, debe hacer esto para configuraciones de enfoque ligeramente diferentes dentro del margen, lo que consideraría perfectamente nítido. A continuación, utilice los archivos sin procesar lineales no demostrados (utilizando cualquier transformación adicional que haya encontrado necesaria para obtener una salida casi exactamente lineal).

Luego, al estudiar las imágenes, puede extraer las funciones de dispersión de puntos con cierta aproximación (por ejemplo, al observar los bordes de alto contraste). Luego compara estas funciones de dispersión de puntos con las determinadas experimentalmente, para seleccionar cuál es la mejor. Es mejor tener las funciones experimentales de dispersión de puntos procesadas en una forma matemática donde el desenfoque se describe mediante un parámetro continuo. Como función de este parámetro, la función de dispersión de puntos tendrá una buena aproximación de escala justa.

Luego, selecciona la imagen que corresponde a la función de dispersión de puntos más estrecha y luego desconvoluciona esa imagen. Cuanto más estrecha sea la función de dispersión de puntos, menos ruido obtendrá (cuanto más amplia sea la función de dispersión de puntos, más estrecha será en el espacio k, lo que hace que se amplifiquen los componentes de Fourier altos, lo que hace que se amplifique el ruido).

guau, sí tiene sentido.