Discover: An all-in-one chest x-ray analysis app.
Purpose: Rural regions across the world may have access to hospitals, but often lack the expertise to analyze radiographs and x-rays. So, to demystify and reveal the secrets of chest x-rays, we developed a web app using Flask, Tensorflow (frameworks of Python), HTML, and CSS, that features machine learning and image classification to identify different chest illnesses from an x-ray.
Our model features over 60 million parameters checking for 14 chest illnesses. It does this using two separate image classification models that are combined together to create a complete model. This model is trained using over 6,000 images (taking a total of 6 hours). This model has around 80-90 percent accuracy and even shows the probability of the top 3 illnesses based on the chest x-ray scan.
Features a fully trained and functional model trained in Kaggle and built in Python, and beautiful and functional web app using Flask framework from Python.
Developed by Andy Wang and Rishabh Oswal
How much experience does your group have? Does the project use anything (art, music, starter kits) you didn't create?
Rishabh and Andy learned to utilize TensorFlow's architecture and built an Image Classification neural network containing around 60 million parameters. The final image classification algorithm can identify up to 14 chest illnesses.
The datasets that we used for training were publicly available, and were not created by ourselves. We wrote all of the code ourselves, just used data from online to train our model.
What challenges did you encounter?
- Learning how to build an image classification model- so many parts to building the model, resulting in a model with over 60 million parameters.
- Kaggle couldn't offer enough RAM / CPU to train our model with all of our images. So, we had to adjust our model to the training dataset, resulting in a ~10 percent reduction in our model accuracy (~90 percent accuracy)
- Python interpreter was not working with Flask (multiple dependency and environment errors). So, we uninstalled python and reinstalled with correct dependencies (took 2 hours)
- Learning Flask and connecting with TensorFlow and HTML/CSS. All learnt over the course of the competition
- Designing website to figure out layout using flexboxes- Used figma to brainstorm general layout of the website, and then translated to website using Flask / HTML / CSS
- Images were difficult for the model to process due to the special format and appearance of radiographs, making them difficult to use during training - Needed to implement multi-step algorithm that processed the images first.