Qu'est-ce que l'ESRGAN ?
Les réseaux antagonistes génératifs à super-résolution améliorée (ESRGAN) sont un type avancé de modèle de réseau antagoniste génératif (GAN), qui utilise deux réseaux neuronaux jouant un jeu compétitif l'un contre l'autre. Les principaux composants de ce système sont le générateur et le discriminateur. Le générateur crée de nouvelles images, tandis que le discriminateur évalue l'authenticité de ces images, déterminant si elles sont réelles ou générées.
Dans la phase initiale, le générateur produit une nouvelle image, et par la suite, le discriminateur évalue si cette image est réelle ou fabriquée. Au cours de ce processus, les GAN calculent deux valeurs de perte différentes : une pour le générateur et une pour le discriminateur. Ce retour d'information permet au générateur d'apprendre de ses erreurs et d'améliorer ses images créées au fil du temps, tandis que le discriminateur améliore sa capacité à identifier les images vraies des fausses.
ESRGAN utilise un modèle pré-entraîné qui emploie des poids VGG19, soulignant la philosophie de "Ne pas réinventer la roue" - tout ce dont vous avez besoin est souvent déjà disponible pour une utilisation efficace.
Préparation de l'ESRGAN pour votre objectif
Pour tirer parti de l'ESRGAN de manière efficace, vous devez préparer votre jeu de données. Pour ce tutoriel, nous allons utiliser le jeu de données Kaggle appelé CalebA, qui contient plus de 200 000 images de visages de célébrités, chacune ayant une résolution de 218x178 et trois canaux de couleur. Bien qu'il soit possible d'utiliser l'ensemble du jeu de données, il est conseillé de télécharger seulement 10 000 images pour éviter des retards de traitement.
Configuration du Notebook
L'ESRGAN nécessite un GPU avec une mémoire substantielle, et nous recommandons d'utiliser Google Colab à cette fin. Commencez par ajuster le type d'exécution : sélectionnez Exécution, puis Changer le type d'exécution, et choisissez GPU comme accélérateur matériel.
Clonage du dépôt
Ensuite, clonez le dépôt qui contient l'ESRGAN implémenté et installez les bibliothèques requises pour commencer.
Chargement des données
Pour procéder au chargement de vos données, vous devrez connecter votre Google Drive avec Google Colab. Cela peut être fait facilement en utilisant la commande :
Pour extraire des fichiers d'une archive RAR, nous utiliserons la bibliothèque patool, en veillant à ce que le répertoire de sortie soit défini sur /content/PyTorch-GAN/data
.
Création d'un jeu de données de test
Il est essentiel de maintenir un jeu de données de test séparé qui n'a pas été inclus lors de l'entraînement du modèle. Pour cela, déplacez une partie sélectionnée de vos images du dossier principal vers un nouveau dossier dédié aux tests. Commencez par créer un nouveau dossier nommé test.
Si le nombre d'images est écrasant, vous pouvez également utiliser des méthodes de traitement par lots pour les gérer efficacement.
Entraînement du modèle
Il est maintenant temps d'entraîner le réseau neuronal en utilisant l'ESRGAN ! Pour initier l'entraînement, utilisez la commande suivante avec les arguments spécifiés :
Arguments d'entraînement disponibles :
-
--dataset_name : nom de votre dossier situé dans
/content/PyTorch-GAN/data
- --n_epochs : par défaut 200 époques
- --hr_height : hauteur de l'image de sortie (par défaut 256)
- --hr_width : largeur de l'image de sortie (par défaut 256)
- --channels : canaux de l'image d'entrée (par défaut 3)
- --checkpoint_interval : recommandé de le régler à 250 pour des ensembles de données plus petits (par défaut 5000)
Les détails concernant d'autres arguments peuvent être trouvés ICI.
Les images d'entraînement générées seront enregistrées dans le dossier situé à /content/PyTorch-GAN/implementations/esrgan/images/training
.
Test du modèle
Pour évaluer le modèle, vous aurez besoin d'une image de votre ensemble de test prédéfini. Exécutez le modèle en utilisant la commande désignée :
Arguments de test disponibles :
-
--image_path : nom de votre image (par exemple,
/content/PyTorch-GAN/data/test/0.jpg
) -
--checkpoint_model : chemin vers votre générateur entraîné (par exemple,
/content/PyTorch-GAN/implementations/esrgan/saved_models/generator_X.pth
; remplacez X par le numéro de la dernière époque entraînée).
Une fois générée, l'image sera stockée dans /content/PyTorch-GAN/implementations/esrgan/images/outputs/
.
Si vous souhaitez copier les images générées dans votre Google Drive, il vous suffit de le faire avec les commandes appropriées.
Conclusion
La puissance des modèles GAN réside dans leur capacité à employer des réseaux neuronaux qui se raffinents continuellement les uns les autres pour une amélioration progressive. L'ESRGAN, comme le montre ce tutoriel, se concentre explicitement sur l'amélioration des images. Bien que le modèle soit puissant, il nécessite également des ressources informatiques substantielles. Les résultats initiaux, après 5 époques avec 10 000 images d'entraînement, peuvent ne pas être parfaits ; cependant, à mesure que vous avancez vers des époques plus élevées, vous observerez des améliorations remarquables !
Explorez le monde fascinant des applications d'IA émergentes des hackathons pour trouver de l'inspiration, et profitez de ce voyage captivant avec l'ESRGAN !
Restez à l'écoute pour des tutoriels d'IA encore plus passionnants !
Merci ! - Adrian Banachowicz, stagiaire en science des données chez New Native.
Laisser un commentaire
Tous les commentaires sont modérés avant d'être publiés.
Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.