# Votreuth Rehab Depth Eval

> Evaluates marker-less 2D pose estimation models on rehabilitation-specific depth images. It probes the model's ability to generalize from generic adult standing poses to complex clinical postures, including children, and tests robustness against varying subject scales and positions. Use when the user wants to benchmark on ITOP, VtR, VtR-O, or asks about evaluating this task. Reports PCK.

- Skill: `qhjqhj00/votreuth-rehab-depth-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/votreuth-rehab-depth-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/votreuth-rehab-depth-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/votreuth-rehab-depth-eval

---


# votreuth-rehab-depth-eval

> Vogtareuth Rehab Depth Datasets: Benchmark for Marker-less Posture Estimation in Rehabilitation — Banik et al. (2021) (arXiv:2108.10272, 2021)

## What this evaluates

Evaluates marker-less 2D pose estimation models on rehabilitation-specific depth images. It probes the model's ability to generalize from generic adult standing poses to complex clinical postures, including children, and tests robustness against varying subject scales and positions.

## Datasets

- **ITOP** — total 21635; splits: train (13623), val (3406), test (4606)
- **VtR** — total 24742; splits: train (17244), val (3786), test (3712)
- **VtR-O** — total ?; splits: (unstated)

## Metrics

- `PCK` **(primary)** — range: percent
  - Percentage of correctly detected joints where the normalized Euclidean distance between predicted and ground-truth joint is within a threshold. The distance is normalized by the subject's torso size.
- `PCKh` — range: percent
  - Same as PCK, but the distance is normalized by the subject's head size instead of torso size.

## Input / output format

**Input**: Single-channel depth image converted to 3-channel by replicating the channel, resized to 224×224 pixels.

**Output**: 15 joint-specific 2D heatmaps (64×64), with joint coordinates extracted as the pixel location of the maximum heatmap value.

## Scoring recipe

```python
def compute_pck(preds, gts, norm_factor, threshold=0.5):
    correct = 0
    for p, g in zip(preds, gts):
        dist = np.linalg.norm(p - g) / norm_factor
        if dist <= threshold:
            correct += 1
    return (correct / len(gts)) * 100
```

## Common pitfalls

- Normalization factor (torso or head size) is computed per image based on ground-truth anatomy, not a fixed global constant.
- Depth images are single-channel but standard pose models expect 3-channel RGB, requiring explicit channel duplication before inference.
- Performance heavily degrades on pediatric subjects if the training set lacks child data (e.g., ITOP contains only adults).

## Evidence (verbatim from paper)

> The model is evaluated using the Percentage of Correct Keypoints (PCK) metric with a variable threshold. PCK is the percentage of correctly detected joints. A detected joint is considered correct if the normalized distance between the predicted and the true joint is within a threshold value. The distance is normalized by the torso size. Additionally, we use PCKh metric, where the distance is normalized by head size.

## Citation

```bibtex
@misc{banik2021votreuth,
  title={Vogtareuth Rehab Depth Datasets: Benchmark for Marker-less Posture Estimation in Rehabilitation},
  author={Banik et al. (2021)},
  year={2021},
  note={arXiv:2108.10272}
}
```

- arXiv: 2108.10272

