Skip to content

Image Denoising Autoencoder implemented in Pytorch for IvLabs Summer Intern 2021

Notifications You must be signed in to change notification settings

lynx1902/ImageDenoisingAE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

Image Denoising AutoEncoder

Dataset

Model was trained on MNIST dataset containing 60000 training images and 10000 test images.

Model Architecture

The model is a convolutional neural network (CNN) consisting of 6 layers.

Conv2d(input_channels,output_channels,kernel_size,padding,stride)
tConv2d(input_channels,output_channels,kernel_size,padding,stride,output-padding)

Encoding Layers

Layer 1: Conv2d(1,32,3,p=1,s=2)
Layer 2: Conv2d(32,64,3,p=1,s=2) 
Layer 3: Conv2d(64,128,5) 

Decoding Layers

Layer 4: tConv2d(128,64,5) 
Layer 5: tConv2d(64,32,3,p=1,s=2,op=1) 
Layer 6: tConv2d(32,1,3,p=1,s=2,op=1) 

Loss Function and Optimization

Hyperparameter value
Batch-Size 32
Learning-rate 0.001
num of Epochs 10
Loss MSE Loss
Optimizer Adam Optimizer

Loss Plot

lossgraph

Noise

Gaussian noise was added via torch.randn() with a tunable noise factor variable.

def add_noise(inputs,noise_factor=0.3):  
  noisy = inputs + (torch.randn_like(inputs) * noise_factor)  
  noisy = torch.clip(noisy,0.,1.)  
  return noisy 

Result

This project was built as a part of IvLabs Summer Internship 2021. You can refer to the IvLabs repository here

About

Image Denoising Autoencoder implemented in Pytorch for IvLabs Summer Intern 2021

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published