Principiante 11 minImmagine

Real-ESRGAN: ingrandire le immagini in locale

Risposta diretta

Real-ESRGAN è un modello libero (BSD-3-Clause) che ingrandisce un'immagine ×4 ricostruendo dettagli plausibili. La soluzione più semplice è l'eseguibile portatile ncnn-vulkan, senza CUDA né PyTorch, per schede Intel, AMD o NVIDIA. Scegli il modello in base all'immagine: realesrgan-x4plus per le foto, la variante anime per le illustrazioni. Il progetto non pubblica nuove versioni da settembre 2022 e i dettagli aggiunti sono inventati: non usarlo mai per il testo o come prova.

Real-ESRGAN ingrandisce un'immagine ricostruendo dettagli plausibili invece di dilatare i pixel. È un modello libero, piccolo e veloce, diventato il componente che si aggiunge alla fine di una pipeline locale di generazione di immagini o che si usa per restaurare vecchie foto. Questa guida, aggiornata al 28 settembre 2026, spiega quale modello scegliere, come avviarlo senza installare PyTorch, cosa inventa, quali errori aspettarsi e a che punto è il progetto rispetto alle alternative recenti.

Di Mohamed Meguedmi·Agg. 2026-09-29·Testato su Windows, macOS e Linux

#Cosa fa un upscaler basato sull'IA

Un ingrandimento classico usa l'interpolazione: calcola pixel intermedi a partire da quelli vicini, ottenendo un'immagine più grande e più sfocata. Uno strumento di ingrandimento basato sull'apprendimento fa qualcosa di diverso. È stato addestrato a recuperare un'immagine nitida a partire da una versione degradata e ricostruisce ciò che assomiglia di più all'originale: texture, bordi, grana. La differenza si riassume in una frase: l'interpolazione non crea informazioni, il modello ne inventa. È esattamente ciò che gli chiediamo, ed è per questo che bisogna sapere dove non usarlo.

Real-ESRGAN deriva da un articolo di Xintao Wang, Liangbin Xie, Chao Dong e Ying Shan (Tencent ARC Lab), pubblicato su arXiv nel luglio 2021 e presentato ai workshop di ICCV: «Training Real-World Blind Super-Resolution with Pure Synthetic Data». Il suo riassunto descrive l'idea: un modello addestrato esclusivamente su dati sintetici, con una modellazione di degradazioni «di ordine elevato» che simula meglio i difetti reali (sfocatura, rumore, compressione), e un discriminatore U-Net. «Blind» significa che il modello non ha bisogno di sapere quale degradazione l'immagine abbia subito. Il repository ha più di 36.000 stelle.

#I modelli, e quale scegliere

Il kit Immagini IA

Immagini e video IA in locale, senza limiti: ComfyUI, Flux, Z-Image, Wan 2.2 sulla tua GPU o sul tuo Mac — workflow pronti da caricare, quadro legale incluso.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita
Modelli del repository ufficiale, secondo il suo Model Zoo
ModelloScalaDescrizione del progettoDa usare su
RealESRGAN_x4plus×4Modello ×4 per immagini di vario tipoFoto, immagini generate: scelta predefinita
RealESRGAN_x2plus×2Modello ×2 per immagini genericheQuando ×4 è troppo, senza ricorrere a un ulteriore ridimensionamento
RealESRNet_x4plus×4Modello ×4 con perdita MSE, effetti di smoothing eccessivoRaramente: il risultato è liscio e spento
realesr-general-x4v3×4, utilizzabile a ×1, ×2, ×3Modello piccolo, richiede molta meno memoria GPU e molto meno tempo, con una capacità di riduzione del rumore inferioreMacchine con risorse limitate, lotti di immagini; l'opzione -dn regola la riduzione del rumore
RealESRGAN_x4plus_anime_6B×4Ottimizzato per le immagini di anime, rete più piccola (6 blocchi RRDB)Illustrazioni, tavole, disegni 2D
realesr-animevideov3×4, utilizzabile a ×1, ×2, ×3Modello di dimensioni XS per i video animatiSequenze animate

