Brain Tumor Detection using Deep Learning
This project involves the development of a Brain Tumor Detection app using a Convolutional Neural Network (CNN) and Django. The app accepts brain MRI images as input and predicts the presence of tumors, categorizing them into Glioma Tumor, Meningioma Tumor, or Pituitary Tumor. The CNN model is designed with 23 layers, including Convolution, Pooling, Dropout, Dense, and Flattening layers, optimized for minimal parameters and high performance. The app preprocesses the images by resizing them to 150x150, converting them to RGB format, and normalizing them. Django is used to build the app, incorporating forms for user input and providing image previews. Uploaded images are stored for future reference, along with the prediction results.
Medical Imaging Analysis
In this app, we are using a Convolutional Neural Network (CNN) which is a deep learning model and using Django to build a application that takes image of brain MRI as input and using the trained model we are predicting if in the given image there is any detection of tumor and if yes we have trained the model to identify three types of tumor and it will give which type of tumor it has identified.
First we are using a publicly available dataset from Kaggle where they have provided Brain MRI images. These images are classified into Glioma Tumor, Meningioma Tumor, No Tumor, Pituitary Tumor. These images are carefully labeled professionally under medical supervision and the patient information is not provided for privacy reasons.
CNN models are designed to learn the features in given images and help us learn about the images, so we have designed a CNN model with 23 layers which consist of Convolution, Pooling, Dropout, Dense and Flattening layers. The model is designed in such a way to keep the number of parameter minimum while delivering good performances.
Before we are providing the Brain MRI images to the model we are pre-processing the images by resizing the images to 150x150 and making sure it is in RGB format. We are also normalizing the images as it help the model learn better from the images.
Once the model is trained we are using Django the build an app called Brain Tumor Detection app and we are using forms to accept the user input which is Brain Images and we preview the images for better confirmation after which the images is used for prediction, and we provide the result back to the user. When the user upload the image we are storing the image in the backend for later retrieval if needed along with the result so that we can avoid unnecessary repeated predictions on the same image.
Tensorflow, Pillow, NumPy, Django