Skip to content

Brain tumor detection and classification from MRI images using a CNN-based deep learning model. Includes preprocessing, contour extraction, training, evaluation, and visualization. Published as part of peer-reviewed research.

Notifications You must be signed in to change notification settings

malavika-suresh/brain-tumor-classification-mri-cnn

Repository files navigation

🧠 Brain Tumor Detection using CNN

🔗 Main Libraries & Tools

  • TensorFlow – Deep learning framework for model building
  • Keras – High-level API for TensorFlow
  • OpenCV – Image processing and computer vision
  • Matplotlib – Visualization library for plots & images
  • scikit-learn – Data splitting and evaluation metrics
  • imutils – Helper functions for image processing

📂 Project Structure

BRAIN_TUMOR_DETECTION/
│── brain_tumor_dataset/
│   ├── no/                # MRI images without tumor
│   └── yes/               # MRI images with tumor
│── cnn-parameters-improvement-24-0.86.model   # Trained CNN weights
│── data_aug.py            # Script for data augmentation
│── final_rslt.py          # Run inference on a single MRI image
│── ver1_train.py          # Train & evaluate CNN model

🛠️ Requirements

Install dependencies with:

pip install -r requirements.txt

requirements.txt

tensorflow
numpy
matplotlib
opencv-python
imutils
scikit-learn

🚀 How to Use

  1. Prepare Dataset
    Organize your data as:
    brain_tumor_dataset/
    ├── no/
    └── yes/
    
  2. Augment Data (optional)
    python data_aug.py
  3. Train Model
    python ver1_train.py
    This will generate cnn-parameters-improvement-24-0.86.model.
  4. Run Inference on a New Image
    Edit final_rslt.py to point to your test image, then run:
    python final_rslt.py

📊 Model Performance (from paper)

Accuracy (Test): 0.95  
F1 Score (Test): 0.93

🧮 How It Works

  • Preprocessing: grayscale conversion → Gaussian blur → thresholding → morphological cleanup → contour cropping.
  • CNN Model: convolutional layers → batch norm & pooling → dense classification head.
  • Prediction Logic: outputs probability; if > 0.6 → “Brain Tumor Detected,” else “Normal.”

📜 Reference & Citation

Please cite our peer-reviewed work if you use this repository:

Brain Tumour Detection Using Deep Learning
ResearchGate Publication


About

Brain tumor detection and classification from MRI images using a CNN-based deep learning model. Includes preprocessing, contour extraction, training, evaluation, and visualization. Published as part of peer-reviewed research.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages