Skip to content
01Computer Vision / Research

ThoraxVision

A computer vision research project for early tuberculosis detection from chest X-ray images, built around a DenseNet121 classifier and benchmarked against two other convolutional backbones.

Discipline
Computer Vision / Research
Context
Academic research and conference publication material

Problem

Early tuberculosis screening from chest X-rays depends on reader availability and experience. The project studies whether a convolutional classifier trained on a local chest X-ray dataset can support that screening step.

Approach

  1. Trained DenseNet121 as the main model on a local chest X-ray dataset.
  2. Benchmarked ResNet50 and VGG19 under the same evaluation protocol.
  3. Applied image preprocessing and augmentation before training.
  4. Ran hyperparameter experimentation across the model variants.
  5. Evaluated with accuracy, per-class precision/recall/F1, ROC-AUC, and confusion matrices.
  6. Used Grad-CAM to inspect which regions drive each prediction.

Outcome

Developed an end-to-end chest X-ray classification workflow for tuberculosis screening research, covering image preprocessing, CNN training, model comparison, evaluation, and inference. The project evolved from a research experiment into a working AI application, connecting the trained computer vision model with a web-based interface for practical inference.

Lessons learned

Accuracy on its own said little about a two-class chest X-ray problem where the classes were not balanced. Per-class precision, recall, and F1, ROC-AUC, and the confusion matrix each showed a different side of the same model, and a decision about which backbone to keep had to rest on all of them together.

Preprocessing and augmentation changed how the models behaved, not just how well they scored. What was done to the images before training had to be treated as part of the experiment and recorded with it.

Comparing DenseNet121, ResNet50, and VGG19 under one evaluation protocol was what made the comparison mean anything. Running the variants systematically, with the same data and the same metrics, mattered more than any single result.

Training a model and serving it are different engineering problems. Connecting the trained classifier to a web interface for inference raised questions (input handling, model loading, response shape) that the training notebooks never had to answer.

Dataset

4,784 images · Local chest X-ray dataset

Non-TB / Tuberculosis

Binary classification.

Stack

Model
PyTorchDenseNet121ResNet50VGG19
Workflow
Image preprocessingAugmentationHyperparameter experimentation
Evaluation
ROC / AUCConfusion matrixGrad-CAM

Links