Giter Site home page Giter Site logo

meisamrf / image-denoising-tensorflow-keras Goto Github PK

View Code? Open in Web Editor NEW
25.0 1.0 10.0 7.06 MB

Deep learning based image denoising using tensorflow/Keras combined with block matching

Python 27.57% C++ 72.43%
keras tensorflow image-denoising block-matching-algorithm block-matching cnn python

image-denoising-tensorflow-keras's Introduction

Block-matching based single model denoiser using Keras and TensorFlow

Meisam Rakhshanfar

This is an implementation of block-matching CNN based image denoiser BMCNN using Python 3, Keras, and TensorFlow. This work is similar to IRCNN. The differences are:

  1. Prior to denoising, a block matching algorithm searches for similar blocks. For each 4x4 block, 4 similar blocks are found. Thus, an image with 5 channels (one original and 4 similar blocks) are fed into the network.

  2. Possibility to use a lighter network. Since the block matching already does some of the processing we can use a simpler network with a fewer number of filters (fs = 24).

  3. Unlike most of CNN based denoisers that for noise sigma specific weights are required, BMCNN uses single model (fixed weight) for all noise levels.

Denoising Sample

The repository includes:

  • Source code of BMCNN.
  • Block-Matching code
  • Pre-trained weights BMCNN
  • Jupyter notebooks to visualize the denoising results

Getting Started

  • demo.ipynb Is the fastest way to start. It shows an example of using a model pre-trained for variation of noise levels. It includes code to run the denoiser on arbitrary images and different noise levels.

  • model.py: This file contains the main BMCNN implementation.

  • utils.py: This file contains some noise related functions.

Installation

  1. Install dependencies

    pip3 install package [numpy, keras, skimage, ...]

  2. Clone this repository

  3. Run setup from the libs directory

    python3 setup.py install

image-denoising-tensorflow-keras's People

Contributors

meisamrf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

image-denoising-tensorflow-keras's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.