[Neurocomputing'25]
SoFoNO : Arbitrary-Scale Image Super-Resolution via Sobolev Fourier Neural Operator
📝 Authors: Jong Kwon Oha, 1, Hwijae Sonb, 1, Hyung Ju Hwanga, and Jihyong Ohc, *
🎓 Institution:
- a Pohang University of Science and Technology (POSTECH)
- b Konkuk University
- c Chung-Ang University
🧾 Author Notes:
- 1 These authors contributed equally (co-first authors).
- * Corresponding author
This repository contains the official implementation for SoFoNO introduced in the following paper:
This project was implemented and tested with the following software configuration:
- Python: 3.9
- PyTorch: 2.6.0
- Torchvision: 0.21.0
- CUDA: 12.4
- cuDNN: 9.1.0.70
- NumPy: 2.0.2
- SciPy: 1.13.1
- OpenCV: 4.11.0.86
- GPU: Single NVIDIA A100 80GB
To download and prepare the DIV2K dataset for training and validation, follow these steps:
- Create a data directory and navigate into it:
mkdir data cd data - Download the DIV2K train and validation datasets:
wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_train_HR.zip wget http://data.vision.ee.ethz.ch/cvl/DIV2K/DIV2K_valid_HR.zip
- Unzip the downloaded files:
unzip DIV2K_train_HR.zip unzip DIV2K_valid_HR.zip
python train.py --config configs/train_edsr-SoFoNO.yaml
If you want to change SoFoNO's argument, please modify the yaml file.
model:
name: sofono
args:
encoder_spec:
name: edsr-baseline
args:
no_upsampling: true
width: 256
T : 3
ranges : [-1, 1]
local_branch : Conv
init_s : 0.0Download a DIV2K pre-trained model.
| Model | Download |
|---|---|
| SoFoNO | Google Drive |
python test.py --config configs/test_SoFoNO.yaml --mcell True
You should input the test data and model information into the yaml file.
test_dataset:
dataset:
name: image-folder
args:
root_path: ./data/DIV2K_valid_HR
wrapper:
name: sr-implicit-downsampled-fast
args:
scale_min: 4
scale_max: 4
ranges : [-1, 1]
batch_size: 1
eval_type: div2k-4
eval_bsize: 500
model_path: ./SoFoNO.pthpython demo.py --input input.png --model ./SoFoNO.pth --scale 2 --output output.png
- For PyTorch implementation details, see Ketkar et al., 2021.
This code is built on LIIF, LTE and SRNO
@article{oh2025sofono,
title={SoFoNO: Arbitrary-scale image super-resolution via Sobolev Fourier neural operator},
author={Oh, Jong Kwon and Son, Hwijae and Hwang, Hyung Ju and Oh, Jihyong},
journal={Neurocomputing},
pages={131944},
year={2025},
publisher={Elsevier}
}