domingo, 26 de abril de 2020

El RAW como fotómetro de precisión

En fotografía de estudio el fotómetro es un dispositivo usado para hacer mediciones de luminosidad tanto incidente (la que impacta directamente en los sujetos que van a fotografiarse), como reflejada (la que desde la escena a retratar llega a la cámara), con el fin de determinar la exposición correcta.

Las cámaras de hecho integran un fotómetro que permite medir luz reflejada, siendo habitual usarlo fuera de estudio tanto para calcular la exposición como para estimar el contraste de la escena realizando mediciones puntuales en luces y sombras.



Con la llegada de las cámaras digitales, a los fotómetros de luz reflejada les ha salido un fuerte competidor: el propio archivo RAW obtenido al fotografiar una escena puede usarse como fotómetro de precisión. Vamos a ver por qué y cómo.

Por la linealidad del sensor, los valores numéricos del archivo RAW son directamente proporcionales a la cantidad de luz recibida, gracias a lo cual podemos calcular con exactitud cuántos pasos de luminosidad hay entre cualesquiera dos zonas de la escena.

Así el histograma RAW nos permitirá conocer la distribución de luminosidades en la escena, pudiendo obtener su Sistema de Zonas por pasos de exposición con gran definición, ya que cada fotocaptor es en sí mismo un fotómetro puntual que abarca un área infinitesimal del campo de visión.

El hándicap de emplear el RAW como fotómetro es que solo podremos usarlo a posteriori, estudiando el archivo RAW delante del ordenador, por lo que se trata más de una herramienta de análisis fotográfico que de uso práctico de campo.

~~~

La siguiente fotografía está tomada con una Canon EOS R, y su autora afirma haber estimado con un fotómetro puntual Pentax una diferencia de luminosidad entre la parte más clara (las cortinas) y la más oscura (el gato negro) de 8,3 pasos. Por experiencia la cifra se me antojaba menor a la real. Gracias al archivo RAW que la fotógrafa tuvo la amabilidad de compartir, vamos a ver que la medición fue altamente errónea:



Valiéndonos de las funciones de procesado RAW que diseñamos en 'Decodificación de archivos RAW con R', desechamos el canal G2 y construimos una imagen RGB en falso color donde cada píxel se compone de los canales R, G1 y B del RAW:



La imagen es muy oscura porque por la linealidad del sensor, si hemos salvado las altas luces las sombras caen inevitablemente en niveles muy inferiores. Es en procesado donde se "levantan" esas sombras para llevarlas a los valores finales deseados. El tono verde se debe a que en la captura RAW el canal G alcanza casi siempre niveles superiores a los canales R y B, algo que vamos a apreciar en los histogramas. El balance de blancos elimina esta dominante aumentando los niveles relativos de R y B.

Calculando el histograma de la anterior "imagen RAW" en escala logarítmica tenemos un histograma RAW riguroso y genuino por pasos de exposición. El problema es que por la cuantización en valores enteros de 14 bits, en esta escala las sombras aparecen como una sucesión de picos y huecos que complican interpretar la distribución de luminosidades de la escena:



Para solucionarlo usamos un truco estadístico consistente en promediar los valores RGB en parches cuadrados de NxN píxeles (corresponderían a 2Nx2N fotocaptores del sensor), lo que es equivalente a un reescalado de la "imagen RAW" a un tamaño N veces menor por cada lado. Para N=5 tenemos un buen equilibrio entre relleno de niveles y número de píxeles:



El histograma no cambia para las luces, pero hacia las sombras las irregularidades fruto de la visión en escala logarítmica se redistribuyen de forma continua suavizando el gráfico. Los nuevos niveles generados siguen fieles al reparto real de luz en la escena porque no estamos sino calculando la luminosidad media en áreas de NxN píxeles (2Nx2N fotocaptores):



Otro método igualmente válido para poblar el histograma logarítmico habría sido desenfocar ligeramente la imagen con el mismo fin de crear nuevos niveles intermedios, pero siempre alrededor de los valores preexistentes.

El nuevo histograma permite evaluar mejor y de un vistazo tres datos interesantes:
  • Exposición del RAW: podemos ver que la autora se quedó cerca del derecheo perfecto del histograma, si bien podría haber expuesto hasta 1/2EV más sin perder información ya que media franja quedó vacía de información por la derecha.
  • Rango dinámico de la escena: basta contar a lo largo de cuántas divisiones verticales había información relevante. Atendiendo por ejemplo al canal G (el resultado habría sido equivalente con R o B), vemos que la escena tenía un contraste de unos 11 pasos, casi tres por encima de la medición hecha con el fotómetro de mano.

  • Ruido en las sombras: sin revelar el archivo RAW podemos aventurar si la cámara lo tuvo fácil para capturar toda la información o por el contrario el rango dinámico del sensor se quedó corto para la escena y niveles de exposición conseguidos. La captura se hizo por algún motivo a ISO400, que para la EOS R supone un rango dinámico fotográfico útil según DxOMark de 10,8 pasos (a la cifra ingenieril de DxOMark le debemos restar dos pasos para convertirla en un criterio fotográfico). Mirando el histograma podemos ver cómo existen zonas con información relevante más allá de las primeras 11 divisiones. En concreto hay niveles de los canales R y B en la franja número 12 (etiquetada como -11EV) e incluso en la 13 (etiquetada como -12EV). Esto quiere decir que la captura estuvo en el límite de las capacidades del sensor, y según el nivel de exigencia de la aplicación consideraremos que el ruido en las zonas más oscuras (mobiliario y gato) será excesivo o no.


