martes, 5 de marzo de 2013

Revelado Darktable: Reducción de Ruido



Este capítulo, de nuevo fruto de la petición de uno de vosotros, me ha quedado más largo que de costumbre. Espero que me disculpéis este inconveniente, causado por la complejidad del asunto de que trata: el ruido digital en fotografía. 


En efecto, este es un tema que daría para toda una serie en si mismo (algo que, como de costumbre, no voy a descartar hacer en el futuro) y que he tratado de resumir de la mejor manera posible a través de un ejemplo real.
Después de unos cuantos experimentos, he sacado dos conclusiones que creo pueden ser importantes para vosotros:
  1. Darktable tiene un largo camino por recorrer si quiere ponerse a la altura de otros reveladores en cuanto a la generación de ruido.
  2. Darktable posee una colección espectacular de plugins reductores de ruido, con un funcionamiento realmente bueno.
Supongo que después de leer estas dos conclusiones os estaréis preguntado si en realidad no he caído en una especie de contrasentido, pues la primera es pesimista y la segunda parece contradecirla. En realidad, si entendemos qué es el ruido digital, comprenderemos por qué las dos conclusiones son compatibles entre si.

El dichoso ruido

 

Fiel a mi costumbre, me niego a extenderme en explicaciones técnicas habiendo información más que documentada en toda la red. Pero al menos voy a dar una interpretación de lo que es el ruido, para entendernos entre nosotros: el ruido deviene de la propia construcción de los sensores digitales. Como habéis seguido la serie de Darktable (no me cabe duda), ya sabréis lo importante que es conocer el funcionamiento del histograma, ese gráfico que representa la distribución de la información de los diferentes canales RGB entre las sombras (a la izquierda) y las luces (a la derecha). Pues bien, el problema es que esa información no es lineal. Dicho de otra manera: los sensores digitales recogen la información de luces y sombras de forma desigual, dedicando la mayor parte de los bits a las luces y comparativamente muchos menos a las sombras. Esta es la base de la técnica de “derecheo” del histograma, que Mellado a puesto tan de moda desde hace unos años. Si llevamos el histograma a la derecha en el momento de la toma, “pasándonos” con la exposición, estaremos trasladando la información recogida a una región del sensor (la de las altas luces) donde se recogen muchos más datos que en las sombras. La foto saldrá sobreexpuesta, pero como tenemos información de sobra podremos recuperar detalle de las luces y, lo que es más imporante, tener las sombras iluminadas y sin ruido, listas para ser corregidas adecuadamente con curvas o niveles.

Histograma de la imagen de ejemplo: nótese cómo está caído a la izquierda, lo que corresponde con una imagen oscura; le sumas la ISO, y ruido asegurado en cuanto levantes las sombras
Si no hacemos esto correctamente, y trabajamos con una ISO alta (en cámaras de gama media-baja, a partir de 400) nos va a salir ruido en las sombras sí o sí. Y como demuestro en el vídeo, corregirlo lleva tiempo, más que cualquier otro procedimiento de revelado, por lo que conviene ahorrárnoslo de una manera u otra.
Sin embargo, la complicación no termina aquí; y es que en el asunto del ruido no sólo están implicados nuestros sensores. También el propio software de revelado. En este caso, concretamente, los denominados algoritmos de “demosaico”, que se encargan de interpretar los datos del archivo RAW y convertirlos en una imagen coherente. Estos algoritmos pueden estar más o menos elaborados, y según usemos uno u otro obtendremos resultados diferentes en unos cuantos factores, fundamentalmente el mencionado ruido, el enfoque y el detalle en altas luces.
En este sentido, Darktable cuenta con dos posibilidades, el demosaico ppg y el amaze. La única diferencia visible entre ambos es la indicación de que el primero es “rápido” y el segundo “lento”. No hay muchos más datos aparte de esto, y hay que hacer unas cuantas pruebas con grandes ampliaciones para percibir las sutiles diferencias. Después de mucho tiempo dejándome los ojos, he llegado a la conclusión de que, en lo que al ruido se refiere, no hay una diferencia significativo entre ambos. Donde sí se nota, pero de forma paralela en los dos, es al trastear un poco con las opciones de configuración del algoritmo, en concreto si aumentamos el borde del umbral y damos más pasos a la opción suavizado de color. A continuación os dejo una comparativa, usando el filtro amaze, donde podéis comprobar la diferencia:

Vista al 200%. Clic para ampliar

Si veis las imágenes demasiado oscuras, es normal, pues no he aplicado ningún plugin para comprobar cómo se comporta el algoritmo con la imagen en bruto. Der este modo, tampoco tiene mucho sentido hablar de "antes y después", pues el demosaico es un paso previo antes del revelado propiamente dicho. Si os fijáis con atención, en la segunda imagen el ruido es bastante menor, aunque a costa de cierta pérdida de detalle. Esta es la razón de que el demosaico no sea automático como en otros programas: es decisión nuestra no aplicar un demosaico agresivo para conservar detalles, o hacerlo para reducir el ruido de inicio. De este modo podemos tener un punto de partida más aceptable en fotografías ruidosas, aunque tengo que insistir en este aspecto: con Dt es más fácil que aparezca ruido que con otros programas. No sé exactamente qué causa este fenómeno, aunque en teoría se tiene que deber al dichoso algoritmo. El caso es, e imagino que ya lo habréis comprobado, que en Dt aparece ruido ocasionalmente de forma inesperada, sobre todo cuando sobrepasamos ciertos límites al revelar: demasiado trabajo con sombras y luces altas, demasiada saturación en un color, demasiado contraste... Comprendo que la filosofía del programa es permitir al fotógrafo el control total sobre las herramientas, aún a costa de contar con opciones "inútiles" por ser perjudiciales para el revelado. Pero no estaría mal que hubiese un modo “para tontos” que limitase los plugins de forma que no pudiésemos arruinar las imágenes. De esta forma sospecho que Darktable ganaría adeptos, más que nada porque estoy convencido de que muchos huyen de él tras realizar un par de experimentos desastrosos y llegar a conclusiones precipitadas.
En resumen, creo que conviene que le echéis un vistazo a cómo se comportan los dos modos de demosaico con vuestros propios RAW, pues es posible que cada fichero dé unos resultados diferentes. A partir de ahí, podremos empezar a trabajar con los plugins reductores de ruido con algo más de control.

