Uncategorized

COVID-19 classification based on a deep learning and machine learning fusion technique using chest CT images


In our study, we examined the performance of classification models for the detection of COVID-19 based on ten CNN models. In each model, we used five classifiers with randomly selected layers to check the best classifier with the best layer in each model. Then, we measured the performance of each classifier in terms of Accuracy, Sensitivity, Specificity, PPV, and NPV. In the case that models have the same accuracy value, we will check the performance based on higher sensitivity than specificity as it is better to classify non-patient to the patient than the patient to non-patient as it will help non-patients investigate more than cause the patient to die. The following results were performed using the dataset F-2.

In the Xception model, we will compare the performance results of the four layers that we selected. We excluded the results of NaiveBayes and Decision Tree classifiers as their results are negative. From Table 3, layer 79 achieved an accuracy value of 98.25% with the SVM classifier, 90.30% with the KNN classifier, and 91.73% with the ensemble classifier. Therefore, layer 79 has the highest accuracy value with the SVM classifier. Layer 108 achieved an accuracy value of 97.85% with the SVM classifier, 75.65% with the KNN classifier, and 91.90% with the ensemble classifier. Therefore, SVM could achieve the best accuracy value for layer 108. For layer 117, it could achieve an accuracy value of 98.25% with the SVM classifier, 78.33% with the KNN classifier, and 91.13% with the ensemble classifier. Therefore, layer 117 achieved the best value with SVM classifiers. Finally, for layer 134, an accuracy value of 97.85% is achieved with the SVM classifier, and 70.18% with the KNN classifier. However, for the ensemble classifier, there is no result for this layer due to more processing operations. The best performance for layer 134 is achieved with the SVM classifier. After this survey, we find that the best result for all selected layers is achieved with the SVM classifier. SVM could achieve the highest accuracy value with layer 79 and layer 117, which achieved the same values of accuracy. Therefore, to define the best layer, we can compare them by using other performance metrics. Layer 79 achieved a sensitivity value of 97.87%, whereas layer 117 achieved a sensitivity value of 98.13%. Therefore, we can consider that the best model will be layer 117 with the SVM classifier to be selected as model 1.

Table 3 Performance metrics values of selected layers of the Xception Model with different classifiers

For Darknet53, we will compare the results for selected four layers as shown in Table 4. We excluded NaiveBayes because of its bad results. Layer 32 achieved an accuracy value of 95.57% with the SVM classifier, 83.15% with the KNN classifier, 89.70% with the ensemble classifier, and no results for the decision tree classifier. Therefore, the best value is achieved by the SVM classifier. Layer 34 achieved an accuracy value of 95.43% with the SVM classifier, 72.98% with the KNN classifier, 89.76% with the ensemble classifier, and no result with the decision tree classifier. Therefore, the best value for layer 34 is achieved by the SVM classifier. Layer 42 achieved an accuracy value of 96.10%, 89.40% with the KNN classifier, 88.39% with the ensemble classifier, and 71.13% with the decision tree classifier. The best result for layer 42 is by the SVM classifier. For layer 182, an accuracy value of 92.21% is achieved by SVM, 89.29% with KNN, 91.13% with the ensemble, and 73.15% with the decision tree classifier. The best results for layer 182 are achieved by the SVM classifier. The SVM classifier could achieve the best performance results for all layers; however, the best values are for layer 42. Therefore, we can name the model of layer 42 with the SVM classifier as model 2.

Table 4 Performance metrics values of selected layers of Darknet53 Model with different classifiers

For the VGG19 model, Table 5 shows the performance results for four layers. We exclude the results of NaiveBayes as their results are negative. For layer 30, 97.98% of the accuracy value is achieved by the SVM classifier, 86.79% with the KNN classifier, 95.18% with the ensemble classifier, and 74.88% with the decision tree classifier. Hence, the best results are achieved by the SVM classifier. Layer 33 achieved an accuracy value of 98.38% with SVM, 66.67% with KNN, 93.69% with the ensemble, and 75.12% with the decision tree. Therefore, layer 33 has the best performance values when using the SVM classifier. Layer 36 achieved an accuracy value of 97.04% with SVM, 90.95% with KNN, 92.44% with the ensemble, and 80.06% with the decision tree classifier. Therefore, layer 36 has the best performance values when using the SVM classifier. Layer 38 could achieve an accuracy value of 97.58% with SVM, 75.48% with KNN, 93.69% with the ensemble, and 74.46% with the decision tree. With SVM, layer 38 could achieve its best performance. The SVM classifier could achieve the best performance for all selected layers; however, layer 33 could achieve the highest performance values with a 98.38% accuracy value. Therefore, we can name the model of layer 33 with SVM as model 3.

