Building a detection model using a convolutional neural network in Tensorflow & Keras. Used a brain MRI images data founded on Kaggle.
The Data set contains a folder named BRAIN TUMOR DATA SET along with some CSV files,
Main folder contains two folders , one contained cancerous images and one with non cancerous
The Data set contains around 4500 MRI images
The Data is splitted in the following ways:
1.70% of the data for training.
2.15% of the data for vaidation.
3.15% of the data for testing.
Each input x (image) has a shape of (224, 224, 3) and is fed into the neural network. And, it goes through the following layers:
1.A convolutional layer with 32 filters, with a filter size of (7, 7) and a stride equal to 1
2.A batch normalization layer to normalize pixel values to speed up computation.
3.A ReLU activation layer
4.A Depthwise conviltuion layer , where we apply a single convolutional filter for each input channel
5.A Zero Padding layer with a pool size of (2, 2).
6.A flatten layer in order to flatten the 3-dimensional matrix into a one-dimensional vector
7.A Dense (output unit) fully connected layer with one neuron with a sigmoid activation (since this is a binary classification task).
MobileNet is a streamlined architecture that uses depthwise separable convolutions to construct lightweight deep convolutional neural networks, If we deploy our model on real time environment (Hospitals) accuracy plays an important role ,As these are Pre-Trained Models trained over 1 Billion Images so they are widely used to increase the accuracy of the ML-Models.
Now the best models with best accuracy detects the brain tumor with accuracy
These Results are very good considering the
DONUT CHART OF ACCURACY TABLE ->