Home

Awesome

COVID-19 Detection Neural Network (COVNet)

This is a PyTorch implementation of the paper "Artificial Intelligence Distinguishes COVID-19 from Community Acquired Pneumonia on Chest CT". It supports training, validation and testing for COVNet.

<img src="assets/overview.png" width="600">

Updates & Notices

Citation

If you find this code is useful for your research, please consider citing:

@article{li2020artificial,
  title={Artificial Intelligence Distinguishes COVID-19 from Community Acquired Pneumonia on Chest CT},
  author={Li, Lin and Qin, Lixin and Xu, Zeguo and Yin, Youbing and Wang, Xin and Kong, Bin and Bai, Junjie and Lu, Yi and Fang, Zhenghan and Song, Qi and Cao, Kunlin and others},
  journal={Radiology},
  year={2020}
}

Setup

Prerequisites

Prepare data

Preprocess the data according to the Appendix E1 section of the paper and organize them as the following. A example of train.csv and val.csv are also provided.

data
├── caseid1
|   ├── masked_ct.nii
|   └── mask.nii.gz
├── caseid2
|   ├── masked_ct.nii
|   └── mask.nii.gz
├── caseid3
|   ├── masked_ct.nii
|   └── mask.nii.gz
├── caseid4
|   ├── masked_ct.nii
|   └── mask.nii.gz
├── train.csv
└── val.csv

COVNet

<img src="assets/demo.png" width="600">

Training

Training a COVNet with default arguments. Model checkpoints and tensorboard logs are written out to a unique directory created by default within experiments/models and experiments/logs respectively after starting training.

python main.py

Validation and Testing

You can run validation and testing on the checkpointed best model by:

python test.py