UNIWB.
  DISPLAY
  DE LA CÁMARA
  FIEL AL RAW


   Creado
   7 Ene 2008


   Actualizado
   7 May 2016


   


© Guillermo Luijk 2008



INTRODUCCIÓN

Todos sabemos lo útil que resultan la consulta del histograma así como la información relativa a las posibles áreas quemadas de la imagen que nos proporcionan nuestras cámaras. En especial si se realiza una exposición basada en el derecheo del histograma, echar un último vistazo a estos datos resulta muy interesante y casi podría decirse obligatorio.

Por desgracia el histograma y restante información que nos muestra la cámara no están directamente referidos al archivo RAW como sería deseable, ya que será el origen de los datos que tendrá todo nuestro proceso de revelado y edición, sino que la cámara, tanto si se dispara en modo JPEG como en RAW, genera un archivo JPEG previo revelado del RAW del cual muestra esta información en el display.

Por supuesto existe una gran relación entre el nivel de exposición de este archivo y el RAW subyacente, pero la realidad es que los procesos de revelado, con transformaciones tan críticas para los niveles de la imagen como:
  • El balance de blancos
  • La aplicación de una determinada curva de contraste
  • La saturación escogida para el display de la cámara
  • El espacio de color destino y la compensación gamma
suponen una fuerte transformación de lo contenido en el RAW que hace en su conjunto que la información reflejada por la cámara sea una representación pesimista de lo que realmente contiene el archivo RAW, hasta el punto de que no es raro encontrarnos con que áreas de la imagen que abarcan rangos de hasta 1,5 diafragmas en luminosidad aparezcan como saturados en nuestra máquina cuando no lo están realmente.

Es a lo que algunos autores se refieren erróneamente como la "milagrosa capacidad de recuperación de información del RAW", cuando esa información siempre estuvo ahí y fue la cámara la que la destruyó en su revelado interno para construir el JPEG. Para ver con un ejemplo real la capacidad de corrección de la exposición en el RAW consúltese el artículo Corrección exposición RAW.

Todo esto significa que si nos cercioramos de que la cámara no muestra ningún signo de saturación estaremos seguros de que no hemos perdido información en las altas luces pero, lo más probable también es que podríamos haber sobreexpuesto la imagen fácilmente entre 1 y 1,5 pasos de diafragma sin perder ninguna información, con lo que nuestra exposición y derecheo no han resultado óptimos.

Hasta que los fabricantes tomen conciencia de lo importante que es para nosotros los usuarios conocer con exactitud el grado de exposición real que estamos aplicando a nuestros archivos RAW, no queda otra que tomar una postura conservadora y tratar en la medida de lo posible de aprender a establecer en base a la experiencia la relación entre la información que nos muestra la cámara y la que presumiblemente tendrá el RAW.

Para limar las diferencias entre ambas fuentes de información podemos acudir a configurar nuestra cámara con los parámetros más neutros posibles de contraste, saturación, incluso nitidez,... de modo que se acerquen ambas versiones de la imagen. Este ajuste sin embargo es muy sutil y representará una mejora limitada en la fiabilidad del histograma mostrado por la cámara.

Lo que se propone en este artículo es atacar directamente al elemento menos obvio de la cadena de revelado del RAW sobre el que podamos actuar y que sin embargo como se verá es el que más impacto tiene con diferencia sobre los niveles de los canales del JPEG generado en la cámara, pudiendo llevar a saturaciones parciales de canales (generalmente el rojo) de más de 1 diafragma en muchas ocasiones. Estamos hablando de anular el balance de blancos.

Pocos días después de publicar este artículo pude saber que Iliah Borg, asiduo de los foros Nikon de DPreview, ya había investigado la forma de anular el balance de blancos en cámaras Nikon. En ellas puede cargarse directamente la información relativa a los coeficientes del balance de blancos, siendo esta técnica denominada por él como 'UniWB' (Balance de blancos Unitario). Es en justo tributo a su aportación que hago referencia con la misma denominación al procedimiento aplicable a cualquier cámara que aquí se presenta.


UN POCO DE TEORÍA SOBRE EL BALANCE DE BLANCOS

Vamos a comentar en qué consiste exactamente desde el punto de vista de la cámara y el revelado RAW el balance de blancos.

