项目作者: kaushikjadhav01

项目描述 :
COVID-19 Detection Chest X-rays and CT scans: COVID-19 Detection based on Chest X-rays and CT Scans using four Transfer Learning algorithms: VGG16, ResNet50, InceptionV3, Xception. The models were trained for 500 epochs on around 1000 Chest X-rays and around 750 CT Scan images on Google Colab GPU. A Flask App was later developed wherein user can upload Chest X-rays or CT Scans and get the output of possibility of COVID infection.
高级语言: Jupyter Notebook
项目地址: git://github.com/kaushikjadhav01/COVID-19-Detection-Flask-App-based-on-Chest-X-rays-and-CT-Scans.git


DOI
License
Code Coverage
GitHub contributors
Documentation Status
GitHub release (latest by date)
GitHub issues
GitHub closed issues
GitHub Repo Size
GitHub last commit
GitHub language count
Commit Acitivity
Code Size
GitHub forks
GitHub stars
GitHub watchers

COVID-19-Detection-Flask-App-based-on-Chest-X-rays-and-CT-Scans

COVID-19 Detection based on Chest X-rays and CT Scans using four Transfer Learning algorithms: VGG16, ResNet50, InceptionV3, Xception. Live Demo: http://coviddetector.kajadhav.me



Table of Contents

  1. System Description and Functions

  2. Built With

  3. How to use Flask App

  4. How to use Jupyter Notebooks

  5. Authors

  6. Links


System Description and Functions

Live Demo: http://coviddetector.kajadhav.me

COVID-19 Detection based on Chest X-rays and CT Scans using four Transfer Learning algorithms: VGG16, ResNet50, InceptionV3, Xception. The models were trained for 500 epochs on around 1000 Chest X-rays and around 750 CT Scan images on Google Colab GPU. After training, the accuracies acheived for the model are as follows:


  1. InceptionV3 VGG16 ResNet50 Xception
    Chest X-rays 96% 94% 83% 92%

  2. CT Scans 93% 93% 80% 95%


A Flask App was later developed wherein user can upload Chest X-rays or CT Scans and get the output of possibility of COVID infection.

The article for the project was selected and published in Towards Data Science:

https://towardsdatascience.com/covid-19-detector-flask-app-based-on-chest-x-rays-and-ct-scans-using-deep-learning-a0db89e1ed2a

Dataset

The dataset for the project was gathered from two sources:

  1. Chest X-ray images (1000 images) were obtained from: https://github.com/ieee8023/covid-chestxray-dataset
  2. CT Scan images (750 images) were obtained from: https://github.com/UCSD-AI4H/COVID-CT/tree/master/Data-split
    80% of the images were used for training the models and the remaining 20% for testing

Evaluation and Results

Sample output of test images






Confusion Matrix for Chest X-rays: VGG, InceptionV3, ResNet50, Xception

Confusion Matrix for CT Scans: VGG, InceptionV3, ResNet50, Xception

Screenshots of Flask App

For more screenshots, please visit the screenshots folder of my repo, or click here

Technical Concepts

ImageNet is formally a project aimed at (manually) labeling and categorizing images into almost 22,000 separate object categories for the purpose of computer vision research.

More information can be found here




ResNet50 ResNet-50 is a convolutional neural network that is 50 layers deep. You can load a pretrained version of the network trained on more than a million images from the ImageNet database. The pretrained network can classify images into 1000 object categories, such as keyboard, mouse, pencil, and many animals. Unlike traditional sequential network architectures such as AlexNet, OverFeat, and VGG, ResNet is instead a form of “exotic architecture” that relies on micro-architecture modules.

More information can be found here




VGG16 is a convolutional neural network model proposed by K. Simonyan and A. Zisserman from the University of Oxford in the paper “Very Deep Convolutional Networks for Large-Scale Image Recognition”. The model achieves 92.7% top-5 test accuracy in ImageNet, which is a dataset of over 14 million images belonging to 1000 classes.

More information can be found here




Inception-V3 is a convolutional neural network that is 48 layers deep. You can load a pretrained version of the network trained on more than a million images from the ImageNet database. The pretrained network can classify images into 1000 object categories, such as keyboard, mouse, pencil, and many animals. As a result, the network has learned rich feature representations for a wide range of images. The network has an image input size of 299-by-299.

More information can be found here




Xception is a convolutional neural network that is 71 layers deep. You can load a pretrained version of the network trained on more than a million images from the ImageNet database. The pretrained network can classify images into 1000 object categories, such as keyboard, mouse, pencil, and many animals. As a result, the network has learned rich feature representations for a wide range of images. The network has an image input size of 299-by-299.

More information can be found here

Built With

Flask
Python
Javascript
html
css
bootstrap

How to use Flask App


  • Download repo, change to directory of repo, go to command prompt and run pip install -r requirements.txt

  • The dataset and models of the repository have been moved to Google Drive due to expiry of my Github LFS. So please download the zip file from here, extract it and replace the above data and models folder with these. Also make sure you have PYTHON V 3.8.5. Other versions might not be supported

  • On command prompt, run python app.py

  • Open your web browser and go to 127.0.0.1:5000 to access the Flask App

How to use Jupyter Notebooks


  • Download my repo and upload the repo folder to your Google Drive

  • Go to the jupyter notebooks folder in my repo, right click the notebook you want to open and select Open with Google Colab

  • Activate free Google Colab GPU for faster execution. Go to Runtime -> Change Runtime Type -> Hardware Accelerator -> GPU -> Save

Authors

Kaushik Jadhav