The TB-Classification application is an Tuberculosis X-Ray scanning application that returns the probability of a scan (X-Ray) having Tuberculosis. The model was trained using Keras (VGG16 pre-trained model) and obtained an accuracy of about 92% on the test set (during training) The Project is not currently hosted but here is a short video on it functionality on YouTube (https://youtu.be/-ax5aX80li0)
Python 3.7.7, Flask 1.1.2
git clone the repo
python3 -m venv ./venv (Create venv)
pip install -r requirements.txt (Install python packages)
cd deployment python prediction_model.py
The data used to train the model was obtained from Zindi (https://zindi.africa/competitions/runmila-ai-institute-minohealth-ai-labs-tuberculosis-classification-via-x-rays-challenge/data)
It takes a very long time for medical images to be analysed by a radiologist/doctor and during this waiting period, a patient's condition may become worse. This solution aims to reduce the amount of time it takes to scan a medical image hence cutting down on the number of unecessary medical complications
This is a full stack project with a backend (Python - Flask and Tensorflow (Keras) ) and frontend (HTML, CSS and Bootstrap)
The backend was built on python Flask due to its simple nature (only one page to be rendered) and HTML, CSS and Bootstrap to help bring the solution to be used by non-tech persons by builting simple and easy to use UI for the project
The major trade-off for this project is that the VGG16 model is quite heavy. Should I have more time on it, I would like to explore the use of other pre-trained models such as Mobilenet