This repoository is the official pytorch implementation of BTC introduced by:
B-spline Texture Coefficients Estimator for Screen Content Image Super-Resolution (CVPR 2023, Highlight)
- Python 3
- Pytorch 1.13.0
- TensorboardX
- pyyaml, numpy, tqdm, imageio
-
Download a SCI1K pre-trained model: RDN-BTC
-
For demo,
python demo.py --input [INPUT] --model [MODEL] --scale [SCALE] --output output.png --gpu [GPU]
[INPUT]
: input image's path (e.g.--input input.png
).[MODEL]
: to define the pre-trained model (e.g.--model rdn+btc-3rd.pth
).[SCALE]
: arbitrary magnification (e.g.--scale 3
or--scale 6.4
).[GPU]
: to specify the GPUS (e.g.--gpu 0
).
-
mkdir ../Data
for putting the dataset folders. -
cd ../Data
and download the datasets (SCI1K, SCID, and SIQAD) from this repo. -
For the additional benchmarks in Tab 6, follow Data instruction provided by this repo.
-
Train :
python train.py --config configs/train/[TRAIN_CONFIG] --gpu [GPU]
[TRAIN_CONFIG]
: to define model configuration (e.g.train-rdn+btc-3rd.yaml
).[GPU]
: to specify the GPUS (e.g.--gpu 0
or--gpu 0,1
).
-
Test :
python test.py --config configs/test/[TEST_CONFIG] --model save/[MODEL] --gpu [GPU]
[TEST_CONFIG]
: to define test configuration (e.g.test-sci1k-02.yaml
for SCI1K dataset on x2).[MODEL]
: to define the pre-trained model (e.g.rdn+btc-3rd/epoch_last.pth
).[GPU]
: to specify the GPUS (e.g.--gpu 0
or--gpu 0,1
).
This code is built on LIIF and LTE. We thank the authors for sharing their codes.