This repository contains the implementation of the GLAN (Gaussian-LAN) model for image denoising. GLAN is an image denoising model designed to handle various noise distributions, especially those not encountered during training. The model incorporates a Gaussian noise mixing strategy, a noise generation module, and a spatially adaptive noise offset to enhance performance on mobile platforms and large images.
python==3.11
git clone https://github.com/chjinny/LAN.git
pip install -r requirements.txt
python prepare.py
-
Dataset : PolyU
-
Model : Restormer
- Download the pretrained weight file and place it as
./checkpoint/real_denoising.pth
.
- Download the pretrained weight file and place it as
-
File Instruction
......
├── test.py ├── data.py ├── main.py ├── noise_generator.py ├── metric.py ├── requirements.txt ├── README.md ├── noise1.pt ├── adapt/ ├── Restormer/ ├── checkpoint/ │ └── real_denoising.pth ├── dataset/ │ ├── lq/ │ └── gt/ ├── prepare/
This project is an implementation of GLAN for training and testing models with different methods and self-supervised loss functions.
To train the model, use the following command:
python main.py --method {Glan, finetune} --self-loss {zsn2n, nbr2nbr}
--method Glan
: Uses the GLAN method for training.--method finetune
: Finetunes a pre-trained model.--self-loss zsn2n
: Applies ZS-N2N self-supervised loss.--self-loss nbr2nbr
: Uses Neighbor-to-Neighbor self-supervised loss.
To evaluate the trained model, run:
python test.py
This script loads the trained model and runs inference on the test dataset.
@misc{GLAN,
author = {Jiaying Zhou,Wei Wang, Fangyi Liu},
title = {GLAN (Gaussian-LAN) Image Denoising Model},
year = {2025},
url = {https://github.com/KmjGeorge/NTIRE2024},
note = {GitHub repository}
}
The codes are based on follows:
We thank the authors for sharing their codes.