Débutant 11 minImage

Real-ESRGAN : agrandir ses images en local

Réponse directe

Real-ESRGAN est un modèle libre (BSD-3-Clause) qui agrandit une image ×4 en reconstruisant du détail plausible. Le plus simple est l'exécutable portable ncnn-vulkan, sans CUDA ni PyTorch, pour cartes Intel, AMD ou NVIDIA. Choisissez le modèle selon l'image : realesrgan-x4plus pour les photos, la variante anime pour les illustrations. Le projet n'a plus de version depuis septembre 2022 et le détail ajouté est inventé : jamais pour du texte ou une preuve.

Real-ESRGAN agrandit une image en reconstruisant du détail plausible au lieu d'étirer des pixels. C'est un modèle libre, petit et rapide, qui est devenu la brique que l'on ajoute au bout d'une chaîne de génération d'images locale ou que l'on sort pour restaurer de vieilles photos. Ce guide, à jour au 28 septembre 2026, dit quel modèle prendre, comment le lancer sans installer PyTorch, ce qu'il invente, quelles erreurs attendre et où en est le projet face aux alternatives récentes.

Par Mohamed Meguedmi·Màj 2026-09-29·Testé sur Windows, macOS, Linux

#Ce que fait un agrandisseur par IA

Un agrandissement classique interpole : il calcule des pixels intermédiaires à partir des voisins, ce qui donne une image plus grande et plus floue. Un agrandisseur par apprentissage fait autre chose. Il a été entraîné à retrouver une image nette à partir d'une version dégradée, et il reconstruit ce qui ressemble le plus à l'original : textures, bords, grain. La différence tient en une phrase : l'interpolation ne crée pas d'information, le modèle en invente. C'est exactement ce qu'on lui demande, et c'est pourquoi il faut savoir où ne pas l'utiliser.

Real-ESRGAN vient d'un article de Xintao Wang, Liangbin Xie, Chao Dong et Ying Shan (Tencent ARC Lab), déposé sur arXiv en juillet 2021 et présenté à ICCV Workshops : « Training Real-World Blind Super-Resolution with Pure Synthetic Data ». Son résumé décrit l'idée : un modèle entraîné uniquement sur des données synthétiques, avec une modélisation de dégradations « d'ordre élevé » qui simule mieux les défauts réels (flou, bruit, compression), et un discriminateur U-Net. « Blind » signifie que le modèle n'a pas besoin de savoir quelle dégradation l'image a subie. Le dépôt compte plus de 36 000 étoiles.

#Les modèles, et lequel prendre

Le kit Images IA

Images et vidéos IA en local, sans limite : ComfyUI, Flux, Z-Image, Wan 2.2 sur ton GPU ou ton Mac — workflows prêts à charger, cadre légal inclus.

  • Espace en ligne à vie
  • PDF + fichiers
  • Mises à jour à vie
Modèles du dépôt officiel, d'après son Model Zoo
ModèleÉchelleDescription du projetÀ utiliser sur
RealESRGAN_x4plus×4Modèle ×4 pour images généralesPhotos, images générées : le choix par défaut
RealESRGAN_x2plus×2Modèle ×2 pour images généralesQuand ×4 est trop, sans repasser par un redimensionnement
RealESRNet_x4plus×4Modèle ×4 avec perte MSE, effets de lissage excessifRarement : le résultat est lisse et fade
realesr-general-x4v3×4, utilisable en ×1, ×2, ×3Petit modèle, consomme beaucoup moins de mémoire GPU et de temps, capacité de débruitage moins forteMachines modestes, lots d'images ; l'option -dn règle le débruitage
RealESRGAN_x4plus_anime_6B×4Optimisé pour les images d'anime, réseau plus petit (6 blocs RRDB)Illustrations, planches, dessins 2D
realesr-animevideov3×4, utilisable en ×1, ×2, ×3Modèle de taille XS pour les vidéos d'animationSéquences d'animation

Le catalogue du projet sépare les modèles pour photos des modèles pour illustrations, et c'est le choix qui pèse le plus sur le résultat. La variante anime est présentée comme optimisée pour ce type d'image, avec un réseau plus petit, et le projet la compare à waifu2x. Sur un dessin, essayez-la en premier : un modèle photo peut texturer des aplats qui devraient rester lisses, à vérifier sur votre image.

!
Le modèle par défaut du programme portable n'est pas celui que l'on croit
Le README principal cite realesrgan-x4plus comme modèle par défaut de l'exécutable portable, mais le texte d'aide du programme indique par défaut realesr-animevideov3, le modèle d'animation. Sur une photo, ce modèle donne un résultat inadapté. Précisez toujours le modèle avec l'option -n, au lieu de vous fier au défaut.

#Trois façons de le lancer

Le README décrit trois voies : une démonstration en ligne, l'exécutable portable ncnn et le script Python. Pour un usage local régulier, seules les deux dernières comptent.

Les deux voies locales, d'après le README
VoieCe qu'il fautAvantagesLimites
Exécutable portable (ncnn-vulkan)Un GPU Intel, AMD ou NVIDIA compatible Vulkan. Archives pour Windows, Linux et macOS. Aucun CUDA, aucun PyTorch.Rien à installer, les modèles sont inclusNe gère pas toutes les fonctions du script Python, comme --outscale, et peut créer des incohérences entre blocs
Script Python (inference_realesrgan.py)Python 3.7 ou plus, PyTorch 1.7 ou plus, basicsr, et facexlib et gfpgan pour les visagesÉchelle arbitraire, visages, tuilage, images à canal alpha, en niveaux de gris ou 16 bitsDépendances fragiles, voir le dépannage

#Les commandes exactes

L'exécutable portable s'utilise en ligne de commande. Le texte d'aide donne les options : -i pour l'entrée (fichier ou dossier), -o pour la sortie, -s pour l'échelle (2, 3 ou 4), -n pour le modèle, -t pour la taille de tuile, -g pour choisir le GPU, -f pour le format de sortie.

Terminal
# Exécutable portable : photo agrandie ×4 avec le modèle généraliste
./realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n realesrgan-x4plus

# Script Python : échelle arbitraire (ici ×3,5) avec amélioration des visages
python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --outscale 3.5 --face_enhance

Le script Python fournit l'option --outscale : le modèle fait toujours un agrandissement ×4, puis le programme redimensionne le résultat à l'échelle voulue avec un redimensionnement peu coûteux. Il y a aussi --tile pour découper l'image et économiser la mémoire, et --fp32 pour la précision complète, qui devient obligatoire sur processeur (voir plus bas).

Dans ComfyUI, les modèles d'agrandissement se rangent dans ComfyUI/models/upscale_models, et un nœud de chargement puis un nœud d'agrandissement par modèle les appliquent. Pour une interface de bureau, le README cite plusieurs projets qui embarquent Real-ESRGAN, dont Upscayl, un logiciel libre pour Linux, macOS et Windows, qui compte environ 50 000 étoiles et a été mis à jour ces derniers jours.

#Bien l'utiliser

  1. 01
    Choisir le modèle selon le type d'image
    Photo ou illustration : c'est le réglage qui change le plus le résultat, bien avant le facteur d'agrandissement. Ajoutez toujours -n dans la commande.
  2. 02
    Ne pas empiler les passes
    Agrandir deux fois de suite ×4 donne du plastique, pas du détail. Une passe au bon facteur suffit ; si le ×4 est trop, prenez le modèle ×2 ou l'option d'échelle.
  3. 03
    Nettoyer avant d'agrandir
    Un débruitage léger en amont évite que le modèle traite le bruit comme du détail à reconstruire. Avec realesr-general-x4v3, l'option -dn règle la force du débruitage pour éviter un résultat trop lisse.
  4. 04
    Réserver face_enhance aux vrais visages
    L'option face_enhance s'appuie sur GFPGAN et ne sert que pour de vrais visages : le FAQ du projet déconseille de l'utiliser sur de l'animation, où elle consomme de la mémoire GPU pour rien.
  5. 05
    Comparer à 100 %
    Un agrandissement se juge au pixel, pas sur une vignette. Beaucoup de résultats spectaculaires à petite taille sont lisses et artificiels de près.

