Certains en ont entendu parler cet été sur Telegram, je suis en train d’expérimenter des méthodes réalistes (en terme de coût de calcul) pour déflouter des images par une méthode de déconvolution aveugle par descente de gradient et régularisation par variation totale. Le défloutage s’applique au flou de bougé, d’objectif, et potentiellement de mise au point erronnée. L’intérêt de cette méthode est que le résultat est très naturel et l’amplification du bruit est contenue.
Si ceci vous intéresse, vos encouragements sont bienvenus. J’y ai passé un temps considérable, rien que 45 heures ces 10 derniers jours (j’avais une semaine de vacances), et la théorie mathématique derrière est franchement ardue (au dessus de mon niveau il y a 6 mois, maintenant je commence juste à comprendre ce que je fais, mais la théorie disponible est des articles de chercheurs pour d’autres chercheurs, et il faut s’accrocher parce qu’ils n’expliquent pas tout).
Un grand bravo pour ce projet. Les résultats sont impressionnants et ce module serait un grand plus pour Darktable et la communauté du libre. Encore bravo
Merci Aurélien pour le boulot, tu m’en avais parlé sur Telegram et il faut dire que j’ai pas tout compris mais j’ai vu tes tests préliminaires et c’était prometteur. Je n’ai pas vu passer de message sur Git pour ce module, peut-tu me prévenir quand il sera mis dans la branche de développement ?
C’est très impressionnant! Bravo pour cette preuve de concept, espérons que cela trouve son chemin dans une future version. Visiblement il y a un intérêt certain affiché sur la liste dev…
Merci tout le monde. Je précise que je n’ai pas inventé l’algorithme, je me contente de traduire du code Matlab de recherche en version utilisable par le commun des mortels. L’essentiel du crédit revient aux chercheurs Daniele Peronne et Paolo Favaro. Moi j’optimise le tout pour diminuer le temps d’exécution et préparer le module DT.
@pobri, oui, au début ils étaient plus réservés mais on dirait que depuis que j’ai des résultats, l’intérêt augmente. Est-ce que tu as les compétences pour relire mon travail ?
@aurelienpierre: Si tu parles de l’intégration en C dans darktable oui je peux relire et t’aider à intégrer. Pour vérifier que l’algorithme est conforme aux maths du papier de recherche non pas vraiment (il me faudrait beaucoup trop de temps, ce que tu as déjà passé même plus peut-être
J’en avais parlé avec Aurélien sur Telegram mais je dois dire largement au dessus de mes faibles connaissances mathématiques. Ca semble super intéressant. J’ai téléchargé son démonstrateur Python mais je n’ai pas encore réussi à le faire tourner. Grrrrrrrr.
C’est vraiment chouette comme algo, et le résultat est impressionnant ! Les différents algos de « sharpening » de darktable sont très bons pour augmenter le piqué d’une image déjà nette, mais pas aussi bon que les algos à base de déconvolution quand l’image est légèrement floue. C’est très chouette de voir ça arriver potentiellement dans darktable. Et chapeau bas pour t’être lancé là dedans sans être spécialiste de traitement d’images à la base !
Par curiosité, est-ce que tu as pu te comparer aux autres algos de défloutage dans l’open-source, par exemple :
Ce sont des trucs que j’ai vu passer sans vraiment les connaître, je ne sais pas du tout comment ça peut se comparer avec ton code. Et au cas où il y aurait ambiguïté, cette liste de pointeurs est à prendre comme un encouragement à continuer, pas comme un « pff, ça existe déjà » ;-). Keep the good work !
Pour l’instant je me suis basé sur du code de recherche de Perrone & Favaro et sur leurs articles de 2014 et 2015. La déconvolution aveugle est relativement récente (premiers travaux en 1998 par Levin), ce n’est pas une simple déconvolution de Richardson-Lucy (ça on sait faire depuis 1972), et il existe plein de méthodes différentes pour ça. J’ai pris le problème sous l’angle scientifique en allant chercher des papiers récents qui comparaient les résultats de différentes méthodes, et j’ai choisi celles qui donnaient les meilleurs résultats.
Je ne doute pas qu’il existe plein d’autres modules & plugins, mais d’une part ils ne viennent pas tous livrés avec la théorie mathématique (donc peu de chance de comprendre ce que je fais), mais aussi… s’ils ont plus que 2 ans, ils sont fatalement moins bons