Inspiration
Many doctors today are swamped with constant patient diagnosis for health issues that can be obscure and vague. Doctors use tests to ascertain accurate diagnoses but even with all the data in the world, they are human and make mistakes. Unfortunately, these mistakes can be life or death and no patient should suffer from misdiagnoses.
What it does
Using an open source MRI dataset that has labeled tumor types, we trained a Convolutional Neural Network to classify and confirm tumor diagnoses with 99% accuracy (Testing set returned 99% accuracy.)
How we built it
On a small dataset of large 512x512 images of data, training a convolutional neural network from scratch can create unneeded complexity and also will have difficulty identifying features. Using a powerful model with pre-trained weights (EfficientNetB3 in our case) and applying a transfer learning strategy can sufficiently reduce complexity and training time while keeping a high test accuracy.
Challenges we ran into
During our time coding we ran into many hiccups on how to optimize our model, we tried to train a CNN from scratch, then we began to focus on transfer learning strategies. Eventually we got out of the valleys and found the local minima using EfficientNetB3!
Another huge challenge was deploying a relatively large model to Google Cloud. We learned a lot about the limitations of cloud services regarding memory and also handling data.
As most of us are first time hackers, our experience was lacking with frontend development. We decided to challenge ourselves by using a full React frontend with animations and API calls with images as data.
Accomplishments that we're proud of
We were able to animate the frontend nicely and create an aesthetically pleasing design.
We also are extremely proud of the accuracy of our model, because we were expecting a 75% accuracy due to our relatively small dataset.
What we learned
Deploying code is hard! Animating is hard! Sometimes harder than the business logic.
What's next for MedScanAI
We hope that this experiment can inspire people to use medical datasets in their model training and to eventually use finished models to support healthcare professionals and help patients get the right diagnoses.
Built With
- flask
- github
- google-cloud
- javascript
- kaggle
- keras-core
- next.js
- python
- pytorch
- react
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.