Home

Awesome

Super-Resolution Neural Operator

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

Super-Resolution Neural Operator (CVPR 2023)

Our code is based on Ubuntu 18.04, pytorch 1.10.2, CUDA 11.3 and python 3.9.

Train

python train.py --config configs/train_edsr-sronet.yaml if you want to change encoder, please modify the yaml file

model:
  name: sronet
  args:
    encoder_spec:
      name: edsr-baseline ## or rdn
      args:
        no_upsampling: true
    width: 256
    blocks: 16

Test

Download a DIV2K pre-trained model.

ModelDownload
EDSR-baseline-SRNOGoogle Drive
RDN-SRNOGoogle Drive

python test.py --config configs/test_srno.yaml --model edsr-baseline_epoch-1000.pth --mcell True

Demo

python demo.py --input input.png --model save/edsr-baseline_epoch-1000.pth --scale 2 --output output.png

Citation

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

@InProceedings{Wei_2023_CVPR, 
author = {Wei, Min and Zhang, Xuesong}, 
title = {Super-Resolution Neural Operator}, 
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, 
month = {June}, 
year = {2023}, 
pages = {18247-18256}
}

Acknowledgements

This code is built on LIIF and LTE