Skip to content

Official Implementation of VCISR: Blind Single Image Super-Resolution with Video Compression Synthetic Data (WACV 2024)

License

Notifications You must be signed in to change notification settings

Kiteretsu77/VCISR-official

Repository files navigation

VCISR: Blind Single Image Super-Resolution with Video Compression Synthetic Data (WACV 2024)

paper
⭐If you like VCISR, please help star this repo. Thanks!🤗
👀 My new paper on Anime based on VCISR: https://github.com/Kiteretsu77/APISR

📖Table Of Contents

Update

  • 2024.03.02: Publish v1.0 released version.
  • 2023.12.08: The pre-trained weight is released.
  • 2023.11.29: This repo is released.

Installation (Environment Preparation)

git clone [email protected]:Kiteretsu77/VCISR-official.git
cd VCISR

# Create conda env
conda create -n VCISR python=3.10
conda activate VCISR

# Install Pytorch we use torch.compile in our repository by default
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

# Install FFMPEG (the following is for linux system, the rest can see https://ffmpeg.org/download.html)
sudo apt install ffmpeg

Train

  1. Download Datasets (DIV2K) and crop them by the script below (following our paper):

    bash scripts/download_datasets.sh
  2. Train: Please check opt.py to setup parameters you want
    Step1 (Net L1 loss training): Run

    python train_code/train.py 

    The model weights will be inside the folder 'saved_models'

    Step2 (GAN Adversarial Training):

    1. Change opt['architecture'] in opt.py as "GRLGAN".
    2. Rename weights in 'saved_models' (either closest or the best, we use closest weight) to grlgan_pretrained.pth
    3. Run
    python train_code/train.py --use_pretrained

Inference:

  1. Download the weight from https://drive.google.com/file/d/1Mbrw1ji_qcOteuSOkZqVgSEda_PQ40tA/view?usp=drive_link or https://github.com/Kiteretsu77/VCISR-official/releases/tag/v1.0 and put them in "saved_models" folder
  2. Setup the configuration of test_code/inference.py after line 215.
  3. Then, Execute
    python test_code/inference.py

Anime Extension:

We also extend our methods on the Anime Restoration and Super-Resolution task with public and private Anime datasets.
You can also find a pre-built highly accelerated Anime SR inference repository from:
https://github.com/Kiteretsu77/Anime_SR_Restoration (A regular inference tool) or
https://github.com/Kiteretsu77/FAST_Anime_VSR (An accelerated processing repository).
These two repositories are RRDB-based network training (instead of GRL). \

VC-RealLQ:

The small image inference dataset will be released soon. If you need it earlier, you can contact [email protected].

Citation

Please cite us if our work is useful for your research.

@article{wang2023vcisr,
  title={VCISR: Blind Single Image Super-Resolution with Video Compression Synthetic Data},
  author={Wang, Boyang and Liu, Bowen and Liu, Shiyu and Yang, Fengyu},
  journal={arXiv preprint arXiv:2311.00996},
  year={2023}
}

Disclaimer

This project is released for academic use only. The VC-RealLQ inference dataset is for personal use only without unauthorized distribution. We disclaim responsibility for the distribution of the dataset. Users are solely liable for their actions. The project contributors are not legally affiliated with, nor accountable for, users' behaviors.

License

This project is released under the GPL 3.0 license.

Contact

If you have any questions, please feel free to contact me at [email protected] or [email protected].

About

Official Implementation of VCISR: Blind Single Image Super-Resolution with Video Compression Synthetic Data (WACV 2024)

Resources

License

Stars

Watchers

Forks

Packages