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 premier | Pourquoi | Vérification principale |
|---|---|---|---|
| Portrait légèrement flou avec des traits reconnaissables | GFPGAN | La comparaison officielle décrit la v1.3 comme naturelle et adaptée aux images relativement qualitatives | La peau est-elle plus propre sans perdre les marques ni la texture des cheveux ? |
| Visage très petit ou fortement dégradé | CodeFormer | Son 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 prioritaire | CodeFormer avec un w plus élevé | Un w élevé privilégie généralement la fidélité à l’image source | Le 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ère | CodeFormer peut confier les zones hors visage à Real-ESRGAN | Les 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 visage | Real-ESRGAN | Il s’agit avant tout d’un restaurateur et agrandisseur d’images généraliste, avec amélioration facultative des visages | L’amélioration du visage écrase-t-elle une texture utile ? |
| Inférence en temps réel sur mobile ou système embarqué | Surveillez CFRNet | Ses auteurs ciblent les NPU grand public en 256×256 | Un 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.
| Projet | Nouveauté | Éléments apportés par l’article | Lecture actuelle |
|---|---|---|---|
| CFRNet | Restaurateur de 2,0 millions de paramètres, de type ResNet, entraîné comme opérateur à point fixe | 23 ms par cycle INT8 sur un NPU HiSilicon Hi3402 ; jeu de test de 300 images | Soumis le 5 juin 2026 ; pas un remplacement éprouvé de GFPGAN |
| HDRFace | Représentations de haute dimension issues de l’entrée dégradée et d’une restauration intermédiaire | Implémenté avec SD V2.1-base et Qwen-Image | Soumis le 14 mai 2026 ; aucune API hébergée ni aucun tarif dans la source |
| IConFace | Conditionnement 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 humains | Ré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.
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èle | PSNR | Score d’identité ArcFace |
|---|---|---|
| GFPGAN | 26.95 | 0.59 |
| CodeFormer | 25.70 | 0.75 |
| IDM, la méthode de l’article | 27.42 | 0.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 w | Résultat attendu | À utiliser lorsque |
|---|---|---|
0.3–0.5 | Reconstruction plus agressive et davantage de détails inventés | Les yeux ou la bouche sont très endommagés et l’identité est déjà incertaine |
0.5–0.7 | Compromis entre nettoyage visible et fidélité à l’entrée | Vous avez besoin d’une première comparaison générale |
0.8–1.0 | Résultat plus proche de la source, avec davantage de dégradations originales visibles | La 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
- Identité : écartement des yeux, largeur du nez, forme de la bouche, contour du visage et marques distinctives.
- Texture : pores, taches de rousseur, barbe naissante, mèches de cheveux et grain argentique.
- Accessoires : lunettes, boucles d’oreilles, chapeaux et cheveux passant devant le visage.
- Intégration : éclairage, couleur, grain et frontière entre le visage et l’arrière-plan.
- 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écution | 500 |
sczhou/codeformer | $0.0028/exécution | 357 |
nightmareai/real-esrgan | $0.0020/image produite | 500 |
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.
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.