El balance de blancos en su implementación final no es sino una simple multiplicación lineal de los canales RGB del archivo RAW. Es decir, los niveles de algunos de los canales, casi siempre el rojo y el azul, son multiplicados por un factor mayor de 1,0 que los escala con la intención de compensar por un lado las diferentes sensibilidades que tiene nuestro sensor particular, y por otro las diferentes dominantes presentes en la escena y que dependerán del tipo de la misma (luz de día, tungsteno, sombra,...).

Por lo tanto el balance de blancos, aunque en último término pueda traducirse de cara al usuario en la consabida e intuitiva pareja Temperatura/Matiz, en la práctica no es sino una sobreexposición de algunos de los canales del archivo RAW por un factor multiplicador.

Es este hecho tan obvio el que puede provocar fácilmente saturaciones parciales de la imagen en función del balance de blancos elegido. Son habituales factores lineales del orden de 2 ó 2,5, que estarían automáticamente aumentando la exposición del canal afectado en 1EV ó 1,3EV respectivamente.

Como muestra pongo aquí los factores empleados en los preajustes de mi Canon 350D para que os hagáis una idea de la magnitud de los mismos:
  • Tungsteno: factores 1.392498 1.000000 2.375114
  • Luz de día: factores 2.132483 1.000000 1.480864
  • Fluorescente: factores 1.783446 1.000000 1.997113
  • Sombra: factores 2.531894 1.000000 1.223749
  • Flash: factores 2.429833 1.000000 1.284593
  • Nublado: factores 2.336605 1.000000 1.334642
Para comprobar la capacidad del balance de blancos de provocar saturaciones parciales basta ir al revelador ACR o a cualquier otro, y dejando inalterados todos los parámetros tocar el control del balance de blancos en una escena con una exposición de base considerable: veremos como amplias áreas de la misma pasan de mostrarse como quemadas en el revelador a dejar de hacerlo en tan solo unos pocos grados Kelvin.

A lo largo del artículo haré referencias a "revelar el RAW sin aplicar ningún balance de blancos". Esto es algo que de momento solo DCRAW me permite hacer y se trata de un revelado en el que, ignorando el balance de blancos que haya en los metadatos del archivo RAW, forzamos obtener una imagen revelada con multiplicadores 1,0 para los 3 canales. Es la forma de "ver como ve la cámara".


PROCEDIMIENTO PARA CANCELAR EL BALANCE DE BLANCOS EN EL JPEG DE LA CÁMARA

Todo el problema viene de que cuando disparamos hemos de elegir forzosamente un balance de blancos. No tendría porqué ser así y las cámaras bien pudieran tener un ajuste para anular toda aplicación de balance de blancos en la generación de la información mostrada en su display. Pero no debatamos sobre lo que es un hecho de momento inamovible.

El balance de blancos ha de ser aplicado necesariamente sobre el JPEG, ya sea en modo automático, haciendo uso de un preajuste, o... utilizando un balance de blancos configurable por el usuario. Es ésta última precisamente la puerta trasera que vamos a emplear para "matar" al balance de blancos.

La modalidad de balance de blancos configurable por el usuario se utiliza normalmente para disparar sobre una carta gris de color neutro, indicándole a la cámara que la lectura colorimétrica que haga en dicha carta con la luz incidente sobre ella debe llevarse a un gris neutro, para así eliminar las posibles dominantes de la escena y mostrar el color real de los objetos.

Lo que vamos a hacer es precisamente obtener una carta de color cuyo revelado sin aplicar ningún balance de blancos, proporcione automáticamente un gris neutro. O dicho de otro modo: vamos a calcular el tono exacto que nuestra cámara "ve" como gris neutro (canales R=G=B).

Si la cámara ve una determinada carta de color directamente como gris neutro, y utilizamos dicha carta como referencia para definir el balance de blancos configurado por el usuario, qué multiplicadores va a calcular la cámara para los canales RGB que lleven dicha carta a gris neutro? pues obviamente 1,0, 1,0 y 1,0. Es decir, va a calcular un balance de blancos que en realidad no haga nada, dejando invariantes los 3 canales.