Table 5 Performance metrics values of selected layers of the VGG19 Model with different classifiers

In AlexNet, the highest performance values are measured as shown in Table 6 for layers 8, 9, 10, and 12 and exclude the results of the NaiveBayes classifier as their results are negative. Layer 8 has an accuracy value of 96.37% with the SVM classifier, 77.20% with KNN, 92.02% with the ensemble, and 77.86% with the decision tree. Hence, the SVM classifier achieved the best performance for layer 8. Layer 9 achieved an accuracy of 97.44% with SVM, 83.33% with KNN, 92.38% with the ensemble, and 74.64% with the decision tree. Therefore, the best classifier for layer 9 is SVM. Layer 10 achieved an accuracy of 96.24% with SVM, 86.55% with KNN, 91.73% with the ensemble, and 76.61% with the decision tree. Therefore, the best classifier for layer 10 is SVM. Layer 12 achieved an accuracy of 97.04% % with SVM, 87.14% with KNN, 92.62% with the ensemble, and 76.37% with the decision tree. Therefore, the best classifier for layer 12 is SVM. SVM classifier could achieve a higher performance for all layers than other classifiers; however, layer 9 could achieve the highest performance between all layers with SVM. Therefore, we can consider layer 9 with the SVM classifier to be the best model, and name it model 4.

Table 6 Performance metrics values of selected layers of the Alexnet Model with different classifiers

We can select the best layers in the case of GoogleNet with the highest performance values which are layers 15, 23, 40, and 70, as shown in Table 7. Layer 15 achieved 95.70% of accuracy with SVM, 79.40% with KNN, 90.12% with the ensemble, 71.19% with the decision tree, and no results for NaiveBayes. The best classifier for layer 15 is the SVM classifier. Layer 23 achieved an accuracy of 96.51% with SVM, 91.79% with KNN, 92.56% with the ensemble, 72.98% with the decision tree, and 85.36% with NaiveBayes. The best classifier for layer 23 is the SVM classifier. Layer 40 achieved an accuracy of 97.85% with SVM, 71.07% with KNN, 93.45% with the ensemble, and 76.07% with the decision tree, with no results for NaiveBayes. The best classifier for layer 23 is the SVM classifier. Layer 70 achieved an accuracy of 96.24% with SVM, 78.75% with KNN, 91.07% with the ensemble, 73.69% with the decision tree, and 50% for NaiveBayes. The best classifier for layer 23 is the SVM classifier. Therefore, between all used classifiers, SVM could achieve the best results for all layers, but layer 40 has the best values for SVM. Therefore, we can consider the model of layer 40 with the SVM classifier to be model 5 for the classification of COVID-19.

Table 7 Performance metrics values of different selected layers of the GoogleNet Model with different classifiers

In the case of the Mobilenetv2 model, we concentrate on layers 58, 84, 150, and 152, as shown in Table 8. Based on five used classifiers, layer 58 has an accuracy value of 95.83% with SVM, 86.67% with KNN, 92.20% with the ensemble, 77.50% with Decision Tree, and 50% with NaiveBayes. Therefore, the best classifier for layer 58 is SVM. Layer 84 achieved a 98.79% accuracy value with SVM, 76.90% with KNN, 92.08% with the ensemble, 73.57% with Decision Tree, and 50% with NaiveBayes. Hence, SVM is the best classifier for layer 84. Layer 150 achieved an accuracy value of 96.64% with SVM, 70.71% with KNN, 90.18% with the ensemble, 71.55% with Decision Tree, and 50% with NaiveBayes. Therefore, the best classifier for layer 150 is SVM. Layer 152 achieved an accuracy value of 88.72% with SVM, 87.20% with KNN, 89.11% with the ensemble, 69.17% with Decision Tree, and 81.43% with NaiveBayes. Therefore, the best classifier for layer 150 is SVM. The best performance results for all layers are achieved with the SVM classifier and the worst values through NaiveBayes. For the SVM classifier, the layer that can achieve the highest values is layer 84. Therefore, we can consider layer 84 with SVM as our model 6 to classify COVID-19 disease.

