A demosaicing (también demosaicing , demosaicking o debayering ) algoritmo es un proceso de imagen digital utilizado para reconstruir una imagen a todo color de la incompleta salida muestras de color a partir de un sensor de imagen superpuesta con una matriz de filtro de color (CFA). También se conoce como interpolación CFA o reconstrucción de color .
La mayoría de las cámaras digitales modernas adquieren imágenes utilizando un solo sensor de imagen superpuesto con un CFA, por lo que la demostración 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 un formato sin procesar, lo que permite al usuario realizar demostraciones mediante software, en lugar de utilizar el firmware integrado de la cámara .
Objetivo
El objetivo de un algoritmo de demostración es reconstruir una imagen a todo color (es decir, un conjunto completo de triples de color) a partir de la salida de canales de color espacialmente submuestreados del CFA. El algoritmo debe tener las siguientes características:
- Evitar la introducción de artefactos de colores falsos, como alias cromáticos , cremalleras (cambios abruptos y no naturales de intensidad en varios píxeles vecinos) y franjas violetas.
- Conservación máxima de la resolución de la imagen
- Baja complejidad computacional para un procesamiento rápido o una implementación eficiente del hardware en la cámara
- Capacidad de análisis para una reducción precisa del ruido
Matriz de filtros de color
Una matriz de filtros de color es un mosaico de filtros de color delante del sensor de imagen. Comercialmente, la configuración CFA más utilizada es el filtro Bayer que se ilustra aquí. Esto tiene filtros alternos rojo (R) y verde (G) para filas impares y filtros alternos verde (G) y azul (B) para filas pares. Hay el doble de filtros verdes que rojos o azules, lo que satisface 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 un aliasing , generalmente se coloca un filtro óptico anti-aliasing en el camino óptico entre el sensor de imagen y la lente para reducir los artefactos de color falso (alias cromáticos) introducidos por interpolación. [1]
Dado que 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 para todos los componentes de color, en lugar de un solo componente.
Ilustración
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 aquí están sujetas a implementación individual y se denominan demostraciones.
En este ejemplo, usamos la interpolación bicúbica de Adobe Photoshop para simular los circuitos de un dispositivo de filtro de Bayer, como una cámara digital .
La siguiente imagen simula la salida de un sensor de imagen filtrada por Bayer; cada píxel tiene solo un componente rojo, verde o azul. La imagen original correspondiente se muestra junto con la reconstrucción demostrada al final de esta sección.
Muestras de filtros Bayer | ||
rojo | Verde | Azul |
Una cámara digital normalmente tiene medios para reconstruir una imagen RGB completa utilizando la información anterior. La imagen resultante podría ser algo como esto:
Original | Reconstruido |
La imagen reconstruida suele ser precisa en áreas de colores uniformes, pero tiene una pérdida de resolución (detalle y nitidez) y tiene artefactos en los bordes (por ejemplo, los bordes de las letras tienen franjas de color visibles y algo de aspereza).
Algoritmos
Interpolación simple
Estos algoritmos son ejemplos de interpolación multivariante en una cuadrícula uniforme, utilizando 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 donde la calidad importa, 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 se 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 imagen homogéneas, son propensos a graves artefactos de demostración 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 simples de formación de imágenes para demostraciones. En imágenes naturales dentro del mismo segmento, se debe preservar la proporción de colores. Este hecho se aprovechó en una interpolación sensible a la imagen para realizar demostraciones. [4]
Correlación de píxeles dentro de una imagen
Los algoritmos de demostración más sofisticados explotan la correlación espacial y / o espectral de 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 imagen.
Estos algoritmos incluyen:
- La interpolación del número variable de gradientes (VNG) [6] calcula los gradientes cerca del píxel de interés y utiliza los gradientes más bajos (que representan partes más suaves y similares de la imagen) para hacer una estimación. Se utiliza en las primeras versiones de dcraw y adolece de artefactos de color.
- La agrupación de píxeles (PPG) [7] utiliza supuestos sobre paisajes naturales al realizar estimaciones. Tiene menos artefactos de color en imágenes naturales que el método de número variable de degradados; se introdujo en dcraw desde rel. 8.71 como "Agrupación de píxeles con patrones".
- Adaptive Homogeneity-Directed (AHD) es, en cierto modo, el estándar de la industria. La interpolación selecciona la dirección de la interpolación para maximizar una métrica de homogeneidad, minimizando así típicamente los artefactos de color. [8] Se ha implementado en versiones recientes de dcraw. [9]
- Minimización de Aliasing y Eliminación de Cremalleras (AMaZE) diseñado por Emil J. Martinec, lento pero con un gran rendimiento especialmente en capturas de bajo ruido. Las implementaciones de AMaZE se pueden encontrar en RawTherapee y darktable .
Superresolución de video / demosaicing
Se ha demostrado que la super-resolución y demosaicing son dos caras de un mismo problema y es razonable para abordarlos en un contexto unificado. [10] Tenga en cuenta que ambos problemas abordan el problema de los alias. Por lo tanto, especialmente en el caso de la reconstrucción de video (fotogramas múltiples), un enfoque conjunto de superresolución y demostración proporciona la solución óptima.
Compensaciones
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 definitivamente. Naturalmente, también existe el omnipresente equilibrio entre la velocidad y la calidad de la estimación.
Uso en software de procesamiento de imágenes por computadora
Cuando se tiene acceso a los datos de imagen sin procesar de una cámara digital, se puede usar un software de computadora con una variedad de algoritmos de demostración diferentes en lugar de limitarse al integrado en la cámara. Algunos programas de desarrollo en bruto, como RawTherapee , brindan 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 renderización de los detalles más finos (y textura de grano) que provienen de la elección del algoritmo de demostración se encuentran entre las principales diferencias entre varios desarrolladores en bruto; A menudo, los fotógrafos preferirán un programa en particular por razones estéticas relacionadas con este efecto.
Los artefactos de color debidos a la demostración proporcionan pistas importantes para identificar falsificaciones de fotografías. [11]
Ver también
- Filtro de Bayer
Referencias
- ^ Adrian Davies; Phil Fennessy (2001). Imágenes digitales para fotógrafos (Cuarta ed.). Prensa Focal. ISBN 978-0-240-51590-8.
- ^ Lanlan Chang; Yap-Peng Tan (2006). "Demostración de matrices de filtros de color híbridos para una supresión efectiva de artefactos" (PDF) . Revista de imágenes electrónicas . 15 : 2. Código Bibliográfico : 2006JEI .... 15a3003C . doi : 10.1117 / 1.2183325 . Archivado desde el original (PDF) el 29 de diciembre de 2009.
- ^ Keigo Hirakawa; Patrick J. Wolfe. "Diseño de matriz de filtros de color espacio-espectral para una fidelidad de imagen mejorada" (PDF) . Archivado desde el original (PDF) el 20 de julio de 2011. Cite journal requiere
|journal=
( ayuda ) - ^ R. Kimmel. Demosaicing: reconstrucción de imágenes a partir de muestras de CCD en color . Transacciones de IEEE sobre procesamiento de imágenes, 8 (9): 1221–8, septiembre de 1999.
- ^ Lanlan Chang; Yap-Peng Tan (2006). "Demostración de matrices de filtros de color híbridos para una supresión efectiva de artefactos" (PDF) . Revista de imágenes electrónicas . 15 : 013003. Código Bibliográfico : 2006JEI .... 15a3003C . doi : 10.1117 / 1.2183325 . Archivado desde el original (PDF) el 29 de diciembre de 2009.
- ^ Ting Chen. "Interpolación utilizando un número variable de gradientes basado en el umbral" . Archivado desde el original el 22 de abril de 2012.
- ^ Chuan-kai Lin, Universidad Estatal de Portland (2004). "Agrupación de píxeles para la eliminación de los efectos de la matriz de filtros de color" . Archivado desde el original el 23 de septiembre de 2016.
- ^ Kiego Hirakawa; Thomas W. Parks (2005). "Algoritmo de demostración adaptativo dirigido por homogeneidad" (PDF) . Transacciones IEEE sobre procesamiento de imágenes . 14 (3): 360. Bibcode : 2005ITIP ... 14..360H . doi : 10.1109 / TIP.2004.838691 . S2CID 37217924 .
- ^ Decodificación de fotos digitales sin procesar en Linux Archivado el 19 de octubre de 2016 en Wayback Machine , Dave Coffin.
- ^ Sina Farsiu; Michael Elad; Peyman Milanfar (2006). "Demosaicing de múltiples cuadros y superresolución de imágenes en color" (PDF) . Transacciones IEEE sobre procesamiento de imágenes . 15 (1): 141-159. Código Bibliográfico : 2006ITIP ... 15..141F . CiteSeerX 10.1.1.132.7607 . doi : 10.1109 / TIP.2005.860336 . PMID 16435545 . S2CID 2989394 .
- ^ YiZhen Huang; YangJing Long (2008). "Demosaicking del reconocimiento con aplicaciones en autenticación de fotografías digitales basadas en un modelo de correlación de píxeles cuadráticos" (PDF) . Proc. Conferencia IEEE sobre visión artificial y reconocimiento de patrones : 1–8. Archivado desde el original (PDF) el 17 de junio de 2010.
enlaces externos
- HowStuffWorks : cómo funcionan las cámaras digitales, más sobre la captura del color , con un algoritmo de demostración en la animación del trabajo
- Interpolación de componentes RGB en imágenes Bayer CFA , por Eric Dubois
- Demosación de color usando la variación de las diferencias de color por King-Hong Chung y Yuk-Hee Chan
- Demostración de matriz de filtros de color híbridos para una supresión efectiva de artefactos por Lanlan Chang y Yap-Peng Tan
- Demostración de imágenes: una encuesta sistemática de Xin Li , Bahadir Gunturk y Lei Zhang
- Demosaicking: Interpolación de matriz de filtros de color en cámaras digitales de un solo chip , BK Gunturk, J. Glotzbach, Y. Altunbasak, RW Schafer y RM Mersereau
- Diseño de matriz de filtros de color espacio-espectral para una fidelidad de imagen mejorada , Keigo Hirakawa y Patrick J. Wolfe
- Demostración eficaz de decisiones suaves mediante filtrado direccional y refinamiento de artefactos integrados , Wen-Tsung Huang, Wen-Jan Chen y Shen-Chuan Tai
- Demosaicking basado en similitudes por Antoni Buades, Bartomeu Coll, Jean-Michel Morel, Catalina Sbert, con código fuente y demostración en línea
- Una lista de técnicas de demostración existentes
- Sitio interactivo que simula datos de Bayer y varios algoritmos de demostración, lo que permite imágenes personalizadas (muertas)
- Demosaicking basado en geometrías de Sira Ferradans, Marcelo Bertamio y Vicent Caselles con código fuente y papel de referencia.
- Una lista completa de códigos de demostración y binarios disponibles en línea (muerto)