| Literature DB >> 34975283 |
Megha Trivedi1, Abhishek Gupta2.
Abstract
Pneumonia is a life-threatening respiratory lung disease. Children are more prone to be affected by the disease and accurate manual detection is not easy. Generally, chest radiographs are used for the manual detection of pneumonia and expert radiologists are required for the assessment of the X-ray images. An automatic system would be beneficial for the diagnosis of pneumonia based on chest radiographs as manual detection is time-consuming and tedious. Therefore, a method is proposed in this paper for the fast and automatic detection of pneumonia. A deep learning-based architecture 'MobileNet' is proposed for the automatic detection of pneumonia based on the chest X-ray images. A benchmark dataset of 5856 chest X-ray images was taken for the training, testing, and evaluation of the proposed deep learning network. The proposed model was trained within 3 Hrs. and achieved a training accuracy of 97.34%, a validation accuracy of 87.5%, and a testing accuracy of 94.23% for automatic detection of pneumonia. However, the combined accuracy was achieved as 97.09% with 0.96 specificity, 0.97 precision, 0.98 recall, and 0.97 F-Score. The proposed method was found faster and computationally lesser expensive as compared to other methods in the literature and achieved a promising accuracy.Entities:
Keywords: Automatic detection of pneumonia; Chest X-ray; Deep learning; MobileNet; Pneumonia
Year: 2021 PMID: 34975283 PMCID: PMC8711865 DOI: 10.1007/s11042-021-11807-x
Source DB: PubMed Journal: Multimed Tools Appl ISSN: 1380-7501 Impact factor: 2.577
Literature survey of the methods for the automatic detection of Pneumonia using chest X-ray
| Sr. No | Reference | Objective | Dataset | Method | Result | Remarks |
|---|---|---|---|---|---|---|
| 1 | Hammoudi et al. (2021) [ | To detect and evaluate pneumonia (normal, bacterial and viral) cases from chest X-rays | 5863 chest X-ray images [ | CNN based architectures | Accuracy = 95.72% | Along with detecting pneumonia, the type of pneumonia (bacterial or viral) is also identified |
| 2 | El Asnaoui, K. (2021) [ | To detect pneumonia (bacterial, viral, COVID-19 and normal) | i) 5856 chest X-ray images [ ii) COVID chest X-ray (231 images) | Ensemble deep learning model | F1 score = 94.84% | Used fine-tuned versions of InceptionResNet_V2, ResNet50 and MobileNet_V2) |
| 3 | Acharya et al. (2019) [ | To automatically diagnose pneumonia from chest radiography images | 5528 chest X-ray images from Kaggle database [ | Siamese CNN Architecture | AUC (Area under the curve) for i) Normal vs. Pneumonia = 0.97 ii)Bacterial vs. Viral Pneumonia = 0.95 | Along with detecting pneumonia, the type of pneumonia (bacterial or viral) is also identified |
| 4 | M.Toğaçar et al. (2019) [ | To detect pneumonia automatically | 5,849 chest X-ray images from the Kaggle database [ | Consolidated deep features, mRMR & SGD (Stochastic Gradient Descent) | Accuracy = 99.41% | 3 different architectures AlexNet, VGG-16 and VGG-19 were used as feature extractors. After applying mRMR, features were concatenated and passed to a classifier |
| 5 | Okeke Stephen et al. (2019) [ | To detect the presence of pneumonia from chest X-ray | 5856 chest X-ray images [ | CNN model | Training accuracy = 95.31% Validation accuracy = 93.73% | Made a CNN model from scratch to extract features |
| 6 | Aditya Sriram et al. (2019) [ | To use radon projections to classify and represent images | 5840 chest X-ray images from Kaggle database [ | Radon transform | Accuracy = 70.03% | Performed better than two shallow mlp networks |
| 7 | Ioannis Livieris et al. (2019) [ | To classify lung abnormalities from chest X-ray | 5840 chest X-ray images from Kaggle database [ | Semi-supervised learning | Accuracy = 83.49% | Proposes weighted voting ensemble self-labeled (WvEnSL) algorithm |
| 8 | Karan Jakhar et al. (2018) [ | To detect pneumonia automatically from chest X-ray | 5863 chest X-ray images from the Kaggle database [ | Deep CNN | Accuracy = 84% | Used tenfold cross-validation technique to validate the model |
| 9 | Dimpy Varshni et al. (2018) [ | To develop an automatic system to detect pneumonia | A subset of 2,862 X-ray images from ChestX-ray14 dataset released by Wang et al. (2017) [ | Pretrained model-based feature extraction and classification using a supervised learning algorithm | AUC = 0.8002 | Transfer learning is used to extract the features and a machine learning classifier is used for the classification |
| 10 | Rajpurkar et al. (2017) [ | To detect pneumonia from X-rays better than practicing radiologist | 112,120 X-ray images from ChestX-ray14 dataset released by Wang et al. (2017) [ | 121-layer Dense Convolutional Network | F1 score of 0.435 (95% CI 0.387, 0.481) | Extended to detect 14 different kinds of diseases such as atelectasis, edema, hernia, pneumonia, etc |
Comparison between sizes and number of parameters of various pre-trained models
| Model | Size | Parameters |
|---|---|---|
| VGG16 | 528 MB | 138,357,544 |
| VGG19 | 549 MB | 143,667,240 |
| ResNet50 | 98 MB | 25,636,712 |
| DenseNet121 | 33 MB | 8,062,504 |
Fig. 1Flow Diagram of the Applied Methodology
Different layers of the proposed Architecture for the automatic detection of pneumonia
| S. No | Layer (type) | Stride | Filter Shape | Output Shape |
|---|---|---|---|---|
| 1 | Input Layer | - | - | (Batch_size, 512, 512, 3) |
| 2 | Conv2D | 2 | (3, 3, 3, 32) | (Batch_size, 256, 256, 32) |
| 3 | DepthwiseConv2D | 1 | (3, 3, 32) | ( Batch_size, 256, 256, 32) |
| 4 | Conv2D | 1 | (1, 1, 32, 64) | ( Batch_size, 256, 256, 64) |
| 5 | DepthwiseConv2D | 2 | (3, 3, 64) | ( Batch_size, 128, 128, 64) |
| 6 | Conv2D | 1 | (1, 1, 64, 128) | ( Batch_size, 128, 128, 128) |
| 7 | DepthwiseConv2D | 1 | (3, 3, 128) | ( Batch_size, 128, 128, 128) |
| 8 | Conv2D | 1 | (1, 1, 128, 128) | ( Batch_size, 128, 128, 128) |
| 9 | DepthwiseConv2D | 2 | (3, 3, 128) | ( Batch_size, 64, 64, 128) |
| 10 | Conv2D | 1 | (1, 1, 128, 256) | ( Batch_size, 64, 64, 256) |
| 11 | DepthwiseConv2D | 1 | (3, 3, 256) | ( Batch_size, 64, 64, 256) |
| 12 | Conv2D | 1 | (1, 1, 256, 256) | ( Batch_size, 64, 64, 256) |
| 13 | DepthwiseConv2D | 2 | (3, 3, 256) | ( Batch_size, 32, 32, 256) |
| 14 | Conv2D | 1 | (1, 1, 256, 512) | ( Batch_size, 32, 32, 512) |
| 15 | DepthwiseConv2D | 1 | (3, 3, 512) | ( Batch_size, 32, 32, 512) |
| 16 | Conv2D | 1 | (1, 1, 512, 512) | ( Batch_size, 32, 32, 512) |
| 17 | DepthwiseConv2D | 1 | (3, 3, 512) | ( Batch_size, 32, 32, 512) |
| 18 | Conv2D | 1 | (1, 1, 512, 512) | ( Batch_size, 32, 32, 512) |
| 19 | DepthwiseConv2D | 1 | (3, 3, 512) | ( Batch_size, 32, 32, 512) |
| 20 | Conv2D | 1 | (1, 1, 512, 512) | ( Batch_size, 32, 32, 512) |
| 21 | DepthwiseConv2D | 1 | (3, 3, 512) | ( Batch_size, 32, 32, 512) |
| 22 | Conv2D | 1 | (1, 1, 512, 512) | ( Batch_size, 32, 32, 512) |
| 23 | DepthwiseConv2D | 1 | (3, 3, 512) | ( Batch_size, 32, 32, 512) |
| 24 | Conv2D | 1 | (1, 1, 512, 512) | ( Batch_size, 32, 32, 512) |
| 25 | DepthwiseConv2D | 2 | (3, 3, 512) | ( Batch_size, 16, 16, 512) |
| 26 | Conv2D | 1 | (1, 1, 512, 1024) | ( Batch_size, 16, 16, 1024) |
| 27 | DepthwiseConv2D | 2 | (3, 3, 1024) | ( Batch_size, 16, 16, 1024) |
| 28 | Conv2D | 1 | (1, 1, 1024, 1024) | ( Batch_size, 16, 16, 1024) |
| 29 | GlobalAveragePooling2D | 1 | Pool (16, 16) | ( Batch_size, 1024) |
| 30 | Sigmoid Classifier | - | Classifier | ( Batch_size, 1) |
Total params: 3,229,889 Trainable params: 3,208,001 Non-trainable params: 21,888 | ||||
Parameters used for data augmentation
| Argument | Value |
|---|---|
| Zoom range | 0.1 |
| Rotation range | 20 |
| Sample wise center | True |
| Sample wise std normalization | True |
The boldface entry signifies that MobileNet is the architecture that has been used in this paper
Fig. 2Proposed Architecture for the Automatic Detection of Pneumonia
Fig. 3Confusion matrix for Dataset-1 after training the model on training set of Dataset-1 (a) Training set predictions, (b) Validation set predictions, and (c) Test set predictions
Accuracy, specificity, precision, recall, and F1-score metrics for our model obtained on Dataset-1 after training the model on a training set of Dataset-1
| Metrics | Training | Validation | Test | Combined |
|---|---|---|---|---|
| Accuracy (%) | 97.34 | 87.50 | 94.23 | 97.09 |
| Specificity | 0.97 | 0.75 | 0.91 | 0.96 |
| Precision | 0.97 | 0.80 | 0.95 | 0.97 |
| Recall | 0.98 | 1.00 | 0.96 | 0.98 |
| F1-score | 0.97 | 0.89 | 0.95 | 0.97 |
Fig. 4ROC curves for Dataset-1 after training the model on training set of Dataset-1 (a) Training set predictions, (b) Validation set predictions, and (c) Test set predictions
Fig. 5Confusion matrix for Dataset-2 after training the model on training set of Dataset-1 (a) Training set predictions, (b) Validation set predictions and (c) Test set predictions
Accuracy, specificity, precision, recall and F1-score metrics for our model when validated on Dataset-2 after training the model on training set of Dataset-1
| Metrics | Training | Validation | Test | Combined |
|---|---|---|---|---|
| Accuracy (%) | 62.30 | 77.23 | 82.46 | 63.69 |
| Specificity | 0.35 | 0.62 | 0.71 | 0.37 |
| Precision | 0.58 | 0.78 | 0.83 | 0.59 |
| Recall | 0.89 | 0.87 | 0.89 | 0.89 |
| F1-score | 0.70 | 0.82 | 0.86 | 0.71 |
Fig. 6ROC curves for Dataset-2 after training the model on training set of Dataset-1 (a) Training set predictions, (b) Validation set predictions, and (c) Test set predictions
Fig. 7Confusion matrix for Dataset-2 after training the model on training set of Dataset-2 (a) Training set predictions, (b) Validation set predictions, and (c) Test set predictions
Accuracy, specificity, precision, recall, and F1-score metrics for our model when validated on Dataset-2 after training the model on training set of Dataset-2
| Metrics | Training | Validation | Test | Combined |
|---|---|---|---|---|
| Accuracy (%) | 94.63 | 89.53 | 90.15 | 94.31 |
| Specificity | 0.94 | 0.83 | 0.81 | 0.93 |
| Precision | 0.94 | 0.89 | 0.88 | 0.93 |
| Recall | 0.95 | 0.93 | 0.96 | 0.95 |
| F1-score | 0.94 | 0.91 | 0.92 | 0.94 |
Fig. 8ROC curves for Dataset-2 after training the model on training set of Dataset-2 (a) Training set predictions, (b) Validation set predictions, and (c) Test set predictions
Comparison of performance of the proposed model on the two datasets
| Performance of proposed model on | Performance of proposed model on | Performance of proposed model on | |
|---|---|---|---|
| Test set accuracy (%) | 94.23 | 82.46 | 90.15 |
| Test set specificity | 0.91 | 0.71 | 0.81 |
| Test set precision | 0.95 | 0.83 | 0.88 |
| Test set recall | 0.96 | 0.89 | 0.96 |
| Test set F1-score | 0.95 | 0.86 | 0.92 |