Real-ESRGAN: ingrandire le immagini in locale
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.
#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
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
| Modello | Scala | Descrizione del progetto | Da usare su |
|---|---|---|---|
| RealESRGAN_x4plus | ×4 | Modello ×4 per immagini di vario tipo | Foto, immagini generate: scelta predefinita |
| RealESRGAN_x2plus | ×2 | Modello ×2 per immagini generiche | Quando ×4 è troppo, senza ricorrere a un ulteriore ridimensionamento |
| RealESRNet_x4plus | ×4 | Modello ×4 con perdita MSE, effetti di smoothing eccessivo | Raramente: il risultato è liscio e spento |
| realesr-general-x4v3 | ×4, utilizzabile a ×1, ×2, ×3 | Modello piccolo, richiede molta meno memoria GPU e molto meno tempo, con una capacità di riduzione del rumore inferiore | Macchine con risorse limitate, lotti di immagini; l'opzione -dn regola la riduzione del rumore |
| RealESRGAN_x4plus_anime_6B | ×4 | Ottimizzato per le immagini di anime, rete più piccola (6 blocchi RRDB) | Illustrazioni, tavole, disegni 2D |
| realesr-animevideov3 | ×4, utilizzabile a ×1, ×2, ×3 | Modello di dimensioni XS per i video animati | Sequenze 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.
#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.
| Via | Ciò che serve | Vantaggi | Limiti |
|---|---|---|---|
| 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 inclusi | Non 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 volti | Fattore di scala arbitrario, volti, tiling, immagini con canale alpha, in scala di grigi o a 16 bit | Dipendenze 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.
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
- 01Scegli il modello in base al tipo di immagineFoto o illustrazione: è l'impostazione che influisce di più sul risultato, molto più del fattore di ingrandimento. Aggiungi sempre -n al comando.
- 02Non concatenare più passaggiIngrandire 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.
- 03Pulire prima di ingrandireUna 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.
- 04Riservare face_enhance ai volti realiL'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.
- 05Confrontare 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.
| Uso | Lunghezza desiderata del lato più lungo | Fattore necessario |
|---|---|---|
| Schermo 4K, a schermo intero | 3 840 px | ×3,75: una passata ×4 va bene |
| Stampa A4 a 300 dpi | 3 508 px | ×3,4 : una passata ×4, o --outscale 3,4 |
| Stampa A3 a 300 dpi | 4 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 miniatura | 1.600–2.000 px | Da ×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.
#Guida alla risoluzione dei problemi: errori comuni
| Sintomo | Causa | Correttivo |
|---|---|---|
| Errore « slow_conv2d_cpu not implemented for Half » | Real-ESRGAN utilizza per impostazione predefinita la mezza precisione (fp16), che alcuni operatori non supportano sulla CPU | Aggiungere l'opzione --fp32 al comando |
| ModuleNotFoundError : torchvision.transforms.functional_tensor | basicsr 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'immagine | L'eseguibile suddivide l'immagine in riquadri e poi li ricompone, un procedimento che il README segnala come fonte di incoerenze | Regolare 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 uscita | Il TODO del repository ncnn segnala che alcuni PC generano immagini nere | Provare l'altra modalità (Python o ncnn) o un'altra scheda con -g |
| Volti deformati su un'illustrazione | Opzione face_enhance attiva su contenuti non fotografici | Rimuoverla: è 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.
- ControlNet: controllare la composizione a monte
- Il kit Immagini IA
- Fonte: il repository ufficiale di Real-ESRGAN
- Fonte: l'articolo di ricerca su arXiv
- Fonte: l'implementazione ncnn-vulkan
#FAQ
Real-ESRGAN è gratuito?+
Serve una scheda grafica?+
È possibile ingrandire del testo scansionato?+
Perché la mia illustrazione diventa granulosa dopo l'ingrandimento?+
Può essere usato su video?+
Real-ESRGAN è ancora mantenuto?+
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.