Il catalogo del progetto distingue i modelli per foto da quelli per illustrazioni, e questa scelta è quella che incide di più sul risultato. La variante anime è presentata come ottimizzata per questo tipo di immagine, con una rete più piccola, e il progetto la confronta con waifu2x. Per un disegno, provala per prima: un modello per foto può aggiungere texture a campiture uniformi che dovrebbero rimanere lisce; verifica se succede sulla tua immagine.

!
Il modello predefinito della versione portable del programma non è quello che si crede
Il README principale cita realesrgan-x4plus come modello predefinito dell'eseguibile portatile, ma il testo della guida del programma indica come predefinito realesr-animevideov3, il modello per l'animazione. Su una foto, questo modello dà un risultato inadatto. Specifica sempre il modello con l'opzione -n, invece di fidarti del valore predefinito.

#Tre modi per avviarlo

Il README descrive tre opzioni: una demo online, l'eseguibile portatile ncnn e lo script Python. Per un uso locale regolare, solo le ultime due contano.

I due percorsi locali, secondo il README
ViaCiò che serveVantaggiLimiti
Eseguibile portabile (ncnn-vulkan)Una GPU Intel, AMD o NVIDIA compatibile con Vulkan. Archivi per Windows, Linux e macOS. Né CUDA né PyTorch.Niente da installare, i modelli sono inclusiNon gestisce tutte le funzioni dello script Python, come --outscale, e può creare incoerenze tra blocchi
Script Python (inference_realesrgan.py)Python 3.7 o successivo, PyTorch 1.7 o successivo, basicsr, facexlib e gfpgan per i voltiFattore di scala arbitrario, volti, tiling, immagini con canale alpha, in scala di grigi o a 16 bitDipendenze fragili, vedi la risoluzione dei problemi

#I comandi esatti

L'eseguibile portabile si usa dalla riga di comando. Il testo della guida elenca le opzioni: -i per l'input (file o cartella), -o per l'output, -s per il fattore di scala (2, 3 o 4), -n per il modello, -t per la dimensione del tassello, -g per scegliere la GPU, -f per il formato di output.

Terminale
# 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

Lo script Python offre l'opzione --outscale: il modello effettua sempre un ingrandimento ×4, poi il programma ridimensiona il risultato alla scala desiderata con un'operazione dal basso costo computazionale. Ci sono anche --tile per suddividere l'immagine e risparmiare memoria, e --fp32 per la precisione completa, obbligatoria quando si usa la CPU (vedi più avanti).

In ComfyUI, i modelli di ingrandimento vanno nella cartella ComfyUI/models/upscale_models e vengono applicati tramite un nodo di caricamento seguito da un nodo di ingrandimento basato su un modello. Per un'interfaccia desktop, il README cita diversi progetti che integrano Real-ESRGAN, tra cui Upscayl, un software libero per Linux, macOS e Windows, che conta circa 50.000 stelle ed è stato aggiornato negli ultimi giorni.

#Usarlo bene

  1. 01
    Scegli il modello in base al tipo di immagine
    Foto o illustrazione: è l'impostazione che influisce di più sul risultato, molto più del fattore di ingrandimento. Aggiungi sempre -n al comando.
  2. 02
    Non concatenare più passaggi
    Ingrandire due volte di seguito di un fattore ×4 dà un effetto plastica, non più dettagli. Basta un passaggio con il fattore giusto; se ×4 è troppo, scegli il modello ×2 o l'opzione per regolare la scala.
  3. 03
    Pulire prima di ingrandire
    Una leggera riduzione del rumore preliminare evita che il modello tratti il rumore come un dettaglio da ricostruire. Con realesr-general-x4v3, l'opzione -dn regola l'intensità della riduzione del rumore per evitare un risultato troppo levigato.
  4. 04
    Riservare face_enhance ai volti reali
    L'opzione face_enhance si basa su GFPGAN e serve solo per volti reali: la sezione FAQ del progetto consiglia di non usarla per animazioni, dove consuma memoria GPU senza risultato.
  5. 05
    Confrontare al 100 %
    Un ingrandimento si valuta pixel per pixel, non su una miniatura. Molti risultati spettacolari a dimensioni ridotte appaiono levigati e artificiali da vicino.

#A quali dimensioni puntare: un calcolo prima di avviare

