Code Monkey home page Code Monkey logo

qualityscaler's Introduction



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.

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.

  • Easy to use GUI
  • Images and Videos upscale
  • Multiple AI models
  • Automatic image tiling and merging to avoid gpu VRAM limitation
  • Resize image/video before AI upscaling
  • Interpolation between the original and upscaled image/video
  • Compatible images - png, jpeg, bmp, webp, tif
  • Compatible video - mp4, wemb, gif, mkv, flv, avi, mov, qt

Next steps. ๐Ÿคซ

  • 1.X versions
    • 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)
    • Python 3.10 (expecting ~10% more performance)
  • 2.X versions
    • New, completely redesigned graphical interface based on @customtkinter
    • Upscaling images and videos at once (currently it is possible to upscale images or single video)
    • Upscale multiple videos at once
    • Choose upscaled video extension
    • Interpolation between the original and upscaled image/video
    • More Interpolation levels (Low, Medium, High)
    • Show the remaining time to complete video upscaling
    • Support for SRVGGNetCompact AI architecture
    • Metadata extraction and application from original file to upscaled file (via exiftool)
    • Support for SAFMN AI architecture
  • 3.X versions
    • New AI engine powered by onnxruntime-directml (https://pypi.org/project/onnxruntime-directml/)
    • Python 3.11 (~10% performance improvements)
    • Display images/videos upscaled resolution in the GUI
    • FFMPEG 7 (latest release)
    • Video multi-threading AI upscale
    • Python 3.12
    • Video upscaling pause and restart

Some Example.

Videos

original

BSRGANx4.mp4

Images

test

ORIGINAL

Bsrgan x4

Bsrgan x4 (2)

Bsrgan x4 (3)

Bsrgan x4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.