feat: initialize offline multiview pose tracking experiment

Set up pose_tracking_exp as a uv-managed Python package for offline multiview body tracking experiments.

This initial commit includes:

- the typed package scaffold, CLI entrypoints, and repo-local uv configuration

- scene and replay loaders for generic JSON replays and ActualTest parquet inputs

- ParaJumping payload conversion and RTMPose-to-body20 normalization

- a custom articulated tracker with tentative, active, and lost lifecycle handling

- RPT-backed proposal generation, camera convention handling, and multiview reprojection updates

- regression tests for normalization, camera conventions, ActualTest ingestion, seeding, and tracker smoke flows

- project documentation covering extrinsic formats and the ActualTest calibration caveat
This commit is contained in:
2026-03-26 13:03:56 +08:00
commit f1a2372b3c
27 changed files with 3791 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
[build-system]
requires = ["hatchling>=1.27.0"]
build-backend = "hatchling.build"
[project]
name = "pose-tracking-exp"
version = "0.1.0"
description = "Offline multiview pose tracking experiment with RPT-backed proposal births"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"beartype>=0.19.0",
"click>=8.2.1",
"jaxtyping>=0.3.2",
"numpy>=2.1.0",
"opencv-python>=4.12.0.88",
"pyarrow>=21.0.0",
"rapid-pose-triangulation",
"scipy>=1.15.0",
]
[dependency-groups]
dev = [
"basedpyright>=1.31.0",
"pytest>=8.4.0",
]
[project.scripts]
pose-tracking-exp = "pose_tracking_exp.cli:main"
[tool.hatch.build.targets.wheel]
packages = ["src/pose_tracking_exp"]
[tool.uv.sources]
rapid-pose-triangulation = { path = "../RapidPoseTriangulation", editable = true }
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.basedpyright]
typeCheckingMode = "standard"
pythonVersion = "3.12"
include = ["src", "tests"]
reportAny = false
reportExplicitAny = false