Contexte :
Le débruitage d’images est l’une des tâches les plus centrales en restauration d’image. Il consiste à estimer une image inconnue $x$ à partir d’une observation bruitée $y=x+\epsilon$, où $\epsilon$ est la réalisation d’un bruit (qu’on supposera de loi connue ici).
Plusieurs méthodes ont été développées pour cette tâche depuis 30 ans, et il est important de les comparer selon des critères variés, tant en termes de qualité des résultats obtenus que de coût et complexité de calcul.
Benchopt est une librairie Python conçue pour faciliter l’évaluation et la comparaison d’algorithmes dans des benchmarks reproductibles. L’objectif de ce projet est d’utiliser Benchopt pour mettre en place un premier benchmark reproductible pour quelques méthodes emblématiques de débruitage d’images.
Objectif du projet :
Vous devrez :
- Mettre en place un benchmark reproductible sur Benchopt en utilisant les méthodes de débruitage suivantes :
- TV-L2 : voir le cours et le TP
- NLmeans : Article IPOL et TP
- FFDNet : Lien vers l’article et TP
- DRUNet : Lien vers le code sur Github
- On utilisera les métriques de qualité suivantes :
- PSNR (Peak Signal-to-Noise Ratio)
- SSIM (Structural Similarity Index)
- Ainsi que des métriques de performance computationnelle :
- Temps d’exécution.
- Utilisation de la mémoire.
- Puissance de calcul en teraflops nécessaire pour exécuter chaque méthode.
- Coût d’entraînement pour les méthodes basées sur des réseaux de neurones (FFDNet, DRUNet).
Etapes du projet :
- Familiarisation avec Benchopt :
- Comprendre comment structurer un benchmark reproductible.
- Intégration des méthodes de débruitage :
- Adapter les implémentations des méthodes ci-dessus pour les intégrer au benchmark.
- Mise en place du benchmark :
- Choisir une base d’images de test
- Configurer Benchopt pour exécuter les méthodes choisies sur cet ensemble d’images bruitées.
- Définir les métriques de comparaison (PSNR, SSIM, etc.).
- Analyse des résultats :
- Analyser les compromis entre qualité de débruitage et efficacité computationnelle (notamment pour les méthodes utilisant des réseaux de neurones).