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:
-
recover the original image from sensors with an anti-aliasing filter or mitigate the blur created by most demosaicing algorithms (use one of the sharpen demosaicing presets and move the module before the input color profile module in the pipeline),
-
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),
-
create random patterns and textures by increasing noise (over time, with iterations, noise will connect with neighbors to create random specks).
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 direcció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 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
Natural diffusion is supposed to happen only to the closest neighboring coordinates. That is, at each iteration, each pixel should only interact with its 9 nearest neighbors.
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
- 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.
🔗speed (sharpen ↔ diffuse)
In the following controls, positive values apply diffusion, negative values undo diffusion (i.e. sharpen) and zero does nothing.
- 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.
- 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.
- 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.
- 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.
🔗dirección
In the following controls, positive values cause diffusion to avoid edges (isophotes), negative values make diffusion follow gradients more closely, and zero affects both equally (isotropic).
- 1st order anisotropy
- The direction of diffusion of the low-frequency wavelet layers relative to the orientation of the gradient of the low-frequency (1st order speed setting).
- 2nd order anisotropy
- The direction of diffusion of the low-frequency wavelet layers relative to the orientation of the gradient of the high-frequency (2nd order speed setting).
- 3rd order anisotropy
- The direction of diffusion of the high-frequency wavelet layers relative to the orientation of the gradient of the low-frequency (3rd order speed setting).
- 4th order anisotropy
- The direction of diffusion of the high-frequency wavelet layers relative to the orientation of the gradient of the high-frequency (4th order speed setting).
🔗gestión del borde
- nitidez
- aplica una ganancia en los detalles de las ondículas, independientemente de las propiedades aplicadas anteriormente. 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
If you intend to deblur your image using this module, always start by properly correcting any chromatic aberrations and noise in the image, since the deblurring may magnify these artifacts. It is also important that you don’t have clipped black pixels in your image. These can be corrected with the black level correction of the exposure module.
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:
-
desenfoque introducido por el filtro de paso bajo (LPF) de un sensor y/o suavizado realizado por el módulo interpolación cromática,
-
difuminar textura
-
niebla/neblina
-
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:
-
reducción de ruido,
-
mejora del contraste local,
-
eliminar neblina
-
Corrección de difuminado de lente,
-
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).
Finally, assessing the sharpness of images zoomed to 1:1 (100%) or more is a foolish task. In museums, exhibitions and even on screen, the general audience looks at images as a whole, not with a magnifying glass. Moreover, in most practical uses, photographs rarely exceed a resolution of 3000×2000 pixels (roughly a 300 DPI print at A4/Letter dimensions) which, for 24 megapixel sensors, means downscaling by a factor of 4. When examining a 24 megapixel file at 1:1, you are actually looking at an image that will never exist. Sharpening at pixel level, in this context, is a waste of time and CPU cycles.