Suivez nous sur

Intelligence artificielle

Édition d'images sémantiques de haute précision avec EditGAN

mm

Publié le

 on

Une personne tenant le globe dans ses mains tout en se tenant dans les champs.

Réseaux d'adversaires génératifs ou les GAN bénéficient de nouvelles applications dans le secteur de l'édition d'images. Au cours des derniers mois, EditGAN gagne en popularité dans l'industrie de l'IA/ML car il s'agit d'une nouvelle méthode d'édition d'images sémantiques de haute précision et de haute qualité. 

Nous parlerons du modèle EditGAN en détail et vous expliquerons pourquoi il pourrait s'avérer être une étape importante dans l'industrie de l'édition d'images sémantiques.

Alors commençons. Mais avant de savoir ce qu'est EditGAN, il est important pour nous de comprendre quelle est l'importance d'EditGAN et pourquoi il s'agit d'un pas en avant important. 

Pourquoi EditGAN ?

Bien que les architectures GAN traditionnelles aient aidé le secteur de l’édition d’images basée sur l’IA à progresser de manière significative, la création d’une architecture GAN à partir de zéro présente des défis majeurs. 

  1. Pendant la phase de formation, une architecture GAN nécessite une grande quantité de données étiquetées avec des annotations de segmentation sémantique. 
  2. Ils ne sont capables de fournir qu'un contrôle de haut niveau. 
  3. Et souvent, ils se contentent d’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 de l'architecture GAN traditionnelle est la raison pour laquelle EditGAN a été introduit par NVIDIA en 2022. 

EditGAN est proposé comme une méthode efficace pour une haute précision et une sémantique de haute qualité l'édition d'image avec la capacité de permettre à ses utilisateurs d'éditer des images en modifiant leurs masques de segmentation très détaillés d'une image. L'une des raisons pour lesquelles EditGAN est une méthode évolutive pour les tâches d'édition d'images est son architecture. 

Le modèle EditGAN est construit sur un framework GAN qui modélise conjointement les images et leurs segmentations sémantiques, et ne nécessite qu'une poignée de données de formation étiquetées ou annotées. Les développeurs d'EditGAN ont tenté d'intégrer une image dans l'espace latent du GAN pour modifier efficacement l'image en effectuant une optimisation conditionnelle du code latent conformément à 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éalise les modifications. 

L'architecture du framework EditGAN permet au modèle d'apprendre un nombre arbitraire de vecteurs d'édition qui peuvent ensuite être implémentés ou appliqués directement sur d'autres images avec une vitesse et une efficacité élevées. De plus, les résultats expérimentaux indiquent qu'EditGAN peut éditer des images avec un niveau de détail jamais vu auparavant tout en préservant au maximum la qualité de l'image. 

Pour résumer pourquoi nous avons besoin d'EditGAN, il s'agit du tout premier framework d'édition d'images basé sur GAN qui offre

  1. Montage de très haute précision. 
  2. Peut fonctionner avec une poignée de données étiquetées. 
  3. Peut être déployé efficacement dans des scénarios en temps réel. 
  4. Permet la compositionnalité pour plusieurs modifications simultanément. 
  5. Fonctionne sur les images générées par le GAN, réellement intégrées et même hors domaine. 

Édition d'images sémantiques de haute précision avec EditGAN 

StyleGAN2, un framework GAN de pointe pour la synthèse d'images, est le principal composant de génération d'images d'EditGAN. Le framework StyleGAN2 cartographie les codes latents tirés d'un pool de distribution normale multivariée et les mappe en 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 l'acquisition d'une compréhension sémantique des images modélisées. 

Formation et inférence sur la segmentation

