Sébastien Herbreteau, Emmanuel Moebel, and Charles Kervrann
Here is the list of libraries you need to install to execute the code:
- Python 3.8
- Pytorch 2.0
- Torchvision 0.15.1
- Numpy 1.24.2
- Pillow (PIL Fork) 9.5.0
- Matplotlib 3.7.1
To install in an environment using pip:
python -m venv .nenn_env
source .nenn_env/bin/activate
pip install /path/to/normalization_equivariant_nn
The pre-trained models for the three variants (ordinary, scale-equivariant and normalization-equivariant) of the popular networks (see models
):
- DRUNet [K. Zhang et al., IEEE Trans PAMI 2022]
- FDnCNN [K. Zhang et al., IEEE Trans IP 2017]
are available at: https://github.com/sherbret/normalization_equivariant_nn/releases/tag/v1.0
We provide a Python Jupyter Notebook with example code to reproduce the experiments of the paper: demo_jupyter_notebook.ipynb
. Make sure to download the pre-trained models first before using it.
You can also retrain the models by yourself by using the demo_training.py
file (time-consuming). Example:
python ./demo_training.py --model_name fdncnn --blind --mode norm-equiv --num_iterations 900000 --patch_size 70 --batch_size 128 --save_every 1000 --lr 0.0001 --halve_lr_every 900000 --loss_function mse --in_folder my_folder_training_images --out_folder my_folder_saved_models
Channel-wise sort pooling and affine-constrained convolutional layers are implemented in Pytorch in the file basicblocks.py
.
This work was supported by Bpifrance agency (funding) through the LiChIE contract. Computations were performed on the Inria Rennes computing grid facilities partly funded by France-BioImaging infrastructure (French National Research Agency - ANR-10-INBS-04-07, “Investments for the future”).
@inproceedings{herbreteau2023normalizationequivariant,
author = {Herbreteau, S\'{e}bastien and Moebel, Emmanuel and Kervrann, Charles},
booktitle = {Advances in Neural Information Processing Systems},
pages = {5706--5728},
title = {Normalization-Equivariant Neural Networks with Application to Image Denoising},
volume = {36},
year = {2023}
}