While doing some research for our project, we came across a statistic that 75% of people who are diagnosed with brain cancer die of it within five years. Upon learning this, we were also shocked to know that many of these deaths may have been prevented if only a proper diagnosis was given earlier on when the malignant tumor was still removable. This gave us an idea to leverage the benefits of deep learning to create a biomedical image segmentation model that is able to segment brain abnormalities and tumors just from a single MRI.

What it does

SGMT is a web app that allows a doctor or neurologist to upload a brain MRI which then passes the MRI through our deep learning model, and returns a segmentation mask as well as an overlay of exactly where the abnormality is located. Not only does it only take a few seconds to segment the abnormality, compared to days to weeks taken by professional neurologists, it is also precise and can guide neurologists when they perform surgeries.

How I built it

We created a custom UNet with a residual network backbone using PyTorch, which has nearly 54 million trainable parameters. For our frontend, we used html/css/js, and for our backend, we used flask to deploy our model.

Challenges I ran into

Since the model is so large and sophisticated, it took 8 hours to train. Developing the model also took another 6 hours to train, which left us with only 8 hours to create the backend, deploy the model, film the presentation, and sleep. It was quite a stressful hackathon, to say the least.

Accomplishments that I'm proud of

We are proud of creating such a sophisticated model that is able to surpass even the top neurologists. On top of that, our model is no sham. It achieved a test F1 score of 95%, meaning the segmentation masks our model create are 95% accurate on average.

What I learned

We learned a lot about semantic image segmentation over the course of the hackathon, and also delved into a bit of statistics.

What's next for SGMT

Keep improving it!

Share this project: