GitPedia

FSNet

[TPAMI] Image Restoration via Frequency Selection

From c-yn·Updated June 17, 2026·View on GitHub·

**FSNet** is a [TPAMI] Image Restoration via Frequency Selection The project is written primarily in Python, distributed under the MIT License license, first published in 2023. Key topics include: image-deblurring, image-dehazing, image-denoising, image-deraining, image-desnowing.

Image Restoration Via Frequency Selection

Yuning Cui, Wenqi Ren, Xiaochun Cao, and Alois Knoll

Image restoration aims to reconstruct the latent sharp image from its corrupted counterpart. Besides dealing with this longstanding task in the spatial domain, a few approaches seek solutions in the frequency domain by considering the large discrepancy between spectra of sharp/degraded image pairs. However, these algorithms commonly utilize transformation tools, e.g., wavelet transform, to split features into several frequency parts, which is not flexible enough to select the most informative frequency component to recover. In this paper, we exploit a multi-branch and content-aware module to decompose features into separate frequency subbands dynamically and locally, and then accentuate the useful ones via channel-wise attention weights. In addition, to handle large-scale degradation blurs, we propose an extremely simple decoupling and modulation module to enlarge the receptive field via global and window-based average pooling. Furthermore, we merge the paradigm of multi-stage networks into a single U-shaped network to pursue multi-scale receptive fields and improve efficiency. Finally, integrating the above designs into a convolutional backbone, the proposed Frequency Selection Network (FSNet) performs favorably against state-of-the-art algorithms on 20 different benchmark datasets for 6 representative image restoration tasks, including single-image defocus deblurring, image dehazing, image motion deblurring, image desnowing, image deraining, and image denoising.

Installation

The project is built with PyTorch 3.8, PyTorch 1.8.1. CUDA 10.2, cuDNN 7.6.5
For installing, follow these instructions:

conda install pytorch=1.8.1 torchvision=0.9.1 -c pytorch
pip install tensorboard einops scikit-image pytorch_msssim opencv-python
conda install pillow

Please use the pillow package downloaded by Conda instead of pip.

Install warmup scheduler:

cd pytorch-gradual-warmup-lr/
python setup.py install
cd ..

Training and Evaluation

Please refer to respective directories.

Results Download

TaskDatasetPSNRSSIM
Motion DeblurringGoPro33.290.963
HIDE31.050.941
RSBlur34.310.872
RealBlur-R35.840.952
Image DehazingSOTS-Indoor42.450.997
SOTS-Outdoor40.400.997
Dense-Haze17.130.65
NH-HAZE20.550.81
NHR26.300.976
Haze4K34.120.99
Image DesnowingCSD38.370.99
SRRS32.330.98
Snow100K33.760.95
Image DerainingAverage33.510.916
Defocus DeblurringDPDD<sub>single</sub>26.220.811

Citation

@article{cui2023image,
  title={Image Restoration Via Frequency Selection},
  author={Cui, Yuning and Ren, Wenqi and Cao, Xiaochun and Knoll, Alois},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2023},
  publisher={IEEE}
}

Contact

Should you have any question, please contact Yuning Cui.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from c-yn/FSNet via the GitHub API.Last fetched: 6/21/2026