Others NGX vs SWIN_IR Image Upscaling (512x512 to 4k and 5k to 10k)

felldude

Member
Aug 26, 2017
454
1,403
NGX Image Super image resolution a beta program from Nvidia and DVS. The .dll files it included rarely worked outside of owning a quadro card and having a very specific cuda setup.
Using the .dll files from the latest NVIDIA NvDLISR it is possible to get it working.

What I tried today was compiling the program with CUDA 12.1...it failed I thought what would happen if I just copied and renamed cudart64_110 to cudaart64_100 and by a miracle it worked.

Here is a side by side comparison of SWIN_IR and NGX Superscaling
(Upscaling done on a 3050 card with 8GB of VRAM)

A 5000x3600 jpg was downscaled to 512 width and text was added below the image for reference.
(The orignal file is named: the-most-beautiful-face-in-the-world-scientific-research-1468574552.jpg)
That file was saved to a .png and then sent to up-scaling

(8x Up-scaling a 512x512)

NGX processed the 512x512 image in 2.4 seconds and wrote the 4k .png file in 3.3
Total time 6 seconds

SWIN_IR processed the initial upscale in 17 seconds (1.91 IT/per second)
The AI up scaling to an additional 2:43 seconds (1.14 IT/ per second)
With a 15 second post process/combination time
Total of around 3 minutes 20 seconds.

(2x Up scaling a 5000x3600)

NGX processed a 5000x3600 file up to 10k in 11 seconds with an additional 4 seconds to write the .png (339 tile processed)

SWIN_IR took 18 minutes to process the 5500x3600 file (Generating a ton of heat glad I have good cooling)
Unfortunately I did not have the 32GB of VRAM needed to complete the process so it crashed out.


Clearly Swin is doing more calculations, but the question that bugs me is why is NGX so fast.

You can download upscaled files in .png format and compare the results here:
 

felldude

Member
Aug 26, 2017
454
1,403
Comparing (In ICAT) an image scaled 8x with NGX on the left and ERSGAN on the right, with a Retinex filter applied

Retinex Compare.jpg
Artifacting from both upscale's can be noted in different ways in the image the ERSGAN up-scaling had some strange lines in another part of the image.
(Only visible with the Retinex filter)


Without Retinex Filter

Compare.jpg

My conclusion is that ERSGAN is proabaly the best all around over Swin_IR or NGX however NGX is 100x times faster and allows for up scaling 4k to 8k or even 10k to 20k

We do see one of the issues above with ERSGAN and that is certain textures may be over developed with the inversions it assumes.