Autor Tema: Darktable 3.0 para que sirven tantos módulos? (II)  (Leído 289 veces)

jofial

  • Palizas oficial
  • *
  • Mensajes: 9502
  • Φ el · sobre la y
Darktable 3.0 para que sirven tantos módulos? (II)
« on: 08 mar 2020, 21:04 pm »
Como decíamos ayer ...

Los límites de los espacios no lineales en el procesamiento de imágenes.

En primer lugar, ¿qué entendemos por "lineal"? Si y es lineal con respecto a x, significa que existe una relación entre x e y en la forma y = a*x + b, donde a y b son constantes reales. Lineal significa proporcional a algo más o menos una constante.

Entonces, cuando hablamos de espacio RGB lineal, queremos decir que los valores RGB son proporcionales a algo. ¿Pero proporcional a qué?

Simplificando, el sensor cuenta la cantidad de fotones que recibe en cada fotosito. Cada píxel contiene información sobre el espectro de luz capturado en su posición, en forma de 3 intensidades (rojo, verde, azul). El coeficiente de proporcionalidad a entre el número de fotones y el valor RGB final es la sensibilidad ISO del sensor. La constante b es el umbral de ruido del sensor. La señal RGB es proporcional a la energía de la emisión de luz captada por el sensor de la cámara.

Desde el punto de vista de la percepción humana, estas intensidades proporcionales al nivel de energía física de la emisión de luz, no tienen sentido. De hecho, el cerebro aplica una corrección no lineal de tipo logarítmico que en el espacio de color Lab se aproxima usando una raíz cúbica. Esto significa que tenemos una mayor sensibilidad a la luz tenue y una sensibilidad reducida a la luz brillante.

Sin embargo, todas las operaciones ópticas que se realizan durante la captura de imágenes (por ejemplo, desenfoque de la lente, creación de ruido o el efecto de un filtro de color agregado a la lente) se aplican directamente a los fotones. Para revertir el desenfoque de la lente o simularlo durante el procesamiento, necesitamos trabajar en la información RGB lineal, que es lo más parecido a los datos de fotones que tenemos disponibles.

Compruébelo usted mismo: ¿Cuál de estos dos bokeh generados por computadora (original a continuación) le parece más natural? (Vea también un ejemplo más espectacular en el sitio web de Chris Brejon)
Desenfoque de lente aplicado en sRGB

Desenfoque de lente aplicado en RGB lineal y luego codificado en sRGB

Observe en particular cómo las siluetas oscuras (abajo a la izquierda) se fusionan con el fondo claro, o el contraste de los pentágonos formados por el diafragma de la lente en los focos.

Otro ejemplo, con un simple desenfoque en superficies lisas: ¿Cuál de estas gradaciones te parece más progresiva?

zquierda: codificación sRGB de desenfoque RGB lineal; Derecha: codificación sRGB, luego desenfoque

Estos dos ejemplos se generaron con Krita, que le permite trabajar en RGB lineal y no lineal, y tiene capas de filtro que incluyen un desenfoque de lente físicamente realista.

Este tipo de problema ocurrirá de la misma manera en darktable, tan pronto como utilice los módulos de nitidez, paso alto, paso bajo y difuminado / suavizado de máscaras dibujadas y / o paramétricas (que son desenfoques).

El desenfoque, la eliminación de borrones o cualquier otra cosa conectada a la óptica debe realizarse en RGB lineal. No existe un modelo matemático* que permita gradientes correctos en RGB codificados para visualización (con un OETF) o en Lab, debido a la pérdida de conexión entre los valores de píxeles y la energía de la luz.
* y el hecho de que los problemas no estén visibles todo el tiempo no significa que los problemas no siempre estén ahí. Podemos, hasta cierto punto, ocultarlos con trucos matemáticos (umbrales, opacidad, etc.), pero siempre terminarán saliendo en el peor momento. Confía en mí, sé exactamente dónde presionar para que se rompa.


Este es también el problema que surge con el módulo de zonas de color al nivel de la fusión de zonas (incluso si un retoque, introducido en el modo "desenfoque" permite ocultar un poco mejor la miseria), y que produce transiciones granuladas y crujiente

