- Questa sarà una piccola introduzione all'upscaling/miglioramento delle immagini con l'IA. Cercherò di aggiornare questo post man mano che imparo cose nuove, così resta utile e migliora di qualità (oltre a riscrivere alcune parti per renderle più chiare, corrette e meglio formattate). Si incoraggiano discussioni su tecniche di upscaling, esperienze, software, valutazioni di questi software, ecc.
- Sono sicuro che sapete tutti cos'è l'upscaling, ma non tutti sanno bene cos'è l'upscaling con l'IA e come usarlo. L'IA di cui parlo è una rete neurale artificiale di Deep Learning, cioè in pratica un'IA addestrata su un enorme set di dati (in questo caso un'infinità di immagini) per 'imparare'. Il risultato è un'IA che riesce a ingrandire un'immagine in modo più preciso, aggiungendo dettagli che l'upscaling tradizionale non può dare.
- L'upscaling delle immagini non è un processo magico. Per esempio, se nell'immagine c'è un testo completamente illeggibile su un libro, l'upscaling non lo sistemerà. È semplicemente un modo per aumentare la risoluzione delle immagini in modo gradevole, con più nitidezza, chiarezza e realismo rispetto all'upscaling tradizionale. Questo non vuol dire che non valga la pena usare l'upscaling con IA al posto di quello tradizionale/resampling, anzi, ne vale eccome. I risultati non sono sempre buoni, ma di certo non sono nemmeno sempre pessimi, e continueranno solo a migliorare col tempo. A volte un'immagine viene upscalata così bene che è praticamente perfetta. Inoltre, l'upscaling con IA si può usare anche solo per ripulire un'immagine da rumore e artefatti di compressione, quindi anche se non ti serve aumentare la risoluzione ci sono comunque altri potenziali vantaggi.
- Metterò una breve lista di alcune opzioni di upscaling con prezzo, piattaforma su cui sono disponibili e limiti di upscaling. Non valuterò la qualità degli upscale, primo perché è un po' soggettiva, e secondo perché non ho testato tutto qui. Chissà, magari prima o poi lo faccio e metto le immagini per confrontarle, ma magari no, dipende da cosa decido.
- Alcune opzioni di upscaling sono web, il che comporta la comodità di poter fare upscaling praticamente da qualsiasi dispositivo con un browser decente e una connessione a internet. Gli svantaggi sono che hanno capacità limitate, richiedono un abbonamento e richiedono una connessione a internet. Potrebbe non essere la scelta migliore per chi ha una connessione lenta, instabile o con limiti di traffico. Inoltre non sai mai cosa fanno davvero con le tue immagini, quindi se hai foto sensibili da upscalare, forse è meglio optare per una soluzione non web.
- Altre si possono scaricare come software, che di solito ha il vantaggio di non richiedere internet e di avere meno restrizioni (o nessuna) sull'upscaling. Gli svantaggi sono che il software deve essere disponibile per la piattaforma che vuoi usare, e ti serve anche un dispositivo in grado di farlo girare, perché a differenza di un'opzione web dove ci pensano altri server al carico di calcolo, qui è il tuo dispositivo a dover fare tutto il lavoro.
*Il codice sorgente è disponibile su GitHub
**Tramite WINE
- Queste non sono le uniche opzioni, ce ne sono molte altre, quindi se nessuna fa per te cerca qualcosa tipo "AI Image Upscaling Software". Puoi anche dare un'occhiata a questo link che riporta una lista di altre opzioni con pro e contro di ciascuna. Personalmente uso Gigapixel AI perché gira sul mio PC e non ha limiti importanti che io sappia, a parte l'impossibilità di upscalare oltre 32,000 x 32,000, che per me non è un problema. Se per qualche motivo vuoi/devi upscalare un'immagine oltre il gigapixel, puoi sempre tagliarla in pezzi più piccoli, upscalare i pezzi e poi fonderli e ricucirli insieme.
- Una volta scelto cosa usare per l'upscaling, ci sono alcune cose da fare per ottenere il miglior risultato finale. Prima di tutto, stai usando la versione migliore dell'immagine che vuoi upscalare? Perché, come sai, quasi ogni foto online esiste in più copie e non sono tutte della stessa qualità. Quindi se hai preso l'immagine da internet e non è una foto unica o uno screenshot di un fotogramma specifico di un video fatto da te, conviene provare una ricerca inversa per immagini. Ci sono varie opzioni, come Google, Bing, TinEye, ecc. con cui fare una ricerca inversa (vale la pena farla con più di uno, perché non mostrano sempre gli stessi risultati). Puoi anche usare un'estensione del browser per aiutarti nella ricerca inversa, come Search by Image. Ricorda che solo perché un'immagine è più vecchia, ha una risoluzione più alta o un file più pesante, non significa che quella versione sia di qualità migliore. Un modo per aumentare le probabilità di trovare l'originale è capire chi/cosa mostra l'immagine, quando/dove è stata scattata/pubblicata, ecc., e usare queste info per rintracciare una versione di qualità migliore, se non la fonte stessa. Per esempio, magari l'immagine viene da un servizio fotografico specifico o da un evento. Sapere queste cose può aiutare.
- Una volta che hai la migliore copia dell'immagine da upscalare (o almeno la migliore che riesci a trovare), conviene occuparsi di dati e archiviazione. Intendo che, per assicurarti che la foto che userai sia a posto e resti disponibile per tutti, consiglio un paio di cose. Prima di tutto, usa VirusTotal per scansionare non solo l'URL della pagina dove si trova l'immagine, ma anche il link diretto all'immagine e il file stesso una volta scaricato. Non è proprio necessario, ma io faccio così. Consiglio anche di archiviare l'URL della pagina dove hai trovato l'immagine e il link diretto usando sia Wayback Machine che Archive.Today. Poi rinomina l'immagine scaricata con un nome sensato e comprensibile (a meno che non ce l'abbia già). Poi uso spesso FileOptimizer per ridurre il più possibile il peso del file (solo ottimizzazione lossless, così non si perdono dati (qualità)) in modo che occupi meno spazio, si carichi più in fretta e si scarichi più in fretta.
- Okay, ora si fa l'upscaling! Forse. Vedi, a volte un'immagine richiede almeno qualche piccolo ritocco prima di essere upscalata. Se l'immagine ha molto rumore (che sia rumore cromatico , di luminanza, ecc.) l'upscaler potrebbe (ma anche no, dipende dal caso) fare fatica a distinguere il rumore dal dettaglio, e questo può dare upscale strani. Quindi una cosa da provare è ridurre il rumore dell'immagine prima dell'upscaling. A volte il denoise porta a un upscale peggiore, quindi sta a te confrontare. Altre volte l'immagine è già stata upscalata con un metodo tradizionale. In questo caso conviene guardare l'immagine a vari livelli di zoom sotto il 100% finché non trovi il 'punto ideale' in cui non si notano più gli artefatti dell'upscaling tradizionale, come blocchettoni o aliasing. Un buon punto di partenza è lo zoom al 50%. Una volta trovato il 'punto ideale', riduci l'immagine a quella stessa dimensione (a volte è meglio un semplice ridimensionamento, altre volte si ottengono risultati migliori riducendo con resampling, tipo lanczos o bicubica, ecc.). Come per il denoise prima dell'upscale, non sempre porta a risultati migliori, quindi confronta. Altre cose che possono dare un upscale migliore sono sfocare un po' l'immagine, o magari aumentarne la nitidezza, o a volte anche fare un upscale/resampling.
- Una volta caricata l'immagine nell'upscaler, scelte le impostazioni perfette e pronto a upscalare, potrebbe esserti chiesto in che formato e qualità esportare. Consiglio di esportare in un formato lossless come PNG, così le modifiche successive funzionano meglio. Ok, hai upscalato l'immagine e ottenuto un buon risultato, e adesso? Potresti caricarla così com'è, senza altri ritocchi, va benissimo, ma qualche piccolo ritocco in più può dare un risultato più bello. Ogni tanto negli upscale compare del rumore, anche se nell'immagine originale non sembrava essercene molto. In questo caso è meglio ripulirlo il più possibile così sembra un filo migliore. L'immagine (tutta o solo certe parti) potrebbe anche sembrare un po', come dire, liscia? Tipo plastica? Qualcosa del genere. In questo caso un modo facile per migliorarla è aggiungere un po' di grana. Personalmente preferisco una grana fine a una grossa, ma sei libero di scegliere. La grana aggiunge una specie di 'falso dettaglio' e secondo me rende l'immagine un po' più materica. Può essere utile anche ridurre le dimensioni dell'immagine, perché l'upscale può avere dettagli strani, e il downscale ne riduce la visibilità mantenendo i miglioramenti visivi. Se vuoi combinare denoise, downscale e grana, l'ordine è questo: Denoise → Downscale → Grana.
- L'immagine potrebbe anche richiedere (o almeno beneficiare di) qualche ritocco manuale con Photoshop o GIMP. Però al momento non ho esperienza in questo, ma potrebbe cambiare in futuro e allora potrò scrivere una piccola sezione sui ritocchi manuali dell'upscale. Quindi, passando oltre, il tuo upscale dovrebbe essere finito. Prima di caricarlo, valuta se ridurre le dimensioni o comprimere l'immagine con compressione lossy, perché gli upscale a volte generano file enormi (anche centinaia di megabyte per una sola immagine). Io preferisco caricare l'immagine originale (senza alterazioni e nel formato originale, ma ottimizzata in lossless), una versione WEBP lossless dell'upscale (che di solito comprime meglio del PNG), una versione JPG lossy e un PNG lossless (per la compatibilità). Così chi scarica ha l'immagine originale e può scegliere quale versione dell'upscale preferisce: un JPG lossy con il file più leggero, un WEBP lossless più piccolo del PNG, oppure un PNG lossless con più supporto e compatibilità del WEBP.
- Sono sicuro che sapete tutti cos'è l'upscaling, ma non tutti sanno bene cos'è l'upscaling con l'IA e come usarlo. L'IA di cui parlo è una rete neurale artificiale di Deep Learning, cioè in pratica un'IA addestrata su un enorme set di dati (in questo caso un'infinità di immagini) per 'imparare'. Il risultato è un'IA che riesce a ingrandire un'immagine in modo più preciso, aggiungendo dettagli che l'upscaling tradizionale non può dare.
- L'upscaling delle immagini non è un processo magico. Per esempio, se nell'immagine c'è un testo completamente illeggibile su un libro, l'upscaling non lo sistemerà. È semplicemente un modo per aumentare la risoluzione delle immagini in modo gradevole, con più nitidezza, chiarezza e realismo rispetto all'upscaling tradizionale. Questo non vuol dire che non valga la pena usare l'upscaling con IA al posto di quello tradizionale/resampling, anzi, ne vale eccome. I risultati non sono sempre buoni, ma di certo non sono nemmeno sempre pessimi, e continueranno solo a migliorare col tempo. A volte un'immagine viene upscalata così bene che è praticamente perfetta. Inoltre, l'upscaling con IA si può usare anche solo per ripulire un'immagine da rumore e artefatti di compressione, quindi anche se non ti serve aumentare la risoluzione ci sono comunque altri potenziali vantaggi.
- Metterò una breve lista di alcune opzioni di upscaling con prezzo, piattaforma su cui sono disponibili e limiti di upscaling. Non valuterò la qualità degli upscale, primo perché è un po' soggettiva, e secondo perché non ho testato tutto qui. Chissà, magari prima o poi lo faccio e metto le immagini per confrontarle, ma magari no, dipende da cosa decido.
- Alcune opzioni di upscaling sono web, il che comporta la comodità di poter fare upscaling praticamente da qualsiasi dispositivo con un browser decente e una connessione a internet. Gli svantaggi sono che hanno capacità limitate, richiedono un abbonamento e richiedono una connessione a internet. Potrebbe non essere la scelta migliore per chi ha una connessione lenta, instabile o con limiti di traffico. Inoltre non sai mai cosa fanno davvero con le tue immagini, quindi se hai foto sensibili da upscalare, forse è meglio optare per una soluzione non web.
- Altre si possono scaricare come software, che di solito ha il vantaggio di non richiedere internet e di avere meno restrizioni (o nessuna) sull'upscaling. Gli svantaggi sono che il software deve essere disponibile per la piattaforma che vuoi usare, e ti serve anche un dispositivo in grado di farlo girare, perché a differenza di un'opzione web dove ci pensano altri server al carico di calcolo, qui è il tuo dispositivo a dover fare tutto il lavoro.
| Gigapixel AI | Lets Enhance | Waifu2x | Vertexshare Image Upscaler | |
| Prezzo | $99.99 | Prime 5 immagini gratis, abbonamento da $12 al mese per upscalare 100 immagini al mese | Gratis | Gratis |
| Limite di upscaling | 32,000 x 32,000 | 64 megapixel per le 5 immagini gratis; 256 megapixel con abbonamento normale; 500 megapixel con abbonamento business (da $72 al mese) | Non si possono caricare immagini più grandi di 1,500 x 1,500 o 5 MB. Opzioni di upscaling 1.6x o 2x | Non si possono caricare immagini diverse da JPG o PNG e niente di più grande di 1,200 x 1,200 o 5 MB. Uniche opzioni di upscaling: 2x e 4x |
| Web | N | Y | Y | Y |
| Windows | Y | N | Y* | N |
| Mac | Y | N | Y* | N |
| Linux | Y** | N | Y* | N |
| App mobile | N | N | Y* | N |
*Il codice sorgente è disponibile su GitHub
**Tramite WINE
- Queste non sono le uniche opzioni, ce ne sono molte altre, quindi se nessuna fa per te cerca qualcosa tipo "AI Image Upscaling Software". Puoi anche dare un'occhiata a questo link che riporta una lista di altre opzioni con pro e contro di ciascuna. Personalmente uso Gigapixel AI perché gira sul mio PC e non ha limiti importanti che io sappia, a parte l'impossibilità di upscalare oltre 32,000 x 32,000, che per me non è un problema. Se per qualche motivo vuoi/devi upscalare un'immagine oltre il gigapixel, puoi sempre tagliarla in pezzi più piccoli, upscalare i pezzi e poi fonderli e ricucirli insieme.
- Una volta scelto cosa usare per l'upscaling, ci sono alcune cose da fare per ottenere il miglior risultato finale. Prima di tutto, stai usando la versione migliore dell'immagine che vuoi upscalare? Perché, come sai, quasi ogni foto online esiste in più copie e non sono tutte della stessa qualità. Quindi se hai preso l'immagine da internet e non è una foto unica o uno screenshot di un fotogramma specifico di un video fatto da te, conviene provare una ricerca inversa per immagini. Ci sono varie opzioni, come Google, Bing, TinEye, ecc. con cui fare una ricerca inversa (vale la pena farla con più di uno, perché non mostrano sempre gli stessi risultati). Puoi anche usare un'estensione del browser per aiutarti nella ricerca inversa, come Search by Image. Ricorda che solo perché un'immagine è più vecchia, ha una risoluzione più alta o un file più pesante, non significa che quella versione sia di qualità migliore. Un modo per aumentare le probabilità di trovare l'originale è capire chi/cosa mostra l'immagine, quando/dove è stata scattata/pubblicata, ecc., e usare queste info per rintracciare una versione di qualità migliore, se non la fonte stessa. Per esempio, magari l'immagine viene da un servizio fotografico specifico o da un evento. Sapere queste cose può aiutare.
- Una volta che hai la migliore copia dell'immagine da upscalare (o almeno la migliore che riesci a trovare), conviene occuparsi di dati e archiviazione. Intendo che, per assicurarti che la foto che userai sia a posto e resti disponibile per tutti, consiglio un paio di cose. Prima di tutto, usa VirusTotal per scansionare non solo l'URL della pagina dove si trova l'immagine, ma anche il link diretto all'immagine e il file stesso una volta scaricato. Non è proprio necessario, ma io faccio così. Consiglio anche di archiviare l'URL della pagina dove hai trovato l'immagine e il link diretto usando sia Wayback Machine che Archive.Today. Poi rinomina l'immagine scaricata con un nome sensato e comprensibile (a meno che non ce l'abbia già). Poi uso spesso FileOptimizer per ridurre il più possibile il peso del file (solo ottimizzazione lossless, così non si perdono dati (qualità)) in modo che occupi meno spazio, si carichi più in fretta e si scarichi più in fretta.
- Okay, ora si fa l'upscaling! Forse. Vedi, a volte un'immagine richiede almeno qualche piccolo ritocco prima di essere upscalata. Se l'immagine ha molto rumore (che sia rumore cromatico , di luminanza, ecc.) l'upscaler potrebbe (ma anche no, dipende dal caso) fare fatica a distinguere il rumore dal dettaglio, e questo può dare upscale strani. Quindi una cosa da provare è ridurre il rumore dell'immagine prima dell'upscaling. A volte il denoise porta a un upscale peggiore, quindi sta a te confrontare. Altre volte l'immagine è già stata upscalata con un metodo tradizionale. In questo caso conviene guardare l'immagine a vari livelli di zoom sotto il 100% finché non trovi il 'punto ideale' in cui non si notano più gli artefatti dell'upscaling tradizionale, come blocchettoni o aliasing. Un buon punto di partenza è lo zoom al 50%. Una volta trovato il 'punto ideale', riduci l'immagine a quella stessa dimensione (a volte è meglio un semplice ridimensionamento, altre volte si ottengono risultati migliori riducendo con resampling, tipo lanczos o bicubica, ecc.). Come per il denoise prima dell'upscale, non sempre porta a risultati migliori, quindi confronta. Altre cose che possono dare un upscale migliore sono sfocare un po' l'immagine, o magari aumentarne la nitidezza, o a volte anche fare un upscale/resampling.
- Una volta caricata l'immagine nell'upscaler, scelte le impostazioni perfette e pronto a upscalare, potrebbe esserti chiesto in che formato e qualità esportare. Consiglio di esportare in un formato lossless come PNG, così le modifiche successive funzionano meglio. Ok, hai upscalato l'immagine e ottenuto un buon risultato, e adesso? Potresti caricarla così com'è, senza altri ritocchi, va benissimo, ma qualche piccolo ritocco in più può dare un risultato più bello. Ogni tanto negli upscale compare del rumore, anche se nell'immagine originale non sembrava essercene molto. In questo caso è meglio ripulirlo il più possibile così sembra un filo migliore. L'immagine (tutta o solo certe parti) potrebbe anche sembrare un po', come dire, liscia? Tipo plastica? Qualcosa del genere. In questo caso un modo facile per migliorarla è aggiungere un po' di grana. Personalmente preferisco una grana fine a una grossa, ma sei libero di scegliere. La grana aggiunge una specie di 'falso dettaglio' e secondo me rende l'immagine un po' più materica. Può essere utile anche ridurre le dimensioni dell'immagine, perché l'upscale può avere dettagli strani, e il downscale ne riduce la visibilità mantenendo i miglioramenti visivi. Se vuoi combinare denoise, downscale e grana, l'ordine è questo: Denoise → Downscale → Grana.
- L'immagine potrebbe anche richiedere (o almeno beneficiare di) qualche ritocco manuale con Photoshop o GIMP. Però al momento non ho esperienza in questo, ma potrebbe cambiare in futuro e allora potrò scrivere una piccola sezione sui ritocchi manuali dell'upscale. Quindi, passando oltre, il tuo upscale dovrebbe essere finito. Prima di caricarlo, valuta se ridurre le dimensioni o comprimere l'immagine con compressione lossy, perché gli upscale a volte generano file enormi (anche centinaia di megabyte per una sola immagine). Io preferisco caricare l'immagine originale (senza alterazioni e nel formato originale, ma ottimizzata in lossless), una versione WEBP lossless dell'upscale (che di solito comprime meglio del PNG), una versione JPG lossy e un PNG lossless (per la compatibilità). Così chi scarica ha l'immagine originale e può scegliere quale versione dell'upscale preferisce: un JPG lossy con il file più leggero, un WEBP lossless più piccolo del PNG, oppure un PNG lossless con più supporto e compatibilità del WEBP.
