Skip to content

Project on detecting Pneumonia for the M115 - Image Processing and Analysis course, NKUA, Spring 2023

Notifications You must be signed in to change notification settings

mdarm/pneumonia-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pneumonia Detection from Chest X-Ray Images using classical Machine Learning and Deep Learning

Domain             : Computer Vision, Machine Learning
Sub-Domain         : Deep Learning, Image Recognition
Techniques         : Deep Convolutional Neural Network, Feature Extraction, Classical ML Aglorithms 
Application        : Image Recognition, Image Classification, Medical Imaging

Description

1. Created an Intelligent System, for detecting Pneumonia from Chest X-Ray images, using a Custom Convolutional Neural Network and Classical ML Aglorithms.
2. The best of the classical ML Algoriths, Logistic Regression, attained a testing accuracy of 89.21%.
2. The Convololutional Neural Network attained a testing accuracy 88.41% (+-1.10%) and a loss of 0.41 (+-0.13%). Uncertainties are within a confidence interval of one standard deviation.

Dataset

Dataset Name            : Chest X-Ray Images (Pneumonia)
Number of Classes       : 2
Number/Size of Images   : Total      : 5856 ( 1.15 Gigabyte (GB))
                          Training   : 5216 ( 1.07 Gigabyte (GB))
                          Validation : 16   ( 2.80 Megabyte (MB))
                          Testing    : 624  (75.40 Megabyte (MB))

Dataset Links           : Chest X-Ray Images Dataset (Kaggle)
                        : Chest X-Ray Images Dataset (Original Dataset)
Original Paper          : Identifying Medical Diagnoses and Treatable Diseases by Image-Based Deep Learning
                          (Daniel S. Kermany, Michael Goldbaum, Wenjia Cai, M. Anthony Lewis, Huimin Xia, Kang Zhang)
                          https://www.cell.com/cell/fulltext/S0092-8674(18)30154-5

Results

Best Classical Machine Learning Model Parameters
Machine Learning Library: Keras 
Best Model              : Logistic Regression
Loss Function           : categorical_crossentropy

Training Parameters
Max iterations          : 100 
Penalty                 : Manhattan (l1)
C Hyperparameter        : 0.01
Solver                  : Saga
Training Time           : 1 minutes 

Output (Prediction/Recognition/Classification Metrics)
Testing
Accuracy (F-1) Score    : 89.21% 
Precision               : 83.78%
Recall (Pneumonia)      : 95.38% 


Convolutional Neural Network Parameters
Machine Learning Library: PyTorch 
Base Model              : Custom Convolutional Neural Network
Optimizers              : Adam
Loss Function           : categorical_crossentropy

Training Parameters
Batch Size              : 256 
Number of Epochs        : 10 
Training Time           : 110 minutes 

Output (Prediction/Recognition/Classification Metrics)
Testing
Accuracy (F-1) Score    : 88.40% (+-1.10%)
Loss                    :  0.41  (+-0.13)
Precision               : 88.37% (+-0.80%)
Recall (Pneumonia)      : 95.48% (+-1.80%)

Tools / Libraries

Languages               : Python
Tools/IDE               : Kaggle API 
Libraries               : scikit-learn, PyTorch

Dates

Duration                : June 2023 - July 2023
Current Version         : v1.0
Last Update             : 20.07.2023

Releases

No releases published

Packages

No packages published

Languages