Table 8 Performance metrics values of different selected layers of MobileNet Model with different classifiers

In the Squeezenet model, the four layers that we selected to be tested with five ML classifiers are shown in Table 9. Layer 20 achieved an accuracy value of 96.10% with SVM, 86.49% with KNN, 90.95% with the ensemble, 75.18% with the decision tree, and 79.35% with NaiveBayes. Layer 20 could achieve the best performance with the SVM classifier. Layer 27 with the SVM classifier achieved 97.31% accuracy, 85.60% accuracy with KNN, 90.65% accuracy with the ensemble, 71.13% accuracy with the decision tree, and 80.48% with NaiveBayes. Therefore, Layer 27 could achieve the best performance result with the SVM classifier. Layer 32 achieved 96.51% of accuracy with SVM, 53.45% with KNN, 89.23% with the ensemble, 68.51% with the decision tree, and 50% with NaiveBayes. Layer 32 achieved higher performance results with the SVM classifier. Layer 34 achieved an accuracy value of 97.98% with SVM, 85.36% with KNN, 93.39% with the ensemble, 74.17% with the decision tree, and 50% with NaiveBayes. The best classifier for layer 34 is the SVM. We find that all layers achieved their best results with the SVM classifier. Therefore, for the SVM classifier, the layer with the best performance is layer 34 with an accuracy of 97.98%. Hence, layer 34 in Squeezenet Model with SVM has been selected to be model 7 due to achieving the highest performance.

Table 9 Performance metrics values of different selected layers of the Squeezenet Model with different classifiers

With the Darknet19 model, layers achieving the highest performance results are mentioned in Table 10. For the SVM classifier, layer 33 achieved an accuracy value of 98.12%, layer 39 achieved a value of 97.85%, layer 41 achieved a 97.85% accuracy value, and layer 45 achieved a 98.25% accuracy value. Therefore, the best layer for SVM is layer 45. For the KNN classifier, layer 33 achieved an accuracy value of 89.52%, layer 39 achieved a value of 90.89%, layer 41 achieved an accuracy of 85.36%, and layer 45 achieved an accuracy of 81.73%. hence, layer 39 achieved the best result with the KNN classifier. For the ensemble classifier, layer 33 achieved 92.44% accuracy, layer 39 achieved 93.39% accuracy, layer 41 achieved 93.10% accuracy, and layer 45 achieved 93.33% accuracy. Therefore, the best layer for the ensemble classifier is layer 39. The decision tree classifier achieved an accuracy of 74.11% with layer 33, 72.08% with layer 39, 72.44% with layer 41, and 75.71% with layer 45. The decision tree classifier achieved the best performance result with layer 45. The NaiveBayes classifier achieved an accuracy of 77.74% with layer 33, 80.06% with layer 39, 50% with layer 41, and 50% with layer 45. The NaiveBayes classifier achieved the best performance with layer 39. For each layer, we can see that the highest result is achieved with the SVM classifier. Therefore, SVM is the best classifier for all layers, and layer 45 in Darknet 19 Model with SVM has been selected to be model 8 due to achieving the highest performance.

Table 10 Performance metrics values of different selected layers of the Darknet19 Model with different classifiers

