Home

Awesome

Exploring the Low-Pass Filtering Behavior in Image Super-Resolution

Static Badge Static Badge

Haoyu Deng, Zijing Xu, Yule Duan, Xiao Wu, Wenjie Shu, Liang-Jian Deng<sup></sup>

<sup></sup>Corresponding author

If you have any questions, feel free to raise an issue or send a mail to academic@hydeng.cn. I will respond to you as soon as possible. If you think our work is useful, please give us a warmful citation:

@article{deng2024exploring,
  title={Exploring the Low-Pass Filtering Behavior in Image Super-Resolution},
  author={Deng, Haoyu and Xu, Zijing and Duan, Yule and Wu, Xiao and Shu, Wenjie and Deng, Liang-Jian},
  journal={arXiv preprint arXiv:2405.07919},
  year={2024}
}

TODOs

Impulse Responses

Please refer to Impulse_Responses.pptx. We provide two versions, with/without enhancement. We use the enhancement provided by PPT for better visualization. The enhanced figures are brighter in color while the unenhanced ones are mathematically closer to the sinc funtion. If your directly observe the output of networks (before clamp), you will find another feature of the sinc function: negative values near the main lobe.

Hybrid Response Analysis (HyRA)

We provide a script to directly analyze a network using HyRA, i.e., HyRA.py. Here is the usage

python HyRA.py --lr [path to low-resolution image] --sr [path to super-resolution image, namely N(I) in the paper] --scale [the scale of super resolution] --impulse_response [path to impulse response] --save_path [path to save results]

We also provide a tutorial for the code. Please refer to HyRA Usage.ipynb.

Frequency Spectrum Distribution Similarity (FSDS)

Python Version

FSDS describes the image quality from the perspective of frequency spectrum. The complete implementation of FSDS is in FSDS_code.py. We provide an explanation and a tutorial for the code. Please refer to FSDS_explanation.ipynb.

Matlab Version

To ensure that matlab version produces the same result as python version, the best way is to use FFI produced by matlab to invoke python code. <font color="red">Please edit the python intepreter path in </font> FrequencySpectrumDistributionSimilarity.m. <font color="red">Make sure the intepreter produced are equipped with proper environment!!!</font> An example for this can be found in FSDS_matlab_example.m.

Experimental Results

We provide super-resolution results and code for Tab.1.

The super-resolution results can be found in: https://huggingface.co/RisingEntropy/NNsAreLPFing/blob/main/sr_results.zip

Code that generates Tab.1 is in cal_metrcis_and_table.py. Please unzip sr_results.zip to the sr_results directory and run the code. The sr_results directory should look like:

sr_results
├─ArbSR
│  ├─RCAN_x12
│  ├─RCAN_x2
│  ├─RCAN_x3
│  ├─RCAN_x4
│  ├─RCAN_x6
│  └─RCAN_x8
├─Bicubic
│  ├─Bicubic_x12
│  ├─Bicubic_x18
│  ├─Bicubic_x2
│  ├─Bicubic_x3
│  ├─Bicubic_x4
│  └─Bicubic_x6
├─edsr_baseline
│  ├─x2
│  ├─x3
│  └─x4
├─GRL
│  ├─base
│  │  ├─X2
│  │  ├─X3
│  │  └─X4
│  ├─small
│  │  ├─X2
│  │  ├─X3
│  │  └─X4
│  └─tiny
│      ├─X2
│      ├─X3
│      └─X4
├─HAT
│  ├─HAT-S_SRx2
│  ├─HAT-S_SRx3
│  ├─HAT-S_SRx4
│  ├─HAT_SRx2
│  ├─HAT_SRx3
│  └─HAT_SRx4
├─HDSRNet
│  ├─X2
│  ├─X3
│  └─X4
├─hr
├─ITSRN
│  ├─ITSRN_x12
│  ├─ITSRN_x2
│  ├─ITSRN_x3
│  ├─ITSRN_x4
│  └─ITSRN_x6
├─liif
│  ├─edsr_x12
│  ├─edsr_x18
│  ├─edsr_x2
│  ├─edsr_x3
│  ├─edsr_x4
│  ├─edsr_x6
│  ├─rdn_x12
│  ├─rdn_x18
│  ├─rdn_x2
│  ├─rdn_x3
│  ├─rdn_x4
│  └─rdn_x6
├─LTE
│  ├─EDSR_baseline_x12
│  ├─EDSR_baseline_x2
│  ├─EDSR_baseline_x3
│  ├─EDSR_baseline_x4
│  ├─EDSR_baseline_x6
│  ├─RDN_x12
│  ├─RDN_x2
│  ├─RDN_x3
│  ├─RDN_x4
│  ├─RDN_x6
│  ├─SwinIR_x12
│  ├─SwinIR_x2
│  ├─SwinIR_x3
│  ├─SwinIR_x4
│  └─SwinIR_x6
├─OPESR
│  ├─EDSR_x2
│  ├─EDSR_x3
│  ├─EDSR_x4
│  ├─RDN_x2
│  ├─RDN_x3
│  └─RDN_x4
├─RDN
│  ├─RDN_small_x2
│  ├─RDN_small_x3
│  └─RDN_small_x4
├─SRNO
│  ├─EDSR_baseline_x12
│  ├─EDSR_baseline_x2
│  ├─EDSR_baseline_x3
│  ├─EDSR_baseline_x4
│  └─EDSR_baseline_x6
└─SwinIR
    ├─swinir_classical_sr_x2
    ├─swinir_classical_sr_x3
    ├─swinir_classical_sr_x4
    └─swinir_classical_sr_x8

Acknowledgement

We appreciate anonymous reviewers for their previous suggestions to help this paper better. Moreover, we would like to express our sincere gratitude to Ruijie Zhu for his generous support in GPUs Without his support, it is hard for us to do experiments using full-scale DIV2K dataset. This work is supported by NSFC (12271083).