| Literature DB >> 35125606 |
Hossam Magdy Balaha1, Eman M El-Gendy1, Mahmoud M Saafan1.
Abstract
The sudden appearance of COVID-19 has put the world in a serious situation. Due to the rapid spread of the virus and the increase in the number of infected patients and deaths, COVID-19 was declared a pandemic. This pandemic has its destructive effect not only on humans but also on the economy. Despite the development and availability of different vaccines for COVID-19, scientists still warn the citizens of new severe waves of the virus, and as a result, fast diagnosis of COVID-19 is a critical issue. Chest imaging proved to be a powerful tool in the early detection of COVID-19. This study introduces an entire framework for the early detection and early prognosis of COVID-19 severity in the diagnosed patients using laboratory test results. It consists of two phases (1) Early Diagnostic Phase (EDP) and (2) Early Prognostic Phase (EPP). In EDP, COVID-19 patients are diagnosed using CT chest images. In the current study, 5, 159 COVID-19 and 10, 376 normal computed tomography (CT) images of Egyptians were used as a dataset to train 7 different convolutional neural networks using transfer learning. Data augmentation normal techniques and generative adversarial networks (GANs), CycleGAN and CCGAN, were used to increase the images in the dataset to avoid overfitting issues. 28 experiments were applied and multiple performance metrics were captured. Classification with no augmentation yielded 99.61 % accuracy by EfficientNetB7 architecture. By applying CycleGAN and CC-GAN Augmentation, the maximum reported accuracies were 99.57 % and 99.14 % by MobileNetV1 and VGG-16 architectures respectively. In EPP, the prognosis of the severity of COVID-19 in patients is early determined using laboratory test results. In this study, 25 different classification techniques were applied and from the different results, the highest accuracies were 98.70 % and 97.40 % reported by the Ensemble Bagged Trees and Tree (Fine, Medium, and Coarse) techniques respectively.Entities:
Keywords: COVID-19; Computed tomography (CT); Convolutional neural network (CNN); Data augmentation; Generative adversarial networks (GAN); Image classification; Machine learning (ML); Transfer learning (TL)
Year: 2022 PMID: 35125606 PMCID: PMC8799451 DOI: 10.1007/s10462-021-10127-8
Source DB: PubMed Journal: Artif Intell Rev ISSN: 0269-2821 Impact factor: 9.588
Fig. 1Graphical summarization of the working mechanism of the suggested framework
Fig. 2The current study summarization of the different sections and subsections
Summary of different researches on COVID-19 using Deep Learning
| Reference | Approach | Dataset size | CT or X-rays | Best accuracy |
|---|---|---|---|---|
|
Apostolopoulos and Mpesiana ( | Convolutional neural network | 1, 427 | X-ray | |
|
Ozturk ( | DarkCovidNet | 127 | X-ray | |
|
Brunese et al. ( | Deep Learning | 6, 523 | X-ray | |
|
Khan et al. ( | CoroNet CNN Model | 1, 300 | X-ray | |
|
Ardakani et al. ( | AlexNet, VGG-16, VGG-19, SqueezeNet, GoogleNet, MobileNet-V2, ResNet-18, ResNet-50, ResNet-101, and Xception | 1, 020 | CT | |
|
Zhang ( | ResNet-18 | 361, 221 | CT | |
|
Hu ( | Weakly Supervised CNN | 150 | CT | |
|
Karar et al. ( | Cascaded Deep Learning Classifiers + CAD Systems | 306 | X-ray | |
|
Nour et al. ( | Intelligence Diagnosis Model CNNs | 2, 905 | X-ray | |
|
Waheed et al. ( | CovidGAN | 1, 124 | X-ray | |
|
Sakib et al. ( | DL-CRC Framework | 33, 291 | X-ray | |
|
Rajaraman ( | VGG-16, VGG-19, and Inception-V3 | 16, 700 | X-ray |
Fig. 3COVID-19 detection via a convolutional neural network
Fig. 4Graphical summarization of the suggested framework
Fig. 5CT sample images of Egyptian patients with COVID-19
Fig. 6Image pre-processing phase
Fig. 7A sample image before and after pre-processing
Fig. 8Different augmentation methods: a original image, b reduce brightness, c increase brightness, d cropping, e rotation , f rotation , g rotation , h shearing, i zoom in, j zoom out, k flip vertical, and l flip horizontal
Architecture of the used CycleGAN discriminator
| # | Architecture layer | Output shape |
|---|---|---|
| 1 | Input Layer | (96, 96, 3) |
| 2 | Downsampling Block | (48, 48, 64) |
| 3 | Downsampling Block | (24, 24, 128) |
| 4 | Downsampling Block | (12, 12, 256) |
| 5 | Downsampling Block | (6, 6, 512) |
| 6 | Convolutional Layer | (6, 6, 1) |
Architecture of the used CycleGAN generator
| # | Architecture layer | Output shape |
|---|---|---|
| 1 | Input Layer | (96, 96, 3) |
| 2 | Downsampling Block | (48, 48, 32) |
| 3 | Downsampling Block | (24, 24, 64) |
| 4 | Downsampling Block | (12, 12, 128) |
| 5 | Downsampling Block | (6, 6, 256) |
| 6 | Upsampling Block | (12, 12, 256) |
| 7 | Upsampling Block | (24, 24, 128) |
| 8 | Upsampling Block | (48, 48, 64) |
| 9 | Upsampling Layer | (96, 96, 64) |
| 10 | Convolutional Layer | (96, 96, 3) |
Architecture of the Used CC-GAN discriminator
| # | Architecture layer | Output shape |
|---|---|---|
| 1 | Input Layer | (96, 96, 3) |
| 2 | Sequential Layer | (12, 12, 256) |
| 3 | Flatten Layer | (36864) |
| 4 | Convolutional Layer | (12, 12, 1) |
| 5 | Dense Layer | (3) |
Architecture of the Used CC-GAN generator
| # | Architecture layer | Output shape |
|---|---|---|
| 1 | Input Layer | (96, 96, 3) |
| 2 | Downsampling Block | (48, 48, 32) |
| 3 | Downsampling Block | (24, 24, 64) |
| 4 | Downsampling Block | (12, 12, 128) |
| 5 | Downsampling Block | (6, 6, 256) |
| 6 | Upsampling Block | (12, 12, 256) |
| 7 | Upsampling Block | (24, 24, 128) |
| 8 | Upsampling Block | (48, 48, 64) |
| 9 | Upsampling Layer | (96, 96, 64) |
| 10 | Convolutional Layer | (96, 96, 3) |
Fig. 9Two samples after training the CycleGAN on the presented dataset
Fig. 10Six samples after training the CC-GAN on the presented dataset
A brief description of the different prognostic markers
| Marker | Description | Unit | Indication |
|---|---|---|---|
| Gender | Male or Female | – | 0: Female and 1: Male |
| Age | Age of person | Years | – |
| Admission Time | Determine the time between the disease infection and admission to the hospital | Days | – |
| INR | International normalized ratio test is a measure of the time for the blood to clot | – | – |
| PT | Prothrombin time test evaluates blood clotting | Seconds | – |
| Fibrinogen | Fibrinogen is a protein that helps stop bleeding by forming blood clots. This test determines the amount of fibrinogen in the blood | mg/L | – |
| Lung Tissue Affected | Determine the percentage of the lung tissue affected by pneumonia from Chest CT images | % | – |
| Platalet Count | Platelets are useful in stop bleeding. This test determines the average amount of platelet in the blood | – | |
| ICU Transfer Time | Determine the time between admission to the hospital and transfer to the ICU | Days | – |
| CRP | C-reactive protein test is used to detect the inflammation | mg/L | – |
| Artificial Ventilation | Determine whether the patient needed an artificial lung ventilation after transmission to the ICU or not | – | 0: No and 1: Yes |
| RT-PCR Testing Result | Determine whether the person has COVID-19 infection or not | – | 0: Negative and 1: Positive |
A sample of the different prognostic markers dataset
| Gender | Age | AT* | INR | PT | Fibrinogen | LTA* | LTA + Week* | Platalet* | Platalet + Week* | ICU TT* | CRP | CRP + Week* | AV* | RT-PCR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 57 | 5 | 1.13 | 13.8 | 1.24 | 40 | 80 | 141 | 376 | 2 | 132 | 31 | 0 | 0 |
| 0 | 45 | 10 | 1.22 | 15.9 | NA | 71 | 88 | 23 | 111 | 1 | 155 | 136 | 1 | 1 |
| 1 | 42 | 11 | 1.26 | 13.7 | 5.2 | 51 | 92 | 161 | NA | 3 | 165 | 192 | 0 | 0 |
| 1 | 75 | 7 | 1.32 | 14.3 | 5.2 | 30 | 71 | 356 | 142 | 3 | 182 | 207 | 1 | 1 |
| 0 | 57 | 11 | 1.11 | NA | 5.3 | 55 | 92 | 267 | 31 | 3 | 168 | 285 | 1 | 1 |
* NA: Not Applicable, AT: Admission Time, LTA: Lung Tissue Affected, LTA + Week: Lung Tissue Affected after a Week, Platelet: Platelet Count, Platelet + Week: Platelet Count after a Week, ICU TT: ICU Transfer Time, CRP + Week: CRP after a Week, and AV: Artificial Ventilation
CNN and TL experiments’ configurations summarization
| Configuration | Value |
|---|---|
| Dataset Type | CT Images |
| Dataset Size | 15, 535 (5, 159 COVID and 10, 376 Non-COVID) |
| Dataset Split Ratio | |
| Dataset Pre-processing | Figure |
| Data Augmentation | Normal and GANs |
| Pre-trained CNN Models | EfficientNetB7, InceptionV3, ResNet-50, VGG-16, VGG-19, Xception, and MobileNetV1 |
| Pre-trained Weights | ImageNet |
| Optimizer | Adam ( |
| Learning Rate | 0.0002 |
| Number of Epochs | 128 |
| Batch Size | 32 |
| Performance Metrics | Accuracy, F1-score, Precision, Recall, and AUC |
| Programming Language | Python |
| Training Environment | Toshiba Qosmio X70-A and Google Colab |
EfficientNetB7 architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No augmentation | 0.022 | 99.61% | 0.998 | 99.62% | 99.62% | 0.996 | 0.007 | 99.88% | 0.999 | 99.88% | 99.88% | 0.999 |
| Normal augmentation | 0.657 | 67.78% | 0.657 | 66.89% | 66.89% | 0.669 | 0.666 | 66.96% | 0.650 | 66.97% | 66.97% | 0.670 |
| CC-GAN augmentation | 0.077 | 99.02% | 0.994 | 99.03% | 99.03% | 0.990 | 0.018 | 99.76% | 0.999 | 99.76% | 99.76% | 0.998 |
| CycleGAN augmentation | 0.042 | 99.10% | 0.999 | 99.11% | 99.11% | 0.991 | 0.015 | 99.77% | 0.999 | 99.77% | 99.77% | 0.998 |
Fig. 11EfficientNetB7 results comparison using the testing subset
InceptionV3 architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.027 | 99.27% | 0.999 | 99.28% | 99.28% | 0.993 | 0.008 | 99.81% | 1.0 | 99.81% | 99.81% | 0.998 |
| Normal Augmentation | 0.660 | 68.38% | 0.653 | 67.48% | 67.48% | 0.675 | 0.652 | 67.57% | 0.653 | 67.58% | 67.58% | 0.676 |
| CC-GAN Augmentation | 0.038 | 98.84% | 0.999 | 98.86% | 98.86% | 0.989 | 0.010 | 99.71% | 1.0 | 99.71% | 99.71% | 0.997 |
| CycleGAN Augmentation | 0.038 | 98.93% | 0.998 | 98.94% | 98.94% | 0.989 | 0.010 | 99.75% | 1.0 | 99.75% | 99.75% | 0.997 |
Fig. 12InceptionV3 results comparison using the testing subset
ResNet50 architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.036 | 99.10% | 0.998 | 99.11% | 99.11% | 0.991 | 0.010 | 99.75% | 0.999 | 99.75% | 99.75% | 0.997 |
| Normal Augmentation | 0.655 | 66.20% | 0.663 | 65.33% | 65.33% | 0.653 | 0.653 | 66.84% | 0.667 | 66.85% | 66.85% | 0.669 |
| CC-GAN Augmentation | 0.057 | 98.97% | 0.996 | 98.99% | 98.99% | 0.990 | 0.017 | 99.71% | 0.999 | 99.71% | 99.71% | 0.997 |
| CycleGAN Augmentation | 0.023 | 99.32% | 0.998 | 99.32% | 99.32% | 0.993 | 0.010 | 99.69% | 0.999 | 99.69% | 99.69% | 0.997 |
Fig. 13ResNet50 results comparison using the testing subset
VGG-16 architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.048 | 99.10% | 0.997 | 99.11% | 99.11% | 0.991 | 0.013 | 99.78% | 0.999 | 99.78% | 99.78% | 0.998 |
| Normal Augmentation | 0.630 | 67.57% | 0.679 | 66.68% | 66.68% | 0.667 | 0.637 | 66.71% | 0.671 | 66.72% | 66.72% | 0.667 |
| CC-GAN Augmentation | 0.089 | 99.14% | 0.994 | 99.16% | 99.16% | 0.992 | 0.027 | 99.76% | 0.999 | 99.76% | 99.76% | 0.998 |
| CycleGAN Augmentation | 0.067 | 98.76% | 0.995 | 98.78% | 98.78% | 0.988 | 0.016 | 99.70% | 0.999 | 99.70% | 99.70% | 0.997 |
Fig. 14VGG-16 results comparison using the testing subset
VGG-19 architecture performance metrics results
| Approach | Testing Subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.071 | 98.97% | 0.995 | 98.99% | 98.99% | 0.990 | 0.018 | 99.69% | 0.999 | 99.69% | 99.69% | 0.997 |
| Normal Augmentation | 0.630 | 67.57% | 0.676 | 66.68% | 66.68% | 0.667 | 0.636 | 66.71% | 0.667 | 66.72% | 66.72% | 0.667 |
| CC-GAN Augmentation | 0.072 | 98.55% | 0.995 | 98.56% | 98.56% | 0.986 | 0.022 | 99.47% | 0.999 | 99.47% | 99.47% | 0.995 |
| CycleGAN Augmentation | 0.053 | 99.32% | 0.996 | 99.32% | 99.32% | 0.993 | 0.017 | 99.79% | 0.999 | 99.79% | 99.79% | 0.998 |
Fig. 15VGG-19 results comparison using the testing subset
Xception architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.027 | 99.32% | 0.999 | 99.32% | 99.32% | 0.993 | 0.008 | 99.81% | 1.0 | 99.81% | 99.81% | 0.998 |
| Normal Augmentation | 0.841 | 67.57% | 0.670 | 66.68% | 66.68% | 0.667 | 0.867 | 66.71% | 0.656 | 66.72% | 66.72% | 0.667 |
| CC-GAN Augmentation | 0.069 | 99.19% | 0.995 | 99.20% | 99.20% | 0.992 | 0.017 | 99.81% | 0.999 | 99.81% | 99.81% | 0.998 |
| CycleGAN Augmentation | 0.038 | 99.27% | 0.996 | 99.28% | 99.28% | 0.993 | 0.010 | 99.82% | 0.999 | 99.82% | 99.82% | 0.998 |
Fig. 16Xception results comparison using the testing subset
MobileNetV1 architecture performance metrics results
| Approach | Testing subset | All dataset | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loss | Accuracy | AUC | Recall | Precision | F1 | Loss | Accuracy | AUC | Recall | Precision | F1 | |
| No Augmentation | 0.031 | 99.40% | 0.998 | 99.41% | 99.41% | 0.994 | 0.006 | 99.88% | 0.999 | 99.88% | 99.88% | 0.999 |
| Normal Augmentation | 0.620 | 70.05% | 0.740 | 69.13% | 69.13% | 0.691 | 0.618 | 70.19% | 0.739 | 70.20% | 70.20% | 0.702 |
| CC-GAN Augmentation | 0.050 | 99.02% | 0.996 | 99.03% | 99.03% | 0.990 | 0.015 | 99.70% | 0.999 | 99.70% | 99.70% | 0.997 |
| CycleGAN Augmentation | 0.018 | 99.57% | 0.999 | 99.58% | 99.58% | 0.996 | 0.008 | 99.83% | 0.999 | 99.83% | 99.83% | 0.998 |
Fig. 17MobileNetV1 results comparison using the testing subset
Highest testing accuracies from the different experiments
| Architecture | Approach (experiment) | Testing accuracy (%) |
|---|---|---|
| EfficientNetB7 | No Augmentation | |
| InceptionV3 | No Augmentation | |
| ResNet50 | CycleGAN Augmentation | |
| VGG-16 | CC-GAN Augmentation | |
| VGG-19 | CycleGAN Augmentation | |
| Xception | No Augmentation | |
| MobileNetV1 | CycleGAN Augmentation |
ML experiments’ configurations summarization
| Configuration | Value |
|---|---|
| Dataset Type | Numeric |
| Dataset Size | 231 |
| Dataset Pre-processing | Standardization Method |
| ML Models | Trees (Fine Tree, Medium Tree, and Coarse Tree); Discriminant (Linear Discriminant and Quadratic Discriminant); Regression (Logistic Regression); Naïve Bayes (Gaussian Naïve Bayes and Kernel Naïve Bayes); SVM (Linear SVM, Quadratic SVM, Cubic SVM, Fine Gaussian SVM, Medium Gaussian SVM, and Coarse Gaussian SVM); KNN (Fine KNN, Medium KNN, Coarse KNN, Cosine KNN, Cubic KNN, and Weighted KNN); and Ensemble (Ensemble Boosted Trees, Ensemble Bagged Trees, Ensemble Subspace Discriminant, Ensemble Subspace KNN, and Ensemble RUSBoosted Trees) |
| Number of Features | 15 |
| Cross-Validation Folds | 50 |
| Programming Language | MATLAB |
| Performance Metrics | Accuracy |
| Training Environment | Toshiba Qosmio X70-A |
ML algorithms experiment results with standardization
| ML algorithm | Accuracy |
|---|---|
| Fine Tree | |
| Medium Tree | |
| Coarse Tree | |
| Linear Discriminant | |
| Quadratic Discriminant | NA |
| Logistic Regression | |
| Gaussian Naïve Bayes | NA |
| Kernel Naïve Bayes | |
| Linear SVM | |
| Quadratic SVM | |
| Cubic SVM | |
| Fine Gaussian SVM | |
| Medium Gaussian SVM | |
| Coarse Gaussian SVM | |
| Fine KNN | |
| Medium KNN | |
| Coarse KNN | |
| Cosine KNN | |
| Cubic KNN | |
| Weighted KNN | |
| Ensemble Boosted Trees | |
| Ensemble Bagged Trees | |
| Ensemble Subspace Discriminant | |
| Ensemble Subspace KNN | |
| Ensemble RUSBoosted Trees |
ML algorithms experiment results without standardization
| ML algorithm | Accuracy |
|---|---|
| Fine Tree | |
| Medium Tree | |
| Coarse Tree | |
| Linear Discriminant | |
| Quadratic Discriminant | NA |
| Logistic Regression | |
| Gaussian Naïve Bayes | NA |
| Kernel Naïve Bayes | |
| Linear SVM | |
| Quadratic SVM | |
| Cubic SVM | |
| Fine Gaussian SVM | |
| Medium Gaussian SVM | |
| Coarse Gaussian SVM | |
| Fine KNN | |
| Medium KNN | |
| Coarse KNN | |
| Cosine KNN | |
| Cubic KNN | |
| Weighted KNN | |
| Ensemble Boosted Trees | |
| Ensemble Bagged Trees | |
| Ensemble Subspace Discriminant | |
| Ensemble Subspace KNN | |
| Ensemble RUSBoosted Trees |
Fig. 18Graphical comparison bettwen the ML algorithms
Comparison with state-of-the-art studies: tabular representation
| Reference | Accuracy |
|---|---|
|
Apostolopoulos and Mpesiana ( | |
|
Ozturk ( | |
|
Brunese et al. ( | |
|
Khan et al. ( | |
|
Ardakani et al. ( | |
|
Zhang ( | |
|
Hu ( | |
|
Karar et al. ( | |
|
Nour et al. ( | |
|
Waheed et al. ( | |
|
Sakib et al. ( | |
|
Rajaraman ( | |
| Current Study |
Fig. 19Comparison with state-of-the-art studies: graphical representation
Table of symbols
| Symbol | Meaning |
|---|---|
| The number of features | |
| The dimensional pattern space | |
| The number of categories (i.e. classes) | |
| A class at index | |
| A class region at index | |
| An unknown pattern | |
| A set of discriminant functions | |
| A discriminant function at | |
| A class at index | |
| The posterior probability of finding | |
| The probability that | |
| The priori of a class region | |
| The evidence of | |
| The number of samples in a class | |
| The total number of samples in the sample space | |
| A measure of dependency on variables or the predicted output value | |
| The variables or inputs | |
| An index | |
| An index | |
| The intercept or bias | |
| The slope of the logistic regression model or the coefficient value at index | |
| The number of variables or inputs | |
| The probability of the variables | |
| The number of features (i.e., parameters) in | |
| An index | |
| The mean value | |
| The standard deviation value | |
| A smoothing parameter optimized on the training dataset | |
| The value of the feature in the | |
| The class number | |
| The weight vector | |
| The bias | |
| A parameter | |
| The hinge loss | |
| TP | True positive |
| TN | True negative |
| FP | False positive |
| FN | False negative |