Looking to upscale images, textures, or videos? Here's some tools you can use:
- chaiNNer https://chainner.app/ - This is a free, open source node based GUI that allows you to upscale your textures in bulk. It supports many other functions too, such as converting to octahedral normal maps for use with RTX Remix.
I have some chains here to use with it: https://github.com/Kim2091/kim-chaiNNer-Templates - Gigapixel https://www.topazlabs.com/gigapixel-ai - This is unfortunately paid software, but the results can be pretty good. In most cases, ESRGAN models will outperform it, but it does better on occasion. I'd recommend trying chaiNNer before this however, as this software costs a hefty amount.
- Upscayl - This is an extremely simple GUI that supports ESRGAN through NCNN. It's a great tool for beginners, or people who just want a nice but simple GUI for doing single upscales.
For upscaling videos:
These are listed in order of best to worst
- VEAI (Video AI / Video Enhance AI) - https://www.topazlabs.com/topaz-video-ai
Despite being a paid solution, this is by far the best for video upscaling. The Proteus model in particular is very robust and handles video game cutscenes/videos well. - enhancr - https://github.com/mafiosnik777/enhancr
Also a paid solution, however a free version is available here: https://github.com/mafiosnik777/enhancr/releases. This uses ESRGAN (and similar open source) models to upscale your videos. It's significantly faster than using chaiNNer, however the models do not have temporal awareness. This leads to shimmering between frames. - chaiNNer - https://github.com/chaiNNer-org/chaiNNer
Free and open source. This software contains a video upscaling solution, and also utilizes similar models to enhancr. However, it is significantly slower. - Real-ESRGAN's Windows Binaries - https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan
These are command line based, and are only compatible with NCNN models. I'd only use this as a last resort, however it is faster than chaiNNer.
You can get models for enhancr and chaiNNer here: https://openmodeldb.info/
For inpainting:
- lama-cleaner https://github.com/Sanster/lama-cleaner - This is a web based GUI that has support for tons of models for inpainting, such as lama and Stable Diffusion. It also has many plugins for extra features, like GFPGAN, RemoveBG, and Segment Anything.
Looking to train a model? Here's some tools:
Community training software:
- traiNNer-redux: https://github.com/joeyballentine/traiNNer-redux
traiNNer-redux is a recently forked version of BasicSR with additional losses such as color and contextual loss - traiNNer-redux-FJ: https://github.com/FlotingDream/traiNNer-redux
A fork of traiNNer-redux by @FloatingJoy#0260 that has additional arch support. This may become the main repo at some point - sudo's traiNNer: https://github.com/styler00dollar/Colab-traiNNer/
Supports a ton of losses and architectures, and is very versatile (it's significantly more complex to use locally however)
Official training software:
- BasicSR: https://github.com/XPixelGroup/BasicSR
The official training software for many architectures such as ESRGAN and SwinIR. Use either traiNNer-redux over this however - Real-ESRGAN: https://github.com/xinntao/Real-ESRGAN
Very similar to BasicSR with a focus on the Real-ESRGAN architecture, including compact models. I'd also recommend traiNNer-redux over this - KAIR: https://github.com/cszn/KAIR
Tools to help with preparing datasets:
- https://github.com/Kim2091/helpful-scripts
- https://github.com/sonic41592/ImgAlign
- https://github.com/n00mkrad/magick-utils
Tutorials:
- Train with Real-ESRGAN (Thanks to Zarxrax for writing this up) https://docs.google.com/document/d/1aVrdBuO5ntpaWVvb1peOEZrcZ589VzDbNtLYUHkrPMQ/edit
- Video tutorial version by Helaman: https://www.youtube.com/watch?v=l_tZE5l90VY