Si a continuación realizamos cualquier toma empleando este balance de blancos, el JPEG calculado y mostrado en el display tendrá la misma apariencia con la que lo ve la cámara (ya veremos que es más verde que el Increíble Hulk), pero a cambio tendremos un histograma y un aviso de luces quemadas que ya no han sufrido ningún escalado debido al balance de blancos y serán por lo tanto más fieles al contenido real del RAW. Es decir, la cámara dejará de ser tan conservadora como antes y podremos fiarnos más de la información que nos suministra a la hora de calcular la exposición.


METODOLOGÍA PROPUESTA

CARTA DE PRUEBA

A priori no sabemos qué tono es el que nuestra cámara "ve" como un gris neutro, es decir desconocemos las proporciones de canales RGB exactas que hacen que en el RAW de la cámara se generen niveles parejos R=G=B, por lo tanto deberemos ir tanteando hasta dar con dicha combinación de color.

Todas las proporciones (que no es lo mismo que combinaciones) posibles de color que se pueden lograr con tres canales tienen solo dos grados de libertad, por lo tanto podemos fijar un canal e ir probando combinaciones de valores de los otros dos hasta dar con la que la cámara vea de color gris neutro.

Pero vamos a ser más inteligentes que eso. Para poder hacer todos los tanteos en una única toma crearemos una carta de colores progresivos donde habremos fijado un canal, en concreto he escogido el G, y haremos que los canales R y B tomen todos los valores posibles de 0 a 255. Así tendremos reflejadas en ella todas las posibles combinaciones de proporciones entre canales.

He fijado el canal G en un valor 64, el 25% del máximo que podríamos darle, porque la experiencia me dice que la cámara tiene mayor sensibilidad en ese canal y por lo tanto aquella combinación de colores que vea como gris a la fuerza va a ser pobre en verde. El canal R toma valores de 0 a 255 de izquierda a derecha, y el canal B hace lo propio de arriba hacia abajo. La carta de prueba obtenida tiene este aspecto:


Fig. 1 Carta de prueba con todas las posibles proporciones de canales.


El que quiera hacer pruebas con la carta puede descargarla a gran tamaño en formato de 1024x1024 píxels desde CartaUniWB.jpg.

Por curiosidad he calculado la distribución tonal de la carta, es decir he representado la carta obviando la información de luminosidad. Puede verse claramente cómo al elegir un valor bajo para el canal G estamos centrando más nuestros esfuerzos en evaluar tonos ricos en rojos o azules, dando menos peso a la gama de tonos con dominantes verdes:


Fig. 2 Distribución de tono de carta de prueba.


Ahora haremos una captura con la cámara de dicha carta mostrada en la pantalla del ordenador. Es conveniente aprovechar al máximo el formato de la cámara pero cuidando de no recortar en ningún momento la misma. La toma se hará lo más nivelada posible y con un ligero desenfoque de la lente para no capturar la trama del monitor; esto es especialmente aconsejable en monitores CRT.

Tras revelar el RAW resultante sin aplicar ningún balance de blancos, lo cual podemos hacer en DCRAW con el comando:

dcraw -v -r 1 1 1 1 -T

buscaremos en ella las coordenadas de color precisas en que nuestra cámara ve un gris neutro perfecto.

Para realizar con mayor facilidad el paso siguiente, he recortado la carta obtenida mediante la herramienta 'Recortar' de PS con la corrección de perspectiva activada. Así basta seleccionar las cuatro esquinas de la carta y PS no solo la recortará sino que la corregirá mostrándola en formato rectangular. Luego la reescalaremos a 256x256 resultando la siguiente imagen:


Fig. 3 Captura de carta de prueba revelada sin balance de blancos.


Así es ni más ni menos como "ve" nuestra cámara la carta de la Fig. 1. Cada píxel de la misma es interpretado por la cámara con una proporción de canales completamente diferente debido a la diferente sensibilidad de cada canal del sensor.


CÁLCULO DEL TONO QUE LA CÁMARA "VE" COMO GRIS NEUTRO

En la Fig. 3 anterior es harto complicado distinguir dónde está el gris neutro, así que acudimos a un análisis tonal y de saturación.

Dicho análisis puede hacerse sin mucha dificultad en Photoshop. Sin embargo he preferido usar una herramienta muy simple pero efectiva que permite ver una imagen en diferentes modelos de color: RGB, HSV, HSL y CMYK llamada ShowImage. El resultado es éste:


Fig. 4 Tono (izq.) y saturación (der.) de la carta de prueba sin balance de blancos.


