Diagnosing Covid-19 Chest X-Rays with a Lightweight Truncated DenseNet with Partial Layer Freezing and Feature Fusion
Author: Francis Jesmar P. Montalbo
Affiliation: Batangas State University
Email: francismontalbo@ieee.org
***PLEASE CONTANCT ME IF YOU ARE HAVING TROUBLE. I CAN OFFER ASSITANCE***❗This GitHub repository serves as a support for a published article in Biomedical Signal Processing and Control (BSPC) ISSN: 1746-8094. https://www.sciencedirect.com/science/article/abs/pii/S1746809421001804
CITATION
Francis Jesmar P. Montalbo,
Diagnosing Covid-19 Chest X-Rays with a Lightweight Truncated DenseNet with Partial Layer Freezing and Feature Fusion,
Biomedical Signal Processing and Control, 2021, 102583, ISSN 1746-8094
https://doi.org/10.1016/j.bspc.2021.102583.
(https://www.sciencedirect.com/science/article/pii/S1746809421001804)
Abstract: Due to the unforeseen turn of events, our world has undergone another global pandemic from a highly contagious novel coronavirus named COVID-19. The novel virus inflames the lungs similarly to Pneumonia, making it challenging to diagnose. Currently, the common standard to diagnose the virus's presence from an individual is using a molecular real-time Reverse-Transcription Polymerase Chain Reaction (rRT-PCR) test from fluids acquired through nasal swabs. Such a test is difficult to acquire in most underdeveloped countries with a few experts that can perform the test. As a substitute, the widely available Chest X-Ray (CXR) became an alternative to rule out the virus. However, such a method does not come easy as the virus still possesses unknown characteristics that even experienced radiologists and other medical experts find difficult to diagnose through CXRs. Several studies have recently used computer-aided methods to automate and improve such diagnosis of CXRs through Artificial Intelligence (AI) based on computer vision and Deep Convolutional Neural Networks (DCNN), which some require heavy processing costs and other tedious methods to produce. Therefore, this work proposed the Fused-DenseNet-Tiny, a lightweight DCNN model based on a densely connected neural network (DenseNet) truncated and concatenated. The model trained to learn CXR features based on transfer learning, partial layer freezing, and feature fusion. Upon evaluation, the proposed model achieved a remarkable 97.99% accuracy, with only 1.2 million parameters and a shorter end-to-end structure. It has also shown better performance than some existing studies and other massive state-of-the-art models that diagnosed COVID-19 from CXRs.
CITATION
Francis Jesmar P. Montalbo,
Truncating a Densely Connected Convolutional Neural Network with Partial Layer Freezing and Feature Fusion for Diagnosing COVID-19 from Chest X-Rays,
MethodsX, 2021, ISSN 2215-0161
https://doi.org/10.1016/j.mex.2021.101408
(https://www.sciencedirect.com/science/article/pii/S2215016121002016)
Keywords: chest x-rays; computer-aided diagnosis; covid-19; deep learning; densely connected neural networks
***This is also a support for another article in MethodsX submission with an ISSN of 2215-0161. *** This repository will be maintained and improved after all reviews are done for the use of the public. A video utorial will also be released soon for a faster and easier implementation
Made with draw.io
Curated Dataset for COVID-19 Posterior-Anterior Chest Radiography Images (X-Rays).
SAIT, UNAIS; k v, Gokul Lal; Prajapati, Sunny; Bhaumik, Rahul; Kumar, Tarun; S, Sanjana; Bhalla , Kriti (2020), “Curated Dataset for COVID-19 Posterior-Anterior Chest Radiography Images (X-Rays).”, Mendeley Data, V1, doi: 10.17632/9xkhgts2s6.1 http://dx.doi.org/10.17632/9xkhgts2s6.1
❗For a faster method, you may download the already prepared dataset used in the given link below.
CLICK ME FOR THE PREPARED DATASET
❗If training the model, the dependencies included a tensorflow-gpu
. You may change the tensorflow-gpu
to tensorflow
if no GPU is to be used. However, the results from the paper were produced using a GPU (GTX 1070)
Dependencies included in the requirements.txt
:
- jupyter==1.0.0
- keras==2.2.5
- matplotlib
- numpy==1.16.2
- opencv-python==4.4.0.42
- pandas==0.25.3
- Pillow==7.2.0
- scikit-learn
- scikit-image
- scikit-plot
- scipy
- tensorflow-gpu==1.14.0 (Note: This is optional and can train even with just a CPU or tensorflow non-gpu variant)
❗ START HERE You may clone using git or download the repository and extract the files manually:
- Once cloned, CD into the folder and enter
pip install -r requirements.txt
. - After installation of the dependecies, there are two options to evaluate or use the model.
First (easier):
- Clone this repository or download as zip.
- Install the requirements on a newly created environment to prevent issues with other existing ones.
- Directly open the
model_evaluation.ipynb
and proceed with the evaluation. Then open themodel_tester.ipynb
to test it and you are done. The weight size of the model is only 10.3MB 😄 named asfused_densenet_tiny.h5
inside theweights/
folder.
Second (difficult):
- Make sure to download the PREPARED dataset and extract it to a folder within the
fused-densenet-tiny/
likefused-densenet-tiny/dataset/
- Clone this repository or download as zip.
- Install the requirements on a newly created environment to prevent issues with other existing ones.
- Open the
model_trainer.ipynb
and train. - Once trained, you may now use the
model_evaluation.ipynb
andmodel_tester.ipynb
and you are done.
REMEMBER THIS IS A LONGER PROCESS (Second process) TO TEST AND SIMULATE THE MODEL
Model | Accuracy | Precision | Recall | F1-Score |
---|---|---|---|---|
Fused-DenseNet-Tiny | 97.99% | 98.38% | 95.15% | 95.26% |
@article{MONTALBO2021102583, title = {Diagnosing Covid-19 Chest X-Rays with a Lightweight Truncated DenseNet with Partial Layer Freezing and Feature Fusion}, journal = {Biomedical Signal Processing and Control}, pages = {102583}, year = {2021}, issn = {1746-8094}, doi = {https://doi.org/10.1016/j.bspc.2021.102583}, url = {https://www.sciencedirect.com/science/article/pii/S1746809421001804}, author = {Francis Jesmar P. Montalbo}, keywords = {chest x-rays, computer-aided diagnosis, covid-19, deep learning, densely connected neural networks}
@article{MONTALBO2021101408, title = {Truncating a Densely Connected Convolutional Neural Network with Partial Layer Freezing and Feature Fusion for Diagnosing COVID-19 from Chest X-Rays}, journal = {MethodsX}, pages = {101408}, year = {2021}, issn = {2215-0161}, doi = {https://doi.org/10.1016/j.mex.2021.101408}, url = {https://www.sciencedirect.com/science/article/pii/S2215016121002016}, author = {Francis Jesmar P. Montalbo}, keywords = {Deep Convolutional Neural Networks, COVID-19, Feature Fusion, Medical Image Diagnosis, Image Classification}