AIREITER

Restauration de visages avec GFPGAN ou CodeFormer : réglages et API

Dernière mise à jour: 2026-09-01 01:44:28

Un modèle de restauration peut rendre un portrait abîmé plus net tout en modifiant discrètement la personne représentée. Pour commencer simplement, GFPGAN privilégie un nettoyage naturel, tandis que CodeFormer offre davantage de contrôle lorsque la ressemblance est prioritaire. Les travaux publiés en 2026 s’orientent vers des restaurateurs guidés par référence, fondés sur la diffusion ou optimisés pour les appareils en périphérie, mais aucun ne remplace encore directement ces deux implémentations établies.

Commencez par le type de dégradation, pas par le nom du modèle

La restauration de visage ne se résume pas à un agrandissement classique. Un modèle de super-résolution agrandit l’image et estime les textures manquantes dans l’ensemble du cadre. Un modèle de restauration aveugle des visages s’appuie aussi sur un a priori facial appris pour reconstruire les yeux, la peau, les cheveux et d’autres éléments qui peuvent avoir totalement disparu. Le résultat paraît alors plus convaincant, mais le risque de dérive d’identité augmente.

Entrée ou objectifÀ essayer en premierPourquoiVérification principale
Portrait légèrement flou avec des traits reconnaissablesGFPGANLa comparaison officielle décrit la v1.3 comme naturelle et adaptée aux images relativement qualitativesLa peau est-elle plus propre sans perdre les marques ni la texture des cheveux ?
Visage très petit ou fortement dégradéCodeFormerSon réglage w permet de choisir le niveau de reconstruction acceptéLes nouveaux yeux et la nouvelle bouche appartiennent-ils toujours au sujet ?
Personne réelle pour laquelle la ressemblance est prioritaireCodeFormer avec un w plus élevéUn w élevé privilégie généralement la fidélité à l’image sourceLe flou restant vaut-il mieux qu’un visage inventé ?
Visage et arrière-plan endommagéCodeFormer avec amélioration de l’arrière-plan, ou un agrandisseur séparé pour l’image entièreCodeFormer peut confier les zones hors visage à Real-ESRGANLes contours du visage, de l’arrière-plan et des cheveux restent-ils naturels ?
L’image entière doit être agrandie, sans réparation spécifique du visageReal-ESRGANIl s’agit avant tout d’un restaurateur et agrandisseur d’images généraliste, avec amélioration facultative des visagesL’amélioration du visage écrase-t-elle une texture utile ?
Inférence en temps réel sur mobile ou système embarquéSurveillez CFRNetSes auteurs ciblent les NPU grand public en 256×256Un checkpoint publié et maintenu est-il disponible ?

Une méthode prudente consiste à conserver l’original intact, à travailler sur une copie et à comparer le visage à 100 % avant de juger le résultat agrandi.

Quand ce tableau ne suffit plus

Pour un flou modéré ou un visage généré par IA présentant de petits défauts, essayez d’abord GFPGAN si vous cherchez un nettoyage sans reconstruction trop importante. Pour un visage déformé, minuscule ou très dégradé, CodeFormer est généralement le meilleur premier test : son réglage de fidélité rend le compromis immédiatement visible.

Les rayures et la décoloration qui touchent l’ensemble du scan relèvent d’un autre problème. GFPGAN et CodeFormer se concentrent sur les visages : traitez donc le visage et l’arrière-plan séparément, puis inspectez la ligne des cheveux, les lunettes et le grain du composite. Pour plusieurs visages ou des accessoires inhabituels, utilisez une option de visage aligné ou de visage central lorsque le wrapper en propose une.

Ne qualifiez pas automatiquement un résultat plus net de « preuve récupérée ». Lorsque les pixels d’origine ont disparu, le restaurateur estime un visage plausible. Cette nuance compte pour les archives familiales, et plus encore pour les usages juridiques, journalistiques ou liés à l’identification.

GFPGAN, CodeFormer et les recherches de 2026 n’ont pas le même niveau de maturité

GFPGAN et CodeFormer sont des implémentations de recherche open source officiellement publiées. Le dépôt officiel de GFPGAN documente Python 3.7+, PyTorch 1.7+, les poids préentraînés et l’inférence en ligne de commande. Le dépôt de CodeFormer documente l’inférence locale, les modes image entière et vidéo, ainsi qu’un poids de fidélité compris entre 0 et 1.

Les projets de 2026 présentés ci-dessous sont des signaux de recherche, pas des produits hébergés équivalents. Les articles liés ne documentent pas la même combinaison de workflow téléchargeable, d’API de production, de clarté sur la licence et de facturation prévisible.

