Skip to content

Deep Unsupervised Image Denoising, based on Neighbour2Neighbour training

Notifications You must be signed in to change notification settings

neeraj3029/Ne2Ne-Image-Denoising

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ne2Ne Image Denoiser

A Gaussian Noise denoiser for images, based on the Neighbour2Neighbour algorithm from the paper Neighbor2Neighbor: Self-Supervised Denoising from Single Noisy Images. It leverages subamples of a noisy image as independent noisy pairs to perform training.

Checkout the server directory to run the denoiser application as a Flask server

Results

The results are really good for an unsupervised pipeline, i.e, the training was performed using only noisy images and no clean images were used. Noisy-denoised image pairs follow.

noisy_ 59v21x

Installing requirements

pip3 install -r requirements.txt

Training

To train the model, run the following command after augmenting the parameters as per the need.

python3 train.py --epochs=15 --var=0.4 --batch=4 --learning_rate=0.001 --data_dir=./data --checkpoint_dir=./checkpoints

Inference/Evaluation

To expermiment with saved model checkpoints, run the following command after updating the arguments. Download the checkpoint from this link: Google Drive

python3 test.py --var=0.5 --data_dir=./data/test --checkpoint=./checkpoints/chckpt_gamma0_var_35.pt

Dataset

I used 350 images from the Berkeley Segmentation Dataset(BSD500) for training. 100 images from the dataset were used for cross-validation, and 50 for test.

Contact

LinkedIn Twitter

Releases

No releases published

Packages

No packages published

Languages