Pediatric pneumonia detection (chest X-ray)

imaging
medical-imaging/pediatric-pneumonia-detection Task: binary-classification Visibility: PUBLIC
OverviewLeaderboard

Leaderboard

ROC-AUC (logistic probe)

↑ higher is better · probe · atlas-full-v1

ROC-AUC on the same 624 test radiographs of a logistic head fit on frozen pooled image embeddings of 500 training radiographs (100 test radiographs in atlas-n100-v1).

Best in the catalogue: 0.992 (the best visible result here, not a state of the art). Ranks are the server's: ties share a rank. A ≠ marks a row whose n differs from the board's usual n (624). Floors are trivial baselines scored on the same items, shown unranked.

# Model Value 95% CI n Source Overlap
1 medical-imaging/yolov8m-chest-xray-classification 0.992 best [0.985, 0.998] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

2 medical-imaging/yolov8n-chest-xray-classification 0.989 [0.983, 0.995] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

3 bio-nlp/biomedclip-pubmedbert-256-vit-base-patch16-224 0.964 [0.950, 0.976] 624 reproduced unknown
4 medical-imaging/chest-x-ray-basic 0.958 [0.943, 0.972] 624 reproduced none declared
5 medical-imaging/vit-chest-xray 0.954 [0.937, 0.968] 624 reproduced none declared
Secondary metrics (4) · probe · context, not ranked

Accuracy (logistic probe)

↑ higher is better · probe

Share of the 624 test radiographs (100 in atlas-n100-v1) the logistic probe labels correctly (probability above 0.5).

Model Value 95% CI n Source Overlap
medical-imaging/yolov8m-chest-xray-classification 0.962 best [0.946, 0.976] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/yolov8n-chest-xray-classification 0.962 best [0.946, 0.976] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

bio-nlp/biomedclip-pubmedbert-256-vit-base-patch16-224 0.864 [0.840, 0.888] 624 reproduced unknown
medical-imaging/vit-chest-xray 0.861 [0.835, 0.883] 624 reproduced none declared
medical-imaging/chest-x-ray-basic 0.851 [0.825, 0.875] 624 reproduced none declared

Sensitivity, pneumonia (logistic probe)

↑ higher is better · probe

Share of the pneumonia test radiographs the logistic probe calls pneumonia (pos_label 1).

Model Value 95% CI n Source Overlap
medical-imaging/yolov8m-chest-xray-classification 0.997 best [0.992, 1.000] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/yolov8n-chest-xray-classification 0.997 best [0.990, 1.000] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/chest-x-ray-basic 0.992 [0.982, 1.000] 624 reproduced none declared
bio-nlp/biomedclip-pubmedbert-256-vit-base-patch16-224 0.990 [0.979, 1.000] 624 reproduced unknown
medical-imaging/vit-chest-xray 0.977 [0.962, 0.990] 624 reproduced none declared

Specificity, pneumonia (logistic probe)

↑ higher is better · probe

Share of the normal test radiographs the logistic probe calls normal (pos_label 1).

Model Value 95% CI n Source Overlap
medical-imaging/yolov8m-chest-xray-classification 0.902 best [0.859, 0.940] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/yolov8n-chest-xray-classification 0.902 best [0.863, 0.940] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/vit-chest-xray 0.667 [0.603, 0.722] 624 reproduced none declared
bio-nlp/biomedclip-pubmedbert-256-vit-base-patch16-224 0.654 [0.598, 0.718] 624 reproduced unknown
medical-imaging/chest-x-ray-basic 0.615 [0.547, 0.675] 624 reproduced none declared

Average precision (logistic probe)

↑ higher is better · probe

Average precision of the probe's pneumonia probability, pneumonia as the positive class.

Model Value 95% CI n Source Overlap
medical-imaging/yolov8m-chest-xray-classification 0.994 best [0.989, 0.998] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

medical-imaging/yolov8n-chest-xray-classification 0.993 [0.989, 0.997] 624 reproduced
overlap

Train/test overlap declared by the evaluator: medical-imaging/chest-xray-pneumonia

bio-nlp/biomedclip-pubmedbert-256-vit-base-patch16-224 0.977 [0.967, 0.986] 624 reproduced unknown
medical-imaging/chest-x-ray-basic 0.971 [0.957, 0.982] 624 reproduced none declared
medical-imaging/vit-chest-xray 0.970 [0.957, 0.980] 624 reproduced none declared

Protocol

What is measured. Whether a pediatric chest radiograph shows pneumonia (bacterial or viral) or is normal. Data: Kermany et al., Cell 2018 (Mendeley Data doi:10.17632/rscbjbr9sj.2), anterior-posterior radiographs of children aged one to five from Guangzhou Women and Children's Medical Center, graded by two expert physicians (the test set checked by a third), as mirrored by hf-vision/chest-xray-pneumonia (JPEG, sizes vary around 1,000-2,000 pixels).

