difuso / nítido

La difusión es una familia de procesos físicos por los cuales las partículas se mueven y se esparcen gradualmente con el tiempo, desde una fuente que las genera. En el procesamiento de imágenes, la difusión ocurre principalmente en dos lugares:

  • difusión de fotones a través del cristal de la lente (desenfoque) o aire húmedo (nebulización),

  • difusión de pigmentos en tintas húmedas o acuarelas.

En ambos casos, la difusión hace que la imagen sea menos nítida al “filtrar” partículas y suavizar las variaciones locales.

El módulo diffuse or sharpen utiliza un modelo físico generalizado para describir varios tipos de difusión, y los creadores de imágenes pueden utilizarlo para simular o revertir los procesos de difusión.

Como es un módulo altamente técnico, se proporcionan varios ajustes preestablecidos para demostrar su uso para varios propósitos.

La difusión puede ser eliminada para:

  • recuperar la imagen original de los sensores con un filtro anti-aliasing o mitigar el desenfoque creado por la mayoría de los algoritmos de demosaico (utilice el ajuste preestablecido nitidez con interpolación cromática y mueva el módulo antes del módulo perfil de color de entrada en la canalización),

  • corregir el desenfoque estático/desenfoque de lente (use uno de los ajustes preestablecidos de nitidez de lente),

  • eliminar la niebla atmosférica (usar el preset eliminar neblina)

  • agregue agudeza adicional para una mejor legibilidad (use el ajuste preestablecido contraste local).

Tenga en cuenta que los desenfoques de movimiento no se pueden revertir deshaciendo el proceso de difusión, ya que no son de naturaleza difusiva.

La difusión puede añadirse para:

  • crear un efecto resplandor u Orton (usa el ajuste preestablecido resplandor),

  • colorear partes faltantes o dañadas de una imagen (use el ajuste preestablecido reconstrucción de luces),

  • eliminar el ruido de manera que preserve los bordes (utilice uno de los ajustes preestablecidos de reducción de ruido)

  • aplica un desenfoque de superficie (usa el ajuste preestablecido desenfoque de superficie).

Dado que el proceso es físico, incluso sus fallas pueden usarse con fines creativos. Por ejemplo, puedes:

  • simular dibujo lineal o acuarela (use los ajustes preestablecidos simular dibujo lineal y simular acuarela),

  • crear patrones y texturas aleatorios aumentando el ruido (con el tiempo, por medio de iteraciones, el ruido se conectará con los vecinos para crear patrones aleatorios).


Nota: Este módulo requiere muchos recursos, ya que en realidad es un solucionador de ecuaciones diferenciales parciales anisótropo y multiescala. El tiempo de ejecución del módulo aumenta con el número de iteraciones y, por lo tanto, se recomienda encarecidamente OpenCL. También se proporcionan algunos ajustes preestablecidos “rápidos” para su uso en sistemas sin OpenCL.


🔗conceptos

🔗veces

La difusión es un proceso dependiente del tiempo: cuanto más tiempo tiene, más se pueden propagar las partículas. En este módulo, el tiempo se simula utilizando el número de iteraciones (el número de veces que el algoritmo se ejecuta sobre sí mismo). Más iteraciones pueden hacer que la reconstrucción (eliminación de borrosidad, eliminación de ruido, eliminación de neblina) sea más precisa si se establece correctamente, pero también puede hacer que se degenere.

🔗dirección

La difusión natural suele tener lugar desde puntos de alto potencial (alta energía o alta concentración de partículas) hacia aquellos de bajo potencial (baja energía o baja concentración de partículas). En una imagen, esto significa que la difusión siempre ocurre desde los píxeles más brillantes hacia los más oscuros.

Esta implementación particular puede simular la difusión natural, usando lo que se llama una difusión isotrópica (todas las direcciones tienen el mismo peso, como la difusión de calor), pero también puede forzar una dirección ponderada paralela a los gradientes (forzando la difusión a través de los bordes del objeto y creando bordes fantasma) , o una dirección ponderada perpendicular a los gradientes, llamada isófota (obligando a que la difusión esté contenida dentro de los bordes, como en una gota de acuarela). El peso relativo de cada dirección (gradiente e isófota) lo define el usuario y se puede encontrar en la sección [direccionalidad de difusión](#direccionalidad de difusión) del módulo.

🔗velocidad

Dependiendo de cuán fluido sea el entorno, las partículas pueden moverse más o menos libremente y, por lo tanto, más o menos rápido. La velocidad de difusión se puede configurar en la sección velocidad de difusión del módulo.

Al realizar la reconstrucción (eliminación de ruido, desenfoque, eliminación de neblina), se recomienda utilizar velocidades más pequeñas para una mayor precisión. Esto evita los sobreimpulsos numéricos (y, por lo tanto, la degeneración de la solución) y puede requerir más iteraciones. Para un pequeño número de iteraciones, se pueden usar velocidades más altas. Tenga en cuenta que los desenfoques grandes necesitan muchas iteraciones para una reconstrucción adecuada, por lo que la velocidad debe ajustarse para evitar la degeneración de la solución.

Se suman todas las velocidades (del primer al cuarto orden), y las sumas “primer orden + segundo orden” y “tercer orden + cuarto orden” nunca deberían exceder el ±100 %, a menos que desee producir arte glitch.

🔗escala

Se supone que la difusión natural ocurre solo en las coordenadas vecinas más cercanas. Es decir, en cada iteración, cada píxel solo debe interactuar con sus 9 vecinos más cercanos.

Aquí, agilizamos un poco las cosas para ahorrar tiempo y reutilizar el esquema de wavelets multiescala del módulo ecualizador de contraste, para que podamos difundir en diferentes escalas. La escala máxima de difusión está definida por el parámetro extensión radial.

Independientemente de la difusión, un parámetro de nitidez le permite aumentar o disminuir los detalles en cada escala, al igual que los controles de spline del ecualizador de contraste. Junto con el control deslizante sensibilidad de borde, proporciona las mismas características que el módulo ecualizador de contraste (pestañas luma y bordes) pero en un espacio RGB referido a la escena.

🔗controles del módulo

🔗propiedades de difusión

iteraciones
El número de veces que el algoritmo debe ejecutarse sobre sí mismo. Los valores altos ralentizan el módulo pero permiten reconstrucciones más precisas, siempre que las velocidades de difusión sean lo suficientemente bajas.
radio central
La escala principal de la difusión. Cero hace que la difusión actúe con más fuerza en los detalles finos (utilizados para desenfocar y eliminar el ruido). Los valores distintos de cero definen el tamaño de los detalles que se difunden mucho (utilizados para aumentar el contraste local).
extensión radial
Esto le permite seleccionar la banda de radios de detalles para actuar, alrededor del radio central. El intervalo de difusión define un rango de escalas de detalle (entre ‘centro - intervalo’ y ‘centro + intervalo’) dentro del cual se limita la difusión. Los valores altos se difunden en una gran banda de radios, a expensas del tiempo de cálculo. Los valores bajos se difunden más cerca del radio central. Si planea desenfocar, el intervalo del radio debe ser aproximadamente el ancho del desenfoque de la lente y el radio central debe ser cero. Si planea aumentar el contraste local, pero no quiere afectar la nitidez o el ruido, el alcance del radio debe ser 3/4 de su radio central máximo.

Los radios se expresan en píxeles de la imagen de resolución completa, por lo que la configuración de copiar y pegar entre imágenes de diferente resolución puede generar resultados ligeramente diferentes, excepto por la nitidez a nivel de píxeles.

Para los ingenieros eléctricos, lo que se establece aquí es un filtro de paso de banda en el espacio de ondículas, utilizando una ventana frecuencial gaussiana centrada en el “radio central” con una caída (desviación estándar) de “intervalo de radio”. Las escalas de wavelet son análogas a las frecuencias armónicas y cada escala de wavelet define el radio de los detalles sobre los que actuar.

🔗velocidad de difusión

Velocidad de primer orden (gradiente)
La velocidad de difusión de las capas de ondículas de baja frecuencia en la dirección definida por el ajuste de anisotropía de primer orden. Los valores positivos aplican difusión, los valores negativos deshacen difusión, el cero no hace nada.
Velocidad de segundo orden (laplaciana)
La velocidad de difusión de las capas de ondículas de baja frecuencia en la dirección definida por el ajuste de anisotropía de segundo orden. Los valores positivos aplican difusión, los valores negativos deshacen difusión, el cero no hace nada.
Velocidad de tercer orden (gradiente de laplaciano)
La velocidad de difusión de las capas de ondículas de alta frecuencia en la dirección definida por el ajuste de anisotropía de tercer orden. Los valores positivos aplican difusión, los valores negativos deshacen difusión, el cero no hace nada.
Velocidad de cuarto orden (laplaciana de laplaciana)
La velocidad de difusión de las capas de ondículas de alta frecuencia en la dirección definida por el ajuste de anisotropía de cuarto orden. Los valores positivos aplican difusión, los valores negativos deshacen difusión, el cero no hace nada.

🔗direccionalidad de la difusión

anisotropía de primer orden
La dirección de difusión de las capas de ondículas de baja frecuencia en relación con la orientación del gradiente de baja frecuencia. El cero es isótropo, los valores negativos hacen que la difusión siga más de cerca los gradientes, los valores positivos hacen que la difusión siga más de cerca las isófotas.
anisotropía de segundo orden
La dirección de difusión de las capas de ondículas de baja frecuencia en relación con la orientación del gradiente de alta frecuencia. El cero es isótropo, los valores negativos hacen que la difusión siga más de cerca los gradientes, los valores positivos hacen que la difusión siga más de cerca las isófotas.
anisotropía de tercer orden
La dirección de difusión de las capas de ondículas de alta frecuencia en relación con la orientación del gradiente de baja frecuencia. El cero es isótropo, los valores negativos hacen que la difusión siga más de cerca los gradientes, los valores positivos hacen que la difusión siga más de cerca las isófotas.
anisotropía de cuarto orden
La dirección de difusión de las capas de ondículas de alta frecuencia en relación con la orientación del gradiente de alta frecuencia. El cero es isótropo, los valores negativos hacen que la difusión siga más de cerca los gradientes, los valores positivos hacen que la difusión siga más de cerca las isófotas.

🔗gestión de bordes

nitidez
aplica una ganancia en los detalles de las ondículas, independientemente de las propiedades de difusión. El cero no hace nada, los valores positivos se agudizan, los valores negativos se desdibujan. Esto es principalmente útil como una variable de ajuste cuando se crea brillo o se difumina, para conservar algo de nitidez mientras se agrega un brillo alrededor de los bordes. No se recomienda usar esto solo para afilar, ya que no hay nada que evite halos o flecos con esta configuración.
sensibilidad de borde
Aplicar una penalización sobre las velocidades de difusión cuando se detectan bordes. Esta detección utiliza la varianza local alrededor de cada píxel. Cero desactiva la penalización, los valores más altos hacen que la penalización sea más fuerte y más sensible a los bordes. Aumente si nota artefactos en los bordes como flecos y halos.
umbral de borde
defina un umbral de variación, que afecta principalmente a las áreas de baja variación (áreas oscuras o borrosas, o superficies planas). Los valores positivos aumentarán la penalización de las áreas de baja varianza, lo que es bueno para agudizar o aumentar el contraste local sin aplastar los negros. Los valores negativos disminuirán la penalización de las áreas de baja variación, lo que es bueno para eliminar el ruido o desenfocar con un efecto máximo en las regiones negras y borrosas.

🔗espacialidad de la difusión

umbral de enmascaramiento de luminancia
este control es útil si desea resaltar los puntos destacados de la pintura. Para valores superiores al 0%, la difusión solo se producirá en regiones con una luminancia superior a este ajuste. Tenga en cuenta que se agregará ruido gaussiano en estas regiones para simular partículas e inicializar la pintura interna.

🔗flujo de trabajo

La principal dificultad de este módulo es que, si bien su salida puede variar drásticamente según sus parámetros de entrada, estos parámetros no tienen un vínculo intuitivo con la vida cotidiana. Es probable que los usuarios se sientan abrumados, a menos que ya estén familiarizados con las ecuaciones diferenciales parciales de Fourier. Esta sección propone algunas formas de abordar este módulo sin la carga de tener que comprender la teoría subyacente.

🔗recomendaciones generales

Si tiene la intención de eliminar la borrosidad de su imagen con este módulo, siempre comience por corregir adecuadamente cualquier aberración cromática y ruido en la imagen, ya que la eliminación de la borrosidad puede magnificar estos artefactos. También es importante que no tenga píxeles negros recortados en su imagen. Estos se pueden corregir con la corrección de nivel de negro del módulo exposición.

Dado que funciona en canales RGB separados, es mejor aplicar este módulo después de calibración de color, de modo que comience con una imagen de entrada completamente neutra y con balance de blancos. Tenga en cuenta que aumentar el contraste local o la nitidez también dará lugar a un ligero contraste de color y un aumento de la saturación, lo que suele ser algo bueno. Dado que utiliza una regularización basada en la varianza para detectar bordes, también es mejor poner este módulo antes de cualquier operación no lineal.

🔗comenzando con los preajustes

Los ajustes preestablecidos proporcionados han sido ajustados por el desarrollador y probados en una variedad de imágenes para propósitos típicos. La forma más fácil es simplemente comenzar desde los ajustes preestablecidos y luego modificarlos según sea necesario:

  • si el efecto parece demasiado fuerte, disminuya el número de iteraciones

  • si aparecen artefactos, aumente la sensibilidad de bordes

  • si la corrección de desenfoque comienza a afectar a partes desenfocadas válidas (bokeh), reduzca el radio

  • si la corrección de desenfoque parece correcta en areas brillantes pero excesiva en oscuras, aumente el unmbral de borde

  • si la corrección de desenfique recorta píxeles negros, baje la “corrección de nivel de negro_ en el módulo exposición,

  • ajuste la nitidez a su gusto

🔗comenzar de cero

La configuración predeterminada del módulo es completamente neutral y no afectará su imagen. El espíritu del módulo es que cada orden afecta la textura de la imagen de una manera particular.

Comience ajustando los parámetros de primer orden (velocidad y anisotropía) para obtener una base inicial. Luego ajuste el radio. Esto afectará a las texturas más gruesas (las desdibujará o las hará más nítidas). Recuerde que el primer orden actúa sobre las bajas frecuencias de la escala wavelet y sigue una dirección paralela o perpendicular al gradiente de las bajas frecuencias.

A continuación, comience a ajustar los parámetros de segundo orden (velocidad y anisotropía). El segundo orden también actúa sobre las bajas frecuencias de la escala wavelet pero esta vez sigue una dirección paralela o perpendicular al gradiente de las altas frecuencias, que puede ser la dirección de máxima nitidez o de ruido. Esto se puede usar para reducir el ruido (usando el segundo orden en el modo de difusión, con valores positivos) cuando usó el primer orden en el modo de nitidez (con valores negativos).

Estos dos pasos se pueden realizar en la imagen alejada. Recuerde que, si bien se ha tenido mucho cuidado en hacer que el resultado visual del algoritmo sea bastante invariable a escala, la vista previa será exacta solo cuando se amplíe 1:1. En cualquier caso, cualquier cosa que suceda a nivel de píxel (radio < 2px) no será visible para niveles de zoom inferiores al 50%.

En este punto, es posible que desee modificar la sensibilidad del borde para solucionar cualquier artefacto del borde. En teoría, la difusión en la dirección de las isófotas asegura que la difusión esté contenida dentro de los bordes, pero esto no es suficiente cuando esquinas y formas convexas nítidas están presentes en la imagen.

Cuando el control de sensibilidad de los bordes se ha ajustado para producir resultados satisfactorios, la imagen suele volverse bastante suave. En la mayoría de los casos será necesario, en este punto, aumentar el número de iteraciones para compensar. Esto vendrá con una penalización de rendimiento, así que tenga cuidado con la compensación de rendimiento/calidad dependiendo de su hardware. Si no puede aumentar el número de iteraciones, deberá aumentar la velocidad de difusión.

El paso final es afinar el tercer y cuarto orden, que se encargan de las altas frecuencias de cada escala de wavelet. Deberá ser mucho más cuidadoso con estas configuraciones que con la primera y la segunda orden, ya que pueden hacer que el ruido explote muy rápido.

El tercer orden sigue la dirección del gradiente o isófota de la capa de baja frecuencia, por lo que puede usarse para guiar la difusión de alta frecuencia en una dirección que es más probable que sea legítima con respecto a los bordes reales (y menos propensa a captar ruido).

El cuarto orden sigue la dirección del gradiente o isófota de la capa de alta frecuencia y es más probable que capte el ruido. La difusión en el cuarto orden es la mejor manera de reducir el ruido sin afectar demasiado la nitidez, ya sea como un eliminador de ruido independiente o como un paso de regularización en un proceso de desenfoque.

🔗usando múltiples instancias para la reconstrucción de imágenes

El ruido tras un filtrado puede beneficiarse de la introducción de un proceso de difusión; esto se puede aplicar como un paso adicional después del módulo reducción de ruido (perfilado).

Por el contrario, los siguientes problemas ópticos pueden beneficiarse de la reconstrucción al deshacer el proceso de difusión:

  1. desenfoque introducido por el filtro de paso bajo (LPF) de un sensor y/o suavizado realizado por el módulo interpolación cromática,

  2. difuminar textura

  3. niebla/neblina

  4. difusión de la luz (usando un difusor que es demasiado grande), lo que lleva a una iluminación uniforme y falta de contraste local en el sujeto.

Si bien más de uno de estos problemas puede afectar la misma imagen al mismo tiempo, es mejor tratar de solucionarlos por separado utilizando varias instancias del módulo. Al hacerlo, asegúrese de que los problemas se corrijan de escala gruesa a escala fina, y que la eliminación de ruido siempre ocurra primero. Es decir, sus instancias deberían aparecer en el siguiente orden de tubería:

  1. reducción de ruido,

  2. mejora del contraste local,

  3. eliminar neblina

  4. Corrección de difuminado de lente,

  5. corrección del sensor y de la interpolación cromática

Comenzar con las reconstrucciones de escala más gruesa reduce la probabilidad de introducir o aumentar el ruido al realizar las reconstrucciones de escala más fina. Esto no es intuitivo porque estos procesos no suceden en este orden durante la formación de la imagen. Por la misma razón, la eliminación de ruido siempre debe ocurrir antes de cualquier intento de perfilar o aumentar la agudeza.

🔗notas y advertencias

Si bien este módulo está diseñado para no variar en escala, su salida solo se puede garantizar con un zoom del 100 % y una exportación de alta calidad o tamaño completo. Los resultados en niveles de zoom más bajos o dimensiones de exportación pueden o no coincidir con sus expectativas.

Al configurar un algoritmo de desenfoque, intente tener en cuenta que muchas de las mejores imágenes de la historia de la fotografía se tomaron con lentes que no eran ni remotamente tan nítidos como los disponibles en la actualidad. Aunque la tendencia actual es construir y vender lentes cada vez más nítidas y hacer que el software aplique cantidades increíbles de nitidez en la parte superior, esta moda no conduce a mejores imágenes y hace que el proceso de retoque sea más tedioso. El enfoque suave y un poco de desenfoque también tienen algunos méritos poéticos que las imágenes HD desinfectadas quirúrgicamente pueden no transmitir.

Cabe señalar que el contraste global (utilizando curvas de tono simples o niveles de blanco y negro) también afecta nuestra percepción de la nitidez, que es bastante diferente de la nitidez óptica (resolución óptica). Los ojos humanos solo son sensibles al contraste local, que puede provenir de la nitidez óptica (por ejemplo, ausencia de difusión, bordes delgados), así como de transiciones tonales amplificadas. Si se aplica algún mapeo de tonos global para aumentar el contraste, la imagen se verá más nítida. Si se utiliza un mapeo de tonos para disminuir el contraste, la imagen se verá más borrosa. En ninguno de estos casos los bordes reales de los objetos se ven afectados de ninguna manera, y las consecuencias perceptivas son pura ilusión.

Parte del proceso de envejecimiento es la pérdida de la vista. La cantidad de nitidez que las personas mayores de 50 encuentran agradable puede no ser la misma que para las personas de 20 años. Vale la pena considerar la nitidez para obtener un resultado plausible (que coincida con su percepción cotidiana) en lugar de un resultado agradable (que puede verse bien solo para personas con la misma vista que usted).

Finalmente, evaluar la nitidez de las imágenes ampliadas a 1:1 (100%) o más es una tarea tonta. En museos, exposiciones e incluso en la pantalla, el público en general mira las imágenes como un todo, no con una lupa. Además, en la mayoría de los usos prácticos, las fotografías rara vez superan una resolución de 3000 × 2000 píxeles (aproximadamente una impresión de 300 DPI en dimensiones A4/carta) lo que, para sensores de 24 Mpx, significa reducir la escala en un factor de 4. Al examinar un archivo de 24 Mpx en 1:1, en realidad estás mirando una imagen que nunca existirá. La nitidez a nivel de píxel, en este contexto, es una pérdida de tiempo y de ciclos de CPU.

translations