VFIformer-WebUI - AI-Based Movie Restoration
March 12, 2023 ยท View on GitHub
VFIformer-WebUI - AI-Based Movie Restoration

| Example - Interpolated Frames |
|---|
![]() |
| Example - Video Inflation (YouTube) |
|---|
| Demo of 32X Video Inflation with marked original frames |
| Example - GIF to MP4 (frame size X4, frame rate X8) | Example - Original GIF |
|---|---|
| https://user-images.githubusercontent.com/825994/224549158-7df76e49-28ec-4a3c-9b2b-4699729bd84f.mp4 | ![]() |
| ๐ฅ VFIformer-WebUI Features | ย |
|---|---|
| โ Frame Interpolation | Restore Missing Frames, Reveal Hidden Motion |
| ๐ Frame Search | Synthesize Between Frames At Precise Times |
| ๐ Video Inflation | Create Super Slow-Motion |
| ๐ Resynthesize Video | Create a Complete Set of Replacement Frames |
| ๐ช Frame Restoration | Restore Adjacent Missing / Damaged Frames |
| ๐ฌ Video Blender | Project-Based Movie Restoration |
| ๐ File Conversion | Convert between PNG Sequences and Videos |
| ๐ข Resequence Files | Renumber for Import into Video Editing Software |
| ๐๏ธ Change FPS | Convert any FPS to any other FPS |
| ๐ GIF to MP4 | Convert Animated GIF to MP4 in one click |
| ๐ Upscale Frames | Use Real-ESRGAN to Enlarge and Clean Frames |
Set Up For Use
- Get VFIformer working on your local system
- See their repo at https://github.com/dvlab-research/VFIformer
- I run locally with:
- Anaconda 23.1.0
- Python 3.10.9
- Torch 1.13.1
- Cuda 11.7
- NVIDIA RTX 3090
- Windows 11
- Clone this repo in a separate directory and copy all directories/files on top of your working VFIformer installation
- This code makes no changes to their original code (but borrows some) and causes no conflicts with it
- It shouldn't introduce any additional requirements over what VFIformer, Gradio-App and Real-ESRGAN need
- If it's set up properly, the following command should write a new file
images/image1.pngusing default settings
python interpolate.py
Alternate Set Up / Development
- Get VFIformer working on your local system
- See their repo at https://github.com/dvlab-research/VFIformer
- I run locally with:
- Anaconda 23.1.0
- Python 3.10.9
- Torch 1.13.1
- Cuda 11.7
- NVIDIA RTX 3090
- Windows 11
- Clone this repo to a directory in which you intend to use the app and/or develop on it
- Copy the following directories from your working VFIformer installation to this directory:
dataloadermodelspretrained_modelsutils
- If it's set up properly, the following command should write a new file
images/image1.png
python interpolate.py
Real-ESRGAN Add-On Set Up
The GIF to MP4 feature uses Real-ESRGAN to clean and upscale frames
- Get Real-ESRGAN working on your local system
- See their repo at https://github.com/xinntao/Real-ESRGAN
- Clone their repo to its own directory and follow their instructions for local setup
- Copy the
realesrgandirectory to yourVFIformer-WebUIdirectory
- The Real-ESRGAN 4x+ model (65MB) will automatically download on first use
FFmpeg Set Up
A few features rely on FFmpeg being available on the system path
Starting Web UI Application
The application can be started in any of these ways:
webui.batpython webui.py- Command line arguments
--config_path pathpath to alternate configuration file, defaultconfig.yaml--verboseenables verbose output to the console, default False
- Command line arguments
Using Web UI
All Features
Command Line Tools
The core feature have command-line equivalents
App Configuration
Future Ideas
- add Audio tools
My Public Uses of VFIformer
YouTube
- Feb 01 2023 "Fun with AI: De-Ticking a Ticking Clock" https://youtu.be/JhibFQvP7X0
- Jan 28 2023 "Fun with AI: Infinite Slow Motion" https://youtu.be/sKQKuYU-fcQ
- Jan 24 2023 "Fun with AI: Me as a Baby, Restoring 60 year old 8mm film" https://youtu.be/PiLv5u1PYiE
Acknowledgements
Thanks! to the VFIformer folks for their amazing AI frame interpolation tool
Thans! to the Real-ESRGAN folks for their wonderful frame restoration/upscaling tool
Thanks! to the stable-diffusion-webui folks for their great UI, amazing tool, and for inspiring me to learn Gradio
Thanks to Gradio for their easy-to-use Web UI building tool and great docs
Royalty-Free Videos used for the examples
- "FunfaIr in Barcelona" https://motionarray.com/stock-video/funfair-in-barcelona-1163645/
- "Batter Misses A Pitch" https://motionarray.com/stock-video/batter-misses-a-pitch-1231021/
- "Bursting A Balloon" https://motionarray.com/stock-video/bursting-a-balloon-253645/

