Intelligence artificielle
Édition d’images sémantiques de haute précision avec EditGAN

Les réseaux antagonistes génératifs ou GAN ont été utilisés dans de nouvelles applications dans l’industrie de l’édition d’images. Au cours des derniers mois, EditGAN gagne en popularité dans l’industrie de l’IA/ML car c’est une méthode novatrice pour l’édition d’images sémantiques de haute précision et de haute qualité.
Nous allons discuter du modèle EditGAN en détail et vous expliquer pourquoi il pourrait s’avérer être un jalon dans l’industrie de l’édition d’images sémantiques.
Commençons. Mais avant de comprendre ce qu’est EditGAN, il est important de comprendre l’importance d’EditGAN et pourquoi il constitue un progrès significatif.
Pourquoi EditGAN ?
Bien que les architectures GAN traditionnelles aient contribué à faire progresser l’industrie de l’édition d’images basée sur l’IA, il existe certains défis majeurs pour construire une architecture GAN à partir de zéro.
- Pendant la phase d’entraînement, une architecture GAN nécessite une grande quantité de données étiquetées avec des annotations de segmentation sémantique.
- Elles ne sont capables de fournir qu’un contrôle de haut niveau.
- Et souvent, elles ne font que interpoler entre les images.
On peut observer que même si les architectures GAN traditionnelles font le travail, elles ne sont pas efficaces pour un déploiement à grande échelle. L’efficacité médiocre des architectures GAN traditionnelles est la raison pour laquelle EditGAN a été introduit par NVIDIA en 2022.
EditGAN est proposé comme une méthode efficace pour l’édition d’images sémantiques de haute précision et de haute qualité avec la capacité de permettre à ses utilisateurs d’éditer des images en modifiant leurs masques de segmentation détaillés. L’une des raisons pour lesquelles EditGAN est une méthode évolutives pour les tâches d’édition d’images est due à son architecture.
Le modèle EditGAN est construit sur un cadre GAN qui modèle les images et leurs segmentations sémantiques conjointement et nécessite seulement une poignée de données d’entraînement étiquetées ou annotées. Les développeurs d’EditGAN ont tenté d’intégrer une image dans l’espace latent de GAN pour modifier efficacement l’image en effectuant une optimisation de code latent conditionnel en fonction de l’édition de segmentation. De plus, pour amortir l’optimisation, le modèle tente de trouver des « vecteurs d’édition » dans l’espace latent qui réalisent les éditions.
L’architecture du cadre EditGAN permet au modèle d’apprendre un nombre arbitraire de vecteurs d’édition qui peuvent ensuite être appliqués directement sur d’autres images avec une grande vitesse et efficacité. De plus, les résultats expérimentaux indiquent que EditGAN peut éditer des images avec un niveau de détail jamais vu auparavant tout en préservant la qualité de l’image au maximum.
Pour résumer pourquoi nous avons besoin d’EditGAN, c’est le premier cadre d’édition d’images basé sur GAN qui offre
- Une édition de très haute précision.
- Peut fonctionner avec une poignée de données étiquetées.
- Peut être déployé efficacement dans des scénarios en temps réel.
- Permet la compositionnalité pour plusieurs éditions simultanées.
- Fonctionne sur les images générées par GAN, les images réelles intégrées et même les images hors domaine.
Édition d’images sémantiques de haute précision avec EditGAN
StyleGAN2, un cadre GAN de pointe pour la synthèse d’images, est le composant principal de génération d’images d’EditGAN. Le cadre StyleGAN2 mappe les codes latents qui sont tirés d’une distribution normale multivariée et les mappe dans des images réalistes.
StyleGAN2 est un modèle génératif profond qui a été formé pour synthétiser des images de la plus haute qualité possible ainsi que pour acquérir une compréhension sémantique des images modélisées.
Formation et inférence de segmentation
Le modèle EditGAN intègre une image dans l’espace latent de GAN à l’aide de l’optimisation et d’un encodeur pour effectuer la segmentation sur une nouvelle image et former la branche de segmentation. Le cadre EditGAN continue de s’appuyer sur les travaux précédents et forme un encodeur pour intégrer les images dans l’espace latent. L’objectif principal ici est de former l’encodeur en utilisant des pertes de construction L2 et LPIPS standard à l’aide d’échantillons de GAN et de données d’entraînement réelles. De plus, le modèle régularise explicitement l’encodeur à l’aide des codes latents lorsqu’il travaille avec les échantillons de GAN.
En conséquence, le modèle intègre les images annotées du jeu de données étiquetées avec des segmentations sémantiques dans l’espace latent et utilise la perte d’entropie croisée pour former la branche de segmentation du générateur.
Utilisation de l’édition de segmentation pour trouver des sémantiques dans l’espace latent
L’objectif principal d’EditGAN est de tirer parti de la distribution conjointe des segmentations sémantiques et des images pour l’édition d’images de haute précision. Disons que nous avons une image x qui doit être éditée, le modèle intègre donc l’image dans l’espace latent d’EditGAN ou utilise les échantillons d’images du modèle lui-même. La branche de segmentation génère ensuite y ou la segmentation correspondante principalement parce que les images RGB et les segmentations partagent les mêmes codes latents w. Les développeurs peuvent alors utiliser n’importe quel outil de étiquetage ou de peinture numérique pour modifier la segmentation et l’éditer selon leurs besoins manuellement.

