QualityScaler

QualityScaler

QualityScaler - image/video AI upscaler app

Stars: 1958

Visit
 screenshot

QualityScaler is a Windows app powered by AI to enhance, upscale, and de-noise photographs and videos. It provides an easy-to-use GUI for upscaling images and videos using multiple AI models. The tool supports automatic image tiling and merging to avoid GPU VRAM limitations, resizing images/videos before upscaling, and interpolation between the original and upscaled content. QualityScaler is written in Python and utilizes external packages such as torch, onnxruntime-directml, customtkinter, OpenCV, moviepy, and nuitka. It requires Windows 11 or Windows 10, at least 8GB of RAM, and a Directx12 compatible GPU with 4GB VRAM or more. The tool aims to continue improving with upcoming versions by adding new features, enhancing performance, and supporting additional AI architectures.

README:



QualityScaler - image/video AI upscaler app


What is QualityScaler?

Qualityscaler is a Windows app powered by AI to enhance, upscale and de-noise photographs and videos.

How to use QualityScaler?

movie_max_vp9.webm

Other AI projects.🤓

Credits.

Citations. ❤

How is made. 🛠

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

  • AI -> torch / onnxruntime-directml
  • GUI -> customtkinter
  • Image/video -> OpenCV / moviepy
  • Packaging -> Pyinstaller

Make it work by yourself. 👨‍💻

Prerequisites.

Getting started.

  • First of all, you need to download the project on your PC (Green button Code > Download ZIP)
  • Extract the project directory from the .zip
  • Now you need to download the AI models (github won't let me upload them directly because they are too big)
  • In "AI-onnx" folder, there is the link to download the AI models, download the .zip and extract the files in AI-onnx directory
  • Open the project with VSCode (just Drag&Drop the project directory on VSCode)
  • Click on QualityScaler.py from left bar (VSCode will ask you to install some plugins, go ahead)
  • Now, you need to install dependencies. In VSCode there is the "Terminal" panel, click there and execute the command "pip install -r requirements"
  • Close VSCode and re-open it (this will refresh all the dependecies installed)
  • Just click on the "Play button" in the upper right corner of VSCode
  • Now the app should work

Requirements. 🤓

  • Windows 11 / Windows 10
  • RAM >= 8Gb
  • Any Directx12 compatible GPU with >= 4GB VRAM

Features.

  • [x] Elegant and easy to use GUI
  • [x] Image and Video upscale
  • [x] Multiple GPUs support
  • [x] Compatible images - jpg, png, tif, bmp, webp, heic
  • [x] Compatible video - mp4, wemb, mkv, flv, gif, avi, mov, mpg, qt, 3gp
  • [x] Automatic image tilling to avoid gpu VRAM limitation
  • [x] Resize image/video before upscaling
  • [x] Interpolation beetween original file and upscaled file
  • [x] Video upscaling STOP&RESUME
  • [x] PRIVACY FOCUSED - no internet connection required / everything is on your PC

Next steps. 🤫

  • [x] 1.X versions
    • [x] Switch to Pytorch-directml to support all Directx12 compatible gpu (AMD, Intel, Nvidia)
    • [x] New GUI with Windows 11 style
    • [x] Include audio for upscaled video
    • [x] Optimizing video frame resize and extraction speed
    • [x] Multi GPU support (for pc with double GPU, integrated + dedicated)
    • [x] Python 3.10 (expecting ~10% more performance)
  • [x] 2.X versions
    • [x] New, completely redesigned graphical interface based on @customtkinter
    • [x] Upscaling images and videos at once (currently it is possible to upscale images or single video)
    • [x] Upscale multiple videos at once
    • [x] Choose upscaled video extension
    • [x] Interpolation between the original and upscaled image/video
    • [x] More Interpolation levels (Low, Medium, High)
    • [x] Show the remaining time to complete video upscaling
    • [x] Support for SRVGGNetCompact AI architecture
    • [x] Metadata extraction and application from original file to upscaled file (via exiftool)
  • [ ] 3.X versions
    • [x] New AI engine powered by onnxruntime-directml (https://github.com/microsoft/onnxruntime))
    • [x] Python 3.11 (performance improvements)
    • [x] Python 3.12 (performance improvements)
    • [x] Display images/videos upscaled resolution in the GUI
    • [x] Updated FFMPEG to version 7.x (latest release)
    • [x] Saving user settings (AI model, GPU, CPU etc.)
    • [x] Video multi-threading AI upscale
    • [x] Video upscaling STOP&RESUME

Some Example.

Videos

original

https://user-images.githubusercontent.com/32263112/209139639-2b123b83-ac6e-4681-b94a-954ed0aea78c.mp4

Images

test

ORIGINAL

Bsrgan x4

Bsrgan x4 (2)

Bsrgan x4 (3)

Bsrgan x4

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for QualityScaler

Similar Open Source Tools

For similar tasks

For similar jobs