Artificial intelligence

Use ‘Upscaler’ to enhance low resolution images with AI on Linux

Looking for a free and open source app that harnesses the power of artificial intelligence to improve the image quality of your grainy 0.3 MP netbook selfies and 128 pixel anime avatars?

Chances are it’s not, but I’m here to tell you about it anyway!

You see, I very occasionally use the ML super resolution feature in the Pixelmator Photo app on my iPad. while it works Okaythe end result is never quite as perfect as the marketing intended (let alone the auto-enhancement sci-fi movie effect we all crave).

Well, a new app recently added to Flathub can help.

What is Upscaler?

Upscaler is a open source image scaling application which leverages AI to automatically enhance any low-res image (or not-so-low-res image) passed to it.

How does he do this? Well, technically, this doesn’t; Upscaler is actually a GTK4/libadwaita front end for the Real-ESRGAN ncnn Vulkan AI algorithm. It is this algorithm, an extension of upstream Real-ESRGANwhich does the “magic” thing.

But the results achieved speak for themselves:

Scaling results using Real-ESRGAN

I have to admit I’m very familiar with how neural networks work, but from what I can gather: Real-ESRGAN is able to “predict” what missing image pixels should look like and adds them uphill in power. The result is significantly improved quality of output images.

That said, keep in mind that results will vary depending on the quality and content of the base image.

How does Upscaler work?

Unlike some AI tools of a similar nature, you don’t need to dig deep into code or set up a server to use it. Just install the app, open it and you’re good to go.

Upscaler’s user interface is simple and straightforward: open an image, tell the app whether it’s a photo or a cartoon/anime image, select a filename, and a location for the output, then press “Upscale” to get started!

Scaling takes a bit of time, which users of systems with weaker graphics drivers should expect. On my AMD Ryzen 5 laptop with integrated Radeon Vega graphics, it took about 20 seconds to process a 500 pixel square low resolution image into a 2000 pixel square scaled image.

The process is not instantaneous

And here are the results of the first low resolution selfie I could find:

Ok, so this isn’t ideal fodder to show off the capabilities of this algorithm, but I was interested in seeing a “real” use case and more importantly how great the GTK front-end is. /libadwaita got by while processing.

Although my high-end selfie has unnatural skin smoothness, it doesn’t look “bad” to my eyes. Still, the app is likely to work fantastically with pictorial/computer images where there’s less chance of inadvertent “strange valley” moods.

Install the Upscaler GTK app

Upscaler is free open source software licensed under the GNU General Public License v3.0. To view source code, make fixes, or report bugs, see Upscaler on Gitlab.

You can find Upscaling on Flathub, which makes it easy to install the app on most modern Linux distributions, including Ubuntu. For best results, you should use the app on a Linux system with Vulkan-compatible graphics.

Leave a Reply