Skip to content

micheledinelli/blind-source-separation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blind-source-separation

python tensorflow colab Open In Colab

Project realized for Deep Learning (91250) university course @unibo.

Blind Source Separation (BSS)

This project aims to separate an image, formed as the sum of two images, into its original components. The two source images are drawn from different datasets: MNIST and Fashion-MNIST, respectively. No preprocessing is allowed. The neural network receives the combined image as input and outputs the predicted components. Both datasets (MNIST and Fashion-MNIST) are grayscale. All samples are padded to a (32,32) resolution.

Performance is evaluated using the Mean Squared Error (MSE) between the predicted and ground-truth images.

mnistxfashion-mnist

Model

The model implemented is inpsired by U-Net architecture. It uses 3 encoder/decoder blocks connected by skip-connections. Each blocks contains 3 convolutions and batch normalizations activated by ReLU. There are 64 initial filters, they are doubled after each encoder block and halved after each decoder block.

There are 3,033,346 (11.57MB) parameters in total.

Training took 69 epochs with 1687 steps per epoch and batch size equal to 32. It took ~1h 20m on Google Colab T4 GPU free-tier.

model

Results

The model is tested using a generator initialized with 5000 samples from the test set. Result scores are obtained averaging 10 test rounds, 50000 predictions in total.

  • The average mse is: 0.000388121648599426
  • The standard deviation between rounds is: 7.954220393637751e-06

Some predictions example

results