Split. The official test split (624 images: 234 normal, 390 pneumonia) is the test pool and the official training split (5,216: 1,341 / 3,875) the train pool; the 16-image validation split is not used. atlas-full-v1 tests on the whole official test split (624 images); atlas-n100-v1 drew 100 test images stratified by label. Both draw 500 train images stratified by label (largest-remainder quotas, seed-hash rank). Training images whose patient number (person123 in person123_bacteria_456.jpeg, IM-0115 in IM-0115-0001.jpeg) also appears among the test images are excluded from training, so the two versions' train sets differ slightly (461 of 500 shared; 359 pneumonia / 141 normal in atlas-full-v1). The source numbers patients per folder, so a shared number may not be the same child; dropping it is the conservative choice.

Test size. The leaderboard version is atlas-full-v1 on every profile: the whole official test split, 624 images, the set the literature reports on (an image model scores 624 radiographs in about a minute). The earlier atlas-n100-v1 stays frozen and its cells stay current; it is a separate ranking, never mixed with the full one.

Zero-shot (roc_auc_zero_shot). Either a native pneumonia classifier's probability, or, for image-text models, the similarity of the image to "a chest x-ray showing pneumonia" minus its similarity to "a normal chest x-ray". Nothing is trained here.

Probe (roc_auc_probe). Frozen pooled image embeddings; a logistic head is fit on the 500 training images and scores every test image.

Uncertainty. 95 % bootstrap interval over test images, 1,000 resamples stratified by label.

Caveats. Pneumonia images outnumber normal ones about 3 to 1; ROC-AUC is insensitive to that. The dataset is widely used to fine-tune public chest X-ray classifiers (several keremberke/YOLOv8 classification checkpoints on the hub were trained on a derivative of it), so their zero-shot numbers may include training images: a known overlap, reported with the results. Adult chest X-ray models face a domain shift (children, AP views).

Accuracy, sensitivity, specificity, average precision (accuracy_zero_shot, accuracy_probe, sensitivity_zero_shot, sensitivity_probe, specificity_zero_shot, specificity_probe, average_precision_zero_shot, average_precision_probe; metrics review). Kermany et al. report accuracy, sensitivity and specificity next to ROC-AUC. They read each model's own decision: a classifier's or the probe's probability above 0.5, or a positive prompt margin for an image-text model, pneumonia as the positive class; no threshold is tuned here, so a model whose scores are not calibrated to that cut can score a low sensitivity or specificity with a high ROC-AUC. Always answering pneumonia gives accuracy 0.625 (390 / 624) and specificity 0. Average precision is threshold-free, like ROC-AUC.

Data

  • pneumonia: hf_dataset hf-vision/chest-xray-pneumonia at revision c1a67c18df1a52ec332ffc00418f4eaa61a9f2bc, licence cc-by-4.0, catalogued as medical-imaging/chest-xray-pneumonia

Subset

  • seed 20261006
  • test: 100 item(s), stratified by label
  • train: 500 item(s), stratified by label, disjoint by patient_number
  • leaderboard version atlas-full-v1 on every profile: the whole eligible test pool (the sizes above define the n version)
  • results at atlas-full-v1 use subset 3ae07456bf0152dc
  • results at atlas-n100-v1 use subset 09b1f320caf781e4

Metrics

  • roc_auc_zero_shot — ROC-AUC (zero-shot); protocol zero_shot; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • roc_auc_probe — ROC-AUC (logistic probe); protocol probe; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • accuracy_zero_shot — Accuracy (zero-shot); protocol zero_shot; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • sensitivity_zero_shot — Sensitivity, pneumonia (zero-shot); protocol zero_shot; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • specificity_zero_shot — Specificity, pneumonia (zero-shot); protocol zero_shot; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • average_precision_zero_shot — Average precision (zero-shot); protocol zero_shot; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • accuracy_probe — Accuracy (logistic probe); protocol probe; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • sensitivity_probe — Sensitivity, pneumonia (logistic probe); protocol probe; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • specificity_probe — Specificity, pneumonia (logistic probe); protocol probe; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label
  • average_precision_probe — Average precision (logistic probe); protocol probe; higher is better; range [0.0, 1.0]; 95% bootstrap CI, 1000 resamples, stratified by label

Sample

The leaderboard (atlas-full-v1) scores the 624 official test radiographs (100 in atlas-n100-v1). Three test radiographs (input: the JPEG; expected output: a score that ranks pneumonia above normal):

item_idlabel
pneumonia-test-person136_bacteria_6481 (PNEUMONIA, bacterial)
pneumonia-test-person51_virus_1051 (PNEUMONIA, viral)
pneumonia-test-NORMAL2-IM-0246-00010 (NORMAL)