En este segundo ejemplo de 'Generando un RAW en formato DNG a partir de un TIFF', vamos a promediar varios archivos RAW procedentes de capturas perfectamente alineadas realizadas sobre la misma escena para construir un DNG de salida de características mejoradas.
En el apilado DNG resultante tendremos un doble efecto:
- Aumento del tiempo de exposición respecto a cada toma individual: el tiempo de exposición equivalente será la suma de tiempos de todas las capturas realizadas. Es por eso que esta técnica se usa, y de hecho varias cámaras del mercado la implementan (Olympus, Sigma fp), para simular filtros ND por software o lo que es lo mismo, simular valores ISO ultra bajos.
- Mejora en ruido y ganancia de rango dinámico: la estadística de la relación S/N dicta que por cada 4 muestras que promediemos el ruido se reduce a la mitad al sumarse en cuadratura, o equivalentemente ganamos 1 paso de rango dinámico. Si promediamos 16 capturas el ruido se reducirá a la 1/4 parte ganando 2 pasos de rango dinámico, y así sucesivamente:

Escogemos una escena de alto contraste que no ganará ningún premio pero nos sirve perfectamente para ver las bondades en cuanto al ruido del apilado. Realizamos 16 capturas sobre la misma, lo que equivaldrá a un filtro ND de 4 pasos, o un tiempo de exposición propio de ISO6 ya que las capturas se hicieron a ISO100. Habrá una mejora de 2 pasos en rango dinámico, equivalente a incrementar la relación S/N por un factor 22 = 4:



Haciendo el promediado por mediana en lugar de con la media el resultado es muy parecido pero algo inferior. Esto unido a que computacionalmente la mediana resulta mucho más costosa (la hemos tenido que implementar en C++ con Rcpp
) nos decanta por el promediado simple para esta aplicación. El resultado puede bajarse de meanstacking.dng.
Hacemos otra prueba esta vez bastante más extrema: utilizamos fotos de muy baja exposición lumínica (ISO25600), pero totalizando... 265 capturas. Vamos a ver si se puede compensar la exposición ruinosa con fuerza bruta. Hacer este número de tomas equivale a ganar log4(265) = 4,02 pasos en rango dinámico, o mejorar la relación S/N por un factor 24,02 = 16,3:
La mejora como no podía ser de otro modo con un promediado tan radical es apabullante, pudiendo "rescatar" detalles y texturas completamente indetectables por el ruido en las tomas individuales:

Sin embargo al haber hecho las capturas con niveles de exposición tan bajos ha aflorado el pattern noise del sensor en forma de bandas verticales muy visibles. Con toda probabilidad el resultado mejoraría realizando una sustracción de darkframe como hicimos en 'Reducción de ruido por sustracción de darkframe en RAW'. El RAW final puede bajarse de meanstackingradical.dng.
Repositorio con todo el código R, script DNG, ejecutables de exiftool y dng_validate, y archivos RAW: GitHub.
No hay comentarios:
Publicar un comentario
Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.