Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Contributor: bobo38réduction de bruit par profil – questions
#1
J'ai joué hier avec quelques images bien bruitées en utilisant le workflow basique décrit par aurelienpierre
https://forums.darktable.fr/showthread.p...1#pid30271

Le résultat de réduction de bruit par profil était visible mais pas d'effet wahou. En fait je ne sais pas vraiment à quoi m'attendre. Ce dont je me suis aperçu ces qu'il n'y a pas de profil de bruit pour mes APNs (Lumix GX9 et GX800).

Je suis tombé sur cet article:
https://pixls.us/articles/how-to-create-...darktable/

Ma liste de questions:
quel est le gain espéré en réduction de bruit avec un tel profil comparé aux réglages par défaut ?
– je n'ai pas (encore) de trépied, j'imagine qu'un montage à base de meuble et de pile de livres pourrait être bien pour les expositions longues, j'ai bon?
– quel est le lien de ces profils avec les bruits de luminance (1ère passe) et de chrominance (2ème passe)
– le résultat est-il dépendant de l'objectif ? **
– la focale utilisée (recommandation entre 35mm et 85mm) a-t-elle une importance ? **

** je testerai ça quand je me lancerai, quitte à construire un stencil à niveau de gris et déplacer meuble et livres

Questions où je me suis débrouillé tout seul
– l'APN a une possibilité de monter les ISOs par 1/3 EV, est-il exploitable en aval de couvrir par 1/3 d'EV ? => le .pdf de référence a ses ISOs qui montent 200 250 320 400 ISO, du coup j'ai ma réponse
Répondre
#2
L'objectif n'a aucune incidence (directe) sur le bruit. C'est le capteur et son électronique de contrôle qui sont liés au bruit.

S'il n'y a pas de profil pour ton appareil, il est impossible de prévoir un résultat. Normalement, bien réglé, ça marche très bien, surtout la version ondelettes.

Le bruit numérique est un phénomène aléatoire qui se manifeste à un niveau de détail fin (hautes fréquences). Un débruitage basique serait donc un simple flou. Le problème, c'est qu'on va lisser le bruit et les détails, donc casser la netteté.

En maths, quand on est face à un phénomène aléatoire, on s'en sort en faisant des statistiques. Le profil de bruit, c'est simplement une mesure de la distribution statistique du bruit sur le capteur. À l'aide de cette distribution, on va calculer la probabilité de chaque pixel de l'image d'être bruité, en le comparant avec ses voisins. En fonction de cette probabilité, on va lisser plus ou moins fort.

Sans profil, on utilise une distribution générique qui marche plus ou moins, et qui est fatalement moins précise. Le bruit est particulier à chaque capteur, l'idée du profil est de tenir compte de ces spécificités.

La différence bruit de chrominance/luminance est liée aux fréquences. On peut décomposer une image en 2 couches : haute fréquence (les détails) et basse fréquence (les dégradés). Voir https://fstoppers.com/post-production/ul...nique-8699. On se rend compte que la couche de haute fréquence est grise, texturée, et contient les informations de luminance, et la couche de basse fréquence est colorée, et contient les informations de chrominance.

Le bruit de chrominance (coloré) est beaucoup plus gênant à l'œil, mais en contrepartie, on peut lisser la couche de chrominance plus fortement sans causer de dommages à la netteté générale, avec les ondelettes.

Le bruit de luminance est moins gênant, rappelle le grain argentique, mais surtout, il se trouve sur la couche de luminance, qui contient aussi les textures et détails fins. Celui-là va devoir être corrigé en faisant une extraction de texture dans les échantillons voisins pour ne pas trop lisser, avec les moyennes non-locales.
Aurélien, photographe portraitiste à Montréal
Spécialiste des maths sur pixels, enragé de la précision colorimétrique.
Fedora 29 | darktable git/master | Nikon FM, D5300, D810
Pas de messages privés SVP, sauf sujets sensibles.
Répondre
#3
Il ne faut pas attendre de miracle du module de débruitage profilé par rapport à un réglage à la main aux petits oignons avec d'autres modules, mais un des intérêts du module est qu'il peut faire son travail 100% automatiquement (on l'active et c'est tout, il s'adapte au boîtier, au niveau d'ISO, et fait un truc raisonnable), au moins en première approche. Par exemple, j'ai un preset qui l'active automatiquement tout le temps, donc dans 90% des cas je n'ai pas à me soucier du bruit. Si besoin, on peut toujours retoucher à la main ensuite (surtout depuis la 2.6), combiner plusieurs instances, passer à d'autres modules, ...
Répondre
#4
Je recommande également vivement de visionner les tutos de Carafife (les 3 parties de son 26ème tuto) que j'ai revisionné ce week-end mais également les très bons tutos de rawfiner sur ce sujet.

