This repo hosts the data and code for the paper "Unsupervised Convolutional Filter Learning For COVID-19 Classification".
In this project, we pre-trained a Convolutional Autoencoder with publicly available chest X-ray images and used this pre-trained model to classify COVID-19 chest X-ray images using Transfer Learning.
- Dataset used for pre-training can be downloaded from here.
- Dataset used for COVID-19 classification can be downloaded from here. This is a multiclass dataset with COVID, NORMAL and PNEUMONIA classes.
- Here is a quick demo of our model (It'll take a minute to initially load the app because the Dyno has to start).
We implemented our entire pipeline with interactive Jupyter notebooks and to reproduce our work, here are the sequential notebooks to run:
- pretrain_cae/pretrain_cae.ipynb downloads the pretraining dataset and trains a Convolutional Autoencoder. The final model is saved as cae.h5 and will be used for next step. If you want to skip this step, you can download cae.h5 from here and place it in
pretrain_cae
folder. - covid_classification/cae_covid_classification.ipynb downloads the COVID-19 classification dataset and uses the encoder part of previous step for classification. The final classification model is saved as covid_classification.h5. This model can be downloaded from here if you want to skip the finetuning part and just want inference.
- We used deploy/* files to deploy this classification model to Heroku. A quick inference of our model can be made with this demo app - https://cae-covid-classification.herokuapp.com/ (It'll take a minute to initially load the app because the Dyno has to start).
For complete details of approach, kindly refer our paper.
If you extend or use this work, please cite the paper :
Mahalingam, S.G., Pandraju, S. (2021). Unsupervised convolutional filter learning for COVID-19 classification. Revue d'Intelligence Artificielle, Vol. 35, No. 5, pp. 425-429. https://doi.org/10.18280/ria.350509