Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

a1371

Why all the negativity in the comments here? Yes, sometimes it is extremely valuable to make a nice thin wrapper on existing tech. As a community, we can't always complain about the user interface of FOSS tools, and then when someone makes a UI, again complain that they haven't done anything or the size is large. Pick a side!

knaik94

More feature rich UIs already exist as thin wrappers for this tech. Some linked from the Real-ESRGAN github repo. More importantly, Google Colab notebooks exist already as well, so you don't even need a graphics card.

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

NayamAmarshe

The only reason why I built Upscayl was because there were no GUI solutions for Linux. Everywhere you see, Windows Windows Windows. Which is great for Windows people, but you already have Topaz Gigapixel, arguably the best piece of paid software I've ever seen.

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.

pseudosavant

Don't let the haters get you down. This looks really useful.

Easily portable binaries that do one thing well are highly underrated. I will be trying this out on my PC.

Thank you!

mmastrac

Don't get turned off by the negativity - pretty nice cross-platform work you have here.

howinteresting

Thank you for building it. Screw the haters on this website.

Polarity

thank you for making this <3

undefined

[deleted]

rvz

It's Electron. That is why.

tfsh

Maybe ask yourself why people chose to use Electron. The cross platform alternatives (Tauri[1] pops to mind) generally offer a more complex development experience. As long as web languages remain the lowest entrypoint they will remain the dominent force, even if they're less performant.

1: https://github.com/tauri-apps/tauri

NayamAmarshe

You're absolutely right. I tried building Upscayl with Tauri initially, but after a few days I had to give up because I was trading my time for bundle size. Then I tried Neutralino only to discover that it does not support node runtime. With Electron, we were able to focus on the core features and ship Upscayl very fast.

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 :)

lapinot

?? how is tauri a response to electron criticism? Imho the main criticism of electron is a criticism of using a webview for a desktop application where you could've used something far more simple. An alternative which would make electron critics be happy would be more like imgui or bindings to plateform native ui toolkits, but definitely not some other html ui framework.

LaputanMachine

The app contacts Github's CDN every 45 seconds. Is there a particular reason / need for this behavior?

Tested on macOS with the following command:

  sudo tcpdump -k -i en0 | grep Upscayl

samstave

Just an aside as we all get Old Fat and Ugly, its actually a good thing to have such a simple reminder to grep for shit out of your egress just so you stay close to whats happening on the wire.

I haven't thought about TCPDUMP in a long time, and I appreciate this man page.

NayamAmarshe

It must be because of the auto-update checker. It's a useful feature that lets us notify users about new versions and also let them download and install without opening the Github repository.

gonzus

But you check for updates every 45 seconds? Why?

NayamAmarshe

It's the electron-builder that's doing it, must be its default configuration. I'll see if I can fix the continuous checks and limit it to only at launch.

rahimnathwani

Why not use Real-ESRGAN directly?

https://github.com/xinntao/Real-ESRGAN

GrayShade

I actually tried, couldn't do it. Some version of numpy in their requirements.txt doesn't build with the Python on the my system.

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.

rahimnathwani

OK. That makes some sense. I tend to assume everyone with a CUDA-capable GPU is already using conda. But of course that's not true.

GrayShade

I followed the instructions in their README, they suggest conda, but don't tell you to use it.

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.

rysertio

Well you can use the ncnn version that is the backend for this program. https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan

happymellon

I've always been confused with Conda, as it seems like overkill compared to just pyenv.

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.

IshKebab

Yeah you know Python's software distribution problems are bad when someone makes an entire parallel packaging universe.

lynndotpy

I do machine learning and use Python a lot, and even then I'd sometimes prefer something packaged like this. Dependencies are Python's hell and I can't usually know in advance if a repo will be a 1-minute install or a 15-minute install.

creativenolo

Visual feedback. Visual interface. The GUI fad is still around.

rahimnathwani

Right, but if a GUI is the only requirement, it might be simpler to use gradio.

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()

knaik94

This UI wrapper doesn't have any way to set options for upsample or tile size parameters. I also don't see any way for it to set the model yourself.

https://github.com/xinntao/Real-ESRGAN

The Real-ESRGAN page has links to additional uis to try out.

NayamAmarshe

Scaling is broken on Real-ESRGAN. That's why I had to remove the option for 2x and 3x and tiling can sometimes yield totally unexpected results. These 2 are the primary reasons why Upscayl doesn't show them.

simonw

Nice to see one of these that can use the GPU on my Mac laptop out of the box - I just tried it after installing from the .dmg, it worked great.

NayamAmarshe

It's honestly a relief. I do not have MacOS so I had to compile the software with a MacOS VM without hardware passthrough, it took me a whole day to set that up. I wasn't able to test it on the VM (because of lacking hardware acceleration) but some nice people from the community helped us test it and find bugs and issues for the Mac builds :)

jacooper

Don't GitHub Actions offer MacOS builds?

NayamAmarshe

They do? Wow, I didn't know. I'll try setting up a workflow.

Sugimot0

I like video2x[1] for this, a nice simple CLI with lots of different options for different cases, (especially the anime upscalers) used it quite a bit, also played with realcugan-ncnn-vulkan[2] which has given me pretty great results.

[1]: https://github.com/k4yt3x/video2x [2]: https://github.com/nihui/realcugan-ncnn-vulkan

aantix

Video2x - is it only for cartoon/anime video?

behnamoh

Would it be too difficult to add video upscaling feature to this? It'd really help with old videos.

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.

social_quotient

It’s not what you asked for exactly but I’ve had good success with this product

https://www.topazlabs.com/video-enhance-ai

Sometimes it drops the audio channel but it’s not too bad getting it added back in.

behnamoh

"Buy for $199.99"

Terretta

Too much to pay to both fix up old memories and compensate skilled engineering?

lijogdfljk

re: Videos, that's the first item on the roadmap on the linked page

can16358p

Anyone compared it against Topaz Labs' Sharpen AI/Gigapixel AI?

Which is better (putting paid vs open-source debate aside) in terms of result image quality?

can16358p

Update: tried it, and it failed miserably.

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.

stavros

I tried Real-ESRGAN but it seems to dream up slightly too much? Has anyone else had this problem? It tends to generate details where there shouldn't be any.

Maybe I need to add some setting?

physPop

This is commonly called 'hallucination' and is a confound in super resolution. Its particularly concerning when people throw SISR at medical imaging ...

IceWreck

How does Real-ESRGAN used here compare to waifu2x ? I've had great success using waifu2x, especially for blurry artwork.

Tajnymag

ESRGAN works better for photos in my testing.

liuliu

NCNN does work with just CPU. Just need a little bit more packaging.

Cipater

It really does need a GPU. Tried it on a laptop with integrated graphics and it crashed completely. Didn't even give a BSOD, machine just went dead and rebooted.

Daily Digest email

Get the top HN stories in your inbox every day.

Upscayl – Free and Open Source AI Image Upscaler for Linux, macOS and Windows - Hacker News