Giter VIP home page Giter VIP logo

covidaid's Introduction

CovidAID for Detection of COVID-19 from X-Ray Images

We present CovidAID (Covid AI Detector), a PyTorch (python3) based implementation, to identify COVID-19 cases from X-Ray images. The model takes as input a chest X-Ray image and outputs the probability scores for 4 classes (NORMAL, Bacterial Pneumonia, Viral Pneumonia and COVID-19).

It is based on CheXNet (and it's reimplementation by arnoweng).

Installation

Please refer to INSTALL.md for installation.

Dataset

CovidAID uses the covid-chestxray-dataset for COVID-19 X-Ray images and chest-xray-pneumonia dataset for data on Pneumonia and Normal lung X-Ray images.

Data Distribution

Chest X-Ray image distribution

Type Normal Bacterial Pneumonia Viral Pneumonia COVID-19 Total
Train 1341 2530 1337 115 5323
Val 8 8 8 10 34
Test 234 242 148 30 654

Chest X-Ray patient distribution

Type Normal Bacterial Pneumonia Viral Pneumonia COVID-19 Total
Train 1000 1353 1083 80 3516
Val 8 7 7 7 29
Test 202 77 126 19 424

Get started

Please refer our paper paper for description of architecture and method. Refer to GETTING_STARTED.md for detailed examples and abstract usage for training the models and running inference.

Results

We present the results in terms of both the per-class AUROC (Area under ROC curve) on the lines of CheXNet, as well as confusion matrix formed by treating the most confident class prediction as the final prediction. We obtain a mean AUROC of 0.9738 (4-class configuration).

3-Class Classification4-Class Classification
Pathology AUROC Sensitivity PPV
Normal Lung 0.9795 0.744 0.989
Bacterial Pneumonia 0.9814 0.995 0.868
COVID-19 0.9997 1.000 0.968
Pathology AUROC Sensitivity PPV
Normal Lung 0.9788 0.761 0.989
Bacterial Pneumonia 0.9798 0.961 0.881
Viral Pneumonia 0.9370 0.872 0.721
COVID-19 0.9994 1.000 0.938
ROC curve

ROC curve

ROC curve

Confusion Matrix

Normalized Confusion Matrix

Confusion Matrix

Visualizations

To demonstrate the results qualitatively, we generate saliency maps for our model’s predictions using RISE. The purpose of these visualizations was to have an additional check to rule out model over-fitting as well as to validate whether the regions of attention correspond to the right features from a radiologist’s perspective. Below are some of the saliency maps on COVID-19 positive X-rays.

Original 1

Original 2

Original 3

Visualization 1

Visualization 2

Visualization 3

Contributions

This work was collaboratively conducted by Arpan Mangal, Surya Kalia, Harish Rajgopal, Krithika Rangarajan, Vinay Namboodiri, Subhashis Banerjee and Chetan Arora.

Citation

@article{covidaid,
    title={CovidAID: COVID-19 Detection Using ChestX-Ray},
    author={Arpan Mangal and Surya Kalia and Harish Rajgopal and Krithika Rangarajan and Vinay Namboodiri and Subhashis Banerjee and Chetan Arora},
    year={2020},
    journal={arXiv 2004.09803},
    url={https://github.com/arpanmangal/CovidAID}
}

Contact

If you have any question, please file an issue or contact the author:

Arpan Mangal: [email protected]
Surya Kalia: [email protected]

TODO

  • Add support for torch>=1.0
  • Support for multi-GPU training

covidaid's People

Contributors

arpanmangal avatar suryakalia avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.