COVID-19 is a highly contagious respiratory infection that has affected a large population across the world and continues with its devastating consequences. It is imperative to detect COVID-19 at the earliest to limit the span of infection. In this work, a new classification technique “CB-STM-RENet” based on deep Convolutional Neural Network (CNN) and Channel Boosting is developed for the detection of COVID-19 from chest X-Rays. In this connection, to learn the COVID-19 specific radiographic patterns, a new convolution block based on split-transform-merge (STM) is developed. This new block systematically incorporates region and edge base operations at each branch to capture the diverse set of features at various levels, especially those related to region homogeneity, textural variations, and boundaries of the infected region. We further enhanced the learning and discrimination capability of the proposed CNN architecture by exploiting the Channel Boosting idea that concatenates the auxiliary channels along with the original channels. The auxiliary channels are generated by employing Transfer Learning-based domain adaption of the pre-trained CNN architectures. The effectiveness of the proposed technique “CB-STM-RENet” is evaluated on three different datasets containing CoV-Healthy-6k, CoV-NonCoV-10k, and CoV-NonCoV-15k Chest X-Ray images, respectively. The performance comparison of the proposed deep CB-STM-RENet with the existing techniques exhibits high classification performance both in discriminating COVID-19 chest infections from healthy, as well as, other types of chest infections. CB-STM-RENet provides the highest performance on all these three datasets; especially on the stringent CoV-NonCoV-15k dataset. The good detection rate (97%), and high precision (93%) of the proposed technique suggest that it can be adapted for the diagnosis of COVID-19 infected patients.
In this repository, we provide the MATLAB GUI and Testing Code for the COVID-19 Detection in Chest X-Ray images for the research community to use our research work.
This work proposes a new technique based on CB CNN for automated detection of COVID-19 from chest X-Ray images. The proposed technique targets the discrimination of COVID-19 infected from both non-COVID-19 infected and Healthy individual. In this regard, a new CNN classifier based on novel split-transform-merge (STM) block is developed that systematically implements RE-based operations for the learning of COVID-19 specific patterns and termed as “STM-RENet”. The learning capacity of the proposed CNN is enhanced using Channel Boosting to improve the detection rate while maintaining high precision. The CB CNN is termed as “CB-STM-RENet”. The performance of the proposed technique is compared with several existing CNNs by implementing them from scratch as well as by adapting them using TL on X-Ray dataset for COVID-19 detection. The overall workflow is shown in Figure 1.
Trained Model is available at this link.
Three different Chest X-Ray images datasets were used.
- CoV-Healthy-6k
- CoV-NonCoV-10k
- CoV-NonCoV-15k
Dataset wil be available on request, contact at hengrshkhan822@gmail.com
Panel (A), (B), and (C) show COVID-19 infected, Non-COVID-19 infected, and Healthy images, respectively.
Panel (A), (B), and (C) show COVID-19 infected, Non-COVID-19 infected, and Healthy images, respectively. The images are tough to classify because of having high illumination, translational, rotational, occlusion and missing informational effects.
Training Plot of proposed CB-STM-RENet technique on CoV-NonCoV-15k dataset.
- Matlab 2019b.
- Deep Learning library.
- NVIDIA GeForce GTX Titan X Computer.
- Clone this repo.
git install https://github.com/PRLAB21/COVID-19-Detection-System-using-Chest-X-Ray-Images.git
- Change directory to cloned folder.
cd COVID-19-Detection-System-using-Chest-X-Ray-Images-master
- Download model and place it in following structure.
COVID-19-Detection-System-using-Chest-X-Ray-Images-master
|__proposed-CB-STM-RENet-model
|__Proposed_CB_STM_RENet.mat
-
Testing images are downloaded along with this repo and are present inside COVID-X-ray-test-images directory.
-
Run code below mentioned methods.
- Open MATLAB.
- Set MATLAB folder location same as this repos folder.
- Now add each folder to MATLAB path from Current Folder panel by right clicking on each folder and selecting Add to Path > Selected Folder and Subfolders.
- Now you can run either test models individually or run MATLAB GUI App as described below.
- test_code_image.m: Use this file for testing classification model on folder of images at once.
- Inside this directory there is gui_classification.mlapp file. In order to use MATLAB-GUI-app type following at command window.
>> gui_classification
Now the GUI interface will open after some time, then it will allow use to load image, and classify it as COVID-19 or Non-COVID-19.
Prof. Asifullah Khan,
Department of Computer and Information Sciences (DCIS),
Pakistan Institute of Engineering and Applied Sciences (PIEAS).
Email: asif@pieas.edu.pk
faculty.pieas.edu.pk/asifullah/
Khan, Saddam Hussain, Anabia Sohail, & Asifullah Khan. "COVID-19 Detection in Chest X-Ray Images using a New Channel Boosted CNN." arXiv preprint: 2012.05073 (2020).
@misc{khan2020covid19,
title={COVID-19 Detection in Chest X-Ray Images using a New Channel Boosted CNN},
author={Saddam Hussain Khan and Anabia Sohail and Asifullah Khan},
year={2020},
eprint={2012.05073},
archivePrefix={arXiv},
primaryClass={eess.IV}
}