Skip to content

FanChiMao/SRMNet

Repository files navigation

PWC

Chi-Mao Fan, Tsung-Jung Liu, Kuan-Hsien Liu

paper official_paper video slides Hugging Face Spaces Visitors

Abstract : Image restoration is a low-level vision task which is restoring the degraded images to noise-free images. With the success of deep neural networks, especially the convolutional neural networks suppress the traditional restoration methods and become the mainstream in the computer vision. To advance the performance of denoising algorithms, we propose a blind real image denoising network (SRMNet) by employing a hierarchical architecture improved from U-Net. We use a selective kernel with residual block on the hierarchical structural named M-Net to enrich the multi-scale semantic information. Furthermore, our SRMNet has competitive performance results on two synthetic and two realworld noisy datasets in terms of quantitative metrics and visual quality.

Network Architecture

SRMNet

Overall Framework of SRMNet

Selective Residual Block (SRB)

Resizing Block (Pixel Shuffle)

Quick Run

You can simply demo on the space of Hugging Face:

Or test on local environment:

To test the pre-trained models of Denoising on your own images, run

python demo.py --input_dir images_folder_path --result_dir save_images_here --weights path_to_models

All pre-trained models can be downloaded at pretrained_model/README.md or here

Train

To train the restoration models of Denoising. You should check the following components are correct:

  • training.yaml:

    # Training configuration
    GPU: [0,1,2,3]
    
    VERBOSE: False
    
    MODEL:
      MODE: 'SRMNet_denoise'
    
    # Optimization arguments.
    OPTIM:
      BATCH: 2
      EPOCHS: 100
      # EPOCH_DECAY: [10]
      LR_INITIAL: 1e-4
      LR_MIN: 1e-6
      # BETA1: 0.9
    
    TRAINING:
      VAL_AFTER_EVERY: 1
      RESUME: False
      TRAIN_PS: 256
      VAL_PS: 256
      TRAIN_DIR: 'D:/PycharmProjects/SUNet-main/datasets/Denoising_DIV2K/train'       # path to training data
      VAL_DIR: 'D:/PycharmProjects/SUNet-main/datasets/Denoising_DIV2K/test' # path to validation data
      SAVE_DIR: './checkpoints'           # path to save models and images
    
  • Dataset:
    The preparation of dataset in more detail, see Dataset/README.md.

  • Train:
    If the above path and data are all correctly setting, just simply run:

    python train.py
    

Test (Evaluation)

Result

  • AWGN image denoising

  • Real image denoising

  • Comparison of model complexity

Visual Comparison

More visual results can be downloaded at here.

Citation

@inproceedings{fan2022selective,
  title={Selective Residual M-Net for Real Image Denoising},
  author={Fan, Chi-Mao and Liu, Tsung-Jung and Liu, Kuan-Hsien and Chiu, Ching-Hsiang},
  booktitle={2022 30th European Signal Processing Conference (EUSIPCO)},
  pages={469--473},
  year={2022},
  organization={IEEE}
}

Contact

If you have any question, feel free to contact [email protected]