¿Cuáles son los pros y los contras de los diferentes algoritmos de demostración de Bayer?

25

Los sensores de Bayer usan un patrón de píxeles rojos, verdes y azules, y los combinan en una imagen de color final, con un píxel por cada sensor de color . Esto podría hacerse a través de una combinación "ingenua" de sensores vecinos, pero he oído hablar de enfoques más complicados con nombres como AHD, HPHD y AMaZE.

¿Cuáles son estos otros enfoques y qué ventajas aportan? ¿Tienen debilidades más allá de la complejidad informática?

Me imagino que el enfoque utilizado para JPEG en la cámara es más estricto, pero claramente se necesita mucha investigación y desarrollo en esta área. ¿La potencia de procesamiento limitada disponible en la cámara fuerza algún compromiso en esta área?

mattdm
fuente
Podría estar equivocado, pero tenía la impresión de que la demostración se produce en la cámara; de lo contrario, la imagen sufriría un alias. Hubo un artículo interesante sobre esto en una de las recientes Fotografía Popular que habla sobre el Sigma (sensor Foveon X3), que es una de las pocas cámaras que no tiene un sensor bayer.
Jakub Sisak GeoGraphics
1
Bueno, una breve investigación indica que AHD, o Demosaicing Dirigido por Homogeneidad Adaptativa, es el "estándar de la industria", y parece ser utilizado por ACR / LR (al menos desde hace un par de versiones ... quién sabe si tienen introdujo algo más avanzado con ACR 6.xy LR4.x). Parece un algoritmo ponderado que tiene como objetivo reducir el color falso.
jrista
77
@Jakub: se produce la eliminación de humo en la cámara para imágenes JPEG. El punto completo de una imagen RAW es que aún NO ha sido desfavorecida, y es la grabación "en bruto" de los datos de píxeles directamente del sensor sin ningún procesamiento adicional (fuera de su amplificación básica para lograr el ISO necesario). de filtro de paso (filtro AA) elimina el alias al "difuminar" físicamente las frecuencias espaciales por debajo de la velocidad de nyquist del sensor.
jrista
Tenga en cuenta que los filtros de color "Rojo", "Verde" y "Azul" en nuestros conjuntos Bayer no son iguales a los emisores Rojo, Verde y Azul en nuestros dispositivos RGB. Es lamentable que usemos los mismos nombres para ambos.
Michael C
Eh, realmente están lo suficientemente cerca como para tratar de esa manera. No obtendrá el color perfecto, pero está en el estadio de béisbol. Vea la vista ampliada en petapixel.com/2013/02/12/… por ejemplo, solo visualmente, los colores de los filtros son definitivamente los que los identificamos.
mattdm

Respuestas:

19

Hace unos meses me sorprendió descubrir que mi SDK de cámara de visión artificial utilizaba la "interpolación" vecina más cercana en su función bayer incorporada. Es el tipo más rápido, pero el peor, da bordes duros, especialmente cuando comienza a hacer cálculos matemáticos en los canales de imagen para la constancia del color o la invariancia del brillo. Encontré esta revisión de algoritmos:

http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf

El siguiente paso son las interpolaciones bilineales y bicúbicas, que pueden calcularse bastante rápido porque equivalen solo a núcleos de convolución. Estos dan dientes de sierra de colores en los bordes inclinados, bilineales más que bicúbicos.

Puede verse en este documento y con datos de calidad cuantificados en 5 algoritmos diferentes:

http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf

Es por eso que hicieron interpolaciones basadas en la dirección del borde. Sin embargo, estos tratan al verde como un "canal más importante" (ya que tiene la mejor resolución y explica la mayor parte de nuestra sensibilidad visual y la resolución de nuestros ojos). Y luego crean azul y rojo en función del canal verde, de una manera que preserva el tono. Esto a su vez hace que el contenido de alta frecuencia del canal verde sea más propenso a errores. La complejidad es mayor ya que tienen que detectar lo que está sucediendo y requieren múltiples pases. El muaré y el maíz son artefactos comunes de este tipo de interpolación.

Aquí muestran ejemplos de versiones adaptativas de homogeneidad de la homogeneidad y bilineales con y sin complementos de preservación de tono y preservación de bordes:

http://math.auburn.edu/~kilgota/ahd_bayer.pdf

Ese documento favorece a AHD y no muestra la parte negativa. En esta página puede ver los diferentes artefactos de patrones de Demosaicing adaptativo de homogeneidad, Agrupación de píxeles con patrones y Número variable de gradientes (pase el mouse sobre los nombres):

http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html

En resumen, hay una serie de supuestos empleados en estos algoritmos, y los artefactos ocurren cuando el supuesto no se cumple:

  • Por canal suavidad. Si los vecinos más cercanos no son iguales, haga la transición sin problemas. Artefacto: sierras / cremalleras, suavidad
  • Constancia de brillo con bordes dirigidos (dirección bilineal). Artefactos: muaré de textura de alta frecuencia, franjas de color
  • Hue constancia. si en un vecindario el tono es el mismo, entonces, si un canal cambia, los otros tienen que seguirlo. Artefactos: cremalleras de color en los bordes de color
  • La constancia se puede predecir a partir de los verdes. Artefacto: laberintos