Se nos hace mucho más fácil identificar el gris neutro como el punto de confluencia de los distintos tonos de la imagen que en el mínimo de saturación, el cual está mucho peor definido.

La "rugosidad" general de estas muestras se debe a la presencia de ruido en la captura de la carta de prueba, que si bien apenas era visible en la Fig. 3 sí afecta un poco más a la precisión de los tonos.

Por la forma en que diseñamos la carta de prueba, donde R tomaba valores desde 0 a 255 según el eje X y B hacía lo propio en el eje Y, podemos obtener los niveles R y B correspondientes el tono visto como neutro por la cámara atendiendo a la simple localización geométrica de este gris neutro en la captura resultante.

Así medimos de manera aproximada sobre esta distribución las coordenadas que localizan en los ejes el tono en cuestión, obteniendo que los niveles R y B que la cámara ve como un gris neutro son R=162 y B=104 pues la posición X=162, Y=104 en la carta reescalada a 256x256 píxels así nos lo indica. Recordemos además que habíamos fijado G=64.


CREANDO LA "CARTA MAGENTA"

Ahora solo queda generar la carta de color que la cámara va a ver directamente como gris neutro con los valores calculados para cada canal. Será una carta de color uniforme definido en la cámara estudiada por las proporciones: R=162, G=64 y B=104.

El resultado es lo que podríamos llamar una "carta magenta" o carta de vino a juzgar por el color. Corresponde al tono que la Fig. 1 presenta en la posición indicada por la flecha de la Fig. 4:


Fig. 5 Carta magenta que la cámara ve como gris neutro.


Hagamos ahora la prueba de fuego para corroborar que la carta magenta es vista por la cámara como un gris neutro cuando no se aplica ningún balance de blancos. Para ello disparamos sobre ella, muy importante: con las mismas condiciones de iluminación con que disparamos sobre la carta de prueba, y revelamos sin balance de blancos. Se muestra tanto el histograma logarítmico como el tono generado:


Fig. 6 Histograma logarítmico de captura de carta magenta sin balance de blancos.



Fig. 7 Tono generado en la captura de carta magenta.


El resultado es plenamente satisfactorio. Sin hacer ningún balance de blancos hemos obtenido un gris neutro con un muy bajo error de alineamiento de los canales, lo que quiere decir que hemos calculado correctamente el tono preciso que nuestro sensor "ve" como un gris neutro.

Hacerle fotos a las cartas mostradas en la pantalla del PC puede parecer poco ortodoxo pero en absoluto es así. Proceder de este modo en lugar de imprimir la carta no invalida el procedimiento mientras se cumpla que la carta magenta sea fotografiada exactamente en las mismas condiciones (ajustes del monitor e iluminación ambiente) que la carta de test, pues las desviaciones cromáticas que pudieran afectar a la primera captura serán las mismas que tendremos en la segunda y así un error compensará al otro.

Por lo tanto el monitor no necesita estar calibrado (el mío no lo está), y la iluminación ambiente puede ser cualquiera siempre que se mantenga inalterable en las dos capturas. Disparando sobre el monitor seremos más precisos y ahorraremos tiempo y tinta!.


CONFIGURACIÓN DEL BALANCE DE BLANCOS PERSONALIZADO

Ahora ya solo queda hacer uso del RAW con la captura de la carta magenta, que lo tenemos en la memoria de la cámara, para configurar el balance de blancos personalizado. Así lo hacemos, vamos al menú correspondiente y le indicamos a la 350D que queremos utilizar este archivo RAW como referencia para el balance de blancos.

Así la 350D calculará los multiplicadores que son necesarios para llevar la carta magenta al gris neutro, pero como el sensor de manera nativa ya captó esta carta en un tono de gris neutro, los multiplicadores que calcule habrán de ser muy próximos a 1,0 que era nuestro objetivo final.

Lo comprobamos fácilmente, tras configurar el nuevo balance de blancos realizamos una captura de prueba haciendo uso de él, y el RAW resultante lo revelamos con DCRAW y el balance de blancos de la cámara con lo que nos informa de los multiplicadores correspondientes al balance de blancos en los metadatos del RAW:


Fig. 8 Multiplicadores del balance de blancos ajustado.


