Quels sont les avantages et les inconvénients des différents algorithmes de dématriçage Bayer?

25

Les capteurs Bayer utilisent un motif de pixels rouges, verts et bleus et fusionnent ceux-ci en une image couleur finale, avec un pixel pour chaque capteur de couleur unique . Cela pourrait se faire par un mélange "naïf" de capteurs voisins, mais j'ai entendu parler d'approches plus compliquées avec des noms comme AHD, HPHD et AMaZE.

Quelles sont ces autres approches et quels avantages apportent-elles? Ont-ils des faiblesses au-delà de la complexité du calcul?

J'imagine que l'approche utilisée pour le JPEG à huis clos est plus étroitement surveillée, mais il est clair que beaucoup de recherche et développement vont dans ce domaine. La puissance de traitement limitée disponible à huis clos force-t-elle des compromis dans ce domaine?

mattdm
la source
Je peux me tromper mais j'avais l'impression que le démosaiacing se produit à huis clos sinon l'image souffrirait d'un aliasing. Il y avait un article intéressant à ce sujet dans l'une des récentes photographies populaires parlant du Sigma (capteur Foveon X3) qui est l'un des rares appareils photo qui ne possède pas de capteur bayer.
Jakub Sisak GeoGraphics
1
Eh bien, un peu d'investigation rapide indique que l'AHD, ou Adaptive Homogeneity-Directed Demosaicing, est le "standard de l'industrie", et semble être utilisé par ACR / LR (au moins à partir de quelques versions il y a ... qui sait s'ils ont introduit quelque chose de plus avancé avec ACR 6.x et LR4.x). Cela ressemble à un algorithme pondéré qui vise à réduire les fausses couleurs.
jrista
7
@Jakub: Le dématriçage a lieu à huis clos pour les images JPEG. L'intérêt d'une image RAW est qu'elle n'a PAS encore été démasquée, et c'est l'enregistrement "brut" des données de pixels directement hors du capteur sans aucun traitement supplémentaire (en dehors de votre amplification de base pour atteindre l'ISO nécessaire). Le filtre passe-haut (filtre AA) élimine le repliement en «brouillant» physiquement les fréquences spatiales en dessous du taux de nyquist du capteur.
jrista
Gardez à l'esprit que les filtres de couleur "Rouge", "Vert" et "Bleu sur nos baies Bayer ne sont pas égaux aux émetteurs Rouge, Vert et Bleu de nos appareils RVB. Il est regrettable que nous utilisions les mêmes noms pour les deux.
Michael C
Eh, ils sont vraiment assez proches pour traiter de cette façon. Vous n'obtiendrez la couleur parfaite, mais il est dans le stade de baseball. Voir la vue agrandie sur petapixel.com/2013/02/12/… par exemple - juste visuellement, les couleurs des filtres sont certainement celles que nous les identifions.
mattdm

Réponses:

19

Il y a quelques mois, j'ai été surpris de constater que ma SDK de caméra de vision industrielle utilisait l '"interpolation" du plus proche voisin dans sa fonction de bayer intégrée. C'est le type le plus rapide, mais le pire, donnant des bords durs, surtout lorsque vous commencez à faire des calculs sur les canaux d'image pour la constance des couleurs ou l'invariance de la luminosité. J'ai trouvé cette revue d'algorithmes:

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

L'étape suivante consiste en des interpolations bilinéaires et bicubiques qui peuvent être calculées assez rapidement car elles ne représentent que des noyaux de convolution. Ceux-ci donnent des dents de scie colorées sur des bords inclinés - bilinéaires plus que bicubiques.

On peut le voir dans cet article, et avec des données de qualité quantifiées sur 5 algorithmes différents:

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

C'est pourquoi ils ont fait des interpolations basées sur la direction des bords. Cependant, ceux-ci traitent le vert comme un «canal plus important» (car il a la meilleure résolution et représente la majeure partie de notre sensibilité visuelle et de la résolution de nos yeux). Et puis ils créent du bleu et du rouge en fonction du canal vert, d'une manière qui préserve la teinte. Cela rend à son tour le contenu haute fréquence du canal vert plus sujet aux erreurs. La complexité est plus élevée car ils doivent détecter ce qui se passe et nécessitent plusieurs passes. Le moiré et le maïs sont des artefacts courants de ces types d'interpolation.

Ici, ils montrent des exemples de adaptatif homogénéité dématriçage et versions bilinéaires avec et sans addons de préservation de la teinte et de préservation des bords:

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

Ce document favorise l'AHD et ne montre pas la partie négative. Sur cette page, vous pouvez voir les différents artefacts de motif issus du dématriçage par homogénéité adaptative, du groupement de pixels à motifs et du nombre variable de dégradés (passez la souris sur les noms):

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

En résumé, un certain nombre d'hypothèses sont utilisées dans ces algorithmes et les artefacts se produisent lorsque l'hypothèse n'est pas vérifiée:

  • Lissé par canal. Si les voisins les plus proches ne sont pas les mêmes, effectuez la transition en douceur. Artefact: scies / fermetures éclair, douceur
  • Constance de la luminosité avec les bords dirigés (direction bilinéaire). Artefacts: moirage de texture haute fréquence, franges de couleur
  • Constance de teinte. si dans un quartier la teinte est la même, donc si un canal change, les autres doivent suivre. Artefacts: fermetures à glissière de couleur sur les bords de couleur
  • La constance peut être prédite à partir des verts. Artefact: labyrinthes
Michael Nielsen
la source
Question rapide - à la dernière ligne, voulez-vous dire "maïs" (types de maïs?) Ou "labyrinthes"? Dans les deux cas, j'apprécierais un peu plus d'expansion de ce que pourrait être ce type d'artefact.
mattdm
souris dans un labyrinthe.
Michael Nielsen
Cool :) Je pense que je connais l'artefact auquel il se réfère, mais je ne suis pas sûr. C'est un motif aléatoire au niveau des pixels de courtes lignes horizontales et verticales (éventuellement mélangées avec du bruit), non? Intéressant de savoir d'où cela vient - en fait, j'ai presque posé une question à ce sujet l'autre jour, car je pensais que c'était un artefact NR.
mattdm
ce sont ces lignes oui et cela vient de la façon dont l'algorithme de bayer essaie de deviner les données.
Michael Nielsen
5

J'ai commencé à jouer un peu avec ça, et j'ai trouvé que l'approche naïve n'était pas si mauvaise. C'est simplement traiter chaque couleur séparément et interpoler pour obtenir l'intervalle entre les pixels. Le principal inconvénient est que si vous regardez des pixels à un endroit où le contraste est élevé, vous pouvez voir une petite frange de couleur. Autrement dit, si vous avez une zone gris clair attenante à une zone noire, vous verrez quelques pixels colorés à la frontière. Heureusement, ces moyennes se dégagent en général, mais si le bord est presque vertical ou presque horizontal, elles se répartissent en moyenne sur une basse fréquence. Le même effet peut être encore plus évident sur de fines lignes lumineuses qui sont presque verticales ou horizontales.

Voici un exemple. Cette photo a été prise délibérément comme test de tir:

Notez l'apparente bande de la ligne de garniture chromée. Pour mettre cela en perspective, voici le cadre complet:

J'ai pensé à une approche alternative mais jusqu'à présent, il y a toujours eu d'autres choses à faire en premier. Ce schéma chercherait à trouver uniquement la luminosité en premier. Ce serait le seul canal de données d'image si l'image était en noir et blanc. Chaque sensel y contribue, bien que les couleurs ne contribuent pas également. Une fois que l'intensité est déterminée, vous devez alors interpoler les couleurs comme dans la méthode naïve, mais utiliser le résultat uniquement pour définir les couleurs de manière à préserver l'intensité. L'intensité aurait une bande passante plus élevée, ou serait plus nette en termes photographiques que les informations de teinte. La télévision analogique a utilisé cette astuce pour réduire les besoins en bande passante d'une image couleur. Ils s'en sont sortis parce que le système visuel humain accorde plus d'importance à l'intensité qu'aux couleurs, en particulier au rouge.

Quoi qu'il en soit, ce ne sont que quelques réflexions. Comme je l'ai dit, je n'ai pas encore essayé ni travaillé sur les détails. Un jour.

Olin Lathrop
la source
3

Je crois comprendre que les différentes versions de processus dans Lightroom (jusqu'à présent, nous avons 2003, 2010 et 2012) correspondent entre autres à différents algorithmes de dématriçage. Un autre logiciel intéressant est UFRaw qui offre ce qui suit (citation de la page Web):


Après avoir réglé la balance des blancs, UFRaw interpole le motif Bayer.

  • L'interpolation AHD est l'interpolation dirigée par homogénéité adaptative. Il s'agit de l'interpolation par défaut.
  • L'interpolation VNG utilise une interpolation basée sur un nombre variable de gradients. Auparavant, c'était l'interpolation par défaut et c'est toujours très bon .
  • L'interpolation VNG à quatre couleurs doit être utilisée si vous obtenez des artefacts de motif Bayer dans votre photo (voir la FAQ de DCRaw pour plus de détails).
  • L'interpolation PPG est synonyme d'interpolation Patterned Pixel Grouping. C'est presque aussi bon que tout ce qui précède et beaucoup plus rapide.
  • L'interpolation bilinéaire est une interpolation très basique mais elle est beaucoup plus rapide.

Cela pourrait fournir des éléments d'expérimentation. Soit dit en passant, UFRaw semble être Open source, ce qui vous permet de jeter un œil aux algorithmes eux-mêmes.

Francesco
la source
0

En astrophotographie, ce sujet est étudié en profondeur, car lors de l'utilisation d'un capteur de couleur à un coup, il y a beaucoup de résolution perdue par le débayage. Sur le plan positif, l'utilisation d'un fichier RAW permet toujours d'accéder aux données d'origine et il peut être traité avant l'application de couleur. Ce sujet est étroitement lié au côté logiciel des choses.

En bref, si vous avez accès à de nombreuses images avec les mêmes données de sujet (ce qui est fait pour réduire le bruit du capteur), vous pouvez échanger une conversion d'une seule image avec AHD pour une approche bruine qui peut récupérer la résolution perdue. Le choix dépend du type de données source dont vous disposez. La plupart des photographes n'ont qu'une seule image à utiliser.

Certains logiciels que j'ai utilisés avec des choix pour les processus de débayonnage sont: Deep Sky Stacker et Pix Insight. Il y a d'autres aussi. Beaucoup sont basés sur DCRAW .

Voici le lien pour l'article sur la page Deep Sky Stacker où ils discutent de certaines des options: Choix de débayonnage

smigol
la source
1
C'est intéressant (merci!) Mais je ne pense pas que cela réponde à la question. Ce dernier lien semble prometteur mais se concentre sur des alternatives au dématriçage. Sur le sujet à l'étude, il dit seulement "De nombreuses méthodes d'interpolation différentes sont disponibles produisant de mauvais à bons résultats (linéaire, dégradé ...) mais toutes dégradent la qualité de l'image finale en devinant quelles devraient être les couleurs manquantes. " Mais cela ne va pas plus loin dans les détails pratiques.
mattdm