ProjetNouveautéÉléments apportés par l’articleLecture actuelle
CFRNetRestaurateur de 2,0 millions de paramètres, de type ResNet, entraîné comme opérateur à point fixe23 ms par cycle INT8 sur un NPU HiSilicon Hi3402 ; jeu de test de 300 imagesSoumis le 5 juin 2026 ; pas un remplacement éprouvé de GFPGAN
HDRFaceReprésentations de haute dimension issues de l’entrée dégradée et d’une restauration intermédiaireImplémenté avec SD V2.1-base et Qwen-ImageSoumis le 14 mai 2026 ; aucune API hébergée ni aucun tarif dans la source
IConFaceConditionnement facultatif à partir de trois images maximum de la même identitéAnnonce une compatibilité de référence de premier plan et un benchmark d’identité audité par des humainsRévisé le 5 août 2026 ; workflow prometteur avec références, mais pas une base directement interchangeable

Les points forts de GFPGAN — et la façon dont il peut modifier les visages

GFPGAN utilise un a priori facial génératif préentraîné, notamment un a priori fondé sur StyleGAN2 dans la méthode publiée, pour restaurer les visages dégradés. Son README officiel indique que la v1.3 produit des résultats plus naturels et gère mieux les entrées de très mauvaise qualité, tout en précisant qu’elle n’est pas toujours supérieure à la v1.2 et qu’elle peut légèrement modifier l’identité. GFPGAN est distribué sous licence Apache 2.0.

La comparaison officielle des versions est qualitative, et non un benchmark numérique. Elle décrit la v1.2 comme plus nette mais parfois artificielle, et la v1.3 comme plus naturelle mais pas très nette. GFPGAN constitue donc un premier passage pertinent lorsque le visage d’origine est globalement correct, mais il n’offre pas la molette explicite entre identité et reconstruction proposée par CodeFormer.

Comparaison officielle des versions de GFPGAN

Ce que règle réellement le poids de fidélité de CodeFormer

CodeFormer utilise un transformeur de recherche dans un codebook pour la restauration aveugle des visages. Son réglage central est le poids de fidélité w, dont la plage documentée est [0, 1]. Les auteurs indiquent qu’une valeur plus faible produit généralement un résultat visuellement plus qualitatif, tandis qu’une valeur plus élevée préserve davantage l’identité et le contenu de l’entrée.

w règle un compromis, ce n’est pas un curseur de qualité : une valeur faible peut produire un visage plus propre en inventant des détails, alors qu’une valeur élevée peut mieux préserver la source tout en laissant visibles le flou, la compression ou d’autres dégradations. Le mode image entière de CodeFormer réintègre également le visage restauré dans la scène, et le README prévient que cette étape peut abîmer la texture des cheveux à la frontière entre le visage et l’arrière-plan.

CodeFormer utilise la licence NTU S-Lab License 1.0. Consultez-la avant toute redistribution ou intégration commerciale, plutôt que de supposer qu’un endpoint hébergé et le dépôt appliquent exactement les mêmes conditions.

Les limites des benchmarks publiés

Les résultats publiés sont utiles, mais il n’existe pas de classement universel face-à-face en 2026 couvrant tous les modèles et tous les types de dégradation. L’article ICCV 2023 sur la restauration itérative par diffusion a évalué GFPGAN et CodeFormer parmi d’autres références sur CelebA-HQ.

Dans un tableau consacré à une dégradation synthétique, l’article rapporte les chiffres suivants :

ModèlePSNRScore d’identité ArcFace
GFPGAN26.950.59
CodeFormer25.700.75
IDM, la méthode de l’article27.420.87

Ces valeurs dépendent du protocole et ne constituent pas un classement universel pour 2026. Le même article utilise ses propres jeux de données, son processus de dégradation, ses implémentations et sa méthode d’évaluation. Elles permettent de comprendre pourquoi les restaurateurs récents s’intéressent à l’authenticité, mais ne prédisent pas le meilleur résultat sur une photo de famille donnée.

Réglez les paramètres pour éviter l’effet visage en plastique

L’effet « visage en plastique » apparaît lorsqu’on traite l’intensité de la restauration, la fidélité de l’identité et le compositing comme un seul réglage. Ce sont trois décisions distinctes.

Une grille de départ exploitable avec CodeFormer

Faites passer la même image dans trois configurations avant de modifier l’image ou le modèle :

Plage de wRésultat attenduÀ utiliser lorsque
0.3–0.5Reconstruction plus agressive et davantage de détails inventésLes yeux ou la bouche sont très endommagés et l’identité est déjà incertaine
0.5–0.7Compromis entre nettoyage visible et fidélité à l’entréeVous avez besoin d’une première comparaison générale
0.8–1.0Résultat plus proche de la source, avec davantage de dégradations originales visiblesLa ressemblance compte davantage que la netteté maximale

Ces plages traduisent le compromis documenté, sans garantir le même rendu avec chaque wrapper. Le README de CodeFormer utilise w=0.5 pour la restauration de visages alignés, w=0.7 pour l’amélioration d’une image entière et w=1.0 dans son exemple de commande vidéo.

Si le résultat ressemble à un masque de cire, comparez d’abord une valeur de w plus élevée, réduisez la visibilité ou le mélange du visage si l’hébergeur propose ce réglage, et essayez un recadrage conservant davantage de contexte original. Réinjecter une partie de la texture source peut atténuer l’effet « visage collé », même lorsque le crop restauré est net.

Les éléments à contrôler entre deux passes

  1. Identité : écartement des yeux, largeur du nez, forme de la bouche, contour du visage et marques distinctives.
  2. Texture : pores, taches de rousseur, barbe naissante, mèches de cheveux et grain argentique.
  3. Accessoires : lunettes, boucles d’oreilles, chapeaux et cheveux passant devant le visage.
  4. Intégration : éclairage, couleur, grain et frontière entre le visage et l’arrière-plan.
  5. Répétabilité : vérifiez si une deuxième passe modifie encore le visage.

GFPGAN ne propose pas la même molette w. Utilisez avec retenue ses réglages de version et de visibilité ou de mélange. Le dépôt officiel indique que la v1.3 peut être exécutée deux fois, mais une restauration répétée doit rester expérimentale : si la deuxième passe modifie l’identité ou la texture, conservez la première sortie.

Déploiement local : plus de contrôle, mais des dépendances vieillissantes

L’inférence locale garde l’image sur votre machine, mais vous impose de gérer Python, PyTorch, les poids des modèles, CUDA, les paquets de détection et les droits d’accès aux fichiers.

Installer GFPGAN en local

Le dépôt officiel documente une installation simple qui ne nécessite pas d’extensions CUDA personnalisées :

git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
pip install basicsr
pip install facexlib
pip install -r requirements.txt
python setup.py develop
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth \
  -P experiments/pretrained_models
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

Le README indique Python >=3.7 et PyTorch >=1.7 ; le GPU NVIDIA et CUDA sont facultatifs dans la configuration documentée. La commande accepte les dossiers, le facteur d’échelle final, l’agrandissement de l’arrière-plan, le traitement du visage central uniquement, les visages alignés et la gestion automatique des extensions.

Installer CodeFormer en local

L’environnement officiel de CodeFormer demande davantage d’étapes :

git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
conda create -n codeformer python=3.8 -y
conda activate codeformer
pip3 install -r requirements.txt
python basicsr/setup.py develop
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py CodeFormer

Le dépôt indique PyTorch >=1.7.1 et CUDA >=10.1. dlib est facultatif pour son détecteur et son parcours de recadrage des visages ; FFmpeg est nécessaire pour le workflow vidéo documenté sous Windows et Mac.

Pour un visage aligné en 512×512, l’exemple officiel est le suivant :

python inference_codeformer.py -w 0.5 --has_aligned \
  --input_path inputs/cropped_faces

Pour améliorer une image entière, le README utilise -w 0.7 et ajoute éventuellement --bg_upsampler realesrgan ainsi que --face_upsample. Le dépôt ne publie pas d’exigence fiable concernant la VRAM, le débit ou la latence : testez donc l’environnement exact au lieu d’annoncer une configuration matérielle minimale.

Coût des API et choix d’intégration

L’inférence hébergée facilite le prototypage, mais le prix et la licence restent deux sujets distincts.

Tableau des coûts hébergés à une date donnée

Les pages officielles GFPGAN sur Replicate, CodeFormer sur Replicate et Real-ESRGAN sur Replicate indiquent des coûts approximatifs. Les prix ont été vérifiés le 1er septembre 2026. Les deux modèles de visage annoncent généralement une exécution en moins de 3 secondes sur Nvidia L40S ; les estimations varient selon les entrées.

Modèle hébergéCoût affichéExécutions approximatives par dollar
tencentarc/gfpgan$0.0020/exécution500
sczhou/codeformer$0.0028/exécution357
nightmareai/real-esrgan$0.0020/image produite500
Coût par exécution d’une restauration de visage hébergée

La page Replicate de CodeFormer précise explicitement que sa version API ne peut pas être utilisée à des fins commerciales. Cette indication concerne ce déploiement hébergé ; vérifiez séparément les conditions appliquées par un autre fournisseur.

La documentation de l’API CodeFormer de fal indique que son endpoint autorise l’usage commercial et expose fidelity, avec une valeur par défaut de 0.5, upscale_factor, par défaut à 2, l’amélioration facultative des visages, l’alignement, la sélection du visage central et une graine. Aucun tarif n’est publié : n’extrapolez donc pas le coût de fal à partir de l’estimation de Replicate.

Workflow hébergé minimal

La documentation de fal présente un workflow client en JavaScript :

import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/codeformer", {
  input: {
    image_url: "https://example.com/input.jpg",
    fidelity: 0.7,
    upscale_factor: 2,
    face_upscale: true
  },
  logs: true
});

console.log(result.data);

Pour les tâches plus longues, la même documentation fournit la soumission en file d’attente, la vérification du statut, la récupération du résultat et les callbacks webhook. Gardez FAL_KEY, ou la clé équivalente du fournisseur, sur votre serveur et non dans le code d’un navigateur ou d’une application mobile.

Page du modèle GFPGAN sur Replicate Page du modèle CodeFormer sur Replicate

Les problèmes que les utilisateurs rencontrent encore

Dans les discussions d’utilisateurs, les retours d’installation et les signalements d’erreurs d’agrandissement consultés, plusieurs personnes décrivent un visage visuellement amélioré qui ne ressemble plus à la même personne, ainsi que des erreurs d’intégration en local. Il s’agit de retours d’expérience, pas de benchmarks contrôlés.

« Je trouve que CodeFormer a tendance à “inventer” un visage plutôt qu’à le réparer. » — u/TheMemo, r/StableDiffusion

La leçon opérationnelle est simple : comparez les sorties sur des visages représentatifs et figez l’environnement pour tout pipeline par lots.

FAQ : restauration de visages avec GFPGAN et CodeFormer

GFPGAN ou CodeFormer : lequel choisir pour de vieilles photos ?

En règle générale, commencez par GFPGAN pour un visage reconnaissable qui nécessite un nettoyage naturel. Utilisez CodeFormer lorsque la dégradation est importante ou que le contrôle de la ressemblance compte davantage.

Quelle valeur de fidélité CodeFormer préserve l’identité ?

Les valeurs élevées de w favorisent la fidélité à l’entrée, tandis que les valeurs faibles produisent généralement un résultat plus propre mais davantage inventé. Comparez 0.5, 0.7 et 0.9, puis retenez la sortie qui préserve les traits distinctifs, plutôt que celle qui donne les yeux les plus nets.

Faut-il restaurer avant d’agrandir ?

Dans un workflow pratique, commencez par restaurer le visage sur une copie, puis agrandissez l’image finale. Un workflow combiné comme Real-ESRGAN avec amélioration du visage constitue une exception, mais il doit tout de même faire l’objet d’un contrôle de l’identité et de la jonction entre le visage et l’arrière-plan.

Ces modèles peuvent-ils récupérer des détails totalement floutés ?

Non. Aucun modèle ne peut récupérer de manière fiable une information qui n’a jamais été capturée. GFPGAN et CodeFormer peuvent générer des détails faciaux plausibles : un œil ou une bouche plus nets ne prouvent donc pas que le détail original a été retrouvé.

Les modèles de 2026 sont-ils prêts à remplacer GFPGAN ou CodeFormer ?

Les articles liés montrent plusieurs directions importantes, notamment le déploiement en périphérie, le conditionnement de haute dimension et les références issues de la même identité. Ils ne présentent toutefois pas encore de remplacement largement disponible avec la même documentation pour les workflows locaux et hébergés.

Puis-je utiliser commercialement l’API Replicate de CodeFormer ?

La page Replicate de CodeFormer indique que sa version API ne peut pas être utilisée à des fins commerciales. Le dépôt sous-jacent possède sa propre licence NTU S-Lab License 1.0, et d’autres fournisseurs peuvent publier des conditions différentes.

Le choix pratique oppose invention et contrôle

Sélectionnez trois crops représentatifs : flou modéré, flou important et portrait basse résolution rayé. Lancez GFPGAN ainsi que CodeFormer avec w=0.5, 0.7 et 0.9, conservez l’original à côté de chaque résultat et rejetez toute sortie qui modifie les traits essentiels à l’identité. Confiez l’agrandissement de l’image entière à un upscaler séparé lorsque l’arrière-plan doit lui aussi être réparé.

Pour aller plus loin, consultez le guide de téléchargement et d’interface graphique de Real-ESRGAN ainsi que le guide des upscalers vidéo IA gratuits.