Blog

darktable 4.0: 3763 Días Después

Logotipo de darktable

[Nota: Darktable es una aplicación de código abierto para el flujo de trabajo fotográfico y revelado RAW. Tras anunciar su versión 3.6 decidí colaborar con la organización de darktable traduciendo algunas de sus publicaciones. Igual que con las versiones anteriores (3.6 y 3.8), traduzco al español la publicación sobre el lanzamiento de la versión 4.0 (enlace original) de darktable para que esta potente herramienta gratuita de revelado y procesamiento de imágenes raw pueda llegar a más usuarios. Bernhard Albicker ha hecho lo propio en alemán (darktable 4.0: 3763 Tage später)]

darktable 4.0: 3763 Días Después

Hace poco más de 10 años desde que darktable 1.0 fue lanzado por primera vez. ¡El equipo de darktable está orgulloso de presentar darktable 4.0!

Para una lista completa de cambios, por favor, consulta las notas de lanzamiento de la versión. Aquí está la última versión del manual de usuario. Actualmente están disponibles las traducciones al ucraniano y al polaco y esperamos añadir más en los próximos meses.

Mapeo de Color y Exposición

Se ha añadido un nuevo modo de "mapeo localizado" a los módulos de exposición y calibración del color. Este modo puede utilizarse, por ejemplo, para realizar el balance de blancos (adaptación cromática) tomando como referencia objetos no grises pero de color conocido, o para garantizar la coherencia del color y la exposición de un objeto en una serie de imágenes. Un modo de "muestreo" permite elegir un color de referencia en una imagen de origen, registrando la exposición/color de salida después de haber pasado por los módulos de exposición y calibración de color actuales. A continuación, el modo "corrección" calcula los ajustes pertinentes de exposición y calibración del color para que coincidan con el color seleccionado de la muestra coincidente tomada de la imagen de destino. El objetivo del mapeo también puede definirse manualmente mediante la introducción directa de las coordenadas de color CIE Lab 1976 adecuadas.

Esta función se desarrolló porque copiar y pegar una pila de historial de ediciones sobre una serie de imágenes, incluso cuando se han tomado en las mismas condiciones, no garantiza necesariamente una reproducción uniforme del color. A menudo sigue siendo necesario un ajuste manual adicional, ya que la iluminación puede variar ligeramente de una imagen a otra. A partir de una única edición de referencia, la función de mapeo garantiza que los parámetros se adapten correctamente al resto de la serie. Tenga en cuenta que este ajuste de color no será suficiente para garantizar una percepción del color/exposición completamente idéntica en todas las imágenes, ya que la percepción también depende de la distribución de la luminosidad en la imagen: un paisaje con 1/3 de cielo brillante y 2/3 de suelo oscuro no dará una percepción del color similar a la de un paisaje con proporciones invertidas de cielo/fondo, aunque la gradación de color sea la misma y el colorímetro registre los mismos valores.

Glosario de Colores en el Selector Global de Colores

El selector global de color se ha mejorado para mostrar el nombre del color elegido cuando se pasa por encima de los valores de color. Esta función fue solicitada por varios fotógrafos con problemas de percepción del color para reafirmar la validez perceptiva de su edición con respecto a los colores que no ven.

El vocabulario de colores contiene 76 entradas: 15 tonalidades × 5 claridades + neutro (gris). No se distingue a través del eje cromático, por lo que todos los colores se registran de la misma manera, independientemente de su tonalidad. El vocabulario también incluye los colores medios de la piel de 3 partes del cuerpo (antebrazo, frente y mejilla) de 6 etnias (china, tailandesa, kurda, mexicana, caucásica y afroamericana). Estos valores se tomaron de las bases de datos académicas de cosmetología y dermatología disponibles en el momento del desarrollo. Sólo son válidos para una iluminación D65 y para un ajuste de exposición que ancla el blanco difuso en un 92% de luminancia relativa. Hay que tener en cuenta que el tipo de piel se devuelve con un 95% de confianza, y que hay un solapamiento significativo en el color de la piel entre las etnias, por lo que esta herramienta está pensada para asegurar que el color de la fuente coincide con una piel humana media ± 2 desviaciones estándar, pero no infiere la etnia más probable de su sujeto.

RGB Fílmico versión 6

El módulo RGB Fílmico (filmic rgb) está en su sexta iteración; ahora con una nueva ciencia del color. Se ha eliminado la desaturación obligatoria (cerca del blanco y el negro medios) y se ha sustituido por un verdadero mapeo de la gama respecto al espacio de color de salida (o de exportación). Este mapeo de gama se realiza utilizando "colorimétria relativa" de la ICC, en la que se recorta la croma al máximo permitido en el espacio de salida con una luminosidad y un tono constantes. Esto permite obtener colores más saturados, y es particularmente notable en los cielos azules.

Para los usuarios que sigan prefiriendo el aspecto de "altas luces desaturadas", la variante sin preservación de la crominancia (que procesa los canales RGB de forma independiente) lo sigue permitiendo, pero la versión 6 añade un protector para evitar el tradicional cambio de tono que se produce con este método (en el que los cielos azules saturados se degradan a cian y los rojos saturados a amarillo).

