xthotcoco
xtcocotools-compatible keypoint evaluation (COCO-WholeBody, CrowdPose) on hotcoco's Rust engine. Pure Python.
pip install xthotcoco
Usage
from xthotcoco import COCO, COCOeval, sigmas
gt = COCO("coco_wholebody_val_v1.0.json")
dt = gt.loadRes("results.json")
ev = COCOeval(gt, dt, "keypoints_wholebody", sigmas.WHOLEBODY)
ev.evaluate(); ev.accumulate(); ev.summarize()
print(ev.stats)
# CrowdPose
ev = COCOeval(COCO("crowdpose_test.json"), dt, "keypoints_crowd",
sigmas.CROWD, use_area=False)
ev.run()
iouTypes: keypoints, keypoints_wholebody, keypoints_foot,
keypoints_face, keypoints_lefthand, keypoints_righthand,
keypoints_crowd. COCO(..., test_index=[...]) evaluates a keypoint subset.
Parity and speed
rtmlib RTMPose-WholeBody on 500 COCO val2017 images, COCO-WholeBody v1.0 val:
| iouType | AP | xtcocotools | xthotcoco | max diff |
|---|---|---|---|---|
| keypoints | 0.721 | 0.468 s | 0.005 s | 7e-16 |
| keypoints_wholebody | 0.649 | 0.774 s | 0.008 s | 6e-16 |
| keypoints_foot | 0.734 | 0.511 s | 0.003 s | 2e-15 |
| keypoints_face | 0.822 | 0.638 s | 0.008 s | 3e-15 |
| keypoints_lefthand | 0.614 | 0.585 s | 0.004 s | 1e-15 |
| keypoints_righthand | 0.601 | 0.561 s | 0.004 s | 1e-15 |
All metrics match xtcocotools to double precision; tests/ checks this
against xtcocotools when it is installed.
How it works
The WholeBody/CrowdPose dataset is rewritten into standard COCO keypoints
form (part concatenation, part score, area handling) and passed to
hotcoco.COCOeval with per-part kpt_oks_sigmas. OKS and AP are computed
in hotcoco.
License
MIT. Evaluation semantics follow xtcocotools (MIT).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xthotcoco-0.1.0.tar.gz.
File metadata
- Download URL: xthotcoco-0.1.0.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
027151c84bc1d6c69660090f57472b08d713319224655a07f8f3052722440459
|
|
| MD5 |
dfea69d1c88bf21ebfab8088c01611b3
|
|
| BLAKE2b-256 |
6a0e59da94120ef3a1733d9728af1db01e3b4b08f7e252690dd8b5effccf5179
|
File details
Details for the file xthotcoco-0.1.0-py3-none-any.whl.
File metadata
- Download URL: xthotcoco-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb242b1d3004543b670b6a220acd9a2ee367b2cfa3bc7d96c44411e300792bd0
|
|
| MD5 |
20281ced5cf6e0d97ee4d462e8628813
|
|
| BLAKE2b-256 |
3229d7a4e5efd947118011e85a56ce7faa5ebd6cf35e78273adbe518b6c59cdd
|