Skip to content
This repository has been archived by the owner on Sep 14, 2023. It is now read-only.

:octocat::octocat:A tensorflow implement of the paper "Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising"

License

Notifications You must be signed in to change notification settings

fabian57fabian/DnCNN-tensorflow

 
 

Repository files navigation

DnCNN-tensorflow

AUR Contributions welcome

Originally cloned from this repo. Made stable for python3 without errors. Works with tf >= 2.

A tensorflow implement of the TIP2017 paper Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising

Model Architecture

graph

Results

compare

  • BSD68 Average Result

The average PSNR(dB) results of different methods on the BSD68 dataset.

Noise Level BM3D WNNM EPLL MLP CSF TNRD DnCNN-S DnCNN-B DnCNN-tensorflow
25 28.57 28.83 28.68 28.96 28.74 28.92 29.23 29.16 29.17
  • Set12 Average Result
Noise Level DnCNN-S DnCNN-tensorflow
25 30.44 30.38

Requirements

tensorflow >= 2
numpy
opencv

Dataset

I used the BDS500 dataset for training, you can download it here: http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/BSR/BSR_bsds500.tgz It contains 500 RGB images, 400 for training and 100 for testing.

Data preprocessing and noise generation

Before training, you have to rescale the images to 180x180 and adding noise to them. The folder structure is supposed to be:

./data/train/original  for the 180x180 original train images
./data/train/noisy  for the 180x180 noisy train images
./data/test/original  for the 180x180 original test images
./data/test/noisy  for the 180x180 noisy test images

You need the original files for testing just to calculate the PSNR. You can denoise without original files: just put the noisy files also in ./data/test/original .

Train

$ python main.py
(note: You can add command line arguments according to the source code, for example
    $ python main.py --batch_size 64 )

if you wish to check out if it is working, copy the contents of checkpoint_demo to checkpoint folder and execute:

./fast_starter.sh

Test

$ python main.py --phase test

About

:octocat::octocat:A tensorflow implement of the paper "Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%