Face Generation : créer des visages réalistes qui n’existent pas grâce à l’IA
La face generation (génération de visages) est la capacité de modèles d’intelligence artificielle à synthétiser des images de visages humains photoréalistes qui n’appartiennent à aucune personne réelle, en utilisant des architectures comme les GAN (StyleGAN) ou les modèles de diffusion.
- Catégorie
- Vision par ordinateur, génération d’images, deep learning génératif
- Architecture phare
- StyleGAN (NVIDIA), décliné en StyleGAN2, StyleGAN2-ADA, StyleGAN3
- Dataset de référence
- FFHQ (Flickr-Faces-HQ, 70 000 visages, 1024×1024), CelebA-HQ
- Alternative diffusion
- Stable Diffusion (Realistic Vision, DreamShaper), DCFace, Arc2Face
- Résolution
- Jusqu’à 1024×1024 (StyleGAN2/3), supérieur avec diffusion
- Démonstration
thispersondoesnotexist.com(StyleGAN2, renouvelé chaque visite)
Qu’est-ce que la face generation ?
La face generation consiste à produire des images de visages humains entièrement synthétiques, c’est-à-dire qui ne correspondent à aucune personne existante. Le résultat est si réaliste que même des observateurs humains attentifs peinent à distinguer un visage généré d’une photographie réelle.
Le domaine a explosé avec StyleGAN (NVIDIA, 2018-2021), qui a démontré qu’un GAN pouvait produire des visages d’une qualité photographique stupéfiante. Le site thispersondoesnotexist.com a popularisé le concept auprès du grand public en affichant un nouveau visage synthétique à chaque visite. Depuis, les modèles de diffusion (Stable Diffusion et ses variantes spécialisées) ont rejoint les GAN comme outils de génération de visages, avec des approches complémentaires.
La face generation se distingue de la face editing (modifier un visage existant), du face swap (remplacer un visage par un autre), et de la restauration de visages (réparer un visage dégradé). Elle est liée à l’image generation générale mais se concentre spécifiquement sur le domaine facial, avec ses contraintes propres de réalisme anatomique et d’identité.
StyleGAN : l’architecture fondatrice
StyleGAN (2018)
Proposé par Tero Karras, Samuli Laine et Timo Aila chez NVIDIA, StyleGAN a introduit une architecture de générateur radicalement différente des GAN classiques. L’innovation clé : un réseau de mapping non-linéaire (8 couches fully-connected) qui transforme le vecteur latent z (espace Z, 512 dimensions) en un vecteur intermédiaire w (espace W), qui est ensuite injecté dans chaque couche convolutive du générateur via Adaptive Instance Normalization (AdaIN).
Cette architecture « style-based » permet un contrôle hiérarchique des attributs du visage généré. Les couches basses du générateur (résolutions 4×4 à 8×8) contrôlent les attributs grossiers (pose, forme du visage, type de coiffure). Les couches moyennes (16×16 à 32×32) contrôlent les traits intermédiaires (expression, yeux, nez). Les couches hautes (64×64 à 1024×1024) contrôlent les détails fins (texture de peau, couleur exacte des cheveux, taches de rousseur).
Du bruit gaussien est ajouté à chaque résolution pour introduire une variation stochastique dans les détails fins (placement exact des mèches de cheveux, grain de peau). Ce bruit n’affecte pas les attributs sémantiques, seulement la « texture » locale.
Le dataset d’entraînement de référence est FFHQ (Flickr-Faces-HQ) : 70 000 images de visages à 1024×1024 pixels, collectées sur Flickr sous licences Creative Commons. CelebA-HQ (30 000 images de célébrités à 1024×1024) est une alternative courante.
StyleGAN2 (2020)
StyleGAN2 a corrigé les principaux défauts de StyleGAN. Le plus visible : les artefacts en forme de « gouttelettes d’eau » (water droplet artifacts) causés par l’AdaIN. StyleGAN2 remplace l’AdaIN par une normalisation par démodulation des poids (weight demodulation), qui supprime ces artefacts tout en conservant le contrôle stylistique.
Autres améliorations : une régularisation par path length (encourageant un mapping régulier entre l’espace latent et l’espace image), un entraînement progressif revisité (pas de croissance progressive, résolution fixe dès le début), et une architecture de discriminateur révisée. Le résultat : des visages encore plus réalistes et un espace latent mieux structuré (plus « disentangled »).
La variante StyleGAN2-ADA (Adaptive Discriminator Augmentation) résout le problème de l’entraînement avec peu de données. L’augmentation adaptative du discriminateur permet d’entraîner des modèles de qualité à partir de quelques milliers d’images seulement, au lieu des dizaines de milliers habituellement nécessaires.
StyleGAN3 (2021)
StyleGAN3 s’attaque au « texture sticking » : dans les versions précédentes, certains détails de texture (comme les cheveux) semblaient « collés » à des coordonnées pixel fixes plutôt que de suivre naturellement le mouvement du visage lors de l’interpolation latente. StyleGAN3 résout ce problème en repensant les opérations de base du réseau pour garantir l’équivariance en translation et rotation. Le résultat est une animation plus naturelle lors de l’exploration de l’espace latent.
L’espace latent et ses manipulations
L’un des aspects les plus fascinants de StyleGAN est la richesse de son espace latent. Différentes représentations latentes offrent différents niveaux de contrôle.
Espaces Z, W et W+
Espace Z : Le vecteur aléatoire initial (512 dimensions, distribution gaussienne). Simple à échantillonner mais les directions sémantiques sont enchevêtrées (« entangled ») : modifier une dimension peut changer simultanément plusieurs attributs du visage.
Espace W : Le vecteur après le réseau de mapping (512 dimensions). Les attributs sont mieux séparés (« disentangled ») : il existe des directions spécifiques pour le sourire, l’âge, le genre, la rotation de la tête, etc. C’est l’espace utilisé pour la plupart des manipulations sémantiques.
Espace W+ : Au lieu d’injecter le même vecteur w dans toutes les couches, on utilise un vecteur w différent par couche (18 vecteurs de 512 dimensions pour StyleGAN2 à 1024×1024). L’espace W+ est beaucoup plus expressif et permet de reconstruire des images réelles avec une fidélité bien supérieure (via GAN inversion).
GAN inversion
La GAN inversion consiste à trouver le vecteur latent qui, passé dans le générateur, produit une image la plus proche possible d’une photo réelle donnée. C’est le pont entre la génération et l’édition : une fois l’image inversée dans l’espace latent, on peut manipuler le vecteur pour modifier les attributs du visage réel. Les encodeurs comme e4e (encoder for editing), ReStyle et pSp (pixel2style2pixel) apprennent à projeter directement une image dans l’espace W+ en un seul passage forward.
Le compromis fidélité-éditabilité est central : l’espace W produit des inversions plus éditables mais moins fidèles ; l’espace W+ est plus fidèle mais les éditions peuvent produire des artefacts. HyperStyle et StyleRes tentent de concilier les deux.
Style mixing
L’un des effets les plus démonstratifs de StyleGAN : prendre les couches basses d’un visage A (structure, pose) et les couches hautes d’un visage B (texture, couleurs) pour créer un hybride. En contrôlant le point de « crossover » entre les deux vecteurs w, on peut mélanger les attributs de deux identités à différentes échelles.
Édition sémantique dans l’espace latent
Des directions sémantiques dans l’espace W permettent de modifier des attributs spécifiques : ajouter un sourire, vieillir/rajeunir, changer la coiffure, tourner la tête. InterfaceGAN, GANSpace et StyleCLIP sont les méthodes principales. StyleCLIP combine CLIP avec StyleGAN pour permettre des éditions guidées par le texte (« make the person smile », « add glasses »).
Génération de visages par modèles de diffusion
Les modèles de diffusion dominent aujourd’hui la génération d’images généraliste, et le domaine facial ne fait pas exception. Leur avantage principal sur les GAN : une plus grande diversité des résultats et un entraînement plus stable.
Stable Diffusion et variantes spécialisées
Stable Diffusion et ses variantes fine-tunées produisent d’excellents visages. Les modèles comme Realistic Vision (spécialement optimisé pour éviter les distorsions faciales, l’asymétrie et les défauts de clonage) et DreamShaper XL offrent un réalisme facial remarquable. Ces modèles bénéficient de datasets d’entraînement massifs et de techniques comme le classifier-free guidance pour le contrôle de la génération.
L’avantage des modèles de diffusion : le contrôle textuel (via prompts), la résolution flexible, et l’écosystème d’outils (ControlNet pour le contrôle de la pose, LoRA pour le style, DreamBooth pour la personnalisation d’identité). L’inconvénient : un temps d’inférence nettement plus lent (secondes vs millisecondes pour StyleGAN) et un nombre de paramètres bien supérieur (1 milliard+ vs 30 millions).
DCFace et datasets synthétiques
DCFace est un framework qui utilise un modèle de diffusion conditionnel (DDPM) pour générer des datasets de visages synthétiques avec des identités uniques et diversifiées. L’identité et le style (variation intra-classe) sont injectés comme conditions séparées, ce qui permet de générer de nombreuses variantes d’un même individu fictif. Ces datasets synthétiques sont utilisés pour entraîner des systèmes de reconnaissance faciale sans utiliser de données de personnes réelles.
Arc2Face et préservation d’identité
Arc2Face utilise des embeddings de reconnaissance faciale (ArcFace) comme condition pour guider un modèle de diffusion pré-entraîné. Le résultat : des visages générés qui préservent une identité spécifique tout en variant la pose, l’éclairage et l’expression. Cette approche est utilisée pour améliorer le réalisme de datasets synthétiques (comme Digi2Real qui améliore DigiFace-1M).
FISA et édition préservant l’identité
FISA (Fusion of Identity and Structure through Attention) intègre trois mécanismes dans un modèle de diffusion pour l’édition faciale : une cross-attention orientée identité (préservation du visage), un contrôle structurel (préservation de la pose et de la composition), et un alignement sémantique avec le prompt textuel. Cette approche résout les deux limitations principales des méthodes text-to-image appliquées aux visages : la perte d’identité lors de l’édition et l’incohérence avec les prompts.
GAN vs Diffusion pour la génération de visages
| Critère | StyleGAN2/3 (GAN) | Stable Diffusion + variantes |
|---|---|---|
| Vitesse d’inférence | Millisecondes (quasi-instantané) | Secondes à dizaines de secondes |
| Taille du modèle | ~30M paramètres | 1B+ paramètres |
| Qualité faciale | Excellente (spécialisé visages) | Excellente (avec modèles fine-tunés) |
| Diversité | Limitée par le dataset (FFHQ) | Très large (entraîné sur le web) |
| Contrôle | Espace latent (W, W+), style mixing | Texte (prompts), ControlNet, LoRA |
| Édition | Directions latentes, StyleCLIP | Inpainting, img2img, FISA |
| Stabilité d’entraînement | Sensible (mode collapse possible) | Stable |
| Résolution native | 1024×1024 (fixe) | Flexible (512, 768, 1024+) |
| Maturité écosystème | Mûr, bien compris | En expansion rapide |
Notre verdict : StyleGAN reste l’outil de choix quand vous avez besoin de vitesse (génération en temps réel), d’un contrôle fin via l’espace latent, ou d’un modèle compact. Les modèles de diffusion sont préférables quand vous voulez une diversité maximale, un contrôle textuel, ou une intégration dans un pipeline text-to-image plus large. Pour la recherche en reconnaissance faciale et la génération de datasets synthétiques, les modèles de diffusion conditionnels (DCFace, Arc2Face) ont pris l’ascendant.
Applications
Protection de la vie privée
Les visages synthétiques remplacent les visages réels dans les prototypes d’interfaces, les supports marketing, les tests d’applications, et les présentations. DiffuShield utilise un modèle de diffusion avec des encodeurs d’identité et d’attributs pour générer des visages qui préservent certaines caractéristiques (âge, genre, expression) tout en supprimant l’identité réelle, avec des garanties de differential privacy. C’est une réponse directe aux préoccupations RGPD.
Entraînement de systèmes de reconnaissance faciale
Les datasets synthétiques (SFace, SFace2, DCFace, GANDiffFace, ControlFace10k) permettent d’entraîner des systèmes de reconnaissance faciale sans collecter de photos de personnes réelles. L’enjeu : générer suffisamment de diversité intra-classe (variations de pose, éclairage, expression pour une même identité) tout en maintenant une séparation nette entre identités. Les meilleurs datasets synthétiques atteignent des performances comparables à celles obtenues avec des données réelles sur les benchmarks standards.
Divertissement et médias
Création d’avatars, de personnages de jeux vidéo, de figurants numériques pour le cinéma, de profils pour les réseaux sociaux fictifs (NPC marketing). StyleGAN permet aussi la « stylisation cross-domaine » : transformer un visage réaliste en cartoon, anime, ou caricature tout en préservant l’identité (Toonify, StyleCariGAN, StyleGAN-NADA).
Applications médicales et forensiques
Génération de visages synthétiques pour la formation de praticiens (dermatologie, chirurgie), l’anonymisation de données médicales, et la simulation de transformations faciales (prédiction du vieillissement, simulation post-opératoire). En forensique, les modèles de « face demorphing » (StyleDemorpher) utilisent l’espace latent de StyleGAN2 pour décomposer un visage « morphé » (fusionné) en ses identités constituantes.
Génération 3D de visages
L’extension de StyleGAN à la 3D est un domaine actif. StyleNeRF combine StyleGAN avec NeRF pour générer des visages 3D cohérents depuis n’importe quel angle. Toonify3D étend la stylisation à la 3D en estimant des cartes de normales à partir des features StyleGAN. Les modèles 3D morphables (3DMM, FLAME, DECA) fournissent un contrôle géométrique précis de la forme et de l’expression faciale.
Enjeux éthiques et de sécurité
Deepfakes et désinformation
La face generation est la technologie qui alimente une partie des deepfakes. Des visages générés par StyleGAN ont été utilisés pour créer de faux profils sur les réseaux sociaux à des fins d’espionnage, de désinformation politique, et d’escroquerie. Le site « Which Face Is Real? » (créé par des chercheurs de l’Université de Washington) entraîne le public à distinguer les visages réels des visages générés.
Biais et représentation
Les modèles entraînés sur FFHQ et CelebA héritent des biais de ces datasets : surreprésentation de certaines ethnies, de certains âges, et de certains types de beauté. Les visages générés reflètent ces déséquilibres. Des travaux récents sur les datasets multi-ethniques (MEBeauty) et les techniques de rééquilibrage tentent de corriger ces biais, mais le problème reste significatif.
Fuite d’identité (identity leakage)
Un risque identifié dans les datasets synthétiques : les visages générés peuvent ressembler trop fortement à des individus du dataset d’entraînement, ce qui compromet la protection de la vie privée. Ce problème est particulièrement aigu pour les images d’enfants. Des mécanismes de filtrage et de vérification sont développés pour détecter et éliminer ces cas.
Régulation et détection
L’AI Act européen impose des obligations de transparence pour les contenus générés par IA. Les techniques de watermarking IA et les standards comme C2PA visent à tracer l’origine des images synthétiques. Côté détection, des classificateurs binaires entraînés sur des artefacts spécifiques aux GAN (comme les réponses spectrales dans le domaine fréquentiel) permettent de distinguer les visages générés des photos réelles, mais l’amélioration continue des générateurs rend cette course permanente.
Générer des visages en pratique
Avec StyleGAN2-ADA (PyTorch)
# Cloner le dépôt officiel NVIDIA
git clone https://github.com/NVlabs/stylegan2-ada-pytorch
cd stylegan2-ada-pytorch
# Générer des visages avec le modèle pré-entraîné FFHQ
python generate.py --outdir=out --seeds=0-35
--network=https://nvlabs-fi-cdn.nvidia.com/stylegan2-ada-pytorch/pretrained/ffhq.pkl
# Style mixing entre deux visages
python style_mixing.py --outdir=out --rows=85,100,75,458
--cols=55,821,1789,293
--network=pretrained/ffhq.pklAvec Stable Diffusion (Realistic Vision)
# Avec diffusers (Hugging Face)
from diffusers import StableDiffusionPipeline
import torch
pipe = StableDiffusionPipeline.from_pretrained(
"SG161222/Realistic_Vision_V6.0_B1_noVAE",
torch_dtype=torch.float16
).to("cuda")
image = pipe(
"portrait photo of a young woman, natural lighting, sharp focus",
negative_prompt="deformed, bad anatomy, disfigured, poorly drawn face",
num_inference_steps=30,
guidance_scale=7.5
).images[0]
image.save("generated_face.png")Tester sans code
Le moyen le plus simple de voir la face generation en action : visitez thispersondoesnotexist.com (StyleGAN2, un nouveau visage à chaque visite). Pour Stable Diffusion, des plateformes comme Civitai, Hugging Face Spaces, et les clients web (ComfyUI, Automatic1111) permettent de générer des visages sans installer quoi que ce soit.
Concepts connexes
La face generation est au cœur d’un écosystème dense. La face editing modifie les attributs d’un visage existant via l’espace latent. Le face swap remplace un visage par un autre dans une image ou vidéo. La deepfake detection tente d’identifier les visages générés. L’age estimation et l’emotion recognition sont des tâches d’analyse faciale qui bénéficient de datasets synthétiques. L’image generation est le domaine parent. Les techniques sous-jacentes incluent les GAN, les modèles de diffusion, l’image restoration (via GFPGAN et CodeFormer qui exploitent StyleGAN2), et le neural style transfer (dont l’AdaIN est au cœur de StyleGAN).
Questions fréquentes sur la face generation
Les visages générés par StyleGAN sont-ils vraiment indiscernables des photos réelles ?
À première vue, oui. StyleGAN2 et 3 produisent des visages d’une qualité photographique qui trompe la plupart des observateurs dans des conditions normales. Cependant, des indices subtils persistent : asymétrie des boucles d’oreilles, arrière-plans incohérents, textures de cheveux inhabituelles aux frontières, et parfois des artefacts dans les dents ou les yeux. Des classificateurs spécialisés détectent aussi des signatures fréquentielles caractéristiques des GAN. Le site « Which Face Is Real? » permet de tester sa capacité à faire la distinction. En pratique, avec une attention soutenue, un observateur entraîné identifie correctement environ 60 à 80 % des images.
Peut-on contrôler les attributs d’un visage généré (âge, genre, expression) ?
Oui, c’est l’une des forces de StyleGAN. Dans l’espace latent W, des directions sémantiques linéaires correspondent à des attributs spécifiques. Avec InterfaceGAN ou GANSpace, vous pouvez ajuster le sourire, l’âge, le genre, la rotation de la tête, la présence de lunettes, etc. Avec StyleCLIP, vous pouvez même guider les modifications par des prompts textuels. Pour les modèles de diffusion, le contrôle passe par les prompts textuels et des outils comme ControlNet (contrôle de la pose via un squelette facial).
Les visages générés posent-ils des problèmes de droits ou de vie privée ?
Les visages générés par StyleGAN n’appartiennent à personne, donc ils ne posent pas directement de problème de droit à l’image. Cependant, trois risques existent. Premièrement, la ressemblance fortuite : un visage généré peut ressembler à une personne réelle par hasard. Deuxièmement, l’usage trompeur : utiliser des visages synthétiques pour créer de faux profils, de faux témoignages ou de la désinformation est illégal dans la plupart des juridictions. Troisièmement, le dataset d’entraînement : FFHQ contient des photos de personnes réelles prises sur Flickr, ce qui soulève des questions de consentement. StyleGAN lui-même est distribué sous licence CC BY-NC 4.0 (non commercial).
Quelle est la différence entre face generation et deepfake ?
La face generation crée des visages entièrement nouveaux qui ne correspondent à aucune personne existante. Les deepfakes, au sens strict, manipulent des images ou vidéos de personnes réelles (face swap, lip sync, puppeting). La distinction est importante : la face generation a de nombreux usages légitimes (protection de la vie privée, avatars, datasets d’entraînement), tandis que les deepfakes sont plus souvent associés à des usages problématiques (désinformation, revenge porn). En pratique, les mêmes technologies (StyleGAN, modèles de diffusion) sont utilisées pour les deux, d’où la confusion fréquente.
Comment générer des visages synthétiques pour un projet commercial ?
Pour un usage commercial, la licence de StyleGAN (CC BY-NC 4.0) pose problème car elle interdit l’usage commercial. Deux options : utiliser des modèles de diffusion open source sous licence permissive (Stable Diffusion est sous CreativeML Open RAIL-M, qui autorise l’usage commercial avec certaines restrictions), ou passer par des services commerciaux de génération de visages comme Generated Photos (qui propose des bibliothèques de visages synthétiques sous licence commerciale). Pour les datasets synthétiques de reconnaissance faciale, des frameworks comme SFace2 et VariFace sont disponibles sous des licences de recherche.