A Pose Heatmap
> A fully-convolutional net that predicts per-joint heatmaps, decoded to coordinates by soft-argmax. Best-checkpoint by PCK.
Fonte do modelo
- Tipo
- Other
- Tamanho do arquivo
- 119 KB
- Versão
- vPose
- Atualizado
- 10 de out. de 2026
- Fonte
- Hugging Face
Descrição da fonte
2D pose estimation (heatmap regression)
A fully-convolutional net that predicts per-joint heatmaps, decoded to coordinates by soft-argmax. Best-checkpoint by PCK.
Trained from scratch in Ropedia Academy — an interactive, bilingual course on embodied & spatial AI. Educational model: small and quick to train; the value is the method and a reproducible pipeline, not a leaderboard score. Try it live in the Ropedia demos Space.
At a glance
| Base model | Trained from scratch (random initialization) — no pretrained base model. |
| Task | 2D keypoint detection |
| Training objective | Per-joint Gaussian heatmap regression (MSE), decoded to coordinates by soft-argmax; best checkpoint by PCK. |
| Track | A · Human modeling |
| Notebook | Open In Colab |
Dataset
- Name: Synthetic 3-joint arm
- Type: synthetic — procedural
- Size / stats: 48×48 grayscale images, 3 joints; fresh 16-image batches per step (effectively unlimited)
- Split: fresh train + held-out eval batches
- Source: procedural
Training config
Adam (lr 1e-3), 1500 steps; 48×48 input, 3 joints; heatmap MSE + soft-argmax; best checkpoint by PCK.
Evaluation results
| metric | value | meaning |
|---|---|---|
pck (final) | 0.396 |
figure
Inference example
import torch
state = torch.load("pose.pt", map_location="cpu") # this repo's checkpoint
# Rebuild the exact module from the lab notebook (see "Reproduce"), then:
# model.load_state_dict(state); model.eval()
Limitations
Educational scale. Trained quickly on CPU on small or synthetic data, so absolute numbers are not competitive with production systems — the value is the method and a reproducible pipeline. No large-scale data, no hyperparameter sweep, and no multi-seed variance is reported. Not for production use.
Failure cases
Soft-argmax drifts when joints overlap or leave the frame; the low-resolution heatmap caps precision.
Reproduce / train your own
One click: open the notebook in Colab → Runtime → GPU → Run all, then run its Publish to the Hugging Face Hub cell.
From a shell:
git clone https://github.com/ChaoYue0307/ropedia-academy.git && cd ropedia-academy
pip install torch numpy matplotlib scikit-learn scikit-image gymnasium
jupyter nbconvert --to notebook --execute notebooks/training/A_pose_heatmap.ipynb --output run.ipynb
# optional: override training length, e.g. STEPS=2000 (or EPISODES=600) before running
Files
figure.pngmetrics.jsonpose.pt
License
Code & weights: MIT (this repository) — educational use encouraged.
Data: generated procedurally in the notebook — no external dataset.
Citation
If you use this model or the course materials, please cite:
@misc{ropedia_academy,
title = {Ropedia Academy: an interactive course on embodied & spatial AI},
author = {Ropedia Academy},
year = {2026},
howpublished = {\url{https://chaoyue0307.github.io/ropedia-academy/}}
}
Method / original work: Newell et al., Stacked Hourglass, ECCV 2016; Sun et al., HRNet, CVPR 2019.
Related assets
- 🚀 Live demos: https://huggingface.co/spaces/cy0307/ropedia-demos
- 🤗 All trained models + collection: https://huggingface.co/cy0307
- 📚 Course & all labs: https://chaoyue0307.github.io/ropedia-academy/ · Labs tab
- 💻 Source / notebooks: github.com/ChaoYue0307/ropedia-academy
Part of the Ropedia Academy trained-model collection. Contributions & issues welcome on GitHub.
Fontes
1 fonte
Fontes
1 fonteVerificado 10 de out.
Artefatos de modelo
1 artefato
Artefatos de modelo
1 artefatoTrechos de fonte
2 trechos
Trechos de fonte
2 trechos--- license: mit library_name: pytorch tags: - ropedia-academy - educational - embodied-ai - from-scratch - reproducible - keypoint-detection --- # 2D pose estimation (heatmap regression) > A fully-convolutional net that predicts per-joint heatmaps, decoded to coordinates by soft-argmax. Best-checkpoint by PCK. Trained from scratch in **[Ropedia Academy](https://chaoyue0307.github.io/ropedia-academy/)** — an interactive, bilingual course on embodied & spatial AI. **Educational model:** small and quick to train; the value is the *method* and a reproducible pipeline, not a leaderboard score. Try it live in the **[Ropedia demos Space](https://huggingface.co/spaces/cy0307/ropedia-demos)**. ## At a glance | | | |---|---| | **Base model** | Trained **from scratch** (random initialization) — no pretrained base model. | | **Task** | 2D keypoint detection | | **Training objective** | Per-joint **Gaussian heatmap regression** (MSE), decoded to coordinates by soft-argmax; best checkpoint by PCK. | | **Track** | A · Human modeling | | **Notebook** | [](https://colab.research.google.com/github/ChaoYue0307/ropedia-academy/blob/main/notebooks/training/A_pose_heatmap.ipynb) | ## Dataset - **Name:** Synthetic 3-joint arm - **Type:** synthetic — procedural - **Size / stats:** 48×48 grayscale images, 3 joints; fresh 16-image batches per step (effectively unlimited) - **Split:** fresh train + held-out eval batches - **Source:** procedural ## Training config Adam (lr 1e-3), 1500 steps; 48×48 input, 3 joints; heatmap MSE + soft-argmax; best checkpoint by PCK. ## Evaluation results | metric | value | meaning | |---|---|---| | `pck (final)` | 0.396 | |  ## Inference example ```python import torch state = torch.load("pose.pt", map_location="cpu") # this repo's checkpoint # Rebuild the exact module from the lab notebook (see "Reproduce"), then: # model.load_state_dict(state); model.eval() ``` ## Limitations **Educational scale.** Trained quickly on CPU on small or synthetic data, so absolute numbers are not competitive with production systems — the value is the *method* and a reproducible pipeline. No large-scale data, no hyperparameter sweep, and no multi-seed variance is reported. **Not for production use.** ## Failure cases Soft-argmax drifts when joints overlap or l...
Source context: 0 downloads · 0 likes · Pipeline keypoint-detection · Library pytorch · Repo cy0307/a-pose-heatmap
