Inspiration

We found out that 2 out of every 10 cases of autopsy studies have identified major diagnostic discrepancies. These diagnostic discrepancies are usually a result of the human diagnosis. Upon further research, we deduced that these diagnostic discrepancies ranged anywhere from misrepresentation of information to false testing hypotheses. The need for automation in order to minimize discrepancies merely due to human errors fueled us to take up this project.

What it does

BT Detector is a web application that simplifies the process of Brain Tumor Detection by automating the process of clinical MRI diagnoses. The patient's brain MRI image is uploaded on our portal in any image format. Once uploaded, the image runs through our model. The model used in our project is customized VGG16. Some key features of the VGG 16 or the OxfordNet model are that it has only convolution and pooling layers in it, it always uses a 3 x 3 Kernel for convolution, it has a total of about 138 million parameters, it is trained on ImageNet weights and it has an accuracy of almost 90%. The model is built so as to accurately predict whether the patient is likely to have Brain Tumor or not.

How we built it

  • We started with the training of the Brain Tumor Detection model on datasets from kaggle.
  • Once the model was built, the .h5 file was integrated with the backend using Django.
  • We then made use of SQL database to build a table to store Name, Image to be diagnosed, Age, E-mail and Country of the patient (i.e. some preliminary details).
  • As soon as an image is submitted by the user, it was run through our model and the prediction was given immediately.
  • Finally, we worked on building the front-end and designed the website to look professional and efficient to use for a user.

Challenges we ran into

Although BT Detector was an exciting project to work on for all of us, we faced some challenges during the development of it.

  • It was our first time integrating Django with a Machine Learning model so we had to tackle a lot of errors.
  • We tried building the best model possible from the already existing model using VGG16 architecture. It took a lot of experimentation to come up with an architecture that was good at giving predictions. Other than this we ran into some minor django documentation problems but we dealt with them and good the application working without any errors and also made the website responsive.

Accomplishments that we're proud of

  • We were able to come up with a custom model architecture for brain tumor detection rather than using any pre-trained model
  • We successfully integrated our ML model with a web application. We were able to come up with a model that had 86% testing accuracy and 90% training accuracy. Overall the model performed really well given that we built a completely custom model.
  • We were able to use Django backend instead of a normal Flask Backend.

What we learned

To come up with the custom model architecture we had to go through various research papers of pre existing models such as MobileNet, CNN, VGG16 and ResNet in order to understand how these worked. Most of us in the team were quite unfamiliar with working of Django so we had to go through the documentations in order to understand the working and build the model as we did not want to use flask for the web app this time. We gave more importance to User interface and experience(UI/UX) this time and hence spent some time designing the web application.

What's next for BT Detector

Next in line for the BT Detector, we plan to add a feature that will not only save patients' efforts but also assist them in receiving an early clinical diagnosis in cases of risk. Whenever a user receives feedback from our model "User is likely to suffer from Brain Tumor", the user will be directed to a page where our web app will display all available appointments at nearby hospitals/clinics. The feature will allow the user to book appointments through our portal ensuring the patient receives consultation in the quickest time possible.

Built With

Share this project:

Updates