Tuberculosis (TB) is one of the leading causes of death worldwide. Early detection is crucial for successful treatment. This project uses deep learning to classify chest X-ray images to detect signs of tuberculosis. With an accuracy of 93.5%, this project demonstrates an efficient model for the automatic detection of TB from medical images.
The Tuberculosis Vision Scan project leverages the VGG16 deep learning architecture to classify X-ray images as either TB-positive or TB-negative. The project includes a complete end-to-end pipeline, from data preprocessing and model training to deployment on AWS with a robust MLOps setup.
-
Model Architecture: Implemented VGG16 for image classification, fine-tuned for tuberculosis detection, achieving an accuracy of 93.5%.
-
Model Tracking & Logging: Utilized MLflow and DagsHub for tracking experiments, logging models, and managing version control, ensuring efficient monitoring and reproducibility.
-
Pipeline Management: Employed DVC (Data Version Control) for orchestrating data versioning and lightweight experiment tracking, facilitating smooth data management.
-
CI/CD Pipeline: Automated deployment using AWS EC2, ECR, and GitHub Actions, ensuring smooth model updates and continuous integration with Docker containers.
-
Web Development: Developed a Flask web application for real-time interaction with the model, allowing users to upload medical images and receive TB detection results in a user-friendly interface.
-
Clone the repository:
git clone https://github.com/VivekShinde7/Tuberculosis-Vision-Scan.git
-
Navigate to the project directory:
cd Tuberculosis-Vision-Scan
-
Install the required dependencies:
pip install -r requirements.txt
-
Setup MLflow and DVC for experiment tracking and versioning.
- update config.yaml
- update secrets.yaml [optional]
- update params.yaml
- update the entity
- update the configuration manager in src config
- update the components
- update the pipeline
- update the main.py
- update the dvc.yaml
- Improve model accuracy by experimenting with other deep learning architectures (e.g., ResNet, EfficientNet).
- Implement a more robust cross-validation scheme to evaluate the model's generalizability.
- Integrate explainability tools like SHAP or LIME to visualize model decisions.
Contributions are welcome! Feel free to open issues or submit pull requests.