
1. Objectifs du Projet
ColoriZ est une application logicielle moderne conçue pour redonner vie aux photographies anciennes ou dégradées. Ses objectifs principaux sont :
- Numérisation simplifiée : Offrir une interface directe pour piloter des scanners via le protocole WIA (Windows Image Acquisition).
- Restauration IA : Améliorer la netteté et supprimer le bruit/grain des photos grâce à la technologie Real-ESRGAN.
- Colorisation Intelligente : Transformer des images en noir et blanc en images couleur de haute qualité en utilisant les modèles DeOldify (Artistic et Stable).
- Expérience Utilisateur (UX) Maximale : Proposer une interface épurée, sans onglets superflus, avec des outils de retouche immédiats (rotation fine, recadrage manuel et automatique).

2. Dépendances et Environnement
Le projet repose sur un environnement Python 3 et plusieurs bibliothèques de pointe :
Bibliothèques logicielles :
- PyTorch & FastAI : Moteurs de calcul pour les modèles d’intelligence artificielle DeOldify.
- OpenCV (cv2) : Utilisé pour tous les traitements d’image classiques (auto-cadrage, rotation, amélioration du contraste/couleur).
- CustomTkinter : Bibliothèque de création d’UI moderne (Dark Mode, widgets premium).
- Real-ESRGAN : Pour l’upscaling et la restauration de la netteté.
- Pillow (PIL) : Gestion et affichage des images dans l’interface.
- pywin32 : Interface avec le système Windows pour la numérisation WIA.
Modèles IA requis (pth) :
ColorizeArtistic_gen.pth/ColorizeStable_gen.pth(DeOldify)realesr-general-x4v3.pth(Real-ESRGAN)
3. Mode Opératoire
Installation
- Configurer un environnement virtuel :
python -m venv .venv. - Installer les dépendances :
pip install -r requirements.txt. - Télécharger les modèles via le script dédié :
python download_models.py.
Utilisation de l’Application
- Lancement : Exécuter
python gui.py. - Entrée des images :
- Sélectionnez un Fichier unique ou un Dossier complet.
- Ou utilisez le bouton « 📷 Démarrer le Scan » pour numériser directement une photo.
- Réglages (Barre latérale) :
- Choisir le Style IA : Stable (naturel) ou Artistic (vibrant).
- Configurer le scanner (DPI, Mode, Auto-cadrage).
- Retouche d’aperçu :
- Dessinez un rectangle à la souris sur l’image pour un Recadrage manuel.
- Utilisez les boutons ↺ -1° et +1° ↻ pour redresser l’image.
- Traitement : Cliquez sur « Coloriser » pour lancer le pipeline IA. Le résultat sera automatiquement enregistré dans
output/colored.
4. Architecture et Maintenance
Pour faciliter la maintenance et l’évolution du projet, le code est segmenté comme suit :
gui.py: Cœur de l’application gérant l’interface, les événements utilisateur et le pilotage du scanner.process_images.py: Pipeline d’exécution des modèles IA. C’est ici que sont gérés les chargements de Pytorch et les appels à DeOldify/Real-ESRGAN.image_utils.py: Boîte à outils OpenCV. Contient les algorithmes de détection de contours (auto-crop) et de rotation intelligente.gui_config.json: Stocke les préférences utilisateur (taille de fenêtre, scanner utilisé, derniers réglages).
Points de vigilance pour la maintenance :
- Mémoire Vive (RAM) : Le traitement IA est gourmand. Le pipeline utilise un système de tuiles (fixes à 1000 pixels) pour éviter les plantages sur les GPU/CPU modestes.
- Compatibilité Scanner : Le module WIA est spécifique à Windows. Pour un portage Linux/Mac, il faudra remplacer cette partie par une bibliothèque comme SANE.
5. Améliorations Possibles
- Traitement GPU (CUDA) : Actuellement configuré par défaut sur CPU pour une compatibilité maximale, le passage au support CUDA accélérerait les traitements par 10.
- Filtres Post-Traitement : Ajouter des curseurs de réglage manuel (Luminosité, Saturation, Température) après colorisation.
- Export PDF : Pouvoir générer un album PDF à partir d’un dossier de photos restaurées.
- Face Restoration Avancée : Intégrer GFPGAN ou CodeFormer pour une reconstruction des visages encore plus précise sur les photos très floues.