This repository contains the code implementation for the paper "Exploiting Cascaded Ensemble of Features for the Detection of Tuberculosis Using Chest Radiographs". The goal of this project is to develop a cascaded ensemble method that combines both hand-engineered and deep learning-based features for the task of Tuberculosis (TB) detection using chest radiographs.
- Introduction
- Features
- Requirements
- Installation
- Dataset
- Usage
- Model Architecture
- Results
- Contributors
- Citation
- License
- Acknowledgments
Tuberculosis (TB) is a communicable disease and a major cause of death worldwide. Early detection of TB is crucial for effective treatment. This project proposes a method that combines both hand-engineered features and deep learning-based features for TB detection from chest radiographs. The method utilizes rotation-invariant augmentation techniques and achieves high accuracy on benchmark datasets.
- Combination of hand-engineered and deep learning-based features.
- Rotation-invariant augmentation techniques.
- Evaluated on benchmark datasets.
- High accuracy in TB detection.
- Python 3.6 or higher
- TensorFlow 2.x
- Keras
- NumPy
- OpenCV
- Scikit-learn
- Matplotlib
-
Clone the repository:
git clone https://github.com/afmsaif/Exploiting-Cascaded-Ensemble-of-Features-for-the-Detection-of-Tuberculosis-Using-Chest-Radiographs.git cd Exploiting-Cascaded-Ensemble-of-Features-for-the-Detection-of-Tuberculosis-Using-Chest-Radiographs
-
Install the required packages:
pip install -r requirements.txt
The model is evaluated on two benchmark datasets:
- Shenzhen dataset.
- Montgomery County dataset.
-
Preprocessing:
- Resize images to uniform sizes (224x224).
- Apply min-max normalization.
- Use rotation-invariant augmentation techniques to augment the training samples.
python preprocess.py
-
Feature Extraction:
- Extract hand-engineered features using various descriptors like Histogram of Oriented Gradients (HOG), Binary Pattern of Phase Congruency (BPPC), Improved Weber Binary Code (IWBC), etc.
- Extract deep learning-based features using fine-tuned transfer learning models.
-
Feature Combination:
- Combine the extracted features using a logistic regression classifier and a Receptive-Field-Aware neural network.
-
Training:
- Train the final classifier using the combined features.
python train.py
-
Evaluation:
- Evaluate the model on benchmark datasets and report accuracy, precision, recall, and F1-score.
python evaluate.py
The architecture consists of:
- Hand-Engineered Feature Extractors: Extract features using descriptors like HOG, BPPC, and IWBC.
- Deep Learning-Based Feature Extractors: Extract features using pre-trained deep learning models fine-tuned for the task.
- Feature Combination Module: Combines hand-engineered and deep learning-based features.
- Classifier: Logistic regression and Receptive-Field-Aware neural network for final classification.
The proposed method achieves outstanding performance on two benchmark datasets:
- 99.7% accuracy on the Shenzhen dataset.
- 98.4% accuracy on the Montgomery County dataset.
- A. F. M. Saif, Bangladesh University of Engineering and Technology
- Tamjid Imtiaz, Bangladesh University of Engineering and Technology
- Celia Shahnaz, Bangladesh University of Engineering and Technology
- Wei-Ping Zhu, Concordia University
- M. Omair Ahmad, Concordia University
If you find this repository useful in your research, please cite our paper:
@article{saif2021exploiting,
title={Exploiting Cascaded Ensemble of Features for the Detection of Tuberculosis Using Chest Radiographs},
author={Saif, AFM and Imtiaz, Tamjid and Shahnaz, Celia and Zhu, Wei-Ping and Ahmad, M Omair},
journal={IEEE Access},
volume={9},
pages={112388--112391},
year={2021},
publisher={IEEE}
}