Skip to content
AkarinVS edited this page Aug 27, 2021 · 8 revisions

DLISR

akarin.DLISR(clip clip, [, int scale=2])

DLISR (Deep Learning Image Super Resolution) is part of NVidia NGX Technology SDK.

It's a high quality image upscaler (2x/3x/4x), but it's very slow, even on a RTX GPU.

Suitable for natural images, CGI and anime style line drawings. For anime content, compared to the well-known waifu2x, it can preserve the detail textures better, but it does not have anti-alias effects, so the lines might appear jagged after upscaling. (Hint: merge waifu2x output with DLISR output with a line mask.)

Limitation and Performance

DLISR does not tolerate noisy inputs, so it's only suitable for upscaling clean inputs. (Hint: if you use bm3d, use bm3dcpu, not bm3dcuda.)

It's very slow. e.g. when 2x scaling, we have:

  • On RTX 3070 Ti: 1.2fps for 1080p inputs; 2.66fps for 720p; 7.7fps for 480p.
  • On Tesla T4 (~RTX 2070): 0.34 fps for 1080p inputs; 0.75 fps for 720p; 2.20 fps for 480p.
  • On GTX 1660S: 0.07 fps for 1080p inputs; 0.16 fps for 720p; 0.35fps for 720x480.

Known Bugs

  1. DLISR does not work well with other GPU filters, if you use DLISR in your script, make sure it's the only GPU filter. (tracked as #4). Also, as DLISR can easily saturate the entire GPU, if you only have one GPU, using other GPU filters will only slow things down.
  2. DLISR always pick the best GPU to use, so it's impossible to specify a specific GPU device to use, even though there is device_id parameter, it does NOT work.
Clone this wiki locally