What Survives Label Downsampling? Exact Region Survival for Coarse Segmentation Targets
Organizations: East China Jiaotong University · Imperial College London · University of Macau
Abstract
Segmentation networks that predict at an output stride are trained against label maps downsampled by strided sampling, nearest-neighbor resampling or majority pooling. These methods label each coarse grid cell on its own, so a region that wins no cell is absent from the target and receives no positive label. We present MatchDown, which builds the coarse target from a minimum-cost matching between regions and the grid cells they occupy. It keeps as many regions as any one-region-per-cell target can, certifies how many losses are unavoidable, and with priority tiers (MatchDown-P) keeps every evaluated region (a region that a metric scores) of at least one cell's area. On COCO, Cityscapes and BBBC038 at factors 2 to 16, MatchDown-P loses exactly the minimum number of regions, whereas the downsampling used by StarDist, nnU-Net and connectomics pyramids loses four to five times as many on COCO at factor 8. Keeping a region in the target and reconstructing its shape are different problems: we show that no region lost by majority pooling can be reconstructed above IoU 0.5 by upsampling any coarse target, yet on BBBC038 a star-convex head trained on MatchDown targets segments 35% of the nuclei that majority pooling loses above IoU 0.5, against 15% when trained on majority targets and 24% on StarDist's strided target. On two nucleus datasets, with thresholds cross-validated for count error, this head has instance accuracy at IoU 0.5 (Acc50) 2.6 to 4.2 points above the strided target and at most 2.8 points below cell-center sampling, and a lower count error than the strided and cell-center targets on BBBC039. On BBBC039, an affinity head, which outputs one label per cell, lowers count error relative to majority targets by 9.3 nuclei per image at 7.2 points lower Acc50. MatchDown runs once, before training, in place of the label-downsampling step.
Figures & tables
| Target | Lost | 1 cell | Recon. |
|---|---|---|---|
| Majority pooling | 9,207 | 195 | 98.4 |
| Strided (StarDist) | 8,498 | 176 | 81.1 |
| Nearest-exact (nnU-Net) | 8,481 | 150 | 97.7 |
| Max pooling | 7,849 | 933 | 74.5 |
| Greedy rescue | 4,921 | 69 | 89.9 |
| Maximal rescue | 4,381 | 9 | 89.6 |
| BBBC038 | BBBC039 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Affinity, | Star-convex, | Affinity, | Star-convex, | Star-convex, | |||||||||||
| Target | CE | F1 | CE | F1 | CE | F1 | CE | F1 | CE | F1 | |||||
| Majority pooling | 5.01 | 0.689 | 0.541 | 6.50 | 0.830 | 0.750 | 13.05 | 0.660 | 0.497 | 13.30 | 0.897 | 0.872 | 6.80 | 0.922 | 0.871 |
| Cell center | 3.91 | 0.696 | 0.558 | 5.78 | 0.841 | 0.770 | 10.43 | 0.698 | 0.539 | 11.57 | 0.922 | 0.855 | 5.51 | 0.926 | 0.871 |
| Strided (StarDist) | 4.10 | 0.440 | 0.270 | 4.84 | 0.809 | 0.728 | 8.70 | 0.080 | 0.070 | 5.62 | 0.888 | 0.799 | 4.29 | 0.915 | 0.847 |
| MatchDown ∗ (ours) | 3.69 | 0.673 | 0.530 | 4.10 | 0.854 | 0.770 | 3.77 | 0.591 | 0.425 | 3.35 | 0.904 | 0.827 | 2.90 | 0.932 | 0.873 |
| Count err. | count err. | F1 | ||
|---|---|---|---|---|
| Target | default | cross-validated | ||
| Majority pooling | 5.93 | ref. | ref. | 0.689 |
| Masked † | 5.02 | 0.689 | ||
| Greedy rescue | 3.93 | 0.679 | ||
| Soft labels | 6.46 | 0.598 | ||
| Full-res. loss | 3.56 | 0.690 | ||
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Image size | Images | Evaluated regions | Per image | Majority loss (%) | Use |
|---|---|---|---|---|---|---|
| COCO-A | up to | 1,000 | 25,860 | 25.9 | 34.9 | L |
| COCO-B | up to | 1,000 | 25,909 | 25.9 | 34.7 | L |
| COCO-R | up to | 1,000 | 25,963 | 26.0 | 35.5 | L |
| Cityscapes (6 cities) | 900 | 104,234 | 115.8 | 27.9 | L | |
| BBBC038 (stage 1) | varied ‡ | 670 | 29,668 / 29,461 | 44.3 | 8.8 | L, T ( ) |
| BBBC039 | 197 | 23,615 nuclei | 119.9 | 10.1 † | T, L ( –32) |
| Affinity head | Star-convex head | |
|---|---|---|
| Backbone | ResNet-18 (ImageNet weights) with a feature pyramid of 128 channels, laterals down to the target stride | |
| Output stride | 8 (BBBC038), 16 (BBBC039) | 8 (BBBC038, also 4 and 2), 16 and 8 (BBBC039) |
| Outputs per cell | foreground, affinities to 4 of the 8 neighbors | object probability, center offset (2), 32 ray distances |
| Loss | BCE on foreground over all cells + BCE on affinities over valid cell pairs | BCE on probability + L1 on offsets + L1 on distances (assigned cells) |
| Optimizer | AdamW, learning rate , , weight decay | |
| Schedule | 500-iteration linear warm-up, then polynomial decay (power 0.9); 8,000 iterations | |
| COCO-R (25,963 regions) | Cityscapes (104,234 regions) | BBBC038 (29,668 regions) | ||||||||||
| Method | 4 | 8 | 16 | 4 | 8 | 16 | 4 | 8 | 16 | |||
| Strided (StarDist) | 17.6 | 26.5 | 32.7 | 40.1 | 8.7 | 15.1 | 24.0 | 38.3 | 0.42 | 0.95 | 6.2 | 26.4 |
| Nearest (cell center) | 17.6 | 26.8 | 32.8 | 40.2 | 8.7 | 15.0 | 24.0 | 38.1 | 0.42 | 0.69 | 5.3 | 26.2 |
| Nearest-exact (nnU-Net) | 17.9 | 26.9 | 32.7 | 40.1 | 8.6 | 15.0 | 24.0 | 38.1 | 0.41 | 0.78 | 5.2 | 26.0 |
| Max pooling | 12.9 | 21.4 | 30.2 | 41.6 | 9.8 | 17.5 | 28.2 | 41.6 | 0.23 | 0.43 | 1.3 | 7.4 |
| Majority pooling | 24.2 | 30.5 | 35.5 | 43.2 | 14.2 | 18.7 | 27.9 | 44.0 | 0.58 | 1.1 | 9.3 | 39.0 |
| Lost (%) | 1 cell (per 1,000) | Recon. (%) | Void/crowd | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Method | COCO-A | COCO-B | COCO-R | Cityscapes | BBBC038 | COCO-R | Cityscapes | BBBC038 | lost (%) |
| Strided (StarDist) | 32.2 | 32.1 | 6.8 | 26.6 | 12.2 | 81.1 | 69.1 | 59.8 | 93.3 |
| Nearest (cell center) | 32.2 | 32.1 | 6.2 | 27.7 | 4.4 | 97.8 | 96.0 | 96.7 | – |
| Nearest-exact (nnU-Net) | 32.3 | 32.0 | 5.8 | 27.4 | 5.3 | 97.7 | 95.9 | 96.7 | 93.3 |
| Max pooling | 29.5 | 30.0 | 35.9 | 76.8 | 1.6 | 74.5 | 64.6 | 60.3 | 97.8 |
| Majority pooling | 34.9 | 34.7 | 7.5 | 35.1 | 16.5 | 98.4 | 96.1 | 94.8 | 96.8 |
| Method | PQ | Lost (%) | Spurious / img |
|---|---|---|---|
| Majority, class first (void first) | 93.54 | 24.0 | 0.76 |
| Majority, class first (void last) | 94.67 | 22.6 | 1.41 |
| Majority pooling | 93.51 | 24.2 | 0.59 |
| Majority pooling (void last) | 94.66 | 22.2 | 1.47 |
| Majority pooling (ties to highest id) | 94.59 | 20.8 | 1.72 |
| One-hot bilinear + argmax | 93.40 | 23.7 | 0.66 |
| PQ | Lost (%) | |||
|---|---|---|---|---|
| Method | 4 | 8 | ||
| Nearest (cell center) | 93.65 | 87.92 | 78.21 | 76.7 |
| Majority pooling | 93.81 | 88.58 | 78.86 | 86.7 |
| One-hot bilinear + argmax | 93.69 | 87.08 | 75.36 | 75.8 |
| Smallest-region priority | 92.51 | 86.50 | 77.30 | 79.1 |
| Greedy rescue | 93.28 | 85.31 | 71.33 | 19.3 |
| Dataset | Uncovered-region bound | Unweighted | |
|---|---|---|---|
| Cityscapes ( ) | 0.5589 | 0.5627 | |
| 0.7254 | 0.7274 | ||
| 0.9816 | 0.9816 | ||
| COCO ( ) | 0.8280 | 0.8303 | |
| 0.9149 | 0.9159 | ||
| 0.9988 | 0.9988 |
| Method | Relative time | Cityscapes frame |
|---|---|---|
| Majority pooling | 1.0 | 0.69 s |
| MatchDown | 1.7–1.9 | 1.29 s |
| , no repair | 2.0 | 1.2 s |
| , with repair | 2.8–3.1 | 2.0 s |
| Bound | Rescue | MatchDown-P | 1 cell | Gap | Images (%) | ||
|---|---|---|---|---|---|---|---|
| 8 | 0.025 | 0.182 | 7.2 | 0.025 | 0 | 13.2 | |
| 16 | 0.271 | 0.885 | 3.3 | 0.271 | 3 | 32.5 | |
| 24 | 0.648 | 3.231 | 5.0 | 0.648 | 55 | 86.3 | |
| 32 | 1.266 | 7.948 | 6.3 | 1.266 | 15 | 98.5 |
| count err. | centroid F1 | |||||
|---|---|---|---|---|---|---|
| Target | Count err. | cross-validated | equal FP | cross-validated | cross-validated | Detected (%) |
| Majority pooling | 5.93 | ref. | ref. | ref. | ref. | 31.4 |
| Cell center † | 4.64 | – | ||||
| Greedy rescue | 3.93 | 53.0 | ||||
| Soft labels [ 1 ] | 6.46 | 60.4 | ||||
| Full-res. loss | 3.56 | 59.4 | ||||
| Target | Lost (%) | Count err. | count err. | ||
|---|---|---|---|---|---|
| Majority pooling | 8.8 | 5.95 | ref. | ref. | 0.543 |
| Masked | 8.8 | 5.02 | 0.543 | ||
| Dilated | 0 | 4.50 | 0.309 | ||
| MatchDown | 0 | 3.94 | 0.531 |
| Count err. | Missing nuclei | ||||||
| Factor | Target | Lost (%) | default | cross-val. | default | cross-val. | matched |
| Strided (StarDist) | 5.6 | 8.08 | 4.84 | 0.664 | 0.728 | 0.241 | |
| Nearest (cell center) | 4.7 | 5.04 | 5.78 | 0.764 | 0.770 | 0.273 | |
| Majority pooling | 8.8 | 6.34 | 6.50 | 0.746 | 0.750 | 0.152 | |
| Greedy rescue | 0.35 | 5.14 | 4.77 | 0.765 | 0.772 | 0.331 | |
| Dilated | 0 | 14.47 | 10.47 | 0.732 | 0.767 | 0.399 | |
| Count err. | |||||
|---|---|---|---|---|---|
| Target | |||||
| 8 | Strided (StarDist) | 4.84 | 4.02 | 0.728 | 0.751 |
| Nearest (cell center) | 5.78 | 7.01 | 0.770 | 0.772 | |
| Majority pooling | 6.50 | 6.45 | 0.750 | 0.755 | |
| Greedy rescue | 4.77 | 4.27 | 0.772 | 0.775 | |
| Dilated | 10.47 | 11.70 | 0.767 | 0.774 | |
| Target | Count err. | Detected | Matched | ||||
|---|---|---|---|---|---|---|---|
| default | cross-val. | default | cross-val. | ||||
| Affinity head, factor 16 | |||||||
| Majority pooling | 15.86 | 13.05 | 0.105 | 0.472 | 0.497 | 0.034 | 0.037 |
| Nearest (cell center) | 14.23 | 10.43 | 0.116 | 0.523 | 0.539 | 0.133 | 0.038 |
| MatchDown-P (ours) | 3.95 | 3.77 | 0.094 | 0.418 | 0.425 | 0.300 | 0.104 |
| Star-convex head, factor 16 | |||||||
| count error | |||||
|---|---|---|---|---|---|
| Head | Target | default | cross-val. | default | cross-val. |
| Affinity, | minus majority | ||||
| minus nearest | |||||
| Star-convex, | minus strided | ||||
| minus nearest | |||||
| Star-convex, | minus strided | ||||
| Detected | Matched | ||||||||
| Head | Target | Count err. | Signed | FP50 | majority-missing | rescue-missing | strided-missing | ||
| Affinity | MatchDown-P (ours) | 3.85 | 0.094 | 0.418 | 48.1 | 0.300 | 0.308 | 0.104 | |
| Greedy rescue | 4.45 | 0.101 | 0.449 | 43.4 | 0.289 | 0.262 | 0.104 | ||
| Soft labels [ 1 ] | 15.36 | 0.105 | 0.472 | 33.0 | 0.051 | 0.065 | 0.042 | ||
| Star-convex | MatchDown-P (ours) | 4.76 | 0.634 | 0.827 | 10.7 | 0.491 | 0.350 | 0.301 | |
| Greedy rescue | 4.39 | 0.648 | 0.841 | 8.4 | 0.482 | 0.281 | 0.316 | ||
Instance Segmentation
Instance segmentation identifies each object and assigns it a separate pixel-level mask in images or video.
See all 163 papers