Un ingrandimento ×4 ha senso solo se la dimensione finale serve a un uso specifico. Ecco il fattore necessario in base all'obiettivo, secondo un semplice calcolo: pixel = centimetri ÷ 2,54 × risoluzione in punti per pollice, poi fattore = lato maggiore desiderato ÷ lato maggiore di partenza.

Fattore necessario partendo da un'immagine con il lato maggiore di 1.024 pixel (calcolo per la stampa a 300 dpi)
UsoLunghezza desiderata del lato più lungoFattore necessario
Schermo 4K, a schermo intero3 840 px×3,75: una passata ×4 va bene
Stampa A4 a 300 dpi3 508 px×3,4 : una passata ×4, o --outscale 3,4
Stampa A3 a 300 dpi4 961 px×4,8: supera il fattore di una singola passata ×4; accetta una stampa un po' più piccola piuttosto che eseguire due passate consecutive
Pagina web o miniatura1.600–2.000 pxDa ×1,6 a ×2: basta il modello ×2 oppure --outscale

Ricorda il principio: puntare alla dimensione utile, non a quella massima. Un'immagine di 1.024 × 1.024 ingrandita ×4 diventa 4.096 × 4.096, cioè circa 16,8 milioni di pixel, sedici volte di più rispetto all'inizio: un file di dimensioni maggiori da archiviare, caricare e ritoccare, per un miglioramento spesso invisibile sullo schermo. Con l'opzione --outscale dello script Python, si sceglie il fattore di scala esatto invece di ingrandire eccessivamente per poi ridurre.

#In una catena di generazione di immagini

Nella generazione locale, l'upscaler è l'ultimo passaggio: si genera a una risoluzione supportata dalla scheda, poi si ingrandisce l'immagine, consumando meno memoria rispetto alla generazione diretta ad alta risoluzione. Le dimensioni native dei modelli di immagini, ad esempio 512 × 512 per SD 1.5 o 1024 × 1024 per SDXL, sono descritte in dettaglio nella guida a Stable Diffusion. Successivamente, un ingrandimento ×2 di un'immagine SDXL da 1024 × 1024 produce un'immagine da 2048 × 2048 senza passare nuovamente attraverso il modello di diffusione.

#Cosa inventa

Il testo
I caratteri piccoli, una volta ingranditi, diventano caratteri plausibili ma errati. Per un documento serve il riconoscimento ottico, non uno strumento di ingrandimento.
I volti
Un volto sfocato, una volta ingrandito, diventa un volto nitido che non raffigura esattamente la stessa persona. Nessun uso a fini di identificazione è accettabile.
Dettagli fini
Motivi di tessuto, foglie, capelli: il modello genera una texture credibile, non quella originale.
I difetti
Un artefatto di compressione ben visibile verrà a volte ingrandito diligentemente, anziché eliminato.
!
Un'immagine ingrandita non è una prova
In un contesto giuridico, medico o di identificazione, i dettagli aggiunti da un modello non esistono nell'originale. L'ingrandimento migliora il comfort di lettura; non aggiunge alcuna informazione utilizzabile come elemento di prova.

#Guida alla risoluzione dei problemi: errori comuni

Errori noti, secondo le FAQ e le segnalazioni di bug del progetto
SintomoCausaCorrettivo
Errore « slow_conv2d_cpu not implemented for Half »Real-ESRGAN utilizza per impostazione predefinita la mezza precisione (fp16), che alcuni operatori non supportano sulla CPUAggiungere l'opzione --fp32 al comando
ModuleNotFoundError : torchvision.transforms.functional_tensorbasicsr importa un modulo che torchvision ha rimosso a partire dalla versione 0.17 (segnalazione del 28 agosto 2024; una correzione è proposta in una richiesta di merge nel repository BasicSR)Installare una versione compatibile di torchvision, oppure usare l'eseguibile portatile ncnn che non ne dipende
Blocchi visibili o giunzioni nell'immagineL'eseguibile suddivide l'immagine in riquadri e poi li ricompone, un procedimento che il README segnala come fonte di incoerenzeRegolare la dimensione delle tile con -t (0 per la regolazione automatica): tile più grandi riducono le discontinuità tra le tile se la memoria lo consente
Immagine nera in uscitaIl TODO del repository ncnn segnala che alcuni PC generano immagini nereProvare l'altra modalità (Python o ncnn) o un'altra scheda con -g
Volti deformati su un'illustrazioneOpzione face_enhance attiva su contenuti non fotograficiRimuoverla: è progettata per volti reali