Los colores fuera de gama suelen ser el resultado de una saturación demasiado alta para el nivel de luminancia de un color y, por tanto, no pueden codificarse digitalmente en espacios RGB delimitados ni mostrarse físicamente en los medios de salida. Una herramienta de saneamiento de la gama se ha añadido a darktable, que ahora cuenta con un proceso de color totalmente saneado, desde la entrada (calibración del color) hasta la salida (filmic rgb v6), pasando por los cambios artísticos (balance de color RGB). Los usuarios pueden ahora etalonar las imágenes con la seguridad de que los colores de entrada no válidos pueden ser recuperados de la manera menos destructiva posible, en las primeras etapas del proceso, y los colores válidos no pueden ser empujados fuera de la gama.

Los antiguos módulos heredados se aplican después de (RGB Fílmico) en la cadena de procesos. Estos módulos no se beneficiarán del mapeo de gama de RGB Fílmico y dependerán de LittleCMS2 (si está activado) en la etapa final de exportación, que no mapea la gama como debería. Además, dado que filmic v6 desatura mucho menos que v5 y preserva la cromaticidad por defecto, preservará también los colores no válidos (alta luces magenta saturadas o aberraciones cromáticas) y los ocultará menos que antes. Estos artefactos de color deberán ser corregidos adecuadamente con los módulos correspondientes de antemano.

Presentación del Espacio de Color Uniforme darktable 2022

El módulo de balance de color RGB utiliza un algoritmo de saturación que fue diseñado para simular el sombreado del color tal y como lo hacían tradicionalmente los pintores, lo que significa que los colores ricos se degradan a pasteles claros y los pasteles se degradan a colores primarios puros. Esto implica que es necesario que se produzca un oscurecimiento junto con el aumento de la saturación y que se produzca un aclaramiento junto con la desaturación. Esto es diferente de la mayoría de los procedimientos de saturación, que actúan sobre el croma con una luminosidad constante y pueden degradar los colores saturados hasta convertirlos en una versión aparentemente fluorescente de sí mismos, lo que queda especialmente mal en los objetos reflectantes.

Antes de darktable 4.0, el módulo de balance de color RGB utilizaba un método de saturación personalizado que implicaba el espacio de color perceptualmente uniforme JzAzBz (2017), que ha demostrado carecer de suavidad y oscurecer demasiado. Además, el espacio de color JzAzBz no tiene en cuenta el efecto Helmholtz-Kohlrausch, que hace que los colores de alto croma aparezcan más brillantes que su equivalente de bajo croma, incluso cuando su luminosidad (o luminancia) es constante.

Un proyecto de investigación de 3 meses de duración ha dado como resultado la creación de un nuevo espacio de color perceptualmente uniforme, diseñado específicamente para las necesidades del algoritmo de saturación del módulo de balance de color RGB. Este espacio de color es el segundo espacio publicado "utilizable en la práctica" que tiene en cuenta la contribución del tono de color a la percepción del brillo (efecto Helmholtz-Kohlrausch), y se ajustó sobre el conjunto de datos experimentales de renovación Munsell de 1943 (40 observadores, 3 millones de observaciones). Para cuantificar el efecto Helmholtz-Kohlrausch, se utilizaron cuatro conjuntos de datos experimentales de luminosidad/croma de 1963 a 2013, con un total de 29 observadores para 154 muestras de color. El ordenador tardó 26 horas en encontrar el mejor ajuste optimizando 23 parámetros.

Aunque esto no cambia nada desde el punto de vista de la interfaz de usuario, el control de la saturación debería ser más fluido, más uniforme desde el punto de vista de la percepción de los matices, y ofrecer una mejor relación saturación/oscuridad. Al igual que con el método anterior, evitará la degradación de los colores hacia el fluorescente o el neón. La variante anterior JzAzBz sigue estando disponible en el módulo como opción y también se mantendrá para las ediciones antiguas.

Este espacio perceptual permite por fin una forma más precisa y eficiente desde el punto de vista computacional de expresar la gama del espacio RGB de trabajo. Esto permite mapear la gama de colores suavemente con un brillo y un tono constantes y permitirá a los usuarios aumentar la saturación en grandes cantidades sin tener que temer las consecuencias del recorte de la gama (cambios de tono no suaves).

Esta investigación ha sido posible únicamente gracias al crowdfunding del desarrollador. El código fuente (Python, C, OpenCL) del espacio ha sido liberado bajo una licencia MIT muy permisiva.

Reconstrucción Guiada de Resalte Laplaciano

La reconstrucción de las altas luces ha sido durante mucho tiempo un importante punto conflictivo en darktable, con problemas que se hacen aún más evidentes por el flujo de trabajo referido a la escena y su preservación del croma.

