Skip to content

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

sdlpkxd/DnCNN-tensorflow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DnCNN-tensorflow GPL Licence

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

Model Architecture

graph

Results

Gaussian Denoising

GT

gt

Noisy

noisy

Denoised

denoised

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.24

Environment

With docker (recommended):

  1. Install docker, following the instructions on https://docs.docker.com/engine/installation/
  2. Install nvidia-docker, to make your GPU available to docker containers
  3. Create an image that can run the code from the provided Dockerfile. Call the image 'dncnn':
$ docker build --network host -t dncnn .
$ ./rundocker.sh

Then you could train the model.

Without docker:

You should make sure the following environment is contented

tensorflow = 1.0.1
numpy

Train

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

Here is my training loss:

loss

Test

$ python main.py --phase test

TODO

  • Clean source code. For instance, merge similar functions(e.g., 'load_images 'and 'load_image' in utils.py)
  • Replace PIL with OpenCV.
  • Fix bugs, such as #13.
  • Support the newest tensorflow(1.4)

Thanks for their contributions

  • @lizhiyuanUSTC
  • @husqin

About

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%