Leveraging deep learning neural networks for multi-label classification of medical images, enabling early detection of multiple findings in chest X-rays.
ChestMultiVision harnesses a custom deep learning model based on the ResNet50V2 architecture. It was trained on the Chest X-ray-14 dataset. It predicts six different findings detectable on chest x-rays, that are: Atelectasis, Effusion, Infiltration, Mass, No Finding, and Nodule.
Product Disclaimer: ChestMultiVision is a prototype chest x ray classification app, it is NOT A MEDICAL DEVICE. Predictions made are simply to demonstrate the application. Predictions are not expected to be highly accurate and should not be used for medical diagnosis of any kind. Predictions may not be as effective on chest x-rays of women, children and elderly adults. Please consult a medical professional for any medical advice or diagnosis
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
My dissertation project focuses on addressing a critical challenge in the realm of medical imaging: the accurate detection of multiple findings in chest X-rays through deep learning-based multi-label classification. Existing CAD systems often struggle to effectively handle cases where multiple pathologies coexist within a single image, presenting a substantial obstacle for practical clinical use. My project seeks to bridge this gap by developing deep learning models capable of accurately classifying chest X-ray images with multiple overlapping labels.
Training with the NIH Chest X-ray-14 dataset, I aim to train and evaluate deep learning neural networks tailored to multi-label classification tasks. I also aim to investigate effect of training the model on various different subsets of data and labels, to compare model performance across training datasets in a data ablation study. The project will culminate in a user-friendly web application for clinicians, with an intuitive interface to upload chest X-ray images and receive rapid, accurate diagnostic predictions.
Through this project, I aim to contribute to medical imaging AI while empowering medical professionals with efficient and accurate diagnostic aids, to provide a valuable second opinion during diagnosis.
The dataset used for this machine learning task was downloaded from this site.
Citation for the dataset research paper: Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: Hospital-scale Chest X-ray Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases, IEEE CVPR, pp. 3462-3471, 2017
This is an example of how you can go about setting up the project locally. To get a local copy up and running follow these simple steps:
- When cloning this whole repository, which has large files such as the models, etc which will need to be tracked by Git LFS, make sure to set up Git LFS by:
> git lfs install
Refer to StackOverflow thread and GitHub docs for further details regarding setting up Git LFS.
- Once Git LFS has been setup, clone this repository:
> git clone https://github.com/Vindhyaa-Saravanan/ChestMultiVision.git
The .gitattributes
file will make sure the appropriate files are cloned.
You should only need to do this once, cloning the repo for the first time, with proper git usage.
-
Make sure you have installed Python version 3.10, and the PATH variable has been updated.
-
Create your virtual environment in the project-squad30 directory. As long as the environment is called "myenv", it will not be uploaded to version control (see the
gitignore
file).
> python -m venv myenv # where "myenv" is the name of the environment
# OR
> python3 -m venv myenv
- Activate the new virtual environment.
# On Windows use the command:
> ./env/Scripts/activate
# In a Linux or Mac environment, use the command:
> ./env/scripts/activate
# To deactivate the environment later, when done with the app:
> deactivate
- Install all project requirements as listed in
app/requirements.txt
.
> pip install -r requirements.txt
# OR
> pip3 install -r requirements.txt
- Check the versions of Tensorflow and Keras, it is essential to use the right versions for the ML model to work. Run the following while the virtual environment is activated:
> pip show tensorflow
# Expect to see version number 2.15.0 in the output
> pip show keras
# Expect to see version number 2.15.0 in the output.
# OR respective command for pip3.
- The app is now ready to run!
> streamlit run app.py
Vindhyaa Saravanan: [email protected]
I extend my gratitude to my project supervisor, Dr. Nishant Ravikumar, for their unwavering support and invaluable guidance throughout the duration of this project. Their expertise, encouragement, and constructive feedback have been instrumental in shaping the direction and success of this endeavor.
I am also deeply thankful to Dr. Arash Rabbani, my project assessor, for their insightful inputs and feedback during my project progress discussion. Their expertise and suggestions have greatly contributed to the refinement and improvement of this project.
I am equally grateful to my parents for their unwavering support, understanding, and encouragement throughout this journey. Their belief in my abilities and encouragement have been a constant source of motivation.