El nuevo método de reconstrucción guiada laplaciana del módulo de reconstrucción de altas luces es una derivación del módulo de difusión o nitidez introducido en darktable 3.8. Utiliza el mismo esquema iterativo y multiescalar de ondícula para extraer detalles válidos de cualquier canal RGB de intensidad no sobresaturada y utiliza estos detalles válidos para guiar la reconstrucción de los canales sobresaturados. A continuación, el módulo propaga los gradientes de color de las regiones vecinas válidas, utilizando una difusión de color respetuosa con los bordes, que limita la pérdida de color a través de los mismos (por ejemplo, evitando que las hojas verdes pierdan color en la reconstrucción del cielo azul recortado). Se beneficia de no depender de ninguna definición perceptiva del color y de ser inmune al balance de blancos, y produce reconstrucciones suaves, aunque sólo es eficiente para puntos de luz o formas simples en áreas pequeñas. Para áreas saturadas más grandes, puede fallar en la eliminación completa del color magenta y, para formas complejas, puede crear patrones extraños y sangrado de color. En estas situaciones, se debe preferir la reconstrucción de altas luces del módulo fílmico o utilizarla como complemento, ya que tiene una forma más básica y robusta de pintar el color.

Un ajuste de ruido adicional permite añadir ruido de Poisson (el tipo de ruido natural que afecta a la recogida de fotones) en las altas luces reconstruidas, para ayudar a mezclarlas en imágenes ruidosas de alto ISO en las que los gradientes de color suaves quedarían inmediatamente sin tono.

Como ocurre con cualquier método de reconstrucción que intenta inferir el contenido dañado a partir del análisis de la vecindad, este método conlleva una serie de supuestos y contrapartidas. La primera advertencia es su precio computacional, que requerirá una GPU para ejecutarse en escalas de tiempo razonables: el tiempo computacional aumenta con el radio de reconstrucción. Por esta razón, los ajustes por defecto asumen radios bastante pequeños, lo que significa que las áreas más grandes no se reconstruirán correctamente hasta que se ajusten los ajustes manualmente. La segunda advertencia es que este método no utiliza un marco perceptivo, ya que trabaja antes de cualquier perfil de color o calibración (e incluso antes de la demosaicing en la cadena de procesos) por lo que no puede confiar en una definición de blanco que le permita simplemente desaturar las luces para evitar el magenta. Por esta razón, otros métodos pueden funcionar mejor para áreas muy grandes y la reconstrucción de las luces del módulo fílmico puede ser necesaria para forzar la desaturación al blanco. Además, dado que pinta las partes dañadas de la imagen, este método hará que el disco solar se mezcle con el resto del cielo en las escenas de puesta de sol, ya que impone una reconstrucción suave. Es posible que se necesite un enmascaramiento para excluir el sol (o la luna) y evitar que se fusione con el cielo.

Por último, este método sólo está disponible para los sensores Bayer; no se puede adaptar directamente a los sensores X-Trans debido a su patrón no uniforme.

Aceleraciones y Optimizaciones

Las pruebas de estrés infligidas a la cadena de renderizado por los módulos que consumen muchos recursos, como "difuminar o enfocar", han revelado errores y deficiencias en la forma en que los controladores OpenCL manejan la memoria de la GPU. Por ello, se ha corregido y reescrito casi por completo la planificación del código y la asignación de memoria para las GPU, y se han corregido las estrategias de mosaico de los módulos de interpolación y retoque de X-Trans.

Se han añadido nuevas estrategias de planificación "amigables" para el uso de la memoria de la GPU en el diálogo de preferencias globales, lo que permite a los usuarios minimizar el uso de la memoria y/o los ciclos de lectura y escritura de la misma. Además, ahora se pueden cambiar en tiempo de ejecución sin necesidad de reiniciar. Las optimizaciones de OpenCL para usuarios avanzados (indicadores de compilación y tamaños de memoria) ahora pueden ajustarse para cada dispositivo OpenCL de forma independiente. Consulta la sección de ajuste de memoria y rendimiento del manual de usuario para obtener más detalles.

La descomposición de ondículas utilizada en la reconstrucción de altas luces en los módulos fílmico, difusión o nitidez y la reconstrucción de altas luces laplaciana guiada se han reescrito para mejorar el rendimiento (entre un 15 y un 25% más rápido).

Darktable 4.2

Como es habitual, la próxima versión de características ya está en desarrollo. Aquí tienes un par de características que puedes esperar encontrar bajo el árbol de Navidad este año…

Un mezclador de canales CYM permitirá a los usuarios restaurar digitalmente escaneos de impresiones y películas dañadas. Dado que los tintes y los pigmentos no envejecen al mismo ritmo, sus colores se desplazan, normalmente hacia el rojo. Sin embargo, el actual conjunto de herramientas de darktable, centrado en un marco RGB aditivo, no funciona bien con los medios CYM(K) sustractivos, por lo que se necesita una herramienta CYM adecuada para la visualización en pantalla.

Un nuevo módulo de ecualización del color sustituirá al actual módulo de zonas de color. Será compatible con las señales HDR y utilizará el nuevo Espacio de Color Uniforme 2022 de darktable, con una interfaz de usuario simplificada, un mapeo de gama integrado con respecto al espacio RGB y una protección contra el ruido de croma. Complementará el módulo de balance de color RGB para realizar ajustes de color menores y precisos, como la sustitución de colores.

2022

<< Página anterior