Les premiers réseaux de neurones convolutionnels (comme SRCNN ou EDSR) amélioraient déjà nettement la netteté des images. Cependant, les résultats avaient souvent un aspect un peu lisse, artificiel ou « plastique ». Les images étaient mathématiquement correctes, mais elles ne paraissaient pas vraiment naturelles à l’œil humain.
Pour résoudre ce problème, les chercheurs ont changé la façon dont ils mesuraient la qualité du résultat. Ils sont passés d’une mesure purement mathématique à une mesure plus proche de la perception humaine.
1. La limite de la perte par erreur pixel à pixel (MSE)
Au début, on comparait l’image produite par le réseau avec la vraie image haute résolution en mesurant simplement la différence entre chaque pixel (c’est ce qu’on appelle la Mean Squared Error ou MSE).
Cette mesure pousse le réseau à produire des images trop lisses. En effet, il est plus « sûr » pour le réseau d’effacer les petits détails plutôt que de risquer de se tromper sur leur emplacement exact. Le résultat est net, mais manque de texture et de réalisme.
2. La perte perceptuelle : juger l’image comme un œil humain
Pour obtenir un rendu plus naturel, on a commencé à utiliser un réseau déjà entraîné (souvent VGG16) qui est très bon pour reconnaître les caractéristiques importantes d’une image (contours, textures, formes générales).
Au lieu de comparer pixel par pixel, on compare les caractéristiques extraites par ce réseau. La nouvelle fonction de perte (appelée perte perceptuelle) mesure donc si l’image générée ressemble visuellement à une vraie photo, même si quelques pixels diffèrent.
En pratique, on écrit :
où \(\phi\) représente les caractéristiques extraites par le réseau VGG à un certain niveau.
Cela force le réseau à produire des images qui paraissent réalistes à l’œil humain, et non plus seulement correctes mathématiquement.
3. Les GAN : un jeu entre deux réseaux
La véritable révolution arrive avec les réseaux antagonistes (GAN). On utilise maintenant deux réseaux qui s’affrontent :
- Le générateur (G) : il crée l’image haute résolution à partir de l’image basse résolution.
- Le discriminateur (D) : il apprend à distinguer les vraies images haute résolution des images créées par le générateur.
Le générateur est entraîné non seulement à réduire la perte perceptuelle, mais aussi à tromper le discriminateur (c’est-à-dire à produire des images si réalistes que le discriminateur ne peut plus faire la différence).
Le modèle le plus connu dans ce domaine est ESRGAN (2018), une version améliorée de SRGAN. Il donne des textures beaucoup plus naturelles : cheveux fins, pores de peau, tissu, herbe, etc.
En résumé
On est passé d’une IA qui cherchait à être « mathématiquement correcte » (propre mais souvent lisse) à une IA qui cherche à être visuellement réaliste.
La combinaison de la perte perceptuelle et des GAN a permis un saut qualitatif majeur : les images upscalées paraissent enfin vraies.
Dans le prochain article, on va découvrir le niveau supérieur : Stable Diffusion et les modèles de diffusion, l’IA qui invente vraiment de l’information manquante.