Skip to content

A streamlit application that uses a convolutional neural network to identify patients with brain tumor

License

Notifications You must be signed in to change notification settings

Ellie190/Brain-Tumor-Classification

Repository files navigation

Brain Tumor Classification: Project Overview

  • Created a Convolutional Neural Network model to classify if a patient has Brain Tumor or not from Brain MRI scans.
  • Downloaded the MRI dataset on Kaggle.
  • Made use of Transfer learning to compensate for the dataset size and Data Augmentation to allow the model to generalise better.
  • ImageNet dataset and VGG-16 architecture was utilized for transfer learning via fine-tuning.
  • Six Statistical metrics was used to evaluate model performance.
  • Metrics: Accuracy, Precision, Recall, F1-score, Macro-average and Weighted-average.
  • Built an application to automate the process of Brain Tumor classification.

Resources

Python Version: 3.8
Packages: Tensorflow, Keras, Sklearn, imutils, matplotlib, numpy, argparse, pickle, cv2, os, streamlit
Dataset: https://www.kaggle.com/navoneel/brain-mri-images-for-brain-tumor-detection
Detecting COVID-19: https://www.pyimagesearch.com/2020/03/16/detecting-covid-19-in-x-ray-images-with-keras-tensorflow-and-deep-learning/
Undersatnding CNNs: https://www.analyticsvidhya.com/blog/2019/05/understanding-visualizing-neural-networks/

Brain MRI scan (Gray Image)

GrayImage
Source: Wikipedia

Statistical Evaluation

Metric

Filter and Feature (Hot Colormap)

  • A hot colormap was applied, a sequential black-red-yellow-white, to emulate blackbody radiation from an object at increasing temperatures
  • This was to illustrate prominent features in brain MRI scans learned by the Neural Network Hot Filter Feature Feature2

Classifications from test samples

  • The images below got presevered to be used to test the model.
  • Outputs from the Classification.py
    Tumor Normal

Application to Classify Brain Tumor (screenshot)

App

Releases

No releases published

Packages

No packages published