Note:
Before using project from GitHub please read the README.md file of repository
Idea Behind the project
The idea was to create a web app where patients can upload their x rays and then a model at the backend will check the x ray for different diseases! I also want to implement the model on twitter so people can just tag a twitter account along with their x ray image and then the twitter bot will check their X ray for different diseases and will return it's results in the reply section of the tweet!
What it does
Working on the idea I made a webapp (as described above) where people can upload their chest X ray images and the web app will check if the Lungs have Covid 19, Viral Pneumonia or are Normal. The model has an accuracy of 93.3% on test set!
It's important to note that if the diseased lungs x ray images other then that of Covid 19 are passed to web app instead of predicting them Normal it
predicts them either Covid or Pneumonia which can still give doctors or patients a clue that something is wrong in lungs! Moreover, we are still working on the weapp so, it will be able to classify other diseases in future.
Moreover, a twitter bot is also included in the github repository! Users can tag the twitter bot with a specific command currently @XrayBotML checkxray and an image of their chest x ray. The bot will then reply back with it's analysis of the x ray image report
How we built it
Following languages are used to build the webapp (frontend, backend,MLmodel and twitter bot):
- Python (Used for almost everything on backend)
- HTML (Frontend designing)
- CSS (Frontend designing)
- JavaScript (Very less used)
Following frameworks, python packages and technologies are used for the creation of webapp and twitter bot:
- Tensorflow
- InceptionV3
- Twitter API
- Tweepy (To manage twitter API)
- Bootstrao (for frontend designing)
- Django (For backend)
- SKlearn (for creating a model which predicts if person has covid or not based on symptoms)
Challenges we ran into
I ran into the following challenges
- ## Finding datasets
Yes, I had trouble finding datsets for creating model but at last I found one on kaggle.com
. The dataset consisted of X ray images of patients with Covid 19, Pneumonia and Normal lungs! But, I am still in search of datasets for other deceases such as TB or Emphysema
- ## Imbalanced Dataset
Like almost all medical datasets the above dataset was imbalanced. But, I solved this problem by using techniques of "Oversampling" on Pneumonia x ray images and UnderSampling on Normal Images. I also took help from the keras's built in class_weight function. For weighting the classes I used statistics.
Learn more about the model in the CODE NOTEBOOK of the model in the github repository
Accomplishments that we're proud of
Actually, this model, webapp and TwitterBot is an accomplishment that I am really proud of!
What we learned
I learned and refined my skills in the following:
- Python
- Using django to create a backend
- Bootstrao designing
- Front End designing
- ML modeling
- Deaking with Imbalanced datasets
What's next for Doctor Robo
The complete project for Doctor Robo is available here. The report includes each and every detail of the project!
Feel free to collaborate on Github if you find our project useful and interesting
Log in or sign up for Devpost to join the conversation.