Le modèle EditGAN intègre une image dans l'espace latent du GAN à l'aide d'une optimisation et d'un encodeur pour effectuer la segmentation sur une nouvelle image et entraîner la branche de segmentation. Le framework EditGAN continue de s'appuyer sur des travaux antérieurs et entraîne un encodeur pour intégrer les images dans l'espace latent. L'objectif principal ici est de former l'encodeur composé de pertes de construction L2 et LPIPS standard au niveau des pixels à l'aide d'échantillons du GAN et de données de formation réelles. De plus, le modèle régularise également explicitement l'encodeur en utilisant les codes latents lorsque vous travaillez avec les échantillons GAN. 

En conséquence, le modèle intègre les images annotées de l'ensemble de données étiquetées avec segmentation sémantique dans l'espace latent et utilise la perte d'entropie croisée pour entraîner la branche de segmentation du générateur. 

Utilisation de l'édition de segmentation pour rechercher la sémantique dans l'espace latent

L'objectif principal d'EditGAN est de tirer parti de la distribution conjointe de segmentations sémantiques et d'images pour retouche d'image de haute précision. Disons que nous avons une image x qui doit être modifié, de sorte que le modèle intègre l'image dans l'espace latent d'EditGAN ou utilise les exemples d'images du modèle lui-même. La branche de segmentation génère alors y ou la segmentation correspondante principalement parce que les images et segmentations RVB partagent les mêmes codes latents w. Les développeurs peuvent ensuite utiliser n'importe quel outil d'étiquetage ou de peinture numérique pour modifier la segmentation et les éditer manuellement selon leurs besoins. 

Différentes manières d'éditer pendant l'inférence

Les vecteurs d'édition d'espace latent obtenus par optimisation peuvent être décrits comme sémantiquement significatifs et sont souvent démêlés avec différents attributs. Par conséquent, pour éditer une nouvelle image, le modèle peut directement intégrer l'image dans l'espace latent et effectuer directement les mêmes opérations d'édition que celles que le modèle a apprises précédemment, sans refaire l'optimisation à partir de zéro. Il serait prudent de dire que les vecteurs d’édition appris par le modèle amortissent l’optimisation qui était essentielle pour éditer l’image initialement. 

Il convient de noter que les développeurs n'ont pas encore perfectionné le démêlage et que les vecteurs d'édition ne donnent souvent pas les meilleurs résultats lorsqu'ils sont utilisés avec d'autres images. Cependant, le problème peut être résolu en supprimant les artefacts d'édition d'autres parties de l'image en effectuant quelques étapes d'optimisation supplémentaires pendant la durée du test. 

Sur la base de nos apprentissages actuels, le framework 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émêlées, le modèle édite les images en appliquant des vecteurs d'édition appris précédemment à différentes échelles, et manipule les images à des rythmes interactifs. 

  • Utilisation du raffinement auto-supervisé pour l'édition vectorielle

Pour éditer des images localisées qui ne sont pas parfaitement démêlées avec d'autres parties de l'image, le modèle initialise l'édition de l'image à l'aide de vecteurs d'édition précédemment appris et supprime les artefacts d'édition en effectuant quelques étapes d'optimisation supplémentaires pendant la durée du test. 

  • Édition basée sur l'optimisation

Pour effectuer des modifications à grande échelle et spécifiques à une image, le modèle effectue une optimisation dès le départ car les vecteurs d'édition ne peuvent pas être utilisés pour effectuer ce type de transferts vers d'autres images. 

Implémentation

Le framework 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 entraînée en utilisant des paires image-masque 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 doit être modifiée uniquement par optimisation, ou lorsque le modèle tente d'apprendre les vecteurs d'édition, le modèle effectue 100 étapes d'optimisation à l'aide de l'optimiseur Adam. 

