Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Plan de Projet : Restauration d'Images par Total Variation (TV)

1. Introduction et Objectifs

Le projet vise à concevoir une application de traitement d'images capable de restaurer des images dégradées (bruitées) en utilisant le modèle de la Variation Totale (TV). L'application inclura une interface graphique (GUI), des outils de mesure de performance et des visualisations avancées en 3D.

2. Fondements Mathématiques

L'implémentation reposera sur les équations fournies :

  • Modèle d'énergie : $E(u) = \int_{\Omega} ||\nabla u|| dx dy + \frac{\lambda}{2} \int_{\Omega} ||u - f||^2 dx dy$.
  • Équation d'Euler-Lagrange : $-\text{div}\left(\frac{\nabla u}{||\nabla u||}\right) + \lambda(u - f) = 0$.
  • Descente de gradient : $u^{n+1} = u^n - dt \left( -\text{div}\left(\frac{\nabla u^n}{\sqrt{||\nabla u^n||^2 + \epsilon^2}}\right) + \lambda(u^n - f) \right)$.
    • Note : $\epsilon$ est utilisé pour la stabilité numérique.

3. Architecture Logicielle

A. Langage et Bibliothèques

  • Langage : Python 3.x
  • Traitement d'image/Maths : NumPy, SciPy, OpenCV, Scikit-image (pour SSIM/PSNR).
  • Interface Graphique : Tkinter ou PyQt/PySide.
  • Visualisation : Matplotlib (2D et 3D Surface plots).

B. Modules du Projet

  1. Module de Traitement :
    • Fonctions de génération de bruit (Gaussien, Poisson, Salt & Pepper).
    • Algorithme de restauration TV (itération de la descente de gradient).
  2. Module de Métriques :
    • Calcul du Peak Signal-to-Noise Ratio (PSNR).
    • Calcul du Signal-to-Noise Ratio (SNR).
    • Calcul de la Structural Similarity Index (SSIM).
    • Mesure du temps d'exécution (module time).
  3. Module de Visualisation :
    • Affichage côte à côte (Original vs Bruité vs Restauré).
    • Génération de la surface 3D des intensités de pixels.

4. Étapes de Développement (Workplan)

Phase 1 : Algorithmique (Backend)

  • Implémentation du calcul du gradient et de la divergence.
  • Codage de la boucle itérative de restauration TV.
  • Tests unitaires sur des images de synthèse (rectangles, cercles).

Phase 2 : Métriques et Performance

  • Implémentation des fonctions PSNR, SNR et SSIM.
  • Mise en place du chronométrage des fonctions.

Phase 3 : Interface Utilisateur (Frontend)

  • Création de la fenêtre principale.
  • Boutons de chargement et de sauvegarde d'images.
  • Sliders (curseurs) pour les paramètres $\lambda$, $dt$, et le nombre d'itérations.
  • Zone d'affichage des résultats numériques (tableaux des scores).

Phase 4 : Visualisation 3D

  • Intégration de la fenêtre de visualisation de surface 3D interactive.

5. Tests et Analyse de Résultats

Pour chaque test, un rapport sera généré incluant :

  • Analyse visuelle : Observation de la préservation des contours (propriété clé de la TV) par rapport au lissage du bruit.
  • Analyse quantitative : Évolution des scores (PSNR/SSIM) en fonction de $\lambda$.
  • Temps d'exécution : Analyse de la complexité temporelle par rapport à la taille de l'image.

6. Livrables Attendus

  • Code source Python complet et documenté.
  • Rapport final détaillant les tests effectués.
  • Guide d'utilisation de l'interface.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages