MCPcopy Index your code
hub / github.com/JavierGurrola/RDUNet

github.com/JavierGurrola/RDUNet @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
69 symbols 180 edges 8 files 20 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

A Residual Dense U-Net for Image Denoising

This repository is for the RDUNet model proposed in the following paper:

Javier Gurrola-Ramos, Oscar Dalmau and Teresa E. Alarcón, "A Residual Dense U-Net Neural Network for Image Denoising", IEEE Access, vol. 9, pp. 31742-31754, 2021, doi: 10.1109/ACCESS.2021.3061062.

Citation

If you use this paper work in your research or work, please cite our paper:

@article{gurrola2021residual,
  title={A Residual Dense U-Net Neural Network for Image Denoising},
  author={Gurrola-Ramos, Javier and Dalmau, Oscar and Alarcón, Teresa E},
  journal={IEEE Access},
  volume={9},
  pages={31742--31754},
  year={2021},
  publisher={IEEE},
  doi={10.1109/ACCESS.2021.3061062}
}

RDUNet

Pre-trained models

Link to download the pretrained models.

Dependencies

  • Python 3.6
  • PyTorch 1.5.1
  • pytorch-msssim 0.2.0
  • ptflops 0.6.3
  • tqdm 4.48.2
  • scikit-image 0.17.2
  • yaml 0.2.5
  • MATLAB (to create testing datasets)

Dataset

For training, we used DIV2K dataset. You need to download the dataset for training the model and put the high-resolution image folders in the './Dataset' folder. You can modify the train_files.txt and val_files.txt to load only part of the dataset.

Training

Default parameters used in the paper are set in the config.yaml file:

patch size: 64
batch size: 16
learning rate: 1.e-4
weight decay: 1.e-5
scheduler gamma: 0.5
scheduler step: 3
epochs: 21

Additionally, you can choose the device, the number of workers of the data loader, and enable multiple GPU use.

To train the model use the following command:

python main_train.py

Test

Place the pretrained models in the './Pretrained' folder. Modify the config.yaml file according to the model you want to use: model channels: 3 for the color model and model channels: 1 for the grayscale model.

Test datasets need to be prepared using the MATLAB codes in './Datasets' folder according to the desired noise level. We test the RDUNet model we use the Set12, CBSD68, Kodak24, and Urban100 datasets.

To test the model use the following command:

python main_test.py

Results

Results reported in the paper.

Color: Color

Grayscale: Grayscale

Contact

If you have any question about the code or paper, please contact francisco.gurrola@cimat.mx .

Core symbols most depended-on inside this repo

mod_crop
called by 2
utils.py
update_log
called by 1
train.py
get_log
called by 1
train.py
fit_model
called by 1
train.py
load_image
called by 1
utils.py
mod_pad
called by 1
utils.py
set_seed
called by 1
utils.py
build_ensemble
called by 1
utils.py

Shape

Method 38
Class 17
Function 14

Languages

Python100%

Modules by API surface

model.py20 symbols
transforms.py14 symbols
data_management.py12 symbols
train.py8 symbols
utils.py7 symbols
metrics.py6 symbols
main_train.py1 symbols
main_test.py1 symbols

For agents

$ claude mcp add RDUNet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact