Medical Chest X-ray Classifier

Jan 2025 - Apr 2025
Deep Learning / Computer Vision / ResNet50 / Model Benchmarking / Deployment (Flask)
X-Ray Diagnosis Web App (Demo)

About Project

  • Type: University ML Project (End-to-End System)
  • Task: Multi-class classification: COVID-19 vs TB vs Pneumonia vs Normal
  • Models: ResNet50 (primary) + comparisons with VGG16, DenseNet, and a custom CNN
  • Deliverables: Trained model files + reproducible preprocessing notebook + Flask web app for inference + documentation

Objective

Build a deep-learning chest X-ray screening system that classifies medical images into COVID-19, Tuberculosis, Pneumonia, or Normal—pairing strong model performance with clear documentation and a working web demo for inference.

Tools & Technologies

Python, PyTorch, OpenCV / Image Preprocessing, Matplotlib, Data Augmentation, Class Weighting, Model Evaluation (Confusion Matrix, Precision/Recall), Flask (Deployment), Git

Key Work & Impact

Built an end-to-end pipeline from raw multi-source datasets → cleaned/preprocessed dataset → model training → evaluation → deployed inference via a Flask web application.

Trained a ResNet50-based classifier on 15K+ chest X-ray images and achieved ~92% accuracy while tracking class-wise performance to avoid “accuracy-only” reporting.

Improved generalization using augmentation, normalization, and class weighting to address class imbalance and reduce overfitting—optimizing for better recall on disease classes.

Benchmarked multiple architectures (ResNet50, VGG16, DenseNet, custom CNN) to compare performance tradeoffs and validate model selection beyond a single run.

Performed EDA and visual diagnostics to understand dataset imbalance, image quality variance, and model behavior—supporting explainable reporting in the final write-up.

Packaged the project for replication with clear repository structure, setup instructions, and pretrained model download steps so others can run the system end-to-end.

External Links