Upscayl – Free and Open Source AI Image Upscaler for Linux, macOS and Windows
github.com
github.com
People are allowed to question what aspect of this project this is novel. I believe it's a fair critique when many tools already exist. A criticism doesn't imply a negative connotation.
I personally appreciate the before/after comparison demo aspect of this tool. However, I value the ability to modify parameters and models more than a before and after comparison tool.
I see parameters/models are on the road map but I personally believe it should be part of a 1.0 release.
I personally am a fan of https://github.com/AaronFeng753/Waifu2x-Extension-GUI
I wanted something similar for Linux. After receiving "No, I don't think so" as a reply for my question about Image upscaler GUIs for Linux on r/opensource, I decided to build one of my own. I hope the GUI can benefit other people.
Easily portable binaries that do one thing well are highly underrated. I will be trying this out on my PC.
Thank you!
Since electron is also the only framework that supports node modules, it was pretty much the best low-resistance path for us at the moment.
I do wanna learn Rust eventually but that is an adventure for another day :)
The binary at 160MB ran flawlessly on a HP Dev One laptop with Debian sid and processed the image in about 10 minutes. The difference is remarkable.
You have done a brilliant job of getting a simple front end on top of a huge pile of complicated under the hood by doing the smart thing: using your time efficiently so you can focus on the hard parts of the puzzle.
That said, native-ish interface would feel better IMO. I always appreciate applications that “feel native”. Qt and Python's Toga [2] are a couple libraries that pop up in my mind.
Tested on macOS with the following command:
sudo tcpdump -k -i en0 | grep UpscaylI haven't thought about TCPDUMP in a long time, and I appreciate this man page.
Maybe the update check is not completing in time and hitting a 45 second timeout similar to [1]?
[1]: https://github.com/electron-userland/electron-builder/issues...
Sure, I could probably install another Python with conda, but it's not my idea of fun. The app here actually worked fine from the first try, without taking gigabytes of disk space.
My GPU isn't even CUDA-capable, but the previous version of Upscayl worked fine, possibly on the CPU. That might have changed, I don't know.
In any case, even with conda installing everything would have been a pain to someone not really accustomed to the Python ecosystem. I don't care too much about the GUI, but a working AppImage is really nice.
"NOTE: Upscayl does not work without a GPU, sorry. You'll need a Vulkan compatible GPU to upscale images. CPU or iGPU won't work."
Sure, perhaps a previous version may have worked without a GPU, but this seems surprising given that it uses a GPU-only library for all the heavy lifting.
EDIT: I think it's actually using Vulkan Compute on RADV.
The fact that its not up to date on pypi and looking at their "getting started" is tens of pages of Windows bugs has always stopped me using it.
It only takes a few lines (pasted from https://huggingface.co/spaces/akhaliq/Real-ESRGAN):
gr.Interface(
inference,
[gr.inputs.Image(type="pil", label="Input"),gr.inputs.Radio(["base","anime"], type="value", default="base", label="model type")],
gr.outputs.Image(type="file", label="Output"),
title=title,
description=description,
article=article,
examples=[
['bear.jpg','base'],
['anime.png','anime']
]).launch()https://github.com/xinntao/Real-ESRGAN
The Real-ESRGAN page has links to additional uis to try out.
Wrote up a bit about how that works here:
- https://til.simonwillison.net/electron/sign-notarize-electro...
- https://til.simonwillison.net/electron/testing-electron-play...
[1]: https://github.com/k4yt3x/video2x [2]: https://github.com/nihui/realcugan-ncnn-vulkan
I have videos I took on my Sony Ericsson w810i in the 2000s. The joy of being able to capture something animated on a small screen... I remember it used to show what song is playing at the top and I thought "cool, it shows banners similar to what we see at the bottom of news channels"! Would be great to elevate those videos to today's standards.
https://www.topazlabs.com/video-enhance-ai
Sometimes it drops the audio channel but it’s not too bad getting it added back in.
Which is better (putting paid vs open-source debate aside) in terms of result image quality?
I really wanted an open source project to be on par with a commercial/paid software but realistically speaking, the difference is day and night and Topaz wins hands down in my cases.
Maybe I need to add some setting?
Real-ESRGAN creator also encourages others to use their tech in their projects, as mentioned in their readme.
I know we're not really enhancing Real-ESRGAN's code at the moment, but we don't want to disrespect or disregard their hardwork either.
The alternative I see to Upscayl would be some online service that's similarly approachable for "I just want to upscale this right now".
At least they have realistic goals...