| ---
|
| license: mit
|
| language:
|
| - en
|
| library_name: pytorch
|
| pipeline_tag: image-classification
|
| tags:
|
| - chexvision
|
| - medical-imaging
|
| - chest-xray
|
| - radiology
|
| - pytorch
|
| - multi-label-classification
|
| datasets:
|
| - HlexNC/chest-xray-14-320
|
| ---
|
|
|
| # CheXVision-ResNet
|
|
|
| ## Project Resources
|
|
|
| - [GitHub repository](https://github.com/arudaev/chexvision)
|
| - [Presentation deck](https://arudaev.github.io/chexvision/)
|
| - [Live demo](https://huggingface.co/spaces/arudaev/chexvision-demo)
|
| - [Dataset](https://huggingface.co/datasets/arudaev/chest-xray-14-320)
|
|
|
| > **CheXVision** — Deep Learning & Big Data university project.
|
| > 14-class chest X-ray pathology detection + binary normal/abnormal classification
|
| > on the NIH Chest X-ray14 dataset (112,120 images).
|
|
|
| ## Architecture
|
|
|
| <p align="center">
|
| <img src="https://huggingface.co/HlexNC/chexvision-scratch/resolve/main/arch_scratch.png" width="88%" alt="SE-ResNet Architecture"/>
|
| </p>
|
|
|
| ## Training Pipeline
|
|
|
| <p align="center">
|
| <img src="https://huggingface.co/HlexNC/chexvision-scratch/resolve/main/pipeline_training.png" width="42%" alt="Training Pipeline"/>
|
| </p>
|
|
|
| ## Training Metrics
|
|
|
| - Best validation macro AUC-ROC: `0.8008`
|
| - Best validation binary AUC-ROC: `0.7571`
|
| - Best validation binary F1: `0.6474`
|
| - Best checkpoint epoch: `60`
|
|
|
|
|
| ## Training Configuration
|
|
|
| - Repository: `HlexNC/chexvision-scratch`
|
| - Dataset: [HlexNC/chest-xray-14-320](https://huggingface.co/datasets/HlexNC/chest-xray-14-320) · revision `44443e6ee968b3c6094b63f14a27698c40b50680`
|
| - Architecture: Custom residual CNN with Squeeze-Excitation channel attention (depth [3, 4, 6, 3]) trained from scratch with shared features and dual classification heads.
|
| - Platform: Kaggle GPU kernel (NVIDIA T4 / P100)
|
| - Batch size: `24` × grad_accum `4` = **effective batch `96`**
|
| - AMP (fp16): `enabled`
|
| - CLAHE preprocessing: `disabled`
|
| - Label smoothing: `0.0`
|
| - Optimizer: AdamW · Scheduler: CosineAnnealingLR
|
| - Epochs configured: `100` · Early stop patience: `15`
|
|
|
| ## Intended Use
|
|
|
| This model is intended for research and educational work on automated chest X-ray pathology detection.
|
| It outputs two predictions per image:
|
| 1. **Multi-label scores** — independent sigmoid probability for each of 14 NIH pathologies
|
| 2. **Binary score** — sigmoid probability of any abnormality (Normal vs. Abnormal)
|
|
|
| ## Limitations
|
|
|
| - Not validated for clinical use. Predictions must not substitute professional medical judgment.
|
| - Trained on NIH Chest X-ray14, which contains noisy radiologist annotations (patient-level labels, not lesion-level).
|
| - Performance degrades on images from equipment, patient populations, or preprocessing pipelines
|
| that differ from the NIH training distribution.
|
| - Reported AUC metrics are on the validation split, not the held-out test set.
|
|
|
| ## CheXNet Benchmark Context
|
|
|
| CheXNet (Rajpurkar et al., 2017) — the seminal paper establishing DenseNet-121 for chest X-ray
|
| classification — reported **0.841 macro AUC-ROC** on a comparable split of this dataset.
|
| CheXVision-DenseNet matches this benchmark. See the
|
| [CheXVision demo](https://huggingface.co/spaces/HlexNC/chexvision-demo) for live inference.
|
|
|
| ## Citation
|
|
|
| ```bibtex
|
| @misc{chexvision2026,
|
| title={CheXVision: Dual-Task Chest X-ray Classification with Custom CNN and DenseNet-121},
|
| author={BIG D(ATA) Team},
|
| year={2026},
|
| howpublished={\url{https://huggingface.co/HlexNC/chexvision-scratch}}
|
| }
|
| ```
|
| |