Human Pose Estimation by Probabilistic Mixtures of Gaussian and Uniform Distributions
Organizations: Department of Computer Languages and Computer Science, University of Málaga, 29071 Málaga, Spain · Instituto de Investigación Biomédica de Málaga y Plataforma en Nanomedicina – IBIMA Plataforma BIONAND, 29590 Málaga, Spain · ITIS Software, University of Málaga, 29071 Málaga, Spain
Abstract
Despite advancements in sub-pixel decoding, modern Human Pose Estimation (HPE) architectures remain constrained by deterministic coordinate extraction from discrete heatmaps, which systematically fails under dense occlusions and Out-of-Distribution (OoD) ambiguities. To address these limitations, we propose a post-hoc continuous probabilistic framework that intercepts raw heatmaps and models them as a Gaussian Mixture Model (GMM) augmented with a spatially agnostic uniform distribution, requiring no architectural modifications or retraining. This continuous representation allows us to comprehensively explore the distinct contributions of density modeling to HPE. We show that the spatial expectation of our fitted GMM achieves precision parity with leading sub-pixel decoders without heuristic post-processing. Leveraging this continuous space, our test-time augmentation aggregates probability distributions rather than discrete activations, mitigating multi-scale heatmap poisoning. Furthermore, because our multimodal GMM parameterization isolates competing spatial hypotheses, it naturally interfaces with geometric regularizers such as Markov Random Fields. However, our analysis exposes the inherent vulnerabilities of 2D kinematic priors under perspective foreshortening and visual degradation. Crucially, this density formulation yields significant improvements in uncertainty quantification: our calibrated geometric covariance volume outperforms standard peak-intensity heuristics in OoD anomaly detection under severe occlusion. For in-distribution calibration, dynamically fusing our geometric metric via Adaptive Softmax reduces or matches baseline Area Under the Sparsification Error (AUSE) across benchmarks and degradation levels. Finally, we establish that this continuous parameterization is extensible to multi-view 3D architectures, bypassing the voxel memory bottleneck.
Figures & tables
| Feature/Capability | Standard | DARK/UDP | RLE | Proposed (GMM + Uniform) |
|---|---|---|---|---|
| Output Paradigm | Discrete Pixel | Sub-pixel Coordinate | Sub-pixel Coordinate | Continuous Distribution |
| Quantization Mitigation | None | Hessian / Taylor Exp. | Normalizing Flows | MC Sampling & Uniform Jitter |
| Uncertainty Output | Peak Value ( ) | Peak Value ( ) | Unimodal Variance | Multimodal Covariance Volume |
| Multimodal Awareness | No | No | No | Yes (Explicit) |
| OoD Rejection | Poor (Heuristic) | Poor (Heuristic) | Moderate | High (Covariance Volume) |
| Dataset | DARK (Argmax) | Ours (GMM) | OKS |
|---|---|---|---|
| COCO | 0.7079 | 0.7077 | -0.0002 |
| CrowdPose | 0.8278 | 0.8270 | -0.0008 |
| OCHuman | 0.6281 | 0.6280 | -0.0001 |
Appendix figures & tables31 assets
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| DARK | GMM | DARK | GMM | DARK | GMM | |||||
| COCO | Baseline (Clean) | 0.7137 | 0.7129 | -0.0008 | 98 | 97 | -1 | 18 | 18 | 0 |
| Resize Low | 0.6912 | 0.6907 | -0.0005 | 116 | 113 | -3 | 26 | 26 | 0 | |
| Resize Medium | 0.6082 | 0.6076 | -0.0007 | 215 | 214 | -1 | 66 | 67 | +1 | |
| Resize High | 0.4485 | 0.4465 | -0.0020 | 404 | 388 | -16 | 135 | 138 | +3 | |
| Resize Extreme | 0.2505 | 0.2494 | -0.0011 | 438 | 437 | -1 | 139 | 139 | 0 | |
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DARK | GMM | +MRF | DARK | GMM | +MRF | DARK | GMM | +MRF | |||||
| COCO | Baseline (Clean) | 0.7137 | 0.7129 | 0.7138 | +0.0008 | 98 | 97 | 101 | +4 | 18 | 18 | 20 | +2 |
| Resize Low | 0.6912 | 0.6907 | 0.6911 | +0.0004 | 116 | 113 | 113 | 0 | 26 | 26 | 28 | +2 | |
| Resize Medium | 0.6082 | 0.6076 | 0.6071 | -0.0004 | 215 | 214 | 215 | +1 | 66 | 67 | 70 | +3 | |
| Resize High | 0.4485 | 0.4465 | 0.4481 | +0.0016 | 404 | 388 | 394 | +6 | 135 | 138 | 142 | +4 | |
| Resize Extreme | 0.2505 | 0.2494 | 0.2524 | +0.0030 | 438 | 437 | 435 | -2 | 139 | 139 | 135 | -4 | |
| Dataset | Degradation | Unimodal Anchors ( ) | Ambiguous Nodes ( ) | ||||
| Ratio (%) | Ours (TTA) | Ratio (%) | Ours (TTA) | (Gain) | |||
| COCO | Baseline (Clean) | 95.1% | 4.9% | +0.0254 (+2.54%) | |||
| Resize Low | 93.6% | 6.4% | +0.0021 (+0.21%) | ||||
| Resize Medium | 86.1% | 13.9% | ( ) | ||||
| Resize High | 67.1% | 32.9% | +0.0060 (+0.60%) | ||||
| Resize Extreme | 40.6% | 59.4% | +0.0056 (+0.56%) | ||||
| All (Global) | Visible | Occluded | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Dataset | DARK ( ) | DARK (Entropy) | Ours ( ) | DARK ( ) | DARK (Entropy) | Ours ( ) | DARK ( ) | DARK (Entropy) | Ours ( ) |
| COCO | 0.0581 | 0.1437 | 0.0945 | 0.0570 | 0.1404 | 0.0902 | 0.1026 | 0.2037 | 0.1322 |
| CrowdPose | 0.0515 | 0.1591 | 0.0911 | 0.0379 | 0.1262 | 0.0657 | 0.0599 | 0.1845 | 0.1067 |
| OCHuman | 0.1573 | 0.2373 | 0.2143 | 0.1491 | 0.2320 | 0.2002 | 0.2636 | 0.3130 | 0.2203 |
| COCO | CrowdPose | OCHuman | ||||
|---|---|---|---|---|---|---|
| Degradation Level | DARK ( ) | Ours ( ) | DARK ( ) | Ours ( ) | DARK ( ) | Ours ( ) |
| 00_Baseline_Clean | 0.0527 | 0.0654 | 0.0422 | 0.0766 | 0.1381 | 0.2037 |
| 01_Resize_Low | 0.0544 | 0.0701 | 0.0432 | 0.0766 | 0.1429 | 0.2069 |
| 02_Resize_Medium | 0.0689 | 0.0899 | 0.0528 | 0.0861 | 0.1548 | 0.2105 |
| 03_Resize_High | 0.0943 | 0.1266 | 0.0676 | 0.1054 | 0.1819 | 0.2229 |
| 04_Resize_Extreme | 0.1155 | 0.1235 | 0.0987 | 0.1253 | 0.2165 | 0.2024 |
| Unimodal ( ) | Bimodal ( ) | |||||
|---|---|---|---|---|---|---|
| Dataset | DARK ( ) | Entropy | Ours ( ) | DARK ( ) | Entropy | Ours ( ) |
| COCO | 0.0637 | 0.1493 | 0.0914 | 0.1364 | 0.1822 | 0.1479 |
| CrowdPose | 0.0507 | 0.1424 | 0.0912 | 0.1759 | 0.2429 | 0.1924 |
| OCHuman | 0.1588 | 0.2309 | 0.2174 | 0.2519 | 0.2995 | 0.2710 |
| COCO | CrowdPose | OCHuman | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Degradation | DARK (Base) | Max-Pool ( ) | Softmax ( ) | DARK (Base) | Max-Pool ( ) | Softmax ( ) | DARK (Base) | Max-Pool ( ) | Softmax ( ) |
| 00_Baseline_Clean | 0.0528 | 0.0421 (0.19) | 0.0388 (0.12) | 0.0422 | 0.0418 (1.54) | 0.0413 (0.52) | 0.1382 | 0.1383 (0.01) | 0.1352 (0.04) |
| 01_Resize_Low | 0.0545 | 0.0465 (0.22) | 0.0423 (0.10) | 0.0432 | 0.0432 (1.22) | 0.0425 (0.57) | 0.1430 | 0.1437 (0.00) | 0.1409 (0.03) |
| 02_Resize_Medium | 0.0690 | 0.0613 (0.21) | 0.0554 (0.12) | 0.0528 | 0.0527 (0.90) | 0.0522 (0.66) | 0.1549 | 0.1551 (0.04) | 0.1517 (0.02) |
| 03_Resize_High | 0.0945 | 0.0816 (0.31) | 0.0743 (0.19) | 0.0677 | 0.0678 (1.05) | 0.0671 (0.61) | 0.1820 | 0.1813 (0.16) | 0.1749 (0.08) |
| 04_Resize_Extreme | 0.1162 | 0.1014 (0.45) | 0.0960 (0.31) | 0.0988 | 0.0983 (4.19) | 0.0948 (1.80) | 0.2216 | 0.1940 (0.77) | 0.1864 (7.18) |
| Global (All Points) | Occluded Joints Only | |||||
|---|---|---|---|---|---|---|
| Degradation | COCO | CrowdPose | OCHuman | COCO | CrowdPose | OCHuman |
| Clean | 0.1924 | 1.5392 | 0.0082 | 0.1924 | 1.5392 | 39.0817 |
| Low | 0.2245 | 1.2217 | 0.0000 | 0.2424 | 0.0707 | 45.5893 |
| Medium | 0.2078 | 0.8978 | 0.0382 | 0.4157 | 0.0825 | 49.2388 |
| High | 0.3055 | 1.0473 | 0.1650 | 0.1309 | 0.9697 | 45.5893 |
| Extreme | 0.4489 | 4.1886 | 0.7696 | 0.2619 | 1.6624 | 36.1850 |
| Dataset | Degradation | DARK (Base) AUSE | Max-Pool AUSE ( ) | Softmax AUSE ( ) |
|---|---|---|---|---|
| COCO | Clean | 0.0527 | 0.0435 | 0.0388 |
| Low | 0.0544 | 0.0477 | 0.0420 | |
| Medium | 0.0689 | 0.0628 | 0.0555 | |
| High | 0.0943 | 0.0862 | 0.0755 | |
| Extreme | 0.1155 | 0.1098 | 0.0996 | |
| General | 0.0581 | 0.0524 | 0.0460 |
| Dataset | Ours (Volume) | Ours (Uniform) | DARK (Entropy) | DARK ( ) |
|---|---|---|---|---|
| COCO | 0.7364 | 0.7387 | 0.7042 | 0.8122 |
| CrowdPose | 0.8787 | 0.5408 | 0.3256 | 0.5160 |
| OCHuman | 0.7209 | 0.5712 | 0.4643 | 0.6441 |
| Dataset | Metric | Clean | Low | Medium | High | Extreme |
|---|---|---|---|---|---|---|
| COCO | Ours (Volume) | 0.7663 | 0.7798 | 0.7832 | 0.7414 | 0.6753 |
| DARK ( ) | 0.8974 | 0.9062 | 0.8861 | 0.8130 | 0.7053 | |
| CrowdPose | Ours (Volume) | 0.9231 | 0.9216 | 0.9139 | 0.8729 | 0.8053 |
| DARK ( ) | 0.4858 | 0.4859 | 0.4928 | 0.5181 | 0.5439 | |
| OCHuman | Ours (Volume) | 0.7312 | 0.7295 | 0.7291 | 0.7268 | 0.6926 |
| DARK ( ) | 0.6511 | 0.6496 | 0.6524 | 0.6529 | 0.6265 |
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| DARK | GMM | DARK | GMM | DARK | GMM | |||||
| COCO | Baseline (Clean) | 0.6868 | 0.6870 | +0.0002 | 119 | 126 | +7 | 22 | 22 | 0 |
| Resize Low | 0.6603 | 0.6607 | +0.0005 | 140 | 145 | +5 | 32 | 32 | 0 | |
| Resize Medium | 0.5767 | 0.5764 | -0.0003 | 225 | 232 | +7 | 77 | 77 | 0 | |
| Resize High | 0.4140 | 0.4132 | -0.0008 | 365 | 353 | -12 | 108 | 115 | +7 | |
| Resize Extreme | 0.2270 | 0.2267 | -0.0003 | 381 | 359 | -22 | 108 | 115 | +7 | |
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DARK | GMM | +MRF | DARK | GMM | +MRF | DARK | GMM | +MRF | |||||
| COCO | Baseline (Clean) | 0.6868 | 0.6870 | 0.6875 | +0.0005 | 119 | 126 | 122 | -4 | 22 | 22 | 23 | +1 |
| Resize Low | 0.6603 | 0.6607 | 0.6615 | +0.0008 | 140 | 145 | 146 | +1 | 32 | 32 | 34 | +2 | |
| Resize Medium | 0.5767 | 0.5764 | 0.5765 | +0.0001 | 225 | 232 | 231 | -1 | 77 | 77 | 81 | +4 | |
| Resize High | 0.4140 | 0.4132 | 0.4139 | +0.0007 | 365 | 353 | 359 | +6 | 108 | 115 | 115 | 0 | |
| Resize Extreme | 0.2270 | 0.2267 | 0.2277 | +0.0010 | 381 | 359 | 381 | +22 | 108 | 115 | 123 | +8 | |
| COCO | CrowdPose | OCHuman | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Degradation | DARK (Base) | Max-Pool ( ) | Softmax ( ) | DARK (Base) | Max-Pool ( ) | Softmax ( ) | DARK (Base) | Max-Pool ( ) | Softmax ( ) |
| 00_Baseline_Clean | 0.0641 | 0.0458 (0.28) | 0.0416 (0.15) | 0.0429 | 0.0422 (1.94) | 0.0408 (1.22) | 0.1598 | 0.1596 (0.06) | 0.1547 (0.05) |
| 01_Resize_Low | 0.0677 | 0.0507 (0.28) | 0.0456 (0.15) | 0.0459 | 0.0448 (2.09) | 0.0430 (1.43) | 0.1646 | 0.1618 (0.08) | 0.1571 (0.05) |
| 02_Resize_Medium | 0.0782 | 0.0668 (0.26) | 0.0606 (0.14) | 0.0498 | 0.0494 (2.09) | 0.0474 (1.32) | 0.1677 | 0.1663 (0.12) | 0.1608 (0.06) |
| 03_Resize_High | 0.1053 | 0.0887 (0.33) | 0.0821 (0.19) | 0.0672 | 0.0676 (1.94) | 0.0660 (0.71) | 0.1873 | 0.1823 (0.22) | 0.1764 (0.10) |
| 04_Resize_Extreme | 0.1168 | 0.0962 (0.71) | 0.0913 (0.38) | 0.0971 | 0.0965 (0.83) | 0.0933 (2.09) | 0.2172 | 0.1955 (9.77) | 0.1865 (13.30) |
| Dataset | Degradation | DARK (Base) AUSE | Max-Pool AUSE ( ) | Softmax AUSE ( ) |
|---|---|---|---|---|
| COCO | Clean | 0.0639 | 0.0489 | 0.0420 |
| Low | 0.0673 | 0.0542 | 0.0460 | |
| Medium | 0.0782 | 0.0659 | 0.0563 | |
| High | 0.1002 | 0.0923 | 0.0793 | |
| Extreme | 0.1167 | 0.1107 | 0.0969 | |
| General | 0.0662 | 0.0567 | 0.0484 |
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| UDP | GMM | UDP | GMM | UDP | GMM | |||||
| COCO | Baseline (Clean) | 0.6926 | 0.6936 | +0.0011 | 123 | 116 | -7 | 25 | 25 | 0 |
| Resize Low | 0.6700 | 0.6697 | -0.0003 | 140 | 133 | -7 | 30 | 30 | 0 | |
| Resize Medium | 0.5922 | 0.5886 | -0.0036 | 225 | 229 | +4 | 73 | 77 | +4 | |
| Resize High | 0.4377 | 0.4313 | -0.0064 | 385 | 372 | -13 | 140 | 140 | 0 | |
| Resize Extreme | 0.2607 | 0.2567 | -0.0040 | 423 | 415 | -8 | 142 | 133 | -9 | |
| Dataset | Degradation | OKS | Loose Swaps | Strict Swaps | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| UDP | GMM | +MRF | UDP | GMM | +MRF | UDP | GMM | +MRF | |||||
| COCO | Baseline (Clean) | 0.6926 | 0.6936 | 0.6944 | +0.0008 | 123 | 116 | 120 | +4 | 25 | 25 | 27 | +2 |
| Resize Low | 0.6700 | 0.6697 | 0.6712 | +0.0015 | 140 | 133 | 137 | +4 | 30 | 30 | 31 | +1 | |
| Resize Medium | 0.5922 | 0.5886 | 0.5900 | +0.0015 | 225 | 229 | 226 | -3 | 73 | 77 | 77 | 0 | |
| Resize High | 0.4377 | 0.4313 | 0.4327 | +0.0014 | 385 | 372 | 377 | +5 | 140 | 140 | 145 | +5 | |
| Resize Extreme | 0.2607 | 0.2567 | 0.2569 | +0.0002 | 423 | 415 | 430 | +15 | 142 | 133 | 139 | +6 | |
| COCO | CrowdPose | OCHuman | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Degradation | UDP (Base) | Max-Pool ( ) | Softmax ( ) | UDP (Base) | Max-Pool ( ) | Softmax ( ) | UDP (Base) | Max-Pool ( ) | Softmax ( ) |
| 00_Baseline_Clean | 0.0604 | 0.0448 (0.21) | 0.0413 (0.18) | 0.0438 | 0.0435 (1.43) | 0.0416 (1.94) | 0.1389 | 0.1441 (0.06) | 0.1368 (0.06) |
| 01_Resize_Low | 0.0640 | 0.0489 (0.24) | 0.0445 (0.15) | 0.0458 | 0.0460 (1.66) | 0.0442 (1.54) | 0.1434 | 0.1471 (0.08) | 0.1395 (0.07) |
| 02_Resize_Medium | 0.0766 | 0.0599 (0.31) | 0.0546 (0.18) | 0.0570 | 0.0586 (1.54) | 0.0570 (1.43) | 0.1548 | 0.1544 (0.12) | 0.1499 (0.08) |
| 03_Resize_High | 0.1100 | 0.0906 (0.38) | 0.0843 (0.22) | 0.0728 | 0.0751 (1.94) | 0.0730 (0.97) | 0.1886 | 0.1815 (0.22) | 0.1761 (0.15) |
| 04_Resize_Extreme | 0.1280 | 0.1023 (0.97) | 0.0980 (0.45) | 0.1079 | 0.1063 (5.28) | 0.1024 (3.88) | 0.2261 | 0.1959 (0.83) | 0.1909 (4.89) |
| Dataset | Degradation | UDP (Base) AUSE | Max-Pool AUSE ( ) | Softmax AUSE ( ) |
|---|---|---|---|---|
| COCO | Clean | 0.0597 | 0.0460 | 0.0415 |
| Low | 0.0640 | 0.0512 | 0.0451 | |
| Medium | 0.0766 | 0.0655 | 0.0561 | |
| High | 0.1097 | 0.1017 | 0.0877 | |
| Extreme | 0.1277 | 0.1233 | 0.1055 | |
| General | 0.0670 | 0.0582 | 0.0506 |
| Backbone | Configuration | Forward (ms) | TTA Fuse (ms) | GMM EM (ms) | MRF (ms) | Total Latency (ms) | Throughput (FPS) | Peak VRAM (MB) |
|---|---|---|---|---|---|---|---|---|
| HRNet-W32 | Vanilla DARK (Baseline) | 75.7 | – | – | – | 76.9 4.3 | 13.0 | 247 |
| Ours (Basic: Single + GMM) | 75.7 | – | 1311.7 | – | 1387.4 8.6 | 0.7 | 247 | |
| Vanilla TTA (Multi-scale + DARK) | 720.9 | 3.3 | – | – | 725.5 10.0 | 1.4 | 247 | |
| Ours (TTA + Continuous GMM) | 720.9 | 3.3 | 1311.7 | – | 2035.9 12.5 | 0.5 | 247 | |
| Ours (Full: TTA + GMM + MRF) | 720.9 | 3.3 | 1311.7 | 1.58 | 2037.4 12.5 | 0.5 | 247 | |
| ResNet-50 | Vanilla DARK (Baseline) | 26.8 | – | – | – | 27.3 17.5 | 36.6 | 265 |
Human Pose Estimation
Human pose estimation recovers people’s body keypoints, 3D skeletons, or meshes from images, video, and other sensor data.
See all 79 papers