Everyone knows wrists and ankles are the hard joints. On this measurement that is true at a
| images scored | 2346 — every image this dataset copy ships that has an annotated person |
| ground-truth persons | 6352, of which 6237 matched a detection at box IoU ≥ 0.5 |
| labelled joints scored | 67391 of 68215 |
| protocol | official COCO OKS AP via `pycocotools`, plus PCK at three tolerances |
Two different joints are "the worst" depending only on the threshold:
- At PCK@0.2 the ankles are last (0.918, 0.9192) and the hips sit comfortably mid-table (0.9418, 0.9438). - At PCK@0.05 the hips are last by a distance (0.6388, 0.6389), while the ankles (0.745, 0.7496) rank above the knees and below the wrists.
The median-error column explains why, and the two failure modes are genuinely different:
- Hips carry large typical error but a light tail. Median error 0.03637 is the worst on the body, against 0.00783 at the eyes. Yet its PCK@0.2 is 0.9418, so few hip predictions miss by more than that tolerance. A hip has no visible landmark; it is an interior anatomical guess, so almost every prediction is a little bit off and almost none is wildly off. - Ankles carry small typical error but a heavy tail. Median error 0.02244 is well under the hips', yet its PCK@0.2 of 0.918 is the lowest on the body — the heaviest tail there is. An ankle is a sharp, visible landmark that is either found precisely or lost completely to occlusion and motion blur.
So "wrists and ankles are worst" describes a *tail*, and the hips' problem is a *bias*. A single PCK number cannot distinguish those, and the one most often quoted — the loose one — reports only the tail.
### The loose threshold also hides almost all per-joint structure
At PCK@0.2 every joint scores between 0.918 and 0.9838. The table is nearly flat and reads as "this model is uniformly good". The same predictions at PCK@0.05 run from 0.6388 to 0.9607 and rank the joints in a different order. The per-joint table is only informative at a tolerance tight enough to resolve it.
Grouped at PCK@0.2, extremities (wrists + ankles, 13698 joints) score 0.92524 against 0.95931 for the core (shoulders + hips + nose, 24477 joints) — a real but modest gap that understates what is happening underneath.
Code and full results on GitHub
Every number is read from the file the run produced. github.com/hammasbuilds · kaggle.com/muhammadhammas13