/Covid-Chestxray-lambda-fuzzy

Official Python implementation of IEEE JBHI 2021 paper: "Choquet Integral and Coalition Game-based Ensemble of Deep Learning Models for COVID-19 Screening from Chest X-ray Images"

Primary LanguagePythonMIT LicenseMIT

Covid-Chestxray-lambda-fuzzy

Our solution for Novel COVID-19 Chestxray Repository and COVIDx [PAPER]

PWC PWC

In this project, we have applied Choquet integral for ensemble of deep CNN models and propose a novel method for the evaluation of fuzzy measures using Coalition Game Theory, Information Theory and Lambda fuzzy approximation. Three different sets of Fuzzy Measures are calculated using three different weighting schemes along with information theory and coalition game theory. Using these three sets of fuzzy measures three Choquet Integrals are calculated and their decisions are finally combined.To the best of our knowledge,our experimental results outperform many state-of-the-art methods.

Table of Contents

Team Members

  • Subhankar Sen
  • Pratik Bhowal Github
  • Prof. Jin Hee Yoon, faculty of the Dept. of Mathematics and Statistics at Sejong University, Seoul, South Korea Google Scholar
  • Prof. Zong Woo Geem, faculty of College of IT Convergence at Gachon University, South Korea Google Scholar
  • Prof. Ram Sarkar, Professor at Dept. of Computer Science Engineering, Jadavpur Univeristy Kolkata, India Google Scholar

Journal Paper

If you find this work useful for your publications, please consider citing:

@article{bhowal2021choquet,
  title={Choquet Integral and Coalition Game-based Ensemble of Deep Learning Models for COVID-19 Screening from Chest X-ray Images},
  author={Bhowal, Pratik and Sen, Subhankar and Yoon, Jin Hee and Geem, Zong Woo and Sarkar, Ram},
  journal={IEEE Journal of Biomedical and Health Informatics},
  year={2021},
  publisher={IEEE}
}

Installation

  1. Make sure you have python3 setup on your system
  2. Clone the repo
git clone https://github.com/jagra26/Covid-Chestxray-lambda-fuzzy.git
  1. Install requirements
pip install -r requirements.txt

Dependencies

Our project is built using Python 3.8.6 and the following packages

numpy==1.19.5
pandas==1.1.5
matplotlib==3.2.2
seaborn==2.5.0
opencv-python==4.2.0.32
tensorflow==2.5.1

Directory Structure

+-- COVID_Xray
|   +-- covid xray dataset
|   |   +-- training set
|   |   +-- test set
|   +-- extracted features
|   +-- labels
|   |  +-- train_labels.npy
|   |  +-- val_labels.npy
|   |  +-- test_labels.npy
|   +-- augment.py
|   +-- deep CNN features (feature extraction scripts)
|   |  +-- incep_extract.py
|   |  +-- xcep_extract.py
|   |  +-- vgg16_extract.py
|   +-- classifier.py
|   +-- lambda_fuzzy_script.py
|   +-- driver.ipynb

Please note that the image labels are generated and stored in the labels folder on execution of incep_extract.py script.

Method Overview

Dataset

We have used the Novel COVID-19 Chestxray Repository for evaluation of our proposed methodology. We have also used our code to show our method performance over the popular COVIDx dataset. Information about the Novel COVID-19 Chestxray Database and its parent image repositories is provided in Table 1

Table 1: Dataset Description

Dataset COVID-19 Pneumonia Normal
COVID Chestxray set 521 239 218
COVID-19 Radiography Database 219 1345 1341
Actualmed COVID chestxray dataset 12 0 80
Total 752 1584 1639

Results

Table 2: Results of 3-class classification

Classifier/Ensemble Validation Accuracy(in %) Test Accuracy(in %) Precision(Avg) Recall(Avg) AUC
VGG16 96.71 91.22 0.92 0.92 0.92
Xception 97.02 92.98 0.93 0.93 0.92
InceptionV3 97.49 93.48 0.94 0.94 0.94
Choquet Integral (Weight 1) 97.74 94.23 0.94 0.94 -
Choquet Integral (Weight 2) 98.24 94.23 0.94 0.94 -
Choquet Integral (Weight 3) 97.49 93.73 0.95 0.95 -
Ensemble 98.99 95.49 0.96 0.96 0.97

Fig 2:ROC of the 3 DCNN models and proposed ensemble method

Fig 3:Multi-labelled ROC curve of the proposed ensemble method

Fig 4:Confusion Matrix of the proposed method

Contact

In case of doubt or further collaboration, feel free to email us ! 😊