Par exemple, suite au nouveau visionnage des tutos de Carafife, j'ai mieux cerné comment bien distinguer les différents types de bruit et en particulier le bruit de chrominance que je retrouve plus souvent que le bruit de luminance sur mes photos à 6400 ISO sur mon Panasonic GX8. Sauf erreur de ma part, le capteur du GX8 se retrouve en termes de qualité quelques part entre ton GX800 et ton GX9.

Pour mon GX8, j'ai de meilleurs résultats avec le module de réduction du bruit bilatéral en ajustant ensuite les couleurs selon les couleurs dominantes dans le bruit de chrominance (un zoom à 100% permet de le voir rapidement). Pour le reste, la réduction de profil en mode ondelettes marche bien mais sur certaines photos la réduction de profil passe mieux (j'entends un meilleur rapport détail/lissage) en moyenne non-locales avec un rayon entre 2 et 4 (le rayon est par défaut à 7, ce qui souvent lisse trop à mon goût).
Répondre
#5
merci pour les réponses je vais regarder ça plus sérieusement
Répondre
#6
Ne pas oublier aussi que "égaliseur" permet de traiter le bruit de chrominance et de luminance :
voir ce tuto : https://darktable.fr/2018/12/tuto-n-17-l...detailles/ vers 14,35"
Répondre
#7
Bonjour
Je vais apporter ma petite pierre à ces explications, comme le module de réduction de bruit de profil est LE module de darktable dont je connais maintenant pas mal le code.

Tu auras des résultats quasi identiques avec le profil qu'avec une "distribution générique" où tu aurais réglé la force particulièrement bien. Le profil te fait surtout gagner du temps, et te permet d'avoir des préréglages génériques.
En fait, (je rentre dans les détails pour ceux qui en souhaiteraient), à quoi ça sert un profil ?
Le profil a pour but de faire une transformation d'image, appelée "transformation d'anscombe", afin d'obtenir une image où le bruit sera gaussien de variance égale à 1 quelque soit la luminosité. Cela permet alors de débruiter, puis la transformation inverse est appliquée pour réobtenir une image naturelle.
Grâce à ça, on peut avoir une réduction du bruit assez uniforme en fonction des luminosités, qui ont sinon des caractéristiques de bruit différentes.
D'autant plus que les algos de moyennes non locales et d'ondelettes sont conçus pour travailler avec du bruit gaussien  Wink

Cette transformation n'est pas non plus magique, actuellement, il y a de petits soucis dans les zones les plus sombres, où la variance après transformation ne devient pas égale à 1, mais vaut un peu plus que ça, ce qui force à augmenter la force et les autres zones sont alors un peu trop lissées... pas idéal. Ceci dit, on s'en sort quand même pas mal !

Avec la distribution générique, en jouant avec le curseur de force, tu vas retrouver de manière fastidieuse la partie la plus importante des paramètres de la fameuse transformation d'anscombe (le "a" pour ceux qui veulent les détails). Au final, ta transformation sera presque la même que si tu avais eu un profil, mais tu va mettre bien plus de temps à trouver tes réglages.

Pour le bruit de luminance/chrominance, je considère personnellement que c'est une vue de l'esprit, et qu'il est important de garder en tête que notre image est affectée par un bruit sur les canaux RGB qui se manifeste par un bruit de luminance/chrominance. Un pixel n'a pas une luminance et une couleur fausse, il a une ou plusieurs valeurs de ses canaux RGB qui sont erronées, ce qui se manifeste par une luminance et une couleur fausse.
Un pixel hyper bruité sur le canal bleu va à la fois résulter en une fausse luminance, et une fausse chrominance par exemple.
De ce constat, il est intétessant de noter que :
- les bruits des canaux R, G et B ne sont pas vraiment correlés au sens où si un pixel a une valeur de R dans les choux, ses valeurs de G et de B peuvent être normales
- les bruits de luminance et de chrominance sont, eux, corrélés, puisqu'ils sont tous les 2 produits à cause des bruits RGB. Donc si un pixel a une couleur bruitée, sa luminosité est bruitée également.

Et le soucis (ça fait partie des choses que je dois regarder sur ma todo list), c'est qu'après une instance en fusion couleur, on a changé les caractéristiques du bruit, donc notre instance en fusion luminosité qui vient derrière aura un profil qui sera potentiellement (un peu ? légèrement ? beaucoup ?) plus inexact.

Au dela de ça, comme l'a dit Aurélien, effectivement l'oeil est plus tolerant à du bruit de luminance qu'au bruit de chrominance, et tolère également un lissage plus fort des couleurs.

Pour ce qui est de la granularité du bruit, la taille du grain dépend beaucoup de la valeur ISO à laquelle on est.
A hauts ISOs, le bruit peut être de grain assez gros, y compris en luminance.

Les moyennes non locales ne sont pour l'instant pas adaptées pour le bruit gros grain (sauf en utilisant la version master de darktable), elles peuvent même l'augmenter. A utiliser sur les images pas trop trop bruitées donc. Un bon test, c'est regarder si sans mode de fusion elles forment du bruit gros grain en chrominance. Si oui, alors il vaut mieux les éviter. Si au contraire elles réduisent le bruit de chrominance, alors pas de soucis.
Les ondelettes sont pour l'instant plus polyvalentes, elles marchent pas mal quelque soit l'ISO.
Il y a des presets qui utilisent les ondelettes que tu pourras utiliser une fois ton profil créé  Wink

Et... pour l'effet whaouh, il faudra attendre encore un peu, j'espère pouvoir atteindre ce niveau pour la version 2.8
Répondre
#8
Merci pour le tuto jpg54 je vais rajouter çà à mes notes

Merci rawfiner pour la réponse détaillée (et merci pour les efforts de dev, ça a l'air vraiment top ce que tu fais)

Ça donne envie de creuser. Le côté « correction générique » est hyper appréciable pour avec un workflow simplifié (expo, balance des blancs, filmique + toutes les corrections matérielles raisonnablement bonnes sans effort). Pour mon programme intérieur/nuit ça a l'air top. Pour le moment j'ai l'impression de passer plus de temps (à prendre plaisir) à me documenter sur/me faire une idée/approcher la photo qu'à faire de la photo ;-) Je vais avoir 2 semaines sans enfants avec un week-end à Hambourg (photo urbaine nocturne au programme)

J'ai noté l'astuce d'aurelienpierre de virer les pixels chauds en cas de gros bruit. Et une idée m'est venue en lisant ça:

Citation :"les bruits des canaux R, G et B ne sont pas vraiment correlés au sens où si un pixel a une valeur de R dans les choux, ses valeurs de G et de B peuvent être normales"
Que fait le module "pixel chauds" ? Corrige-t-il le R, le G ou le B qui est aux fraises uniquement (ça démange de procrastiner encore + et de plonger dans le code) ?

De ce que je lis dans le manuel j'ai l'impression que la valeur « les pixels chauds détectés sont remplacés par la valeur moyenne de leurs voisins ». Ça pourrait être cool de traiter les valeurs aux fraises par rapport au voisin par canaux pour cet usage en pré-débruitage, mais peut-être que ça existe déjà
Répondre
#9
Le module pixel chauds, a priori (j'ai parcouru très rapidement le code), corrige les pixels ayant une valeur supérieure à un seuil en effectuant une comparaisons avec les pixels voisins : si la valeur du pixel est significativement plus grande que les autres, cette valeur est remplacée par le maximum de ses voisins.

Ce module travaille avant dématriçage, donc chaque pixel a une seule valeur, qui correspond à l'un des 3 canaux, R, G, B.
Du coup, pour chaque pixel :
- le module regarde ses voisins qui correspondent au même canal en fonction de la structure du filtre de couleur du capteur (xtrans ou matrice de bayer). Par exemple : pour un pixel bleu de coordonnées (i,j) sur une matrice de bayer, on regarde les pixels qui sont en (i+2,j), (i-2,j), (i,j+2) et (i,j-2), qui sont aussi des pixels bleus
- fait les calculs de seuils
- applique la correction si nécessaire
Wink

A noter, ce module ne corrige que le "sel" du bruit "poivre et sel", i.e. les valeurs qui sont dans les choux en étant trop claires. Il ne corrige pas les points complètement noirs.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)