Pour l'ensemble de données Cat, Car et Faces, le modèle utilise des images réelles de l'ensemble de test de DatasetGAN qui n'ont pas été utilisées pour entraîner le framework GAN à exécuter la fonctionnalité d'édition. Immédiatement, ces images sont intégrées dans l'espace latent d'EditGAN grâce à l'optimisation et au codage. Pour la catégorie Oiseaux, l'édition est affichée sur les 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 framework EditGAN lorsqu'il applique les vecteurs d'édition précédemment appris sur de nouvelles images et affine les images à l'aide de 30 étapes d'optimisation. Ces opérations d'édition effectuées par le framework EditGAN sont démêlées pour toutes les classes, et elles préservent la qualité globale des images. En comparant les résultats d'EditGAN et d'autres frameworks, on a pu observer que le framework EditGAN surpasse les autres méthodes en effectuant des modifications complexes et de haute précision 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 framework EditGAN peut effectuer des modifications d'une extrêmement haute précision, comme la dilatation des pupilles ou la modification des rayons des roues des pneus d'une voiture. De plus, EditGAN peut également être utilisé pour modifier les parties sémantiques d'objets qui ne comportent que quelques pixels, ou il peut également être utilisé pour effectuer des modifications à grande échelle sur une image. Il convient de noter que les différentes opérations d'édition du framework EditGAN sont capables de générer des images manipulées contrairement aux images qui apparaissent dans les données de formation GAN. 

Résultats hors domaine

Pour évaluer les performances hors domaine d'EditGAN, le framework a été testé sur l'ensemble 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 MetFaces hors domaine à l'aide d'un processus d'optimisation en 100 étapes, et applique les vecteurs d'édition via un processus de raffinement auto-supervisé en 30 étapes. Les résultats peuvent être vus dans l’image suivante. 

Résultats quantitatifs

Pour mesurer quantitativement les capacités d'édition d'images d'EditGAN, le modèle utilise un benchmark d'édition de sourire qui a été introduit pour la première fois par MaskGAN. Les visages contenant une expression neutre sont remplacés par des visages souriants et les performances sont mesurées sur trois paramètres. 

  • Exactitude sémantique

Le modèle utilise un classificateur d'attributs de sourire pré-entraîné pour mesurer si les visages dans les images affichent des expressions souriantes après l'édition. 

  • Qualité d'image au niveau de la distribution

La distance de début du noyau ou KID et la distance de début Frechet ou FID sont calculées entre l'ensemble de données de test 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 d'extraction de fonctionnalités ArcFace pré-entraîné. 

Le tableau ci-dessus compare les performances du framework EditGAN avec d'autres modèles de base sur le benchmark smile edit. La méthode suivie par le framework EditGAN pour fournir des résultats aussi élevés est comparée sur trois références différentes :

  • MasqueGAN

MaskGAN prend des images non souriantes avec leurs masques de segmentation et un masque de segmentation cible souriant comme entrée. Il convient de noter que par rapport à EditGAN, le framework 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 utilisée pour regrouper les fonctionnalités du GAN afin d'implémenter l'édition locale, et elle dépend des images de référence. 

  • InterfaceGAN

Tout 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'attributs auxiliaires et n'a pas une précision d'édition fine. 

  • StyleGAN2Distillation

Cette méthode crée une approche alternative qui ne nécessite pas nécessairement de véritables intégrations d'images, mais utilise à la place un modèle vectoriel d'édition pour créer un ensemble de données de formation. 

Limites

Parce qu'EditGAN est basé sur le framework GAN, il présente la même limitation que tout autre modèle GAN : il ne peut fonctionner qu'avec des images pouvant être modélisées par le GAN. La limitation d'EditGAN à travailler avec des images modélisées GAN est la principale raison pour laquelle il est difficile de mettre en œuvre EditGAN dans différents scénarios. Cependant, il convient de noter que les modifications de haute précision d'EditGAN peuvent être facilement transférées vers 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 son caractère pratique limité. Les frameworks GAN nécessitent généralement une grande quantité de données de formation annotées, et ils ne renvoient pas souvent une efficacité et une précision élevées. 

EditGAN vise à résoudre les problèmes présentés par les frameworks GAN conventionnels et tente de devenir 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 ont indiqué qu'EditGAN offre effectivement ce qu'il prétend et qu'il fonctionne déjà mieux que certaines des pratiques et modèles standards actuels de l'industrie. 

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.