Blog

El Blog de Visión por Computador: Llevando la tecnología a la industria

Mejora1

Viendo lo Invisible I: Escenas con Niebla

Durante muchos siglos, el efecto de la atmósfera en el color y la visibilidad de objetos en una escena abierta exterior han interesado a distintos colectivos, inicialmente artistas, después físicos y matemáticos, y en las últimas décadas a ingenieros del área de procesamiento de la señal y visión por ordenador.

En escenas naturales, cuando la distancia entre el observador y el objeto aumenta, el color de la atmósfera tiende a reemplazar al color del objeto, produciendo una pérdida gradual del contraste, hasta que el objeto finalmente desaparece contra el horizonte. Este efecto, llamado perspectiva aérea, ya era estudiado por el mismísimo Leonardo da Vinci en la elaboración de sus pinturas, y de hecho, se trata de una característica visual que el ojo humano utiliza para distinguir mejor que objetos están más lejos, comparando cuánto más azulados aparecen unos con respecto a otros.

En realidad, tanto la distancia como la composición de la atmósfera influencian este fenómeno de desaparición de la visibilidad. Es lo que conocemos como neblina, que se puede observar al tomar una imagen o al mirar a zonas lejanas.

Los objetos lejanos se vuelven menos nítidos y mucho más atenuados, por lo que la calidad visual de los mismos se ve reducida. Esto hace que sea complejo analizar zonas lejanas de la imagen o incluso deteriora las imágenes obtenidas por equipos astronómicos terrestres.

En años recientes se han desarrollado métodos específicos para tratar este problema permitiendo recuperar esta degradación de la imagen producida por el efecto de la atmósfera. En este post explicaremos en qué consiste el método conocido como Dark Channel Dehazing.

El Modelo Matemático:

A la hora de intentar restaurar una imagen que ha sido sometida a un proceso de degradación físico como el que hemos descrito, es importante disponer de un modelo matemático que imite fielmente dicho proceso para invertir el efecto. Uno de los modelos más populares es el llamado modelo dicromático de la luz. Primero escribiremos la ecuación y después la explicaremos:

En esta ecuación, la imagen sin degradar la hemos llamado J (vectorial, ya que consideramos los tres canales de la imagen, R(ed), G(reen) y B(lue), y la ignoraremos de aquí en adelante). Ésta aparece multiplicada por t (que varía entre 0 y 1), cantidad conocida como transmisión. La transmisión de la luz decrece exponencialmente con la distancia al observador según la ley de Lambert_Beer, modulada por un coeficiente que tiene en cuenta la composición de la atmósfera, llamado coeficiente de atenuación:

de manera que representa una especie de inverso exponencial de la distancia en la escena: cuanto mayor es t, menor es la distancia del objeto al observador. Esto modela el hecho de que cuanto más lejos este el pixel, “peor” se verá. Para finalizar el modelo, se le añade un término aditivo de degradación, donde aparece A, que es el color de la niebla, y que viene multiplicado por t. De esta manera:

  • Cuando el objeto está a distancia 0 del observador, t es muy grande, hasta llegar a ser 1, con lo que el color de la niebla desaparece, y únicamente queda I=J.
  • Cuando el objeto está a mucha distancia del observador, t llega a ser 0, con lo que la imagen desaparece y únicamente queda la niebla, I=A.

Cómo solucionar el modelo:

El problema con la ecuación anterior es que no se puede simplemente restar el color de la niebla A y dividir por el inverso de la distancia t, porque no los conocemos. Hace falta estimarlos de alguna manera, y aquí entra en juego el Dark Channel Prior.

Esta expresión se refiere a una observación estadística simple: en una escena natural de exteriores no degradada por niebla, si seleccionamos un pixel al azar, casi siempre a su alrededor, debido a sombras, texturas (árboles, matorrales, montañas, tierra) y otros elementos, vamos a poder encontrar alguno de los tres canales en el que el valor del pixel sea muy bajo – usualmente, cuanto menor es el valor de un pixel, más intenso es su color; de hecho, el negro tiene coordenadas RGB de (0,0,0), y el blanco de (1,1,1). Es decir, por lo menos habrá un pixel en el que haya mucha cantidad de rojo, azul o verde. Por tanto, construimos una imagen nueva, a la que llamamos Dark Channel de la imagen original.

Para construir el Dark Channel, en cada pixel, se selecciona el valor mínimo de la vecindad. Matemáticamente, esto se puede escribir así:

Idealmente si una imagen no contiene nada de niebla, su Dark Channel será prácticamente negro:

”Una

El Dark Channel da la información que nos faltaba en la primera ecuación para poder resolver el modelo. La idea es la siguiente: Si la imagen tiene niebla, su Dark Channel no será negro, sino blanquecino. Este color blanquecino representa una buena estimación del color de la niebla A.

”Una

Por otra parte, la niebla es más densa a medida que hay más distancia con respecto al observador. Por tanto, de aquí también podemos obtener una estimación de la transmisión t.

”Una

Como se puede observar en la imagen anterior, el Dark Channel nos proporciona una fiel reconstrucción de las distancias en la escena: cuanto más negro más lejos está el objeto. Los árboles que inicialmente estaban completamente tapados por la niebla, aparecen a una profundidad ligeramente mayor que la casa, pero no a la misma profundidad que el cielo.

Una vez disponemos de información suficiente para invertir el modelo, ya simplemente se trata de realizar un par de operaciones aritméticas simples, y podemos obtener la imagen J sin degradar por la niebla. Veamos unos cuantos resultados de este procesamiento:

”Imagen
”Imagen
”Imagen

En estos momentos, estamos aplicando estas técnicas para la mejora de imágenes en situaciones complejas tales como fuego, imagen submarina, lluvia, niebla, nieve, entornos complejos (factorías) para diversas aplicaciones tales como control de tráfico, seguridad, control de calidad… Estas técnicas permiten el uso de tecnologías de visión artificial en condiciones extremas.

””
””

En futuras entradas, analizaremos cómo adaptar esta eficiente estrategia a la eliminación de la degradación que provoca el medio acuático. Las condiciones son bien distintas, ya que bajo el agua, el color rojo desaparece antes que el verde y el azul, pero unas modificaciones del proceso explicado nos permitirán recuperar la visibilidad también en este tipo de imágenes .

El Blog de Visión por Computador: Llevando la tecnología a la industria

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR