/QualityScaler

QualityScaler - image/video AI upscaler app (BSRGAN)

Primary LanguagePythonMIT LicenseMIT




QualityScaler - image/video AI upscaler app (BSRGAN)


Other AI projects.🤓

https://github.com/Djdefrag/RealESRScaler / RealESRScaler - image/video AI upscaler app (Real-ESRGAN)

Citations. ❤

https://80.lv/articles/80-level-digest-great-ai-powered-tools-for-upscaling-images/

https://timesavervfx.com/ai-upscale/

Credits.

BSRGAN - https://github.com/cszn/BSRGAN | https://arxiv.org/abs/2103.14006

How is made. 🛠

QualityScaler is completely written in Python, from backend to frontend. External packages are:

  • AI -> Pytorch-directml
  • GUI -> Tkinter / Tkdnd / Sv_ttk
  • Image/video -> OpenCV / Moviepy
  • Packaging -> Pyinstaller
  • Miscellaneous -> Pywin32 / Win32mica / split_image

Requirements. 🤓

  • Windows 11 / Windows 10
  • RAM >= 8Gb
  • Directx12 compatible GPU:
    • any AMD >= Radeon HD 7000 series
    • any Intel HD Integrated >= 4th-gen core
    • any NVIDIA >= GTX 600 series

Features.

  • Easy to use GUI
  • Image/list of images upscale
  • Video upscale
  • Drag&drop files [image / multiple images / video]
  • Automatic image tiling and merging to avoid gpu VRAM limitation
  • Resize image/video before upscaling
  • Multiple Gpu support
  • Compatible images - png, jpeg, bmp, webp, tif
  • Compatible video - mp4, wemb, gif, mkv, flv, avi, mov, qt

Next steps. 🤫

  • Switch to Pytorch-directml to support all Directx12 compatible gpu (AMD, Intel, Nvidia)
  • New GUI with Windows 11 style
  • Include audio for upscaled video
  • Optimizing video frame resize and extraction speed
  • Multi GPU support (for pc with double GPU, integrated + dedicated)
  • Update libraries
    • Python 3.10 (expecting ~10% more performance)
    • Python 3.11 (expecting ~30% more performance)
    • Pytorch-directml

Known bugs.

  • Windows10 - the app starts with white colored navbar instead of dark
  • Upscaling multiple images doesn't free GPU Vram, so the it is very likely that the process will fail when the gpu memory fills up
  • Filenames with non-latin symbols (for example kangy, cyrillic etc.) not supported - [Temp solution] rename files like "image" or "video"
  • When running QualityScaler as Administrator, drag&drop is not working

Some Example.

Videos

original

BSRGANx4.mp4

Images

test

Bsrgan x4

Bsrgan x4 (2)

Bsrgan x4 (3)

Bsrgan x4