/COVID-19-chest-X-ray-image-classification

This project contains the production-ready Machine Learning solution for detecting and classifying Covid-19, Viral disease, and No disease in posteroanterior and anteroposterior views of chest x-ray

Primary LanguagePythonMIT LicenseMIT

COVID-19 Chest X-ray Image Classification

Typing SVG

Typing SVG

License Build Last Commit Code Size Repo Size License Issue Tracking Open Issues

Following are the main contents to follow, you can jump to any section:

Introduction

This project contains the production-ready Machine Learning solution for detecting and classifying Covid-19, Viral disease, and No disease in posteroanterior and anteroposterior views of chest x-ray

The objective is to minimize the healthcare operational cost and increase the effectiveness of the services by assisting the healthcare provider in accurate decision-making.

Class Activation Map

image

System Design

image

CICD on Circleci

image

DagsHub Data Pipeline

image
Complete Project Data Pipeline is available at DagsHub Data Pipeline

Tech Stack Used

  1. Python
  2. Data Version Control (DVC)
  3. Docker
  4. Machine learning algorithms
  5. MLFlow
  6. Cloud Computing
  7. SMTP Server

Infrastructure

  1. DockerHub
  2. Google Cloud Storage (GCS)
  3. Google Artifact Registry
  4. GitHub
  5. DaghsHub
  6. CircleCi
  7. Google App Engine

Run Locally

  • Ensure you have Python 3.7+ installed.

  • Create a new Python Conda environment:

conda create -n venv python=3.10  
conda activate venv 

OR

  • Create a new Python virtual environment with pip:
virtualenv venv
source venv/Scripts/activate

Install dependencies

  pip install -r requirements.txt

Clone the project

  git clone https://github.com/Hassi34/COVID-19-chest-X-ray-image-classification.git

Go to the project directory

  cd COVID-19-chest-X-ray-image-classification

Export the environment variable

# MLFlow
MLFLOW_TRACKING_URI=""
MLFLOW_TRACKING_USERNAME=""
MLFLOW_TRACKING_PASSWORD=""

#DockerHub 
DOCKERHUB_ACCESS_TOKEN=""
DOCKERHUB_USERNAME=""

#GCP
JSON_DCRYPT_KEY=""
GCLOUD_SERVICE_KEY=""
CLOUDSDK_CORE_PROJECT=""
GOOGLE_COMPUTE_REGION=""
GOOGLE_COMPUTE_ZONE=""

#Alerts
EMAIL_PASS=""
SERVER_EMAIL=""
EMAIL_RECIPIENTS=""

Run Pipeline

  dvc repro

REST API with Docker

To run the following command sequence, ensure you have the docker installed on your system.

Pull Image from Docker Hub

In case you have not already pulled the image from the Docker Hub, you can use the following command:

docker pull hassi34/covid-19-chest-x-ray-image-classification

Docker Container

Now once you have the docker image from the Docker Hub, you can now run the following commands to test and deploy the container to the web

  • Run a Docker Container
    Check all the available images:
docker images

Use the following command to run a docker container on your system:

docker run --name <CONTAINER NAME> -p 80:8080 -d <IMAGE NAME OR ID>

Check if the container is running:

docker ps

If the container is running, then the API services will be available on all the network interfaces
To access the API service, type localhost in the browser.

Conclusion

This project is production ready for similar use cases and will provide the automated and orchestrated production-ready pipeline.

Thank you for visiting 🙏 Your feedback would be highly appreciated 💯😊

If you find this project useful then don't forget to star the repo ✨⭐🤖

📃 License

MIT © Hasanain

Let's connect on LinkedIn