El demosaicing (o de-mosaicing , demosaicking ), también conocido como reconstrucción de color , es un algoritmo de procesamiento de imágenes digitales que se utiliza para reconstruir una imagen a todo color a partir de las muestras de color incompletas que genera un sensor de imagen superpuesto con una matriz de filtros de color (CFA), como un filtro Bayer . También se conoce como interpolación CFA o desbayerización .
La mayoría de las cámaras digitales modernas adquieren imágenes utilizando un único sensor de imagen superpuesto con un CFA, por lo que el desmosaico es parte del proceso de procesamiento necesario para convertir estas imágenes en un formato visible.
Muchas cámaras digitales modernas pueden guardar imágenes en formato RAW, lo que permite al usuario crear un mosaico de ellas mediante software, en lugar de usar el firmware integrado de la cámara .
El objetivo de un algoritmo de desmosaico es reconstruir una imagen a todo color (es decir, un conjunto completo de tripletas de color) a partir de los canales de color con submuestreo espacial que genera el CFA. El algoritmo debe tener las siguientes características:
Una matriz de filtros de color es un mosaico de filtros de color ubicados frente al sensor de imagen. En el mercado, la configuración de CFA más utilizada es el filtro Bayer que se ilustra aquí. Este tiene filtros alternados de rojo (R) y verde (G) para las filas impares y filtros alternados de verde (G) y azul (B) para las filas pares. Hay el doble de filtros verdes que de rojos o azules, lo que responde a la mayor sensibilidad del ojo humano a la luz verde.
Dado que el submuestreo de color de un CFA por su naturaleza da como resultado aliasing , generalmente se coloca un filtro anti-aliasing óptico en la trayectoria óptica entre el sensor de imagen y la lente para reducir los artefactos de color falso (alias cromáticos) introducidos por la interpolación. [1]
Como cada píxel del sensor está detrás de un filtro de color, la salida es una matriz de valores de píxeles, cada uno de los cuales indica una intensidad bruta de uno de los tres colores del filtro. Por lo tanto, se necesita un algoritmo para estimar para cada píxel los niveles de color de todos los componentes de color, en lugar de un solo componente.
Para reconstruir una imagen a todo color a partir de los datos recopilados por la matriz de filtrado de color, se necesita una forma de interpolación para completar los espacios en blanco. Las matemáticas que se utilizan aquí están sujetas a la implementación individual y se denominan demosaicing.
En este ejemplo, utilizamos la interpolación bicúbica de Adobe Photoshop para simular los circuitos de un dispositivo de filtro Bayer, como una cámara digital .
La imagen que aparece a continuación simula la salida de un sensor de imagen con filtro Bayer; cada píxel tiene solo un componente rojo, verde o azul. La imagen original correspondiente se muestra junto con la reconstrucción en mosaico al final de esta sección.
Una cámara digital suele tener medios para reconstruir una imagen RGB completa utilizando la información anterior. La imagen resultante podría ser algo como esto:
La imagen reconstruida suele ser precisa en áreas de colores uniformes, pero tiene una pérdida de resolución (detalle y nitidez) y presenta artefactos en los bordes (por ejemplo, los bordes de las letras tienen franjas de color visibles y algo de rugosidad).
Estos algoritmos son ejemplos de interpolación multivariante en una cuadrícula uniforme, que utilizan operaciones matemáticas relativamente sencillas en instancias cercanas del mismo componente de color. El método más simple es la interpolación del vecino más cercano , que simplemente copia un píxel adyacente del mismo canal de color. No es adecuado para ninguna aplicación en la que la calidad importe, pero puede ser útil para generar vistas previas dados los recursos computacionales limitados. Otro método simple es la interpolación bilineal , mediante la cual el valor rojo de un píxel no rojo se calcula como el promedio de los dos o cuatro píxeles rojos adyacentes, y de manera similar para el azul y el verde. Los métodos más complejos que interpolan de forma independiente dentro de cada plano de color incluyen la interpolación bicúbica , la interpolación spline y el remuestreo de Lanczos .
Aunque estos métodos pueden obtener buenos resultados en regiones de imágenes homogéneas, son propensos a graves artefactos de desmosaico en regiones con bordes y detalles cuando se utilizan con CFA de color puro. [2] Sin embargo, la interpolación lineal puede obtener muy buenos resultados cuando se combina con un CFA espacio-espectral (pancromático). [3] Se podrían explotar modelos de formación simples de imágenes para el desmosaico. En imágenes naturales dentro del mismo segmento, la proporción de colores debería conservarse. Este hecho se explotó en una interpolación sensible a la imagen para el desmosaico. [4]
Los algoritmos de demosaico más sofisticados explotan la correlación espacial y/o espectral de los píxeles dentro de una imagen en color. [5] La correlación espacial es la tendencia de los píxeles a asumir valores de color similares dentro de una pequeña región homogénea de una imagen. La correlación espectral es la dependencia entre los valores de píxeles de diferentes planos de color en una pequeña región de la imagen.
Estos algoritmos incluyen:
Se ha demostrado que la superresolución y el desmosaico son dos caras del mismo problema y es razonable abordarlos en un contexto unificado. [10] Cabe señalar que ambos problemas se enfrentan al problema del aliasing. Por lo tanto, especialmente en el caso de la reconstrucción de vídeo (de varios fotogramas), un enfoque conjunto de superresolución y desmosaico proporciona la solución óptima.
Algunos métodos pueden producir mejores resultados para escenas naturales y otros para material impreso, por ejemplo. Esto refleja el problema inherente de estimar píxeles que no se conocen con certeza. Naturalmente, también existe la omnipresente disyuntiva entre velocidad y calidad de la estimación.
Cuando se tiene acceso a los datos de imagen en bruto de una cámara digital, se puede utilizar un software informático con una variedad de algoritmos de desmosaico diferentes en lugar de limitarse al que está integrado en la cámara. Algunos programas de revelado en bruto, como RawTherapee y darktable , ofrecen al usuario la opción de elegir qué algoritmo se debe utilizar. Sin embargo, la mayoría de los programas están codificados para utilizar un método en particular. Las diferencias en la reproducción de los detalles más finos (y la textura del grano) que surgen de la elección del algoritmo de desmosaico se encuentran entre las principales diferencias entre los distintos reveladores en bruto; a menudo, los fotógrafos prefieren un programa en particular por razones estéticas relacionadas con este efecto.
Los artefactos de color debidos al desmosaico proporcionan pistas importantes para identificar falsificaciones de fotografías. [11]