Joshua Terranova
Back to highlights

Personal project

Pneumonia Detection from Chest X-Rays

2025–2026

Pipette tip transferring liquid into a rack of laboratory vials
Photo by Unsplash on Unsplash
Research

TensorFlow pipeline, EfficientNetV2B0 transfer learning, 83% validation accuracy on 368 held-out chest radiographs.

Independent TensorFlow pipeline (train.py) for binary chest radiograph classification on 988 images (620 train / 368 validation).

EfficientNetV2B0 transfer learning with focal loss, class balancing, two-phase fine-tuning, TTA, and threshold tuning: 83% validation accuracy on held-out radiographs.

Journal

What I worked on during 2025–2026. Hover underlined terms for quick definitions.

Dataset & training setup

The CV documents 988 chest X-rays split 620/368 train/validation. I built train.py around EfficientNetV2B0A efficient convolutional architecture from Google: strong transfer-learning backbone for medical imaging with moderate compute, not a from-scratch CNN: data volume does not support training millions of weights cold.

Focal lossA loss function that down-weights easy examples and focuses learning on hard misclassified cases: useful for class imbalance plus class balancingOversampling or reweighting so the minority class influences gradients proportionally addressed pneumonia vs. normal skew. Two-phase fine-tuningFreeze backbone layers first, then unfreeze top blocks for a lower learning rate pass stabilized transfer from ImageNet-like features to radiograph texture.

Evaluation beyond accuracy

Medical screening cares about errors, not a single accuracy headline. I exported confusion matricesTabular breakdown of true/false positives and negatives, ROC/AUCReceiver operating characteristic and area under curve: threshold-independent separability metric, and precision–recall curvesEspecially informative when positives are rare to outputs/ alongside checkpoints.

Test-time augmentationAverage predictions over flipped/rotated variants at inference to reduce variance and explicit threshold tuningSweeping decision boundaries to trade sensitivity vs. false alarms prevented overfitting to a default 0.5 cutoff.

Results & reproducibility

Held-out validation: 83% accuracy with confusion matrices, ROC/AUC, and precision-recall curves exported to outputs/. Structured checkpoints make week-to-week runs comparable.

The project informed later work on medical imaging: preprocessing discipline and error-type analysis matter more than a single accuracy headline.

Related highlights

All highlights