WACV 2027 Orlando, Florida, January 4–8, 2027
PACER Curriculum Self-Training with Spatial Uncertainty for Pseudo-Label Selection in Few-Shot Anatomical Landmark Detection
1MaLGa-DIBRIS, University of Genoa, Italy
Abstract
Anatomical landmark detection is bottlenecked by the cost of expert annotation, making the few-shot regime the most relevant setting in practice: a handful of labeled images alongside a larger unlabeled pool. Self-training is a natural framework here, but treating unreliable predictions as pseudo-labels can trigger confirmation bias, and the class-confidence thresholds used in classification have no analogue in dense coordinate regression. We introduce PACER (Percentile-Adaptive Curriculum on Expected Radial Error), a lightweight finetuning stage that mines the unlabeled pool to improve a pre-trained heatmap detector. PACER ranks unlabeled images by the Expected Radial Error (ERE), a label-free, geometry-aware, millimeter-scale uncertainty estimate derived from the predicted heatmaps, and admits them through a percentile gate that expands an easy-to-hard curriculum over the current pool distribution. Because ERE is physically scaled rather than bounded, the gate needs no dataset-specific millimeter threshold and tightens in absolute terms as the detector sharpens, a property a class-probability curriculum cannot have. Across chest, cephalometric, and hand radiographs, comparing only within matched-backbone groups, PACER improves every prior it finetunes: from a plain supervised base it attains the lowest MRE among the pool-only methods sharing that backbone on chest and cephalometric, at a fraction of their cost, and on a recent diffusion-pretrained prior it lowers error on all three benchmarks. The gains are broad and clinically targeted, improving 61 of 62 landmarks at 5 shots and concentrating on the anatomically hardest ones.
Method
We study the semi-supervised setting of a small labeled (oracle) set alongside a larger unlabeled pool from the same distribution. Self-training is the natural framework, but its failure mode, confirmation bias, makes the selection rule the crux. PACER finetunes a pre-trained heatmap detector that predicts one probability heatmap per landmark; trained on one-hot targets, the network learns its own free-form heatmap, so the resulting dispersion reflects the model's confidence and is readable as uncertainty. PACER couples two components.
Expected Radial Error (ERE) as selection signal
For each predicted heatmap qk and its refined mode ûk, the per-landmark ERE is the expected physical distance of heatmap mass from the predicted location, with s the pixel spacing in millimeters:
EREk(x; θ) = ∑u∈Ω qk(u) ‖s ⊙ (u − ûk)‖2,
e(x; θ) = (1/K) ∑k EREk(x; θ)
ERE is label-free (a function of the prediction only), geometry-aware (close to zero for a sharp unimodal map, large for a diffuse or multimodal one), and physically interpretable (in millimeters, comparable across landmarks, images, and spacings). We gate at the image level, averaging per-landmark ERE into one image score e, which keeps targets image-wise consistent and stabilizes gradients.
Percentile-adaptive curriculum gate
A fixed millimeter threshold is fragile, since the right value depends on anatomy, pixel spacing, landmark count, and the current model. PACER instead sorts the pool of M images by ERE and, at gate level π, admits the mπ = round(π/100 · M) lowest-ERE images. The induced threshold ρπ = e(mπ) is read off the current pool rather than chosen in advance. The gate level grows linearly over T stages up to the cap Π:
πt = (t / T) · Π, t = 1, …, T
This realizes an easy-to-hard ordering grounded in the model's own millimeter-scaled uncertainty. By default PACER uses the 4-stage curriculum with Π = 100, so the whole pool is eventually admitted and nothing is discarded permanently. At the start of each stage the pool is re-scored and the pseudo-targets of the admitted images are frozen; they are refreshed once per stage, not per epoch, which gives a stable objective and curbs confirmation bias. The only extra work over vanilla self-training is one ERE scoring pass over the pool per stage.
Self-tightening
As training sharpens the heatmaps and the pool ERE shifts toward zero, the same π maps to a smaller ρπ at each stage, so the gate grows stricter in absolute terms as the model grows more reliable, the opposite of a fixed threshold (Figure 1); the exception is the final stage under Π = 100, which readmits the whole pool by construction. Because ERE is physically scaled rather than bounded, this is a property a class-probability curriculum cannot have. Percentile admission is also calibration-invariant: a global change of s rescales every ERE equally, leaving ranking and admitted set unchanged, so the gate behaves identically on the uncalibrated Shenzhen benchmark.
Experimental results
We evaluate on three public radiographic benchmarks: Shenzhen (chest, 279 images, 6 landmarks; no usable pixel spacing, so results are in pixels), ISBI2015 (400 lateral cephalograms, 19 landmarks) and DHA (910 hand radiographs, 37 landmarks). Results are mean ± std over three to five seeds at the 5-shot budget. Methods are compared within each group (U-Net pool, HRNet, diffusion), set apart by the prior they finetune; bold is best and underlined second within group.
Table 1. 5-shot landmark detection. Groups within each dataset (separated by lines): U-Net/ResNet-101 pool methods from the shared ImageNet base (first row: the no-pool base); HRNetV2-W18 self-training methods; the diffusion prior CDPM-Align with our curriculum on top. The groups differ in backbone and pretraining, so numbers compare down a group, not across it.
| Method | MRE↓ | SDR@2↑ | P95↓ |
|---|---|---|---|
| Shenzhen (chest), pixels | |||
| ResNet-101 (ImageNet) | 17.52 ± 7.47 | 34.07 ± 7.77 | 124.21 ± 53.40 |
| Mean Teacher | 11.36 ± 3.95 | 43.93 ± 4.85 | 75.21 ± 54.61 |
| FixMatch-pose | 15.23 ± 15.21 | 23.33 ± 5.36 | 73.63 ± 111.09 |
| FlexMatch | 20.50 ± 4.52 | 18.27 ± 7.43 | 119.43 ± 63.33 |
| FreeMatch | 12.10 ± 5.04 | 15.13 ± 5.41 | 59.24 ± 60.33 |
| PACER (4-stage) | 7.71 ± 2.04 | 34.78 ± 4.30 | 28.41 ± 27.42 |
| STLD-HRNet | 3.57 ± 1.07 | 33.33 ± 2.33 | 10.28 ± 6.09 |
| PACER-HRNet | 3.09 ± 0.25 | 39.78 ± 2.59 | 6.80 ± 0.26 |
| CDPM-Align | 4.14 ± 0.17 | 47.00 ± 4.91 | 10.90 ± 3.37 |
| CDPM-Align + PACER | 2.65 ± 0.10 | 45.22 ± 3.79 | 6.35 ± 0.40 |
| ISBI2015 (cephalometric), mm | |||
| ResNet-101 (ImageNet) | 6.24 ± 2.27 | 47.73 ± 8.16 | 29.67 ± 18.58 |
| Mean Teacher | 6.34 ± 0.46 | 58.73 ± 2.09 | 41.35 ± 4.95 |
| FixMatch-pose | 6.89 ± 2.21 | 43.10 ± 7.18 | 43.58 ± 22.14 |
| FlexMatch | 5.84 ± 3.43 | 49.46 ± 5.93 | 25.79 ± 26.35 |
| FreeMatch | 6.04 ± 4.39 | 46.75 ± 7.75 | 24.51 ± 29.27 |
| PACER (4-stage) | 2.85 ± 0.51 | 57.39 ± 3.16 | 6.86 ± 2.40 |
| STLD-HRNet | 2.15 ± 0.07 | 54.25 ± 1.95 | 4.82 ± 0.20 |
| PACER-HRNet | 2.26 ± 0.02 | 49.33 ± 0.16 | 4.85 ± 0.07 |
| CDPM-Align | 2.94 ± 0.49 | 57.54 ± 2.52 | 6.51 ± 1.08 |
| CDPM-Align + PACER | 2.19 ± 0.03 | 55.87 ± 0.29 | 5.03 ± 0.24 |
| DHA (hand), mm | |||
| ResNet-101 (ImageNet) | 10.94 ± 1.33 | 67.59 ± 2.58 | 81.28 ± 18.64 |
| Mean Teacher | 4.02 ± 2.11 | 83.47 ± 1.82 | 7.43 ± 7.17 |
| FixMatch-pose | 7.90 ± 3.70 | 76.38 ± 5.14 | 49.83 ± 38.09 |
| FlexMatch | 8.30 ± 9.33 | 69.95 ± 7.31 | 50.91 ± 63.13 |
| FreeMatch | 9.81 ± 11.39 | 59.40 ± 9.88 | 53.92 ± 60.73 |
| PACER (4-stage) | 4.85 ± 1.80 | 76.86 ± 2.70 | 18.42 ± 10.93 |
| STLD-HRNet | 2.31 ± 0.14 | 40.92 ± 5.44 | 4.11 ± 0.16 |
| PACER-HRNet | 1.79 ± 0.03 | 64.07 ± 0.88 | 3.79 ± 0.12 |
| CDPM-Align | 4.19 ± 0.52 | 77.70 ± 1.17 | 24.66 ± 2.26 |
| CDPM-Align + PACER | 1.40 ± 0.12 | 84.57 ± 1.88 | 3.14 ± 0.12 |
Key findings
Near-universal per-landmark gains
Against the base each run was finetuned from, PACER improves 61 of the 62 landmarks across the three benchmarks at 5 shots (chest 6/6, cephalometric 19/19, hand 36/37, the exception unchanged rather than degraded), and the hardest third of landmarks improves by 34/57/50% on chest/cephalometric/hand.
Complements a generative prior
On the CDPM-Align checkpoint, CDPM-Align + PACER takes the best MRE and P95 in its block on every dataset (chest 4.14 → 2.65, cephalometric 2.94 → 2.19, hand 4.19 → 1.40).
Lowest pool-only MRE on chest and cephalometric
Finetuning the shared ImageNet base, PACER is the best pool-only method in that group on chest and cephalometric (MRE 7.71 and 2.85) and second to Mean Teacher on hand (4.85 vs. 4.02).
Cheap
At a matched budget on one A30, PACER is roughly 6× faster than every SSL baseline (≈35 vs. 210 min) at lower peak memory.
Why ERE? Ranking quality of label-free signals
Video and poster
Video
Poster
Frequently asked questions
What is PACER?
PACER (Percentile-Adaptive Curriculum on Expected Radial Error) is a lightweight self-training stage for few-shot anatomical landmark detection, published at WACV 2027. Starting from a pre-trained heatmap detector and a handful of labeled radiographs, it mines a larger unlabeled pool: it ranks unlabeled images by the Expected Radial Error (ERE) and admits the most reliable ones as pseudo-labels through a percentile gate that grows from easy to hard over the curriculum stages.
What is the Expected Radial Error (ERE)?
ERE is a label-free, geometry-aware, millimeter-scale uncertainty read from a predicted heatmap: the expected physical distance of the heatmap mass from the predicted landmark location. It is close to zero for a sharp unimodal heatmap and large for a diffuse or multimodal one. PACER averages per-landmark ERE into one score per image.
Why a percentile gate instead of a fixed threshold?
A fixed millimeter threshold depends on anatomy, pixel spacing, landmark count and the current model. PACER admits the lowest-ERE fraction of the pool instead, so the induced millimeter threshold is read off the current pool. As the detector sharpens, the same percentile maps to a smaller threshold, so the gate becomes stricter in absolute terms (self-tightening), and percentile admission is unaffected by a global change of pixel spacing.
How much does PACER improve landmark detection?
At 5 shots, PACER improves 61 of the 62 landmarks across chest (Shenzhen), cephalometric (ISBI2015) and hand (DHA) radiographs against the base it was finetuned from. On top of the diffusion-pretrained CDPM-Align prior it lowers MRE on all three benchmarks (chest 4.14 to 2.65 px, cephalometric 2.94 to 2.19 mm, hand 4.19 to 1.40 mm). From the shared ImageNet base it is the best pool-only method on chest and cephalometric and is roughly 6 times faster than the semi-supervised baselines at a matched budget.
Is the code available?
Yes. The official PyTorch implementation, with every baseline, ablation and the analysis scripts for the paper tables, is at github.com/Malga-Vision/PACER-wacv27 under the MIT license.
Citation
@inproceedings{divia2027pacer,
title = {{PACER}: Curriculum Self-Training with Spatial Uncertainty for Pseudo-Label Selection in Few-Shot Anatomical Landmark Detection},
author = {Di Via, Roberto and Odone, Francesca and Pastore, Vito Paolo},
booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
year = {2027}
}