a1371 4 years ago

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!

  • rvz 4 years ago

    It's Electron. That is why.

    • tfsh 4 years ago

      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 4 years ago

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

        • beefjerkins 4 years ago

          As someone venturing in Tauri as primarily a web dev, I can relate to this so much. Rust is great and Tauri has some stellar benefits, but until you really master the borrow mechanics, it slows you down so much.

        • jeff_carr 4 years ago

          You deserve credit for this tool. I used it on a 35mm slide taken in 1982 that was scanned using a Nikon SUPER COOLSCAN 9000 ED. The original image was around 4000x3000 pixels. I ran it through and resized it back down and it's impressively better.

          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.

        • campbellmorgan 4 years ago

          If Rust is too much of an adventure, maybe you'll find Go easier. Wails [1] is great if perhaps a bit more rough round the edges. Because it's go, package sizes are 10mb+ but nothing like Electron 30mb+

          1. https://github.com/wailsapp/wails

      • lapinot 4 years ago

        ?? 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.

        • tfsh 4 years ago

          Oh you're right. I was thinking Tauri was a cross-platform native UI kit. Imgui seems interesting but given it requires C++ knowledge that introduces all sorts of lifecycle issues regarding memory safety, etc, which makes it even more intimidating to newer SWEs.

  • knaik94 4 years ago

    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 4 years ago

      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.

      • mmastrac 4 years ago

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

        • NayamAmarshe 4 years ago

          Thanks a lot! The appreciation really motivates me to keep making my projects better :)

      • pseudosavant 4 years ago

        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!

      • howinteresting 4 years ago

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

      • Polarity 4 years ago

        thank you for making this <3

LaputanMachine 4 years ago

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 4 years ago

    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 4 years ago

    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.

rahimnathwani 4 years ago

Why not use Real-ESRGAN directly?

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

  • creativenolo 4 years ago

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

    • rahimnathwani 4 years ago

      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()
  • GrayShade 4 years ago

    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 4 years ago

      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 4 years ago

        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.

        • rahimnathwani 4 years ago

          What GPU do you have? The Upscayl README says in big letters:

          "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.

          • BearOso 4 years ago

            The original python version uses pytorch/CUDA and requires nvidia. The Vulkan version doesn't.

            • GrayShade 4 years ago

              Yeah, well, both versions work on my system. I don't know how to check if I'm getting any kind of acceleration, probably not on AMD.

              EDIT: I think it's actually using Vulkan Compute on RADV.

    • happymellon 4 years ago

      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 4 years ago

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

  • lynndotpy 4 years ago

    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.

knaik94 4 years ago

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 4 years ago

    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 4 years ago

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.

behnamoh 4 years ago

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.

  • lijogdfljk 4 years ago

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

  • social_quotient 4 years ago

    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 4 years ago

      "Buy for $199.99"

      • Terretta 4 years ago

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

can16358p 4 years ago

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 4 years ago

    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 4 years ago

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 4 years ago

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

IceWreck 4 years ago

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

  • Tajnymag 4 years ago

    ESRGAN works better for photos in my testing.

liuliu 4 years ago

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

Cipater 4 years ago

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.

Dwedit 4 years ago

It's just relabeled Real-ESRGAN. Real-ESRGAN is still a very good solution, but I don't know if this project is contributing anything new.

  • solarkraft 4 years ago

    It sure does for me. The other projects linked here are I find overwhelming, Upscayl I find approachable.

    The alternative I see to Upscayl would be some online service that's similarly approachable for "I just want to upscale this right now".

  • NayamAmarshe 4 years ago

    We're making sure Real-ESRGAN reaches people who cannot use CLIs (so that pretty much includes 99% of the population). Also, I have a PR in the making for their ncnn-conversion script, it ain't much but it's honestly the best I can contribute when it comes to Python and AI.

    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.

eating555 4 years ago

Thanks for the great tool! Although i know how to use those models, this makes my life more easier!!!!

ldng 4 years ago

Could something similar applied to 3D scanner points cloud ? Would Real-ESRGAN work in 3D ?

WrtCdEvrydy 4 years ago

This is awesome... I wonder if we'll get something for video upscaling like this?

rixrax 4 years ago

Another interesting feature might be image sharpener while maintaining the resolution?

willnonya 4 years ago

"Make the whole world use FOSS"

At least they have realistic goals...

akerr 4 years ago

Was Upscail taken?