Ruido por canales, luminancia y crominancia

 

Estos tres conceptos son interesantes y afectan a la manera de trabajar de los plugins de Dt. Voy a seguir las ideas del maestro Guillermo Luijk, quien ha creado una página web que es un auténtico tesoro para los amantes de la fotografía digital en lengua hispana. Luijk deja bien claro en este artículo que en esto del ruido de luminancia y de crominancia y el ruido por canales hay bastante mito suelto. Pero vamos por partes... Dt cuenta con un plugin, denominado “bilateral” que presta atención sobre el ruido separando los tres canales RGB. Parece que este enfoque del problema no es del todo correcto, dado que el ruido no “está” en los canales, ni se distribuye de forma desigual por ellos. El ruido aparece tras la aplicación de un determinado algoritmo, y se distribuye uniformemente por la imagen. Lo que parece es que este ruido puede reflejarse más en un canal que en otro, dependiendo de sus valores de luminosidad, o dicho de otra manera, de la cantidad de información que contengan.

Comparación de la imagen original a la izquierda y el filtro bilateral aplicado a la derecha. Nótense los bajísimos valores que he aplicado y el efecto tan agresivo que se consigue

De este modo, el plugin bilateral resulta un tanto engañoso, pues nos puede llevar a pensar que nuestro trabajo es ir eliminando el ruido de los diferentes canales RGB, cuando en realidad no es así. El método consistiría, más bien, en localizar qué canal tiene más información en una zona de ruido, y aplicar más cantidad de reducción a ese canal. Pero esto no implica abandonar el resto, pues los tres canales tienen datos en todas las zonas de la foto, o pueden tenerlos. Saber esto es fácil: basta echarle un vistazo al histograma y comprobar dónde están ubicados los tres canales RGB.
Esto en cuanto a los canales. En relación con los conceptos de luminancia y crominancia, pasa algo parecido, pues también están rodeados de leyendas y medias verdades. Es cierto que, a grandes rasgos, nos encontramos con dos tipos de ruido en la fotografía digital: el llamado ruido de luminancia afecta al canal L del modo LAB, y se nos presenta como un granulado incoloro, no del todo desagradable a la vista. El segundo tipo de ruido es el de crominancia, que como os imaginaréis radica en los canales de color, A y B del mencionado modo LAB. Este otro tipo de ruido tiene un aspecto bastante más desagradable, pues toma la forma de caprichosos puntos de color en las zonas ruidosas.
Tanto uno como otro son causados por la misma concatenación de fenómenos: una incorrecta exposición, una iluminación de sombras con pocos datos, y un demosaico que no da la talla. Lo importante es tener en cuenta que en realidad son "el mismo ruido", en primer lugar; y que no hay cámaras con mucho ruido de un tipo o de otro, o al contrario. El ruido depende de una combinación de factores, y si exponemos adecuadamente no tiene por qué aparecer.
Sea como fuere, ambos ruidos, aun siendo expresión de un mismo problema, existen y se atajan de formas diferentes, para lo cual Dt cuenta con el polifacético Ecualizador y con el plugin de medias no locales. En los dos casos el consejo es el mismo: el ruido de luminancia es mucho más difícil de eliminar y machaca mucho más el detalle que el de crominancia.

Reducción de ruido con Ecualizador y Medias no locales. El primero me gusta más

Teniendo en cuenta además que el ruido de luminancia no es tan desagradable, lo mejor es ser generosos con el y no atacarlo con demasiada dureza: solo podríamos salir perdiendo de semejante batalla. 

Conclusión

Se trata este de un tema complicado, como espero haber demostrado. No hay una forma fácil de eliminar el ruido en ningún programa de revelado, pero en Dt el problema es aún más irritante. Todavía tengo que experimentar más porque estoy seguro de que atinando un poco más se pueden obtener mejores resultados, pero sospecho que de todas maneras los algoritmos de demosaico de Dt están todavía un pelín por detrás de los de otros programas. En el otro lado de la balanza, da la impresión de que los creadores de Dt son muy conscientes de este problema, y nos han brindado todas las posibilidades que tenían a su alcance para que podamos lidiar con este correoso enemigo. No sólo podemos controlar la acción del demosaico (algo muy raro en este tipo de software), sino que nos proporcionan cuatro filtros diferentes para eliminar el ruido. Como venimos acostumbrando, de nuevo Dt nos dice al oído que el código abierto es algo más que simplemente dejarnos los datos de un programa para modificarlos a nuestro antojo: el programa en si mismo debe proporcionar libertad al usuario.
Ah, por cierto: además de los plugins reductores de ruido propiamente dicho, estoy experimentando con un quinto método. Todavía no puedo adelantar nada porque estoy en fase experimental, pero si queréis podéis ir apostando con qué otro plugin estoy trabajando. Me encanta hacerme el interesante...