Différentes façons d’éditer pendant l’inférence
Les vecteurs d’édition de l’espace latent obtenus à l’aide de l’optimisation peuvent être décrits comme sémantiquement significatifs et sont souvent désentrelacés avec différents attributs. Par conséquent, pour éditer une nouvelle image, le modèle peut intégrer directement l’image dans l’espace latent et effectuer les mêmes opérations d’édition que le modèle a apprises précédemment, sans effectuer l’optimisation à nouveau desde zéro. Il serait sage de dire que les vecteurs d’édition que le modèle apprend amortissent l’optimisation qui était essentielle pour éditer l’image initialement.
Il est important de noter que les développeurs n’ont pas encore parfait la désentrelacement, et les vecteurs d’édition ne donnent souvent pas les meilleurs résultats lorsqu’ils sont utilisés sur d’autres images. Cependant, le problème peut être surmonté en supprimant les artefacts d’édition des autres parties de l’image en effectuant quelques étapes d’optimisation supplémentaires pendant le test.
Sur la base de nos connaissances actuelles, le cadre EditGAN peut être utilisé pour éditer des images dans trois modes différents.
- Édition en temps réel avec des vecteurs d’édition
Pour les images localisées et désentrelacées, le modèle édite les images en appliquant des vecteurs d’édition appris précédemment avec différentes échelles et manipule les images à des taux interactifs.
- Utilisation de l’affinage auto-supervisé pour l’édition basée sur les vecteurs
Pour éditer des images localisées qui ne sont pas parfaitement désentrelacées avec d’autres parties de l’image, le modèle initialise l’édition de l’image en utilisant des vecteurs d’édition appris précédemment et supprime les artefacts d’édition en effectuant quelques étapes d’optimisation supplémentaires pendant le test.
- Édition basée sur l’optimisation
Pour effectuer des éditions à grande échelle et spécifiques à l’image, le modèle effectue l’optimisation desde zéro car les vecteurs d’édition ne peuvent pas être utilisés pour effectuer ces types de transferts sur d’autres images.
Mise en œuvre
Le cadre EditGAN est évalué sur des images réparties dans quatre catégories différentes : Voitures, Oiseaux, Chats et Visages. La branche de segmentation du modèle est formée en utilisant des paires d’images et de masques de 16, 30, 30, 16 comme données d’entraînement étiquetées pour les Voitures, les Oiseaux, les Chats et les Visages respectivement. Lorsque l’image est éditée uniquement à l’aide de l’optimisation ou lorsque le modèle tente d’apprendre les vecteurs d’édition, le modèle effectue 100 étapes d’optimisation en utilisant l’optimiseur Adam.
Pour les jeux de données de Chats, de Voitures et de Visages, le modèle utilise des images réelles du jeu de test de DatasetGAN qui n’ont pas été utilisées pour former le cadre GAN pour effectuer la fonctionnalité d’édition. Ces images sont intégrées directement dans l’espace latent d’EditGAN à l’aide de l’optimisation et de l’encodage. Pour la catégorie des Oiseaux, l’édition est effectuée sur des images générées par GAN.
Résultats
Résultats qualitatifs
Résultats dans le domaine

