Identyfying TB from lung X-rays using CNNs.
Dataset is obtained from here which consisted of 2 differnet set of scans, ChinaSet and Montgomery.
-
Notebooks: It contains the code for the training part of the model with the various parameters used in the model. This is the entry point where you can start training the model and experiment with different parameters.
-
Scripts: contains the contains
.py
files. -
web-app: Contains code for the web-application, A prototype to give a overview on what the final application might look like.
- Python(3+)
- keras
- Jupyter Notebook
- Flask(to run web-app locally, optional)
- The web application is live at Heroku
cd Notebooks
jupyter notebook
Model No. | Description | epochs | learning rate | specificity | sensitivity | accuracy |
---|---|---|---|---|---|---|
#1 Vgg16 | trained on last 10 layers | 50 | 0.001 | * | * | 0.79 |
#2 Vgg16 | trained on last 5 layers | 100 | 0.0001 | 0.766 | 0.85 | 0.789 |
#3 Vgg16 | trained on all layers | 100 | 0.0001 | 0 | 1 | 0.5 |
LIME (Local Interpretable Model-Agnostic Explainations) is method to get explaination about the model on why it is making certain decesion it's making. It will help us improve upon the model and through this we can get an idea how to proceed further and at any point of time we can rely on it for feedback and based on that we can take better decisions to get in the right direction.
Below is an image of a X-ray which is classified as positive, and the black outline tells it is the major contributing factor in the decesion by the classifier.