Looking for a free, open source app that leverages the power of artificial intelligence to upscale image quality on those grainy 0.3MP netbook selfies you took back in ’12?
Chances are you aren’t, but I’m here to tell you about one anyway! 😉
See, I very occasionally use the ML Super Resolution feature in the Pixelmator Photo app on my iPad. It works okay but the end result is never quite as pin-sharp perfect as the marketing (much less the sci-fi movie ‘auto-enhance’ effect we all dream of) makes out.
But a new app added to Flathub recently is able to help!
What is Upscaler?
Upscaler is an open source image upscaling app that leverages AI to automatically enhance any low-resolution image (or not-so-low-resolution image) fed to it.
How does it do this? Well, technically, it doesn’t; Upscaler is actually a GTK4/libadwaita front-end for the Real-ESRGAN ncnn Vulkan AI algorithm. It’s this algorithm, an extension of upstream Real-ESRGAN, that does the ‘magic’ stuff.
But the results it proceeds speak for themselves:
I’m have to confess that I’m super clued up as to how neural networking stuff works, but from what I can gather: Real-ESRGAN is able to ‘predict’ what the missing image pixels should look like, and adds them by upscaling. The result is greatly enhanced quality of output images.
That said, keep in mind that results will vary based on the quality and the content of the base image.
How well does Upscaler work?
Unlike some AI tools of a similar nature you don’t need to get elbow deep in code or configuring a server to use it. Just install the app, open it, and you’re good to go.
Upscaler’s UI is simple and straightforward: open an image, tell the app whether it’s dealing with a photo or an cartoon/anime image, select an filename and location for output, and hit ‘enhance ‘Upscale’ to get started!
Upscaling takes a little bit of time, something those on systems with weaker graphics drivers should expect. On my AMD Ryzen 5 laptop with integrated Radeon Vega graphics it took ~20 seconds to process a 500px square low-res image into a 2000px square upscaled image.
And here are the results from the first low-res selfie I could find:
Alright, so it’s not the ideal fodder to show off the capabilities of this algorithm, but I was interested in seeing a ‘real world’ use case and, more importantly, how well the GTK/libadwaita front-end coped during processing.
While my upscaled selfie has some un-natural skin smoothness to it, it doesn’t look “bad” to my eyes. Still, the app is likely to work fantastic with illustrated/computer images were there’s less chance of inadvertent “uncanny valley” vibes.
Install Upscaler GTK App
Upscaler is free, open source software licensed under the GNU General Public License v3.0. To view the source code, contribute fixes, or report bugs, check out Upscaler on Gitlab.
You can find Upscaler on Flathub, making it easy to install the app on most modern Linux distros, including Ubuntu. For optimal results you need to use the app on a Linux system with Vulkan compatible graphics.