For the Resnet50 Model, the best results are achieved with layers 44, 62, 154, and 175 as shown in Table 11. Firstly, layer 44 achieved 94.36% accuracy with the SVM classifier, 87.68% with the KNN classifier, no result with the ensemble, no result with the decision tree, and 83.81% with NaiveBayes. The best classifier with layer 44 is SVM. Layer 62 had an accuracy of 95.57% with the SVM classifier, 70.71% with KNN, 85.59% with the ensemble, 70.24% with the decision tree, and 50% with NaiveBayes. Layer 62 achieved the best performance with the SVM classifier. Layer 154 achieved 98.25% accuracy with the SVM classifier, 97.84% with the KNN classifier, 94.23 with the ensemble, 75.36% with the decision tree, and 83.81% with NaiveBayes. The best classifier with layer 154 is SVM. Layer 175 has 90.46% accuracy with SVM, 88.45% with the KNN classifier, 89.76% with the ensemble, 73.51% with the decision tree, and 78.04% with NaiveBayes. Layer 175 achieved the best performance with the SVM classifier. Finally, we found that the SVM classifier could achieve the best result with all layers. Layer 154 in Resnet50 Model with SVM has been selected as model 9 as it achieved the highest performance.

Table 11 Performance metric values of different selected layers of the Resnet50 Model with different classifiers

The last model we tested was Resnet101 in which the best four layers are layers 68, 91, 142, and 247. Their performance results are mentioned in Table 12. Layer 68 achieved an accuracy of 95.83% with the SVM classifier, 82.92% with KNN, and no results with the ensemble, decision tree, and NaiveBayes. Layer 91 achieved an accuracy value of 97.98% with SVM, 85.54% with KNN, 92.50% with the ensemble, no result with the decision tree, and 50% with NaiveBayes. Layer 142 has an accuracy of 98.92% with SVM, 86.49% with KNN, 90.12% with ensemble classifier, 70.83% with the decision tree, and 82.74% with NaiveBayes. Layer 247 has an accuracy of 96.91% with SVM, 77.14% with KNN, 89.94% with ensemble classifier, 71.61% with decision tree classifier, and 50% with NaiveBayes. Layer 247 could achieve the best performance with SVM. For all tested layers, the SVM classifier achieved the best performance with layer 142 of the Resnet 101 model and has been selected to be model 10.

Table 12 Performance metrics values of different selected layers of the Resnet101 Model with different classifiers

Now, we have 10 models that have the best performance results from all the tested models. These 10 models are tested with the three datasets F-1, F-2, and F-3, as shown in Table 13. We selected the best three models based on the highest accuracy as this is the most natural measure of performance. The best of the three models is model 10, which has the best accuracy with a value of 98.98%. This model uses layer 142 of Resnet101 to extract features. The next model is model 6 with an accuracy value of 99.39% which used layer 84 of the MobileNet model to extract features. The last model is model 3 with an accuracy value of 98.98%, which used layer 33 of the VGG19 model to extract features. All models used SVM as a classifier.

Table 13 the best 10 models with the highest performance using SVM

To certify the credibility of the obtained results, a comparison with the results from the related work was performed in Table 14. We will compare these best 3 models with previous work related to the classification of COVID-19. The best performance results are achieved with model 10, model 6, and model 3. Model 3, Model 6, and Model 10 achieved an accuracy of 98.98%, 99.39%, and 98.98% with the dataset F-3, respectively. Model 10 has the highest average accuracy of 98.69%. However, Model 6 has the highest accuracy of 99.39% over all models. All the previous work mentioned achieved the highest accuracy of 98.66% in [30]. This is lower than our best three models as shown in Table 14.

Table 14 Comparison between our models and old models

5.1 Time consumption

Time consumption is a critical factor in many aspects of life. In the case of healthcare, time consumption can be a critical factor in determining patient outcomes, especially in emergencies. The time required for diagnostic tests and imaging can significantly impact the speed and accuracy of diagnosis and treatment. For example, in the case of COVID-19, delays in test results can lead to delayed treatment and increased spread of the disease. Moreover, imaging tests, such as CT scans, can take a significant amount of time to perform and interpret, which can delay diagnosis and treatment. However, technological advancements have led to the development of faster and more efficient diagnostic and imaging methods. Overall, time consumption is a critical factor in healthcare, and efforts to reduce it can lead to improved patient outcomes and overall healthcare efficiency. In our methodology, model 6, which achieved the best accuracy value among all models, could take a consumed time of 20.892 s in the training stage. Although the network training time was not considered, the average testing time per image was measured at 0.84 s.



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *