22-01-18, 20:04
Je reviens ici, j'ai du nouveau.
@aurelienpierre, comme tu disais, darktable dispose effectivement des meilleurs algos de l'état de l'art, il s'avère qu'on manque juste d'un peu de flexibilité dessus !
Voici un résultat obtenu principalement avec juste UNE instance du module de réduction de bruit de profil (+bilat pour le bruit de chrominance, 5 passes de lissages des couleurs dans le dématriçage, le module pixels chauds, et un chouilla d'égaliseur et de réduction de bruit non local, mais le résultat tiens surtout de l'instance de réduction de bruit de profil, et ça reste très peu comparé à ce qu'il fallait pour les derniers essais...)
Je trouve ça vraiment fou, c'est pas très loin de ce que donne DXO (et on peut encore ajuster avec instances multiples etc) !
Pour obtenir ça, j'ai simplement changé dans le code de denoiseprofile.c "const int K = ceilf(7 * scale);" par "const int K = ceilf(30 * scale);". Je suppose que K contrôle la taille de la zone de recherche pour trouver des patchs dans l'algo de non-local means.
Par contre, l'inconvénient c'est que le module s'exécute VRAIMENT plus lentement (c'était à prévoir en même temps haha).
Mais bon, vu le résultat :-D
J'ai mis à côté (à gauche) le résultat obtenu actuellement avec les même paramètres pour donner une sorte de référentiel.
Je vais aussi regarder si je peux implémenter ça : https://pdfs.semanticscholar.org/c458/71...761fc0.pdf
Ça permettrait probablement d'avoir de meilleurs résultats sans avoir à augmenter la taille de la zone de recherche.
Bref, affaire à suivre...
@aurelienpierre, comme tu disais, darktable dispose effectivement des meilleurs algos de l'état de l'art, il s'avère qu'on manque juste d'un peu de flexibilité dessus !
Voici un résultat obtenu principalement avec juste UNE instance du module de réduction de bruit de profil (+bilat pour le bruit de chrominance, 5 passes de lissages des couleurs dans le dématriçage, le module pixels chauds, et un chouilla d'égaliseur et de réduction de bruit non local, mais le résultat tiens surtout de l'instance de réduction de bruit de profil, et ça reste très peu comparé à ce qu'il fallait pour les derniers essais...)
Je trouve ça vraiment fou, c'est pas très loin de ce que donne DXO (et on peut encore ajuster avec instances multiples etc) !
Pour obtenir ça, j'ai simplement changé dans le code de denoiseprofile.c "const int K = ceilf(7 * scale);" par "const int K = ceilf(30 * scale);". Je suppose que K contrôle la taille de la zone de recherche pour trouver des patchs dans l'algo de non-local means.
Par contre, l'inconvénient c'est que le module s'exécute VRAIMENT plus lentement (c'était à prévoir en même temps haha).
Mais bon, vu le résultat :-D
J'ai mis à côté (à gauche) le résultat obtenu actuellement avec les même paramètres pour donner une sorte de référentiel.
Je vais aussi regarder si je peux implémenter ça : https://pdfs.semanticscholar.org/c458/71...761fc0.pdf
Ça permettrait probablement d'avoir de meilleurs résultats sans avoir à augmenter la taille de la zone de recherche.
Bref, affaire à suivre...
![[Image: biche_profil_K30.jpg]](https://thumb.ibb.co/dggw4G/biche_profil_K30.jpg)