ronylpatil / Covid-19-Detection-using-Deep-Hybrid-Learning

Image classification using XGBOOST by extracting features using VGG16 ImageNet. This project explains the process of using XGBOOST for image classification using pre-trained weights (VGG16) as feature extractors.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Covid-19-Detection-WebApp-using-Deep-Hybrid-Learning

Profile Visits :

Visitors

Drawing

Description : Covid-19 Detection from MRI's or CT Scan Images using Deep Hybrid Learning Technique. Here in this project, I am combining best of the both world's, one is traditional Machine Learning and Deep Learning to create a solution that works amazingly well especially when we have a limited training dataset. Here I used VGG16 Pre-trained Network for extracting useful features of image dataset and finally used XGBOOST for classifying the images.

XGBoost is optimized version of gradient boosting and it is a much evolved version of random forest, actually XGBoost optimize speed and possibly accuracy. Suppose we don't have millions or thousands of images that required for deep learning then I found that the accuracy that I got with tens of images with XGBoost is far superior to what we would get with deep learning. So anytime if we work with limited data, always think about XGBoost as first option and if it doesn't work great then of course try deep learning. I am sure that sometime deep learning will not be enough if we have limited data. We can also engineer our own feature extractor but here I'm going to use VGG16 pretrained architecture which make it easy for us to extract these features without defining alot of code.

At the end these fusion trained on 1000 MRI's or CT scans images (500 each COVID-19 & NORMAL) and finally achieved 98.32% accuracy and it took only 21.89 seconds to train this model. This fusion learning reduce the training time of our model, in general deep larning it usually takes a lot of time for training a model, but this hybrid technique reduced the training time and at the same time gave very good accuracy.

Folder Structure :

                    X-ray       --> main folder
                      ----| train      
                          ----| COVID-19
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg
                          ----| NORMAL
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg
                      ----| test
                          ----| COVID-19
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg
                          ----| NORMAL
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg 
                      ----| valid
                          ----| COVID-19
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg
                          ----| NORMAL
                              ----| img1.jpg
                              ----| img2.jpg
                              ----| img3.jpg
                              ----| img4.jpg 

Network Architecture :

Drawing

Confusion Matrix :

Drawing

Classification Report :

Drawing

Dataset Source : https://www.kaggle.com/fusicfenta/chest-xray-for-covid19-detection

Sample Output :

Drawing

Made with ❤ by ronil

About

Image classification using XGBOOST by extracting features using VGG16 ImageNet. This project explains the process of using XGBOOST for image classification using pre-trained weights (VGG16) as feature extractors.

License:MIT License


Languages

Language:Python 100.0%