Michael Nielsen
fuente
Pregunta rápida: en la última línea, ¿quiere decir "maíces" (tipos de maíz) o "laberintos"? En cualquier caso, agradecería un poco más de expansión de lo que podría ser este tipo de artefacto.
mattdm
Ratón en un laberinto.
Michael Nielsen
Genial :) Creo que conozco el artefacto al que se refiere, pero no estoy muy seguro. Es un patrón aleatorio de nivel de píxel de líneas horizontales y verticales cortas (posiblemente mezcladas con ruido), ¿verdad? Es interesante saber de dónde viene esto; de hecho, casi hice una pregunta al respecto el otro día, porque supuse que era un artefacto NR.
mattdm
son esas líneas sí y proviene de la forma en que el algoritmo bayer intenta adivinar los datos.
Michael Nielsen
5

Empecé a jugar un poco con esto y descubrí que el enfoque ingenuo no es tan malo. Eso es simplemente tratar cada color por separado e interpolar para obtener el entre píxeles. El principal inconveniente de esto es que si estás mirando píxeles en un lugar donde hay un alto contraste, puedes ver un poco de franjas de color. Dicho de otra manera, si tiene un área gris claro que linda con un área negra, verá unos pocos píxeles de colores en el límite. Afortunadamente, estos promedian en general, pero si el borde es casi vertical o casi horizontal, promedian en una frecuencia baja. El mismo efecto puede ser aún más obvio en líneas finas y brillantes que son casi verticales u horizontales.

Aquí hay un ejemplo. Esta foto fue tomada deliberadamente como una foto de prueba:

Tenga en cuenta las bandas aparentes de la línea de acabado cromado. Para poner esto en perspectiva, aquí está el cuadro completo:

He pensado en un enfoque alternativo, pero hasta ahora siempre ha habido otras cosas que hacer primero. Este esquema buscaría encontrar solo el brillo primero. Este sería el canal único de datos de imagen si la imagen fuera en blanco y negro. Cada sensor contribuye un poco a eso, aunque los colores no contribuyen por igual. Una vez que se determina la intensidad, debe interpolar los colores como en el método ingenuo, pero usar el resultado solo para establecer los colores de tal manera que se conserve la intensidad. La intensidad tendría un mayor ancho de banda o sería más nítida en términos fotográficos que la información del tono. La televisión analógica utilizó este truco para reducir los requisitos de ancho de banda de una imagen en color. Se salieron con la suya porque el sistema visual humano le da mayor importancia a la intensidad que los colores, particularmente el rojo.

De todos modos, esos son solo algunos pensamientos. Como dije, en realidad aún no lo he intentado ni he trabajado en los detalles. Algún día.

Olin Lathrop
fuente
3

Tengo entendido que las diferentes versiones de proceso en Lightroom (hasta ahora tenemos 2003, 2010 y 2012) corresponden, entre otras cosas, a diferentes algoritmos de demostración. Otro software interesante es UFRaw que ofrece lo siguiente (cita de la página web):


Después de establecer el balance de blancos, UFRaw interpola el patrón Bayer.

  • La interpolación AHD es la interpolación adaptativa dirigida por la homogeneidad. Es la interpolación predeterminada.
  • La interpolación de VNG utiliza la interpolación de número variable de gradientes basada en el umbral. Esta solía ser la interpolación predeterminada y todavía es muy buena .
  • Se debe utilizar la interpolación de cuatro colores VNG si obtiene artefactos de patrones Bayer en su foto (consulte las Preguntas frecuentes de DCRaw para obtener más detalles).
  • La interpolación de PPG significa interpolación de agrupación de píxeles modelada. Es casi tan bueno como todo lo anterior y mucho más rápido.
  • La interpolación bilineal es una interpolación muy básica pero es mucho más rápida.

Esto podría proporcionar algo de material para experimentar. Por cierto, UFRaw parece ser de código abierto, lo que le permite echar un vistazo a los algoritmos mismos.

Francesco
fuente
0

En astrofotografía, este tema se investiga profundamente, porque cuando se usa un sensor de color de una sola toma, se pierde mucha resolución por desbarbado. Por el lado positivo, el uso de un archivo RAW aún obtiene acceso a los datos originales y puede procesarse antes de la aplicación de color. Este tema se aleja mucho del lado del software.

En resumen, si tiene acceso a muchas imágenes con los mismos datos de sujeto (que es algo que se hace para reducir el ruido del sensor), puede cambiar una conversión de un solo cuadro con AHD por un enfoque de llovizna que puede recuperar la resolución perdida. La elección depende del tipo de datos de origen que tenga disponibles. La mayoría de los fotógrafos solo tienen una sola imagen para usar.

Algunos software que he usado con opciones para los procesos de Debayering son: Deep Sky Stacker y Pix Insight. Hay otros también. Muchos se basan en DCRAW .

Aquí está el enlace para el artículo en la página de Deep Sky Stacker donde discuten algunas de las opciones: Opciones de Debayering

smigol
fuente
1
Esto es interesante (¡gracias!) Pero no creo que responda la pregunta. Ese último enlace parece prometedor, pero se centra en las alternativas al demosaicing. Sobre el tema en cuestión, solo dice "Hay muchos métodos de interpolación diferentes que producen resultados malos o buenos (lineal, degradado ...) pero todos están degradando la calidad de la imagen final al adivinar cuáles deberían ser los colores faltantes. " Pero no va más allá en los detalles prácticos.
mattdm