/lte

Local Texture Estimator for Implicit Representation Function, in CVPR 2022

Primary LanguageJupyter NotebookBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Local Texture Estimator for Implicit Representation Function

This repository contains the official implementation for LTE introduced in the following paper:

Local Texture Estimator for Implicit Representation Function (CVPR 2022)

Installation

Our code is based on Ubuntu 20.04, pytorch 1.10.0, CUDA 11.3 (NVIDIA RTX 3090 24GB, sm86) and python 3.6.

We recommend using conda for installation:

conda env create --file environment.yaml
conda activate lte

Quick Start

1. Download pre-trained models.

Model Download
EDSR-baseline-LTE Google Drive
EDSR-baseline-LTE+ Google Drive
RDN-LTE Google Drive
SwinIR-LTE Google Drive
Model Download
SwinIR-MetaSR Google Drive
SwinIR-LIIF Google Drive

2. Reproduce experiments.

Table 1: EDSR-baseline-LTE

bash ./scripts/test-div2k.sh ./save/edsr-baseline-lte.pth 0

Table 1: RDN-LTE

bash ./scripts/test-div2k.sh ./save/rdn-lte.pth 0

Table 1: SwinIR-LTE

bash ./scripts/test-div2k-swin.sh ./save/swinir-lte.pth 8 0

Table 2: RDN-LTE

bash ./scripts/test-benchmark.sh ./save/rdn-lte.pth 0

Table 2: SwinIR-LTE

bash ./scripts/test-benchmark-swin.sh ./save/swinir-lte.pth 8 0

Train & Test

EDSR-baseline-LTE

Train: python train.py --config configs/train-div2k/train_edsr-baseline-lte.yaml --gpu 0

Test: python test.py --config configs/test/test-div2k-2.yaml --model save/_train_edsr-baseline-lte/epoch-last.pth --gpu 0

EDSR-baseline-LTE+

Train: python train.py --config configs/train-div2k/train_edsr-baseline-lte-fast.yaml --gpu 0

Test: python test.py --config configs/test/test-fast-div2k-2.yaml --fast True --model save/_train_edsr-baseline-lte-fast/epoch-last.pth --gpu 0

RDN-LTE

Train: python train.py --config configs/train-div2k/train_rdn-lte.yaml --gpu 0,1

Test: python test.py --config configs/test/test-div2k-2.yaml --model save/_train_rdn-lte/epoch-last.pth --gpu 0

SwinIR-LTE

Train: python train.py --config configs/train-div2k/train_swinir-lte.yaml --gpu 0,1,2,3

Test: python test.py --config configs/test/test-div2k-2.yaml --model save/_train_swinir-lte/epoch-last.pth --window 8 --gpu 0

Model Training time (# GPU)
EDSR-baseline-LTE 21h (1 GPU)
RDN-LTE 82h (2 GPU)
SwinIR-LTE 75h (4 GPU)

We use NVIDIA RTX 3090 24GB for training.

Fourier Space

The script Eval-Fourier-Feature-Space is used to generate the paper plots.

Demo

python demo.py --input ./demo/Urban100_img012x2.png --model save/edsr-baseline-lte.pth --scale 2 --output output.png --gpu 0

Citation

If you find our work useful in your research, please consider citing our paper:

@InProceedings{lte-jaewon-lee,
    author    = {Lee, Jaewon and Jin, Kyong Hwan},
    title     = {Local Texture Estimator for Implicit Representation Function},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2022},
    pages     = {1929-1938}
}

Acknowledgements

This code is built on LIIF and SwinIR. We thank the authors for sharing their codes.