|
--- |
|
license: mit |
|
language: |
|
- en |
|
library_name: tensorflowtts |
|
tags: |
|
- biology |
|
- medical |
|
--- |
|
|
|
# Brain Tumor Classification (MRI) | AI Model |
|
|
|
This is a deep learning model that can classify MRI images of the brain into four categories: glioma tumor, meningioma tumor, no tumor, and pituitary tumor. The model was trained on the Images Dataset "Brain Tumor Classification (MRI)" From Kaggle by SARTAJ under the CC0: Public Domain License. |
|
|
|
Source Files: https://github.com/ShabGaming/Brain-Tumor-Classification-AI-Model |
|
|
|
## Model |
|
The model is a convolutional neural network (CNN) with the following architecture: |
|
``` |
|
Layer (type) Output Shape Param # |
|
================================================================= |
|
conv2d (Conv2D) (None, 1248, 1248, 32) 896 |
|
_________________________________________________________________ |
|
max_pooling2d (MaxPooling2D) (None, 624, 624, 32) 0 |
|
_________________________________________________________________ |
|
conv2d_1 (Conv2D) (None, 622, 622, 64) 18496 |
|
_________________________________________________________________ |
|
max_pooling2d_1 (MaxPooling2 (None, 311, 311, 64) 0 |
|
_________________________________________________________________ |
|
conv2d_2 (Conv2D) (None, 309, 309, 128) 73856 |
|
_________________________________________________________________ |
|
max_pooling2d_2 (MaxPooling2 (None, 154, 154, 128) 0 |
|
_________________________________________________________________ |
|
flatten (Flatten) (None, 307328) 0 |
|
_________________________________________________________________ |
|
dense (Dense) (None, 128) 39338112 |
|
_________________________________________________________________ |
|
dropout (Dropout) (None, 128) 0 |
|
_________________________________________________________________ |
|
dense_1 (Dense) (None, 4) 516 |
|
================================================================= |
|
Total params: 39,436,876 |
|
Trainable params: 39,436,876 |
|
Non-trainable params: 0 |
|
``` |
|
The model was trained using TensorFlow and achieved an accuracy of over 95% on the validation set. |
|
|
|
## GUI |
|
In addition to the model, we have also provided a graphical user interface (GUI) that allows users to upload an MRI image and get a prediction from the model. The GUI was built using the Tkinter library in Python. |
|
|
|
To use the GUI, simply run the gui.py file and a window will appear. Click the "Choose File" button to select an MRI image from your computer, and then click the "Predict" button to get the model's prediction. The GUI will display the selected image as well as the predicted class. |
|
|
|
## Usage |
|
To use the model and GUI, follow these steps: |
|
- Clone or download the GitHub repository containing the model and GUI files. |
|
- Install the necessary Python libraries. |
|
- Train the model by running 'BrainTumorMRIDetection.ipynb'. This will save the trained model as a .h5 file in the repository directory (You can also just download the model, more information down below). |
|
- Run the GUI by running gui.py. This will open a window where you can upload an MRI image and get a prediction from the model. |
|
|
|
## Credits |
|
Muhammad Shahab Hasan (Shab) |
|
- https://www.fiverr.com/best_output |
|
- https://www.youtube.com/Shabpassiongamer |
|
- https://medium.com/@ShahabH |