#Quelle taille viser : un calcul avant de lancer

Un agrandissement ×4 n'est utile que si la taille finale sert un usage précis. Voici le facteur nécessaire selon la destination, d'après un calcul simple : pixels = centimètres ÷ 2,54 × résolution en points par pouce, puis facteur = grand côté visé ÷ grand côté de départ.

Facteur nécessaire depuis une image dont le grand côté fait 1 024 pixels (calcul, impression à 300 ppp)
UsageGrand côté viséFacteur nécessaire
Écran 4K, plein écran3 840 px×3,75 : une passe ×4 convient
Impression A4 à 300 ppp3 508 px×3,4 : une passe ×4, ou --outscale 3,4
Impression A3 à 300 ppp4 961 px×4,8 : dépasse une passe ×4 ; acceptez un tirage un peu plus petit plutôt que d'empiler deux passes
Page web ou vignette1 600 à 2 000 px×1,6 à ×2 : le modèle ×2 ou --outscale suffit

Retenez le principe : viser la taille utile, pas la taille maximale. Une image de 1 024 × 1 024 agrandie ×4 fait 4 096 × 4 096, soit environ 16,8 millions de pixels, seize fois plus qu'au départ : autant de fichier à stocker, à charger et à retoucher, pour un gain souvent invisible à l'écran. Avec l'option --outscale du script Python, on choisit l'échelle exacte au lieu de sur-agrandir puis de réduire.

#Dans une chaîne de génération d'images

En génération locale, l'agrandisseur est la dernière étape : on génère à une résolution que la carte supporte, puis on agrandit, ce qui coûte moins de mémoire que de générer directement en grand. Les tailles natives des modèles d'image, par exemple 512 × 512 pour SD 1.5 ou 1024 × 1024 pour SDXL, sont détaillées dans le guide de Stable Diffusion. Ensuite, un ×2 sur une image SDXL de 1024 × 1024 donne 2048 × 2048 sans repasser par le modèle de diffusion.

#Ce qu'il invente

Le texte
Les petits caractères agrandis deviennent des caractères plausibles et faux. Pour un document, c'est la reconnaissance optique qu'il faut, pas un agrandisseur.
Les visages
Un visage flou agrandi devient un visage net qui n'est pas exactement la même personne. Aucun usage d'identification n'est acceptable.
Les détails fins
Motifs de tissu, feuillages, cheveux : le modèle produit une texture crédible, pas la texture d'origine.
Les défauts
Un artefact de compression bien visible sera parfois agrandi avec application, au lieu d'être effacé.
!
Une image agrandie n'est pas une preuve
Dans un contexte juridique, médical ou d'identification, le détail ajouté par un modèle n'existe pas dans l'original. L'agrandissement améliore le confort de lecture ; il n'ajoute aucune information exploitable comme élément de preuve.

#Dépannage : les erreurs fréquentes

Erreurs connues, d'après le FAQ et les rapports de bogues du projet
SymptômeCauseCorrectif
Erreur « slow_conv2d_cpu not implemented for Half »Real-ESRGAN utilise la demi-précision (fp16) par défaut, que certains opérateurs ne gèrent pas sur processeurAjouter l'option --fp32 à la commande
ModuleNotFoundError : torchvision.transforms.functional_tensorbasicsr importe un module que torchvision a retiré à partir de la version 0.17 (rapport du 28 août 2024 ; un correctif est proposé dans une demande de fusion du dépôt BasicSR)Installer une version de torchvision compatible, ou utiliser l'exécutable portable ncnn qui n'en dépend pas
Blocs visibles ou raccords dans l'imageL'exécutable découpe l'image en tuiles puis les recolle, ce que le README signale comme source d'incohérencesRégler la taille de tuile avec -t (0 pour automatique) : des tuiles plus grandes limitent les raccords si la mémoire le permet
Image noire en sortieLe TODO du dépôt ncnn signale que certains PC produisent des images noiresTester l'autre voie (Python ou ncnn) ou une autre carte avec -g
Visages déformés sur une illustrationOption face_enhance active sur un contenu non photographiqueLa retirer : elle est conçue pour de vrais visages

#Où en est le projet en 2026

Il faut être honnête sur son âge. La dernière version publiée, la v0.3.0, date du 20 septembre 2022, et le dernier commit du dépôt principal, du 2 avril 2024, supprime un fichier de configuration d'intégration continue. L'implémentation ncnn, dont le README indique une licence MIT, n'a pas reçu de mise à jour depuis mai 2024. Cela ne rend pas le modèle mauvais : il fait son travail, il est petit, et il tourne sur des cartes modestes. Mais on ne peut pas compter sur des correctifs pour les incompatibilités récentes, comme celle de torchvision.

Côté alternatives, le README de ComfyUI liste SeedVR2 et SUPIR parmi ses modèles pris en charge. SeedVR2 se présente comme une restauration vidéo en une étape par post-entraînement adversarial de diffusion, et SUPIR vise la restauration photoréaliste d'images « in the wild ». Ce sont des approches fondées sur la diffusion : nous n'avons pas de comparaison chiffrée fiable avec Real-ESRGAN, et le risque de détail inventé y est au moins aussi présent. Lisez la licence de SUPIR, que GitHub classe « Other », avant un usage commercial. Pour la plupart des photos et illustrations du quotidien, Real-ESRGAN reste le bon rapport entre simplicité, vitesse et matériel demandé.

#FAQ

FAQ
Real-ESRGAN est-il gratuit ?+
Oui. Le dépôt est sous licence BSD-3-Clause, l'implémentation ncnn-vulkan est sous licence MIT, et l'exécution est locale, sans coût d'usage ni compte. Vérifiez néanmoins les droits sur les images que vous agrandissez, et la licence de chaque modèle tiers ou application de bureau qui embarque Real-ESRGAN, comme Upscayl, qui est sous licence AGPL-3.0.
Faut-il une carte graphique ?+
Pas obligatoirement. Le script Python tourne sur processeur avec l'option --fp32, mais bien plus lentement. L'exécutable ncnn demande un GPU compatible Vulkan, Intel, AMD ou NVIDIA, et n'exige ni CUDA ni PyTorch. Le petit modèle realesr-general-x4v3 est conçu pour consommer beaucoup moins de mémoire GPU et de temps, ce qui le rend adapté aux machines modestes.
Peut-on agrandir du texte scanné ?+
Techniquement oui, et ce n'est pas ce qu'il faut faire : les caractères reconstruits sont plausibles et parfois faux. Pour un document scanné, passez par la reconnaissance optique de caractères, qui lit le texte au lieu de le redessiner. L'agrandisseur peut servir avant l'OCR seulement pour du confort visuel, jamais pour valider le texte lu.
Pourquoi mon illustration est-elle granuleuse après agrandissement ?+
Vous avez probablement utilisé le modèle destiné aux photos. Pour un dessin, prenez RealESRGAN_x4plus_anime_6B, optimisé pour les images d'anime avec un réseau plus petit. Avec l'exécutable portable, méfiez-vous aussi du modèle par défaut : précisez-le avec -n, car le texte d'aide affiche realesr-animevideov3 comme défaut.
Peut-on l'utiliser sur de la vidéo ?+
Oui, image par image. Pour l'animation, le projet fournit le modèle realesr-animevideov3 et un script vidéo. Avec l'exécutable ncnn, la méthode documentée consiste à extraire les images avec ffmpeg, à les traiter, puis à les réassembler. Traitées indépendamment, les images successives peuvent scintiller : vérifiez le résultat en lecture, pas seulement à l'arrêt.
Real-ESRGAN est-il encore maintenu ?+
Très peu. Sa dernière version, la v0.3.0, date de septembre 2022, et son dernier commit d'avril 2024 ne touche qu'à l'intégration continue. Le modèle reste utilisable, mais les incompatibilités de dépendances comme torchvision ne sont pas corrigées par le projet. Pour éviter ces problèmes, l'exécutable portable ncnn est la voie la plus stable.
Ce guide vous a aidé ?

Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.