El único módulo de tabla oscura que funciona en el Lab para hacer un desenfoque, y donde todavía funciona razonablemente, es el modo laplaciano local del módulo de contraste local. La razón es que pasamos por curvas de tono aplicadas a una separación de frecuencia de múltiples escalas, bla, palabras complicadas, bla ... en resumen, el precio a pagar para que funcione es que es muy pesado Los cálculos y la teoría son como la ciencia espacial. E ... incluso si el desenfoque es estable, se acompaña de una desaturación poco atractiva con un cambio hacia el gris azulado fangoso cuando empuja los controles deslizantes un poco.
*: y solo porque los problemas no sean visibles siempre, no significa que no existan. Hasta cierto punto, podemos lograr ocultarlos con dispositivos matemáticos (umbrales, opacidad, etc.), pero siempre terminarán emergiendo en el peor momento. Confía en mí, sé exactamente dónde tocar para que se rompa.

Los beneficios de un tratamiento lineal RGB

Entonces aquí es donde dices "mientras no esté borrando mis imágenes o trabajando solo en color, todavía puedo usar Lab".

Eso es en parte cierto, pero de hecho, incluso en esos casos, trabajar en RGB lineal es más simple, con algoritmos más rápidos que pueden tolerar ajustes más extremos sin mostrar efectos secundarios molestos. Además, una vez más, Lab no puede admitir altos rangos dinámicos, por lo que se debe tener cuidado al usar los módulos Lab después del mapeo de tonos HDR.

Estrictamente hablando, la única aplicación donde se requiere Lab es el mapeo de gama, al cambiar el espacio de color antes de enviar la imagen a un archivo o a la pantalla. E incluso entonces, desde 1976, se han desarrollado mejores espacios (IPT-HDR, JzAzBz) para este propósito, en HDR y con una linealidad de tonos casi perfecta.

El estado actual de darktable

Con el lanzamiento de darktable 3.0, la tubería predeterminada (es decir, el orden básico de los módulos) se ha reordenado en torno a fílmico RGB. Hay 4 pasos esenciales en esta tubería:

    1. el módulo de demosaico, que convierte el archivo sin formato (que solo contiene la intensidad de una sola capa, R, G o B en cada sitio de píxeles) en una imagen (con datos RGB completos para cada ubicación de píxeles),
    2. el módulo de perfil de color de entrada, que convierte el espacio RGB del sensor en un espacio de color de trabajo estándar,
    3. el módulo fílmico RGB (o la curva base), que se traduce entre el espacio lineal (proporcional a la energía de la luz) en un espacio no lineal (comprimido perceptualmente),
    4. el módulo de perfil de color de salida, que convierte del espacio de trabajo estándar al espacio RGB de la pantalla o el archivo de imagen.

Tenga en cuenta que el enfoque de la curva base sigue siendo el que se aplica por defecto porque permite que darktable se aproxime más o menos, a la representación de la cámara JPEG tan pronto como se abra el software, lo que parece ser la preferencia de muchos usuarios. Sin embargo, como parte de darktable 3.0, la curva base fue empujada hacia atrás en la tubería de píxeles por defecto, justo antes del módulo fílmico RGB, lo que lo hace seguro para los colores producidos por los módulos que se aplicaron anteriormente. El módulo de curva base también se proporcionó con un modo de preservación del color, que produce resultados similares al fílmico RGB. Entre la curva base y el fílmico RGB, para darktable 3.0, la diferencia ahora solo se basa en la ergonomía y en la capacidad de recuperar muy poca luz. El fílmico RGB es un poco más complejo de entender pero más rápido de configurar (una vez entendido correctamente), y es más poderoso cuando se trabaja en sombras profundas.

Los módulos que funcionan en RGB lineal y salen en lineal (dejando así la tubería lineal después de ellos) son:

    1. exposición
    2. balance de blancos
    3. mezclador de canales
    4. ecualizador de tono (que es lineal en partes).

La ventaja de realizar operaciones lineales es que no afectan la crominancia de la imagen (porque cambiar la luminosidad deja intacta la crominancia) y preserva la proporcionalidad energética de la señal. Estos módulos deben colocarse antes de fílmico RGB o la curva base. Se recomienda la exposición y el ecualizador de tono antes del perfil de color de entrada. Se pueden usar de forma segura y sin moderación. Tenga en cuenta que hay un problema aquí en el ecualizador de tono, que conserva la linealidad local (dentro de las áreas de la imagen), pero no la linealidad general (entre zonas). Corresponde a lo que sucedería si entramos a la escena con una linterna y reiluminamos a mano los objetos de la escena, por lo que aún mantenemos la coherencia física de la señal.

Los módulos que funcionan en RGB lineal y realizan operaciones no lineales, pero de preservación de crominancia (siempre que el modo de preservación de croma esté activado) son:

    1. Curvas RGB
    2. Niveles RGB

La crominancia se conserva a través de métodos que restringen las relaciones RGB dentro y fuera del módulo, para mantenerlas idénticas. Tenga en cuenta que las curvas RGB y los niveles RGB se pueden mover antes o después del fílmico RGB dependiendo de la intención, ya que de todos modos realizan operaciones no lineales. Por otro lado, tenga cuidado de no usar el suavizado de la máscara en los módulos que vendrán después, ya que la linealidad ya no está asegurada y el desenfoque y la mezcla de la máscara podrían producir resultados desagradables.

Los módulos que funcionan en RGB lineal y realizan operaciones no lineales sin preservar la crominancia son:

    1. mapeo de tonos local (volveremos a eso)
    2. balance de color
    3. LUT 3D

El balance de color está diseñado para aplicarse a datos RGB lineales que no han sido corregidos por contraste, es decir, antes de fílmico RGB, curvas de tono, etc. No conserva la crominancia porque su propósito explícito es ajustar la crominancia de manera creativa. Del mismo modo para LUT 3D, cuyo objetivo principal es emular emulsiones de película analógica o transformaciones estéticas complejas.

Les recuerdo a los lectores que el fílmico RGB es un compresor de rango dinámico, desde el rango dinámico alto de la cámara hasta el rango dinámico bajo de la pantalla. No es una curva de tonos destinada a aplicar una corrección artística, sino un mapeo de tonos para forzar el ajuste de los datos del sensor en el espacio de pantalla disponible. El fílmico RGB intenta proteger los detalles tanto como sea posible (lo que suponemos a priori está en los tonos medios) y mantener una cierta legibilidad óptica en la imagen.

Antes del fílmico RGB, en la tubería lineal, todavía encontramos algunos módulos que funcionan en el Lab pero realizan operaciones lineales que (estrictamente hablando) deberían realizarse en RGB lineal:

    1. ecualizador de contraste
    2. pase alto
    3. paso bajo
    4. afilar
    5. ruido (medios no locales)

Estos módulos deben adaptarse en un futuro para poder trabajar en un espacio lineal XYZ (derivado de CIE XYZ) porque es un error hacer que funcionen en el lab (al menos, por defecto). Es un trabajo relativamente fácil de hacer, porque XYZ descompone la luminancia (canal Y) y la crominancia (canales x e y) con una lógica similar a Lab, menos la transformación no lineal. Mientras tanto, puede continuar usándolos, pero con moderación. Para el ecualizador de contraste, tenga en cuenta que utiliza una separación wavelet sensible a los bordes, lo que hace que su ejecución sea bastante engorrosa, pero muy efectiva para prevenir halos, incluso teniendo en cuenta que funciona en el Lab.
Después del fílmico RGB, en la tubería no lineal, se encuentran todos los demás módulos Lab, ya que requieren un rango dinámico bajo. Algunos de estos módulos también podrían convertirse a XYZ y moverse antes de fílmico RGB en el futuro (en particular, el efecto Orton, el grano y la luz de relleno). También tenga en cuenta que el módulo de viñeteado se dejó al final de la tubería, como antes, a pesar de que funciona en RGB. Es probable que sea mejor antes del fílmico RGB, o incluso antes del perfil de entrada, pero su código es sorprendentemente complejo para lo que hace, y no he tenido tiempo de desentrañar el embrollo para comprender cuáles son sus hipótesis de trabajo.

sigue ...
« Última Modificación: 08 mar 2020, 21:13 pm por jofial »
No hay nada peor que una imagen brillante de un concepto borroso.
Ansel Adams