This project demonstrates MRI Image Denoising using a Convolutional Autoencoder (CNN-based) deep learning model. The model is trained to remove Gaussian noise from grayscale MRI images and compared with traditional filtering methods such as Median, Gaussian, Average, and Bilateral filters.
The project is also deployed on Hugging Face Spaces:
Live Demo
- Preprocessing MRI images into 64×64 grayscale format
- Adding Gaussian noise to simulate noisy MRI scans
- Building a Convolutional Autoencoder for denoising
- Training with Early Stopping to prevent overfitting
- Comparing performance with traditional image filters:
- Median Filter
- Gaussian Filter
- Average Filter
- Bilateral Filter
- Evaluating results using Peak Signal-to-Noise Ratio (PSNR)
- Python
- TensorFlow / Keras
- OpenCV
- NumPy, Pandas, Matplotlib
- Google Colab / Jupyter Notebook
- Hugging Face Spaces (for deployment)
├── Image_Denoising_using_Autoencoder.ipynb # Main Notebook
├── requirements.txt # Required libraries
├── README.md # Project Documentation
└── drive/MyDrive/vikii/dc # Dataset (MRI images in .png format)
- Load MRI images from dataset
- Resize & normalize images → 64×64 grayscale
- Add Gaussian noise
- Train Convolutional Autoencoder with noisy images as input and clean images as target
- Compare denoised images with:
- Autoencoder Output
- Median Filter
- Gaussian Filter
- Average Filter
- Bilateral Filter
- Compute PSNR values for each method
| Method | PSNR (dB) ↑ |
|---|---|
| Autoencoder | Higher |
| Median Filter | Lower |
| Gaussian Filter | Lower |
| Average Filter | Lower |
| Bilateral Filter | Lower |
The Autoencoder model outperforms traditional filtering methods in restoring MRI images.
The model is deployed using Gradio UI on Hugging Face Spaces:
Users can:
- Upload an MRI image
- Add Gaussian noise
- View denoised output from Autoencoder
- Compare with traditional filtering methods
# Clone the repo
git clone https://github.com/vikram4690/MRI-image-denoising-model-using-Autoencoder.git
cd MRI-image-denoising-model-using-Autoencoder
# Install dependencies
pip install -r requirements.txt
# Run Jupyter Notebook
jupyter notebook Image_Denoising_using_Autoencoder.ipynb