Es decir los multiplicadores calculados para los 3 canales son: R=1,056, G=1,000, B=1,033, con lo que el error máximo ha sido de un 5,6% en el del canal R lo cual es más que aceptable sobre todo si tenemos en cuenta que el multiplicador habitual del canal R supera normalmente 2,0.

Aquí se muestra el JPEG que ha generado la cámara con el balance de blancos calculado para no balancear nada. Tiene el aspecto verdoso típico con el que el sensor realmente capta las escenas:


Fig. 9 Imagen JPEG mostrada en el display de la cámara.


Desde luego no es un sistema válido para tener a un cliente al lado e ir mostrándole cómo van saliendo las fotos, pero tampoco era de esto de lo que se trataba. Cuando se dispara en RAW el aspecto que tenga la imagen en el visor de la cámara es en realidad irrelevante a efectos de color.


DESCARGA DE ARCHIVOS RAW UNIWB

Para el que tenga alguna de las siguientes cámaras y desee descargarse el RAW con el que configurar directamente el balance de blancos nulo, aquí los tiene junto con el canal de mayor desviación relativa respecto al multiplicador unitario en %, y la persona que los obtuvo:
Para cualquier otra cámara habrá de obtenerse específicamente (leer primero el método rápido mostrado a continuación).

Para cargar el anterior archivo RAW UniWB en la cámara, es preciso primero renombrarlo a un nombre válido reconocible por la cámara. Para ello lo mejor es hacer una foto normal con la cámara en modo RAW usando una tarjeta de memoria vacía. A continuación sustituimos el archivo que la cámara guardó en la tarjeta por el descargado desde aquí, renombrándolo previamente al nombre exacto que generó la cámara. Así no habrá problemas de compatibilidad con la secuencia numérica o nombres de archivos generados por la cámara en cuestión.

Quien se anime a probar el procedimiento para nuevas cámaras y logre multiplicadores cercanos a 1,0 (digamos con un error menor al 10%), o logre mejorar los multiplicadores de los archivos anteriores, que no dude en hacérmelos llegar para ir ampliando la lista.


MÉTODO RÁPIDO PARA LA OBTENCIÓN DEL UNIWB

Existe una forma de obtener fácil y rápidamente, y de un modo muy preciso, la neutralización del balance de blancos de la cámara sin necesidad de realizar todo el proceso descrito.

La filosofía del procedimiento mostrado es encontrar una escena que retratada por la cámara de lugar a una imagen ya balanceada en el RAW, es decir, que cumpla la relación de niveles R=G=B para todos sus píxels. Qué pasa si hacemos una captura asegurando que saturamos los 3 canales en todos los píxels? lo que se tendrá es un RAW totalmente quemado pero también balanceado pues todos tendrán el mismo valor, el de saturación.

Esta idea se le ha ocurrido a un forero de POTN, la he probado en mi 350D y funciona de maravilla, obteniendo en pocos segundos un RAW cuyo balance de blancos tiene unos multiplicadores bastante más precisos que los que obtuve con la carta magenta: R=1,006856, G=1,000000, B=1,005877, es decir el máximo error cometido es en el canal R y es de solo un 0,69%.

El RAW que puede bajarse en la sección de descarga para la Canon 350D es éste mismo, aunque ya no hay excusa para tratar de obtener cada uno el suyo. Los pasos a seguir serían:
  1. Realizar una captura de alguna fuente brillante durante unos segundos, de modo que se garantice que se queman los 3 canales en todos los píxels
  2. Emplear el RAW resultante que estará en la memoria de la cámara para ajustar el balance de blancos personalizado
  3. La precisión del UniWB logrado puede constatarse realizando cualquier captura con el nuevo balance de blancos, y observando los multiplicadores que proporciona DCRAW al revelar el RAW resultante con la opción de balance de blancos de la cámara: dcraw -v -w
Hay que decir que el método rápido no funciona en todas las cámaras. Las Nikon por ejemplo desechan para el cálculo del balance de blancos cualquier píxel afectado por saturación. Tampoco la Canon 5D parece admitir el ajuste del balance de blancos con un RAW quemado. En la Sony Alpha 100 en cambio, y pese a que la cámara avisa de que no es un ajuste de balance de blancos correcto, permite usarlo dando factores unarios con desviación nula (1,000000). En la Canon 7D también funciona perfectamente.

