| Literature DB >> 34121273 |
Heba M Emara1, Mohamed R Shoaib1, Mohamed Elwekeil1, Walid El-Shafai1,2, Taha E Taha1, Adel S El-Fishawy1, El-Sayed M El-Rabaie1, Saleh A Alshebeili3,4, Moawad I Dessouky1, Fathi E Abd El-Samie1,5.
Abstract
This article is mainly concerned with COVID-19 diagnosis from X-ray images. The number of cases infected with COVID-19 is increasing daily, and there is a limitation in the number of test kits needed in hospitals. Therefore, there is an imperative need to implement an efficient automatic diagnosis system to alleviate COVID-19 spreading among people. This article presents a discussion of the utilization of convolutional neural network (CNN) models with different learning strategies for automatic COVID-19 diagnosis. First, we consider the CNN-based transfer learning approach for automatic diagnosis of COVID-19 from X-ray images with different training and testing ratios. Different pre-trained deep learning models in addition to a transfer learning model are considered and compared for the task of COVID-19 detection from X-ray images. Confusion matrices of these studied models are presented and analyzed. Considering the performance results obtained, ResNet models (ResNet18, ResNet50, and ResNet101) provide the highest classification accuracy on the two considered datasets with different training and testing ratios, namely 80/20, 70/30, 60/40, and 50/50. The accuracies obtained using the first dataset with 70/30 training and testing ratio are 97.67%, 98.81%, and 100% for ResNet18, ResNet50, and ResNet101, respectively. For the second dataset, the reported accuracies are 99%, 99.12%, and 99.29% for ResNet18, ResNet50, and ResNet101, respectively. The second approach is the training of a proposed CNN model from scratch. The results confirm that training of the CNN from scratch can lead to the identification of the signs of COVID-19 disease.Entities:
Keywords: Coronavirus; chest X-ray radiographs; deep learning; pre-trained convolutional neural network
Mesh:
Year: 2021 PMID: 34121273 PMCID: PMC8420362 DOI: 10.1002/jemt.23713
Source DB: PubMed Journal: Microsc Res Tech ISSN: 1059-910X Impact factor: 2.893
FIGURE 1Block diagram of the proposed pre‐trainng‐based transfer learning approach
Training options for different pre‐trained models
| Training options (random initialization weights, batch size = 32, learning rate = 0.00001 and number of epochs = 10) | ||
|---|---|---|
| Model | Input size | No. of layers |
| AlexNet (Simonyan & Zisserman, | 227 × 227 | 8 |
| GoogleNet (Ballester & Araujo, | 224 × 224 | 22 |
| InceptionV3 (Parente & Ferreira, | 299 × 299 | 48 |
| InceptionresNetV2 (Alom et al., | 299 × 299 | 164 |
| SqueezeNet (Pradeep et al., | 227 × 227 | 18 |
| DenseNet201 (Haupt et al., | 224 × 224 | 201 |
| ResNet18 (Wu et al., | 224 × 224 | 18 |
| ResNet50 (Alom et al., | 224 × 224 | 50 |
| ResNet101 (Ghosal et al., | 224 × 224 | 101 |
| VGG16 (Zu et al., | 224 × 224 | 16 |
| VGG19 (Qassim et al., | 224 × 224 | 19 |
FIGURE 2Block diagram of the proposed CONV‐COVID‐net model
FIGURE 3X‐ray images for COVID‐19 and normal cases (Mendeley, 2020)
Performance results obtained with 80/20 training/testing ratio using different pre‐trained models on the first dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9490 | 0.9796 | 0.9184 | 0.9231 | 0.0510 | 0.0816 |
| DenseNet201 | 0.9694 | 0.9388 | 1.0000 | 1.0000 | 0.0306 | 0 |
| GoogleNet | 0.9286 | 0.9592 | 0.8980 | 0.9038 | 0.0714 | 0.1020 |
| InceptionresNetv2 | 0.9592 | 0.9796 | 0.9388 | 0.9412 | 0.0408 | 0.0612 |
| Inceptionv3 | 0.9592 | 0.9796 | 0.9388 | 0.9412 | 0.0408 | 0.0612 |
| ResNet18 | 0.9184 | 0.8367 | 1.0000 | 1.0000 | 0.0816 | 0 |
| ResNet50 | 0.9592 | 0.9796 | 0.9388 | 0.9412 | 0.0408 | 0.0612 |
| ResNet101 | 0.9796 | 0.9796 | 0.9796 | 0.9796 | 0.0204 | 0.0204 |
| SqueezeNet | 0.9694 | 0.9388 | 1.0000 | 1.0000 | 0.0306 | 0 |
| VGG16 | 0.9798 | 0.9796 | 1.0000 | 1.0000 | 0.0102 | 0 |
| VGG19 | 0.9796 | 0.9592 | 1.0000 | 1.0000 | 0.0204 | 0 |
Performance results obtained with 80/20 training/testing ratio using different pre‐trained models on the second dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9788 | 0.9753 | 0.9822 | 0.9821 | 0.0212 | 0.0178 |
| DenseNet201 | 0.9911 | 1.0000 | 0.9822 | 0.9825 | 0.0089 | 0.0178 |
| GoogleNet | 0.9712 | 0.9808 | 0.9616 | 0.9624 | 0.0288 | 0.0384 |
| InceptionresNetv2 | 0.9877 | 0.9863 | 0.9890 | 0.9890 | 0.0123 | 0.0110 |
| Inceptionv3 | 0.9836 | 0.9945 | 0.9726 | 0.9732 | 0.0164 | 0.0274 |
| ResNet18 | 0.9842 | 0.9849 | 0.9836 | 0.9836 | 0.0158 | 0.0164 |
| ResNet50 | 0.9913 | 1.0000 | 0.9877 | 0.9878 | 0.0062 | 0.0123 |
| ResNet101 | 0.9918 | 0.9945 | 0.9890 | 0.9891 | 0.0082 | 0.0110 |
| SqueezeNet | 0.9678 | 0.9507 | 0.9849 | 0.9844 | 0.0322 | 0.0151 |
| VGG16 | 0.9575 | 0.9370 | 0.9781 | 0.9771 | 0.0425 | 0.0219 |
| VGG19 | 0.9603 | 0.9808 | 0.9397 | 0.9421 | 0.0397 | 0.0603 |
Performance results obtained with 70/30 training/testing ratio using different pre‐trained models on the first dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9651 | 0.9767 | 0.9535 | 0.9545 | 0.0349 | 0.0465 |
| DenseNet201 | 0.9651 | 0.9767 | 0.9535 | 0.9545 | 0.0349 | 0.0465 |
| Googlenet | 0.9535 | 0.9535 | 0.9535 | 0.9535 | 0.0465 | 0.0465 |
| InceptionresNetv2 | 0.9535 | 0.9535 | 0.9535 | 0.9535 | 0.0465 | 0.0465 |
| Inceptionv3 | 0.9767 | 0.9767 | 0.9767 | 0.9767 | 0.0233 | 0.0233 |
| ResNet18 | 0.9767 | 0.9535 | 1.0000 | 1.0000 | 0.0233 | 0 |
| ResNet50 | 0.9851 | 0.9867 | 0.9835 | 0.9845 | 0.0149 | 0.0465 |
| ResNet101 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 0.0 | 0.0 |
| SqueezeNet | 0.9767 | 0.9535 | 1.0000 | 1.0000 | 0.0233 | 0 |
| VGG16 | 0.9535 | 0.9767 | 0.9302 | 0.9333 | 0.0465 | 0.0698 |
| VGG19 | 0.9651 | 0.9535 | 0.9767 | 0.9762 | 0.0349 | 0.0233 |
Performance results obtained with 70/30 training/testing ratio using different pre‐trained models on the second dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPE | Preci | Mr | Fpr |
| AlexNet | 0.9859 | 0.9812 | 0.9906 | 0.9905 | 0.0141 | 0.0094 |
| DenseNet201 | 0.9914 | 1.0000 | 0.9828 | 0.9831 | 0.0086 | 0.0172 |
| Googlenet | 0.9765 | 0.9765 | 0.9765 | 0.9765 | 0.0235 | 0.0235 |
| InceptionresNetv2 | 0.9906 | 0.9984 | 0.9828 | 0.9830 | 0.0094 | 0.0172 |
| Inceptionv3 | 0.9922 | 0.9890 | 0.9953 | 0.9953 | 0.0078 | 0.0047 |
| ResNet18 | 0.99 | 0.9984 | 0.9436 | 0.9465 | 0.0290 | 0.0564 |
| ResNet50 | 0.9912 | 0.9859 | 1.0000 | 1.0000 | 0.0071 | 0 |
| ResNet101 | 0.9929 | 0.9884 | 0.9937 | 0.9938 | 0.0039 | 0.0063 |
| SqueezeNet | 0.9765 | 0.9890 | 0.9639 | 0.9639 | 0.0235 | 0.0361 |
| VGG16 | 0.9444 | 0.9028 | 0.9859 | 0.9846 | 0.0556 | 0.0141 |
| VGG19 | 0.9647 | 0.9514 | 0.9781 | 0.9775 | 0.0353 | 0.0219 |
Performance results obtained with 60/40 training/testing ratio using different pre‐trained models on the first dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9459 | 0.9730 | 0.9189 | 0.9231 | 0.0541 | 0.0811 |
| DenseNet201 | 0.9730 | 0.9730 | 0.9730 | 0.9730 | 0.0270 | 0.0270 |
| GoogleNet | 0.9595 | 0.9459 | 0.9730 | 0.9722 | 0.0405 | 0.0270 |
| InceptionresNetv2 | 0.9595 | 0.9730 | 0.9459 | 0.9474 | 0.0405 | 0.0541 |
| Inceptionv3 | 0.9730 | 0.9730 | 0.9730 | 0.9730 | 0.0270 | 0.0270 |
| ResNet18 | 0.9865 | 0.9730 | 1.0000 | 1.0000 | 0.0135 | 0 |
| ResNet50 | 0.9865 | 0.9730 | 1.0000 | 1.0000 | 0.0135 | 0 |
| ResNet101 | 0.9875 | 0.9730 | 1.0000 | 1.0000 | 0.0135 | 0 |
| SqueezeNet | 0.9595 | 0.9459 | 0.9730 | 0.9722 | 0.0405 | 0.0270 |
| VGG16 | 0.9730 | 0.9730 | 0.9730 | 0.9730 | 0.0270 | 0.0270 |
| VGG19 | 0.9730 | 0.9459 | 1.0000 | 1.0000 | 0.0270 | 0 |
Performance results obtained with 50/50 training/testing ratio using different pre‐trained models on the first dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9667 | 0.9667 | 0.9667 | 0.9667 | 0.0333 | 0.0333 |
| DenseNet201 | 0.9833 | 0.9667 | 1.0000 | 1.0000 | 0.0167 | 0 |
| GoogleNet | 0.9500 | 0.9000 | 1.0000 | 1.0000 | 0.0500 | 0 |
| InceptionresNetv2 | 0.9667 | 0.9667 | 0.9667 | 0.9667 | 0.0333 | 0.0333 |
| Inceptionv3 | 0.9667 | 0.9667 | 0.9667 | 0.9667 | 0.0333 | 0.0333 |
| ResNet18 | 0.9500 | 0.9000 | 1.0000 | 1.0000 | 0.0500 | 0 |
| ResNet50 | 0.9833 | 0.9667 | 1.0000 | 1.0000 | 0.0167 | 0 |
| ResNet101 | 0.9853 | 0.9667 | 1.0000 | 1.0000 | 0.0167 | 0 |
| SqueezeNet | 0.9667 | 0.9667 | 0.9667 | 0.9667 | 0.0333 | 0.0333 |
| VGG16 | 0.9833 | 0.9667 | 1.0000 | 1.0000 | 0.0167 | 0 |
| VGG19 | 0.9833 | 0.9667 | 1.0000 | 1.0000 | 0.0167 | 0 |
Performance results obtained with 60/40 training/testing ratio using different pre‐trained models on the second dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9762 | 0.9580 | 0.9945 | 0.9943 | 0.0238 | 0.0055 |
| DenseNet201 | 0.9954 | 0.9945 | 0.9963 | 0.9963 | 0.0046 | 0.0037 |
| GoogleNet | 0.9808 | 0.9689 | 0.9927 | 0.9925 | 0.0192 | 0.0073 |
| InceptionresNetv2 | 0.9918 | 0.9890 | 0.9945 | 0.9945 | 0.0082 | 0.0055 |
| Inceptionv3 | 0.9899 | 0.9890 | 0.9909 | 0.9908 | 0.0101 | 0.0091 |
| ResNet18 | 0.9899 | 0.9909 | 0.9890 | 0.9891 | 0.0101 | 0.0101 |
| ResNet50 | 0.9918 | 0.9982 | 1.0000 | 1.0000 | 0.0009 | 0 |
| ResNet101 | 0.9919 | 0.9982 | 0.9854 | 0.9856 | 0.0082 | 0.0146 |
| SqueezeNet | 0.9781 | 0.9909 | 0.9653 | 0.9661 | 0.0219 | 0.0347 |
| VGG16 | 0.9634 | 0.9726 | 0.9543 | 0.9551 | 0.0366 | 0.0457 |
| VGG19 | 0.9762 | 0.9872 | 0.9653 | 0.9660 | 0.0238 | 0.0347 |
Performance results obtained with 50/50 training/testing ratio using different pre‐trained models on the second dataset
| Evaluation metric | ||||||
|---|---|---|---|---|---|---|
| Models | ACC | SEN | SPEC | Preci | Mr | Fpr |
| AlexNet | 0.9485 | 1.0000 | 0.8969 | 0.9066 | 0.0515 | 0.1031 |
| DenseNet201 | 0.9856 | 1.0000 | 0.9912 | 0.9913 | 0.0044 | 0.0088 |
| GoogleNet | 0.9846 | 0.9759 | 0.9934 | 0.9933 | 0.0154 | 0.0066 |
| InceptionresNetv2 | 0.9867 | 0.9956 | 0.9978 | 0.9978 | 0.0033 | 0.0022 |
| Inceptionv3 | 0.99.05 | 0.9868 | 0.9956 | 0.9956 | 0.0088 | 0.0044 |
| ResNet18 | 0.9857 | 0.9890 | 0.9825 | 0.9826 | 0.0143 | 0.0175 |
| ResNet50 | 0.9916 | 0.9853 | 0.0000 | 1.0000 | 1.0000 | 0 |
| ResNet101 | 0.9918 | 0.9978 | 0.9934 | 0.9934 | 0.0044 | 0.0066 |
| SqueezeNet | 0.9836 | 0.9912 | 0.9759 | 0.9762 | 0.0164 | 0.0241 |
| VGG16 | 0.9682 | 0.9825 | 0.9539 | 0.9552 | 0.0318 | 0.0461 |
| VGG19 | 0.9441 | 0.8904 | 0.9978 | 0.9975 | 0.0559 | 0.0022 |
FIGURE 4Confusion matrices for the highest performance pre‐trained models used for COVID‐19 detection on the first dataset
FIGURE 5Accuracies of the highest performance models with different training/testing ratios on the first dataset
FIGURE 6Confusion matrices for the highest performance pre‐trained models used for COVID‐19 detection on the second dataset
FIGURE 7Accuracies of the highest performance models with different training/testing ratios on the second dataset
Performance results obtained from CONV‐COVID‐net with different training/testing ratios on the first dataset
| Training/testing ratio (%) | Evaluation metric | ||||||
|---|---|---|---|---|---|---|---|
| Training | Testing | ACC | SEN | SPEC | Preci | Mr | Fpr |
| 80 | 20 | 0.9031 | 1.0000 | 0.8333 | 0.8750 | 0.0769 | 0.1667 |
| 70 | 30 | 0.9183 | 0.8432 | 0.8955 | 0.9083 | 0 | 0 |
| 60 | 40 | 0.9008 | 1.0000 | 0.9083 | 0.9155 | 0.0192 | 0.0417 |
| 50 | 50 | 0.9231 | 0.9429 | 0.9000 | 0.9167 | 0.0769 | 0.1000 |
Performance results obtained from CONV‐COVID‐net with different training/testing ratios on the second dataset
| Training/testing ratio (%) | Evaluation metric | ||||||
|---|---|---|---|---|---|---|---|
| Training | Testing | ACC | SEN | SPEC | Preci | Mr | Fpr |
| 80 | 20 | 0.9396 | 0.9615 | 0.9176 | 0.9211 | 0.0604 | 0.0824 |
| 70 | 30 | 0.9398 | 0.9489 | 0.9307 | 0.9319 | 0.0602 | 0.0693 |
| 60 | 40 | 0.9301 | 0.8986 | 0.9616 | 0.9591 | 0.0699 | 0.038 |
| 50 | 50 | 0.9211 | 0.8925 | 0.9496 | 0.9465 | 0.0789 | 0.0504 |
FIGURE 8Training progress with 70/30 training/testing ratio on the first dataset
FIGURE 9Training progress with 70/30 training/testing ratio on the second dataset
Comparison with state‐of‐the‐art methods
| Method | Images | COVID‐19 | Normal | Accuracy |
|---|---|---|---|---|
| Apostolopoulos and Mpesiana ( | X‐ray | 224 | 504 | 93 |
| L. Wang, Lin, and Wong ( | X‐ray | 53 | 8,066 | 92 |
| Sethy and Behera ( | X‐ray | 25 | 25 | 95 |
| Hemdan et al. ( | X‐ray | 25 | 25 | 90 |
| Narin et al. ( | X‐ray | 50 | 50 | 98 |
| L. Wang, Lin, and Wong ( | CT | 777 | 708 | 86 |
| S. Wang, Kang, et al. ( | CT | 195 | 258 | 82 |
| Ozturk et al. ( | X‐ray | 250 | 1,000 | 92 |
| Li et al. ( | CT | 1,296 | 1.325 | 96 |
| Brunese et al. ( | X‐ray | 250 | 3.520 | 97 |
| Proposed approach based on transfer learning | X‐ray | 60 | 70 | 100 |
| 912 | 912 | 99.29 | ||
| Proposed model trained from scratch | X‐ray | 60 | 70 | 91.83 |
| 912 | 912 | 93.98 |