Augmenter la taille et la résolution des photos avec GFP-GAN

Comment augmenter la taille des photos et des images à l’aide d’un réseau neuronal génératif : l’intelligence artificielle permet d’agrandir les images à faible résolution en améliorant leurs caractéristiques et leurs détails et en supprimant les imperfections. Qu’est-ce que le GFP-GAN et comment fonctionne-t-il ?

Le terme « upscaling » fait référence à la technique utilisée pour augmenter la résolution ou la taille d’une image sans perdre trop de qualité ou de détails. Cette technique est particulièrement utile lorsque vous souhaitez agrandir une image sans avoir à la recréer à partir de zéro ou sans perdre en netteté.

L’augmentation de la taille d’une image s’accompagne d’une perte de qualité, car l’image originale contient un nombre limité de pixels par rapport à celle que l’on souhaite obtenir. La résolution d’une image est définie par le nombre de pixels qui la composent. Plus la taille de l’image augmente, plus le nombre de pixels utilisés augmente. Des pixels supplémentaires doivent être créés d’une manière ou d’une autre, car le nombre de pixels de l’image de départ n’est pas suffisant pour représenter les détails à des résolutions plus élevées.

Augmentation de la taille : comment ajouter les pixels manquants dans une image redimensionnée ?

Il existe plusieurs méthodes pour augmenter la taille d’une image. L’interpolation est une technique utilisée pour estimer les valeurs des pixels manquants ou supplémentaires sur la base des pixels existants environnants. Comme les détails de l’image originale sont limités, l’interpolation peut entraîner une perte de définition et de netteté. En particulier lorsque la taille de l’image source est augmentée de manière significative.

Pour obtenir un meilleur résultat dans l’upscaling d’images, des algorithmes plus avancés ont été développés qui utilisent l’intelligence artificielle et l’apprentissage automatique pour essayer de reconstruire les détails manquants et de rendre l’image plus réaliste. Les résultats obtenus varient considérablement d’un algorithme à l’autre et dépendent bien entendu de la résolution et de la qualité de l’image originale. Les algorithmes d’upscaling modernes sont de plus en plus performants et permettent d’obtenir des résultats qui frôlent souvent la perfection dans l’upscaling de photos et d’images.

GFP-GAN : le meilleur outil pour l’upscaling des images

Après avoir mis en place un algorithme pour améliorer la qualité des images affichées sur les pages web, Microsoft a également intégré Video Super Resolution dans Edge. Il s’agit d’un outil capable d’upscaler automatiquement les contenus vidéo chargés par le navigateur. Le processus repose sur l’utilisation de cartes vidéo dédiées NVidia ou AMD nouvellement développées.

En ce qui concerne le redimensionnement des photos et des images, le marché propose aujourd’hui un grand nombre d’outils permettant d’augmenter la résolution des images. Cependant, tous n’offrent pas les résultats escomptés.

GFP-GAN (Generative Facial Prior – Generative Adversarial Network) reste l’un des meilleurs outils existants, un projet open source que tout le monde peut utiliser et qui trouve son origine dans une étude académique publiée en juin 2021.

D’où vient le nom GFP-GAN ?

L’acronyme GAN met l’accent sur l’utilisation d’une architecture de réseau neuronal artificiel afin de générer de nouvelles informations ayant des caractéristiques similaires aux données d’entraînement. Ces réseaux sont appelés « Generative Adversarial Networks » car deux réseaux neuronaux distincts (le générateur et le discriminateur) sont simultanément entraînés et mis en concurrence. Le générateur est chargé de générer de nouvelles données qui ressemblent aux données d’apprentissage ; le discriminateur est chargé de faire la distinction entre les données réelles et les données créées par le générateur.

Au cours du processus d’apprentissage, le générateur tente d’améliorer de plus en plus la qualité des données générées afin de tromper le discriminateur ; le discriminateur tente de devenir de plus en plus habile à faire la distinction entre les données réelles et les données générées. Cette compétition conduit à une amélioration continue des performances des deux réseaux.

Un GAN bien entraîné est évidemment aussi très utile pour répondre aux exigences de mise à l’échelle, car il devient essentiel pour générer les pixels manquants lors du redimensionnement de l’image. Mais ce n’est pas tout. L’acronyme GFP fait référence au fait que le système est également capable de restaurer des détails réalistes et fidèles des visages des personnes. La formation dispensée par les auteurs a permis de trouver un bon équilibre entre réalisme et fidélité.

Comment augmenter la taille de n’importe quelle image tout en améliorant les détails et la qualité de la photo ?

GFP-GAN, comme nous l’avons souligné au début, est un projet open source. Cela signifie que tout le monde peut l’utiliser et même gérer l’agrandissement des images et des photos directement sur son propre matériel. Même localement ou, comme on dit, sur place.

Le « sous-titre » du projet GFP-GAN est la restauration des visages, car il a été créé dans le but précis d’améliorer les détails des visages lors des activités d’upscaling, sans perte d’informations. Au contraire, il s’agit de préserver et, si possible, d’améliorer les caractéristiques somatiques de chaque sujet. En prime, GFP-GAN améliore la qualité générale de toute photo en éliminant les artefacts, en corrigeant les détails peu visibles et les éléments flous.

Sur la page GitHub de GFP-GAN, des informations sont publiées sur la manière d’installer l’application en clonant le dépôt. En principe, GFP-GAN nécessite Python et PyTorch (une bibliothèque open source pour l’apprentissage automatique et l’apprentissage profond développée principalement par Meta) ; en option, une carte vidéo NVidia et le CUDA Toolkit.

Sur la même page, divers modèles sont publiés, qui peuvent être utilisés pour affiner le comportement de GFP-GAN, ainsi que des instructions sur la façon d’effectuer un entraînement supplémentaire si nécessaire.

Comment essayer l’upscaling avec GFP-GAN maintenant sans rien installer

En attendant, nous vous suggérons d’ouvrir la page web de démonstration de GFP-GAN et de vous connecter avec un compte utilisateur GitHub (bouton Sign In With GitHub).

Augmenter la taille et la résolution des photos avec GFP-GAN

Vous pourrez alors cliquer sur le bouton Drop a file or click to select pour sélectionner l’image basse résolution à agrandir. Vous pouvez également faire glisser un fichier dans le même volet de la page web ou capturer une image via la webcam. Comme nous le savons, les webcams des PC sont médiocres par rapport à celles des smartphones : GFP-GAN donne une bonne idée de la qualité du résultat que l’on peut obtenir avec cet outil.

Le menu déroulant Version permet de choisir le modèle à utiliser, tandis que le facteur Rescaling permet de choisir la taille de l’image à obtenir. En optant pour un facteur de 2, on obtient une image finale deux fois plus grande que l’image originale. Il est bien sûr possible d’augmenter librement le facteur d’upscaling, en sachant toutefois que selon la qualité de l’image source, l’image redimensionnée peut dans certains cas paraître inacceptable.

Augmenter la taille et la résolution des photos avec GFP-GAN

Dans l’exemple de la figure, en partant d’une image de faible résolution (300 x 450 pixels), nous avons obtenu, en spécifiant un facteur d’agrandissement de 5, l’image de droite, en seulement 2 secondes de traitement (750 x 1125 pixels).

Regardez aussi cet exemple : une photo de famille, visiblement détériorée, est non seulement agrandie grâce à GFP-GAN, mais l’intelligence artificielle parvient même à supprimer tous les problèmes présents dans l’original.