Es por ello que si se usa este método rápido se hace muy necesario comprobar la precisión de los multiplicadores obtenidos con DCRAW.


INFORMACIÓN EN LA CÁMARA CON EL NUEVO BALANCE DE BLANCOS

Ahora queda comprobar el efecto que tiene emplear este balance de blancos en cuanto a la veracidad de la información que nos presenta la cámara con él, tanto el histograma como el aviso de zonas quemadas.

En las pocas pruebas que he podido hacer hoy con luz, el método funciona muy bien:
  • Con el balance de blancos nuevo el histograma aparece menos derecheado para una misma toma que si se emplea un balance de blancos convencional, aunque por las características de mi 350D sigue siendo un histograma en luminosidad que no satura hasta que los 3 canales se han quemado simultáneamente con lo que no deja de ser peligroso confiar en él. En cámaras con triple histograma asumo que esto no será problema alguno.

  • Donde la mejora es mucho más espectacular es en cuanto al aviso de saturaciones parciales o totales mediante el parpadeo de píxels sobre la imagen. El aviso se hace mucho más realista. Incluso he hecho alguna toma donde la cámara mostraba una ligera visión optimista respecto a la realidad del RAW, es decir, en algunas pequeñas zonas que ya presentaban saturación parcial en el RAW no parpadeaban tantos píxels en el display. Una diferencia eso sí lejos de la tendencia pesimista que obtenemos al usar el balance de blancos normal.

  • Quiero creer además que con este nuevo balance de blancos no solo se liman las diferencias entre lo mostrado en la cámara y el RAW, sino también la incertidumbre que se tenía al trabajar con el balance de blancos convencional pues las diferencias de unos a otros balances de blancos hacen que el carácter pesimista del JPEG nativo lo sea en un grado diferente en función de las condiciones de la toma.
En vista de las pruebas hechas, creo que voy a tener a perpetuidad este ajuste configurado como balance de blancos personalizado de la cámara, y probablemente se convierta en mi balance de blancos por defecto.

La idea de anular el balance de blancos así como el procedimiento expuesto para lograrlo no tienen fisura conceptual. Es importante notar sin embargo que la fiabilidad aportada por el nuevo balance de blancos, en especial en cuanto al aviso de luces quemadas, dependerá enormemente del criterio que emplee cada cámara para implementarlas.


APLICACIÓN EN FOTOGRAFÍA DE ESTUDIO: ILUMINACIÓN QUE REALIZA BALANCE DE BLANCOS

David Coffin, el autor de DCRAW, me ha dado una idea loca pero muy lógica de aplicación de los conceptos aquí presentados.

Si empleamos la carta magenta especificamente calculada para nuestra cámara particular para imprimir transparencias, éstas podrían usarse en estudio como filtro sobre iluminación o flash neutros (D65), de modo que todo lo que se tirara bajo dicha iluminación quedaría automáticamente balanceado en blancos en el propio archivo RAW, sin necesidad de ningún ajuste posterior.

Esto tendría como consecuencias positivas:
  • Más capacidad de derecheo del histograma sin perder información, pues los 3 canales estarían alineados en el RAW. Así prácticamente diríamos adiós a las saturaciones parciales.

  • No necesidad (o mínima) de realizar el balance de blancos sobre el RAW, pues éste ya estaría balanceado tal cual saliera de la cámara.

  • Una mejora del ruido en la imagen pues los canales R y sobre todo B estarán ahora más expuestos que sin los filtros magenta, para una misma exposición del canal G en el archivo RAW. Del orden de 1EV a 1,5EV más expuestos, y recordemos que cada diafragma extra en exposición reduce el ruido a la mitad.
El principal problema que le veo es que la impresión de estos filtros debería ser muy precisa, no sé si una buena impresora sería capaz de imprimir estas transparencias sin introducir dominantes que podrían luego ser difíciles aún de eliminar. En cambio para BN de estudio creo que sería una buena solución para mejorar la calidad de las capturas.

Alguien se anima a probarlo?


~~~


Si este contenido te ha resultado útil, considera realizar una contribución para asegurar la continuidad de esta web. Mantenerla supone un importante esfuerzo, así como un espacio y ancho de banda considerables en el servidor. Es una operación sencilla y totalmente segura.



gluijk@hotmail.com
  TUTORIALES

HOME