Con un recorte al 100% del gato sin ninguna reducción de ruido, corroboramos que los niveles de ruido obtenidos para el felino estaban en el límite de lo aceptable, o no, dependiendo del fin al que fuera destinada la fotografía:



Sin duda habría sido una mejor opción disparar a ISO100, aumentando el tiempo de exposición en los dos pasos de la reducción de ISO, más 1/2EV o incluso 2/3EV adicionales que el histograma todavía permitía.

~~~

Puede llamar la atención que hayamos usado el archivo RAW para calcular un rango dinámico de la escena de unos 11 pasos, cuando hemos dicho que la exposición en las sombras estaba al límite de las capacidades del sensor. La siguiente afirmación te va a hacer implotar la cabeza: el RAW de cualquier cámara permite calcular el contraste de escenas con rangos dinámicos mayores al del propio sensor.

Esto que intuitivamente puede chocar es una cuestión estadística: lo que llamamos rango dinámico útil o fotográfico de un sensor es el número de pasos a contar desde la saturación en que el ruido aún nos parece soportable (para la cámara usada dijimos 10,8 pasos), pero el sensor capta y cuantifica niveles de luminosidad bastante por debajo de los admisibles fotográficamente hablando.

El gato caía a unos 11-12 pasos de la saturación del sensor, empezando a tener ruido en el límite de lo aceptable. Pero eso no impide al sensor capturar luminosidades aún por debajo de las que reflejaba el animal. Fotográficamente hablando serán píxeles llenos de ruido, inútiles para obtener texturas. Pero por su distribución gaussiana el ruido tiene la gentileza de repartirse de forma simétrica alrededor del valor de luminosidad media que recibió el sensor en cada zona, por lo que esos píxeles ruidosos son válidos para cuantificar una luminosidad.

Así el límite de pasos de rango dinámico de una escena medibles con un sensor viene en realidad impuesto solo por el número de bits en que se codifican los RAW de dicho sensor, cifra siempre superior en al menos dos o tres pasos al rango dinámico utilizable del sensor:
  • RAWs de 12 bits pueden medir escenas de hasta 12 pasos de contraste
  • RAWs de 14 bits pueden medir escenas de hasta 14 pasos de contraste
  • RAWs de 16 bits (cuando existan) podrán medir escenas de hasta 16 pasos de contraste

~~~

Finalmente representamos el Sistema de Zonas de la escena por pasos de exposición. Cada uno de los tonos de gris representa áreas cuya luminosidad no difiere en más de un paso, en concreto del canal G del RAW que es el más representativo de la luminosidad real total.

Podemos ver cómo las cortinas constituyen las zonas de altas luces de la escena, y como imaginábamos el mueble de la izquierda y el gato constituyen las zonas más oscuras, de hecho el mueble llega a reflejar menos luz que el minino:



Haciendo clic sobre la imagen puede verse a tamaño real, llegando a distinguirse (en rojo) diminutas zonas saturadas en el RAW sobre la cortina y la cama, así como fotocaptores recortados a negro (en azul) sobre el gato y el mueble.

~~~

Replicamos el estudio con otro archivo RAW obtenido con mi Sony A7 II a ISO100, en este caso más clásico por tratarse de un típico paisaje de muy alto contraste con zonas irremediablemente quemadas en el RAW (el sol y su reflejo especular en el agua):



La "imagen RAW" derivada denota que a diferencia de la anterior escena, aquí el predominio es de los tonos más oscuros alejados de la saturación:



Los histogramas RAW estricto y tras un suavizado con N=5 son los siguientes:




En esta ocasión es el canal R por ser el menos quemado el que nos da la pista de que el contraste de la escena superaba los 12 pasos, y esto dejando al margen la zona del sol y sus reflejos que debemos asumir siempre se quemarán en el RAW.

En el Sistema de Zonas queda patente que en esta escena predominan amplias superficies de sombras mientras las altas luces copan porciones mucho más estrechas por el enorme gradiente de luminosidad generado entorno a las fuentes de luz:



Todos los histogramas logarítmicos y Sistemas de Zonas se han dibujado con Histogrammar.

~~~

Repositorio con el código R y archivos auxiliares: GitHub.
Archivos RAW originales: blackcat.dng, wicklow.arw.

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.