| Literature DB >> 34149118 |
Saman Fouladi1, M J Ebadi2, Ali A Safaei1, Mohd Yazid Bajuri3, Ali Ahmadian4.
Abstract
The novel 2019 coronavirus disease (COVID-19) has infected over 141 million people worldwide since April 20, 2021. More than 200 countries around the world have been affected by the coronavirus pandemic. Screening for COVID-19, we use fast and inexpensive images from computed tomography (CT) scans. In this paper, ResNet-50, VGG-16, convolutional neural network (CNN), convolutional auto-encoder neural network (CAENN), and machine learning (ML) methods are proposed for classifying Chest CT Images of COVID-19. The dataset consists of 1252 CT scans that are positive and 1230 CT scans that are negative for COVID-19 virus. The proposed models have priority over the other models that there is no need of pre-trained networks and data augmentation for them. The classification accuracies of ResNet-50, VGG-16, CNN, and CAENN were obtained 92.24%, 94.07%, 93.84%, and 93.04% respectively. Among ML classifiers, the nearest neighbor (NN) had the highest performance with an accuracy of 94%.Entities:
Keywords: COVID-19; Computed tomography; Convolutional auto-encoder neural network (CAENN); Convolutional neural networks (CNN); ResNet-50; VGG-16
Year: 2021 PMID: 34149118 PMCID: PMC8205564 DOI: 10.1016/j.comcom.2021.06.011
Source DB: PubMed Journal: Comput Commun ISSN: 0140-3664 Impact factor: 3.167
Some new related studies.
| Reference | Method | Dataset | Results | |
|---|---|---|---|---|
| The pre-trained Xception network, the pre-trained ResNet50V2 network and a proposed pre-trained CNN | COVID-19: 48260 | Accuracy (Acc.) | 98.49% | |
| Acc. | 96.55% | |||
| Sixteen pre-trained CNNs such as: SqueezeNet, | COVID-19: 216 | Acc. | 95.97 | |
| Sensitivity (Sens.) | 98.99 | |||
| Specificity (Spec.) | 96.67 | |||
| F1-score | 0.96 | |||
| AlexNet, VGG-COVID-19: ResNet-50, GoogLeNet, and 334 Net (VGG19Net and VGG16Net) are among the CNN versions. | COVID-19: 334 | Acc. | 0.79 | |
| Prec. | 0.8475 | |||
| Sens. | 0.95 | |||
| Spec. | 0.92 | |||
| Several pre-trained CNN such as: VGG-19, | COVID-19: 349 | Acc. | 0.945 | |
| Pre-trained CNNs such as AlexNet, GoogleNet, ResNet-18, ShuffleNet | COVID-19: 347 | Acc. | 0.7829 | |
| Prec. | 0.81 | |||
| Sens. | 0.769 | |||
| Spec. | 0.799 | |||
| F1-score | 0.789 | |||
| The ResNet-50 neural network | COVID-19: 684 Non-COVID: 254 | Acc. | 98% | |
| The VGG19 neural network | COVID-19: 349 | Prec. | 84% | |
| Sens. | 81% | |||
| F1-score | 83% | |||
| Pre-trained DenseNet201 based on DTL | COVID-19: 1252 | Acc. | 96% | |
| Prec. | 96% | |||
| Sens. | 96% | |||
| F1-score | 96% | |||
| Fine-tuned inception-v3 network with multiple-way data augmentation | Total data after Augmentation: 3,724 | Acc. | 0.995 | |
| Prec. | 0.992 | |||
| Sens. | 0.998 | |||
| Spec. | 0.982 | |||
| F1-score | 0.995 | |||
| COVID-19 detection using a 3D CNN | COVID-19: 540 | Acc. | 0.901 | |
| Sens. | 0.907 | |||
| Spec. | 0.911 | |||
| The UNet++ neural network | Total data: 35355 images | Acc. | 92.59% | |
| Sens. | 100% | |||
| Spec. | 81.82% | |||
| The GoogleNet Inception v3 | Total data: 1065 images | Acc. | 89.5% | |
| Sens. | 88% | |||
| Spec. | 87% | |||
| FGCNet is the best model of the eight | COVID-19: 113 | Acc. | 0.9714 | |
| Prec. | 0.9661 | |||
| Sens. | 0.9771 | |||
| Spec. | 0.9656 | |||
| The network was made up of two branches, where the upper branch a lightweight design having four different layers of convolution, and another branch is known lower which was made up of blocks having denser connections to represent the learning. | COVID-19: 349 | Acc. | 0.9083 | |
| Prec. | 0.9575 | |||
| Recall (Rec.) | 0.8589 | |||
| F1-score | 0.9087 | |||
| CNN | COVID-19: 68 | Acc. | 0.9250 | |
| Sens. | 0.9025 | |||
| F1-score | 0.985 | |||
Fig. 1Sample of (a) COVID-19 and (b) Non-COVID CT scans.
Fig. 2CNN operator with kernel size 3 and stride of 1.
Fig. 3Max pooling with a single pooled feature.
Fig. 4Fully Connected layer.
Fig. 5The architecture of the ResNet-50 network.
Fig. 6The architecture of the VGG-16.
Fig. 7The architecture of the proposed CNN.
Parameters used in the convolution network for classification in 2 classes.
| Layer (type) | Output shape | Param # |
|---|---|---|
| conv2d_1 (Conv2D) | (None, 100, 173, 128) | 1664 |
| batch_normalization_1 (Batch) | (None, 100, 173, 128) | 512 |
| conv2d_2 (Conv2D) | (None, 100, 173, 128) | 65664 |
| batch_normalization_2 (Batch) | (None, 100, 173, 128) | 512 |
| max_pooling2d_1 (MaxPooling2D) | (None, 50, 86, 128) | 0 |
| conv2d_3 (Conv2D) | (None, 50, 86, 64) | 32832 |
| batch_normalization_3 (Batch) | (None, 50, 86, 64) | 256 |
| conv2d_4 (Conv2D) | (None, 50, 86, 64) | 16448 |
| batch_normalization_4 (Batch) | (None, 50, 86, 64) | 256 |
| max_pooling2d_2 (MaxPooling2D) | (None, 25, 43, 64) | 0 |
| conv2d_5 (Conv2D) | (None, 25, 43, 32) | 8224 |
| batch_normalization_5 (Batch) | (None, 25, 43, 32) | 128 |
| conv2d_6 (Conv2D) | (None, 25, 43, 32) | 4128 |
| batch_normalization_6 (Batch) | (None, 25, 43, 32) | 128 |
| max_pooling2d_3 (MaxPooling2D) | (None, 12, 21, 32) | 0 |
| conv2d_7 (Conv2D) | (None, 12, 21, 16) | 2064 |
| batch_normalization_7 (Batch) | (None, 12, 21, 16) | 64 |
| conv2d_8 (Conv2D) | (None, 12, 21, 16) | 1040 |
| batch_normalization_8 (Batch) | (None, 12, 21, 16) | 64 |
| max_pooling2d_4 (MaxPooling2D) | (None, 6, 10, 16) | 0 |
| conv2d_9 (Conv2D) | (None, 6, 10, 8) | 520 |
| batch_normalization_9 (Batch) | (None, 6, 10, 8) | 32 |
| conv2d_10 (Conv2D) | (None, 6, 10, 8) | 264 |
| batch_normalization_10 (Batch) | (None, 6, 10, 8) | 32 |
| max_pooling2d_5 (MaxPooling2D) | (None, 3, 5, 8) | 0 |
| Flatten_1 (Flatten) | (None, 120) | 0 |
| Dense_1 (Dense) | (None, 128) | 15488 |
| Dropout_1 (Dropout) | (None, 128) | 0 |
| dense_2 (Dense) | (None, 2) | 258 |
| Total params: 150,578 | ||
| Trainable params: 149,586 | ||
| Non-trainable params: 992 | ||
Fig. 8The architecture of the CAENN classification.
Parameters used in the CAENN for classification in 2 classes.
| Layer (type) | Output shape | Param# |
|---|---|---|
| input_1 (InputLayer) | (None, 100, 173, 3) | 0 |
| conv2d (Conv2D) | (None, 100, 173, 128) | 1664 |
| batch_normalization (Batch) | (None, 100, 173, 128) | 512 |
| conv2d_1 (Conv2D) | (None, 100, 173, 128) | 65664 |
| batch_normalization_1(Batch) | (None, 100, 173, 128) | 512 |
| max_pooling2d (MaxPooling2D) | (None, 50, 87, 128) | 0 |
| conv2d_2 (Conv2D) | (None, 50, 87, 64) | 32832 |
| batch_normalization_2(Batch) | (None, 50, 87, 64) | 256 |
| conv2d_3 (Conv2D) | (None, 50, 87, 64) | 16448 |
| batch_normalization_3(Batch) | (None, 50, 87, 64) | 256 |
| max_pooling2d_1(MaxPooling2D) | (None, 25, 44, 64) | 0 |
| conv2d_4 (Conv2D) | (None, 25, 44, 32) | 8224 |
| batch_normalization_4(Batch) | (None, 25, 44, 32) | 128 |
| max_pooling2d_2(MaxPooling2D) | (None, 13, 22, 32) | 0 |
| conv8 (Conv2D) | (None, 13, 22, 64) | 8256 |
| conv2d_11 (Conv2D) | (None, 13, 22, 64) | 16448 |
| batch_normalization_10(Batch) | (None, 13, 22, 64) | 256 |
| max7 (MaxPooling2D) | (None, 6, 11, 64) | 0 |
| dropout (Dropout) | (None, 6, 11, 64) | 0 |
| flatten (Flatten) | (None, 4224) | 0 |
| dense (Dense) | (None, 2) | 8450 |
| Total params: 159,906 | ||
| Trainable params: 158,946 | ||
| Non-trainable params: 960 | ||
Colab hardware specification.
| Hardware | Description |
|---|---|
| GPU | 1xTesla K80, VRAM of 12GB GDDR5, 2496 CUDA cores, compute 3.7 |
| CPU | One core, Two threads, Xeon Processors of 2.3 Ghz |
| RAM | |
| Disk |
Results from the proposed network for classification into 2 classes.
| Network | Acc. | Prec. | Rec. | F1-score |
|---|---|---|---|---|
| ResNet-50 | 0.92244979 | 0.9650 | 0.9650 | 0.9650 |
| VGG-16 | 0.94076305 | 0.9550 | 0.9550 | 0.9550 |
| CNN | 0.93843057 | 0.99252539 | 0.83801088 | 0.84655203 |
| CAENN | 0.93048090 | 0.96512168 | 0.74901946 | 0.84344849 |
Fig. 9Comparison of the F1-score, recall, precision, and accuracy, for proposed networks.
Fig. 10Training and validation analysis over 100 epochs for (1) ResNet-50 network: (a) Accuracy analysis of Training and Testing, (b) Loss analysis of Training and Testing. (2) VGG-16 network: (c) Accuracy analysis of Training and Testing, (d) Loss analysis of Training and Testing. (3) CNN: (e) Accuracy analysis of Training and Testing, (f) Loss analysis of Training and Testing (4) CAENN: (g) Accuracy analysis of Training and Testing, (h) Loss analysis of Training and Testing.
Fig. 11The Confusion Matrix measurements of TP, TN, FP, and FN ratios of the proposed model derived from the testing dataset of (a) ResNet-50 neural network (b) VGG-16 neural network (c) CNN and (d) CAENN.
Fig. 12Roc plot of (a) ResNet-50 neural network (b) VGG-16 neural network (c) CNN and (d) CAENN.
Fig. 13Comparison of the classification accuracy resulting from ML classifiers.
ML precision, F1-score, and recall COVID-19 and Non-COVID-19 classification of classifiers.
| Method | COVID-19 | Non-COVID | ||||
|---|---|---|---|---|---|---|
| Prec. | Rec. | F1-score | Prec. | Rec. | F1-score | |
| KNN | 0.92 | 0.97 | 0.92 | |||
| RF | 0.82 | 0.88 | 0.85 | 0.90 | ||
| LR | 0.75 | 0.68 | 0.72 | 0.73 | 0.79 | 0.76 |
| SGD | 0.89 | 0.42 | 0.57 | 0.64 | 0.95 | 0.76 |
| MLP | 0.58 | 0.57 | 0.57 | 0.61 | 0.62 | 0.61 |
| SVM | 0.48 | 0.65 | 0.00 | 0.00 | 0.00 | |
Fig. 14Comparison of the average precision, recall, and F1-score for ML classifiers.
Comparison of the classification resulted from deep learning networks of this study and other studies with the same data.
| Reference | Method | Acc. | Prec. | Sens. (Rec.) | Spec. | F1-score |
|---|---|---|---|---|---|---|
| Pre-trained DenseNet201 based | 0.9625 | 0.9629 | 0.9629 | – | 0.9629 | |
| There are two branches of the | 0.9083 | 0.9575 | 0.8589 | – | 0.9087 | |
| ResNet-50 | 0.9262 | – | 0.9114 | 0.9429 | 0.93 | |
| ResNet-50 | 0.77 | – | 0.6250 | 0.8862 | 0.7059 | |
| ResNet-18 | 0.925 | 0.916 | 0.933 | 0.918 | 0.925 | |
| CNN | 0.9250 | – | 0.9025 | – | 0.985 | |
| Proposed ResNet-50 | ResNet-50 | 0.9224 | 0.9650 | 0.9650 | – | 0.9650 |
| Proposed VGG-16 | VGG-16 | 0.9407 | 0.9550 | 0.9550 | – | 0.9550 |
| Proposed CNN | CNN | 0.9384 | 0.9925 | 0.8380 | – | 0.8465 |
| Proposed CAENN | 2D-CAENN | 0.9304 | 0.9651 | 0.7490 | – | 0.8434 |
| Proposed KNN | – | 0.94 | 0.9450 | 0.9450 | – | 0.94 |
Fig. 15Comparison of the accuracy of our proposed models and other studies.
Comparison of the classification resulted from pre-trained CNN.
| Classification model | Acc. | Prec. | Spec. | Sens. |
|---|---|---|---|---|
| Xception | 96.55% | 81.74% | 97.45% | 97.24% |
| Alex-Net | 79% | – | 77% | 81% |
| MobileNet-v2 | 95.97% | – | 95.14% | 96.71% |
| VGG-19 | 94.5% | – | – | – |
| VGG-19 | 84% | – | – | 81% |
| ResNet-18 | 78.29% | 81% | 79.9% | 76.9% |
| ResNet-18 | 90.16% | – | 90.95% | 89.45% |
| ResNet-50 | 98% | – | 80% | |
| DenseNet201 | 96% | 96% | – | 96% |
| Inception-v3 | 99.8% | |||
| U-Net++ | 92% | – | 81.82% | |
| Google-Net | 89.5% | – | 87% | 88% |