Skip to content

vikram4690/MRI-image-denoising-model-using-Autoencoder

Repository files navigation

MRI Image Denoising using Autoencoder

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


Features

  • 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)

Tech Stack

  • Python
  • TensorFlow / Keras
  • OpenCV
  • NumPy, Pandas, Matplotlib
  • Google Colab / Jupyter Notebook
  • Hugging Face Spaces (for deployment)

Project Structure

├── 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)


How It Works

  1. Load MRI images from dataset
  2. Resize & normalize images → 64×64 grayscale
  3. Add Gaussian noise
  4. Train Convolutional Autoencoder with noisy images as input and clean images as target
  5. Compare denoised images with:
    • Autoencoder Output
    • Median Filter
    • Gaussian Filter
    • Average Filter
    • Bilateral Filter
  6. Compute PSNR values for each method

Results

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.


Deployment on Hugging Face

The model is deployed using Gradio UI on Hugging Face Spaces:

Try it here

Users can:

  • Upload an MRI image
  • Add Gaussian noise
  • View denoised output from Autoencoder
  • Compare with traditional filtering methods

Installation (Local Setup)

# 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

About

MRI Image Denoising with Autoencoder | Deep Learning vs Traditional Filters. A convolutional autoencoder trained for MRI noise removal, benchmarked against classical filters. Live demo: https://vikramk4690-image-denoiser.hf.space/?__theme=system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published