#A che punto è il progetto nel 2026

È necessario essere onesti riguardo all'età. La versione più recente pubblicata, la v0.3.0, risale al 20 settembre 2022, mentre l'ultimo commit del repository principale, del 2 aprile 2024, elimina un file di configurazione per l'integrazione continua. L'implementazione ncnn, il cui README indica una licenza MIT, non ha ricevuto aggiornamenti dal maggio 2024. Questo non rende il modello cattivo: fa il suo lavoro, è piccolo e funziona su schede modeste. Tuttavia non si può contare su correzioni per incompatibilità recenti, come quella di torchvision.

Quanto alle alternative, il README di ComfyUI elenca SeedVR2 e SUPIR tra i modelli supportati. SeedVR2 si presenta come un sistema di restauro video in un unico passaggio tramite post-addestramento avversario di un modello di diffusione, mentre SUPIR mira al restauro fotorealistico di immagini «in the wild». Si tratta di approcci basati sulla diffusione: non abbiamo un confronto quantitativo affidabile con Real-ESRGAN, e il rischio di dettagli inventati è almeno altrettanto presente. Leggi la licenza di SUPIR, che GitHub classifica come «Other», prima di un uso commerciale. Per la maggior parte delle foto e delle illustrazioni di uso quotidiano, Real-ESRGAN resta un buon compromesso tra semplicità, velocità e hardware richiesto.

#FAQ

FAQ
Real-ESRGAN è gratuito?+
Sì. Il repository è sotto licenza BSD-3-Clause, l'implementazione ncnn-vulkan è sotto licenza MIT e l'esecuzione è locale, senza costi di utilizzo né account. Verifica comunque i diritti sulle immagini che ingrandisci e la licenza di ogni modello di terze parti o applicazione desktop che integri Real-ESRGAN, come Upscayl, che è sotto licenza AGPL-3.0.
Serve una scheda grafica?+
Non necessariamente. Lo script Python funziona sul processore con l'opzione --fp32, ma molto più lentamente. L'eseguibile ncnn richiede una GPU Intel, AMD o NVIDIA compatibile con Vulkan e non richiede né CUDA né PyTorch. Il piccolo modello realesr-general-x4v3 è progettato per consumare molta meno memoria GPU e richiedere molto meno tempo, il che lo rende adatto a macchine poco potenti.
È possibile ingrandire del testo scansionato?+
Tecnicamente sì, ma non è ciò che bisogna fare: i caratteri ricostruiti sono plausibili e a volte sbagliati. Per un documento scansionato, usa il riconoscimento ottico dei caratteri, che legge il testo invece di ridisegnarlo. Lo strumento di ingrandimento può essere usato prima dell'OCR solo per migliorare la leggibilità visiva, mai per convalidare il testo letto.
Perché la mia illustrazione diventa granulosa dopo l'ingrandimento?+
Probabilmente hai usato il modello destinato alle foto. Per un disegno, usa RealESRGAN_x4plus_anime_6B, ottimizzato per le immagini di anime con una rete più piccola. Con l'eseguibile portatile, fai attenzione anche al modello predefinito: specificalo con -n, perché il testo della guida mostra realesr-animevideov3 come modello predefinito.
Può essere usato su video?+
Sì, fotogramma per fotogramma. Per l'animazione, il progetto fornisce il modello realesr-animevideov3 e uno script video. Con l'eseguibile ncnn, il metodo documentato consiste nell'estrarre i fotogrammi con ffmpeg, elaborarli e poi riassemblarli. Elaborati indipendentemente, i fotogrammi successivi possono sfarfallare: verifica il risultato durante la riproduzione, non soltanto a video fermo.
Real-ESRGAN è ancora mantenuto?+
Molto poco. La sua ultima versione, la v0.3.0, risale a settembre 2022 e il suo ultimo commit, di aprile 2024, riguarda solo l'integrazione continua. Il modello rimane utilizzabile, ma le incompatibilità delle dipendenze, come torchvision, non vengono corrette dal progetto. Per evitare questi problemi, l'eseguibile portatile ncnn è la soluzione più stabile.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.