L’image ci-dessus démontre les performances du cadre EditGAN lorsqu’il applique les vecteurs d’édition appris précédemment sur de nouvelles images et affine les images en utilisant 30 étapes d’optimisation. Ces opérations d’édition effectuées par le cadre EditGAN sont désentrelacées pour toutes les classes et préservent la qualité globale des images. En comparant les résultats d’EditGAN avec d’autres modèles de référence, on peut observer que le cadre EditGAN surpasse les autres méthodes pour effectuer des éditions de haute précision et complexes tout en préservant l’identité du sujet et la qualité de l’image en même temps.
Ce qui est étonnant, c’est que le cadre EditGAN peut effectuer des éditions de haute précision extrêmement élevées, comme dilater les pupilles ou éditer les rayons de roue des pneus d’une voiture. De plus, EditGAN peut également être utilisé pour éditer les parties sémantiques des objets qui n’ont que quelques pixels ou pour effectuer des modifications à grande échelle d’une image. Il est important de noter que les plusieurs opérations d’édition du cadre EditGAN sont capables de générer des images manipulées qui sont différentes des images qui apparaissent dans les données d’entraînement de GAN.
Résultats hors domaine
Pour évaluer les performances hors domaine d’EditGAN, le cadre a été testé sur le jeu de données MetFaces. Le modèle EditGAN utilise des visages réels dans le domaine pour créer des vecteurs d’édition. Le modèle intègre ensuite les portraits de MetFaces hors domaine en utilisant un processus d’optimisation de 100 étapes et applique les vecteurs d’édition via un processus d’affinage auto-supervisé de 30 étapes. Les résultats peuvent être vus dans l’image suivante.

Résultats quantitatifs
Pour mesurer les capacités d’édition d’images d’EditGAN de manière quantitative, le modèle utilise un benchmark d’édition de sourire qui a été introduit pour la première fois par MaskGAN. Les visages qui contiennent une expression neutre sont remplacés par des visages souriants et les performances sont mesurées sur trois paramètres.
- Correction sémantique
Le modèle utilise un classificateur d’attribut de sourire pré-entraîné pour mesurer si les visages dans les images montrent des expressions souriantes après édition.
- Qualité d’image au niveau de la distribution
La distance de noyau d’Inception ou KID et la distance d’Inception de Fréchet ou FID sont calculées entre le jeu de test de CelebA et 400 images de test éditées.
- Préservation de l’identité
La capacité du modèle à préserver l’identité des sujets lors de l’édition de l’image est mesurée à l’aide d’un réseau de extraction de fonctionnalités ArcFace pré-entraîné.

Le tableau ci-dessus compare les performances du cadre EditGAN avec d’autres modèles de référence sur le benchmark d’édition de sourire. La méthode suivie par le cadre EditGAN pour fournir de tels résultats élevés est comparée à trois modèles de référence différents :
- MaskGAN
MaskGAN prend des images non souriantes avec leurs masques de segmentation et un masque de segmentation de sourire cible comme entrée. Il est important de noter que, par rapport à EditGAN, le cadre MaskGAN nécessite une grande quantité de données annotées.
- Édition locale
EditGAN compare également ses performances avec l’édition locale, une méthode qui est utilisée pour regrouper les fonctionnalités de GAN pour implémenter l’édition locale et qui dépend des images de référence.
- InterFaceGAN
Comme EditGAN, InterFaceGAN tente également de trouver des vecteurs d’édition dans l’espace latent du modèle. Cependant, contrairement à EditGAN, le modèle InterFaceGAN utilise une grande quantité de données annotées, des classificateurs d’attribut auxiliaires et n’a pas la précision d’édition fine.
- StyleGAN2Distillation
Cette méthode crée une approche alternative qui n’exige pas nécessairement d’intégration d’images réelles et utilise à la place un modèle de vecteur d’édition pour créer un jeu de données d’entraînement.

Limitations
Puisque EditGAN est basé sur le cadre GAN, il a les mêmes limitations que n’importe quel autre modèle GAN : il ne peut fonctionner qu’avec des images qui peuvent être modélisées par GAN. La limitation d’EditGAN pour fonctionner avec des images modélisées par GAN est la principale raison pour laquelle il est difficile de mettre en œuvre EditGAN dans différents scénarios. Cependant, il est important de noter que les éditions de haute précision d’EditGAN peuvent être transférées facilement à d’autres images différentes en utilisant des vecteurs d’édition.
Conclusion
L’une des principales raisons pour lesquelles GAN n’est pas une norme industrielle dans le domaine de l’édition d’images est due à sa limitation pratique. Les cadres GAN nécessitent généralement une grande quantité de données d’entraînement annotées et ne retournent pas souvent une efficacité et une précision élevées.
EditGAN vise à résoudre les problèmes présentés par les cadres GAN conventionnels et tente de se présenter comme une méthode efficace pour l’édition d’images sémantiques de haute qualité et de haute précision. Les résultats jusqu’à présent indiquent que EditGAN offre effectivement ce qu’il promet et qu’il performs déjà mieux que certaines des pratiques et modèles actuels de l’industrie.












