Implement the next tracker tranche around a recursive articulated state rather than per-frame ad hoc updates.
Track state now propagates full pose/velocity/shape covariance, uses process noise during prediction, and drives active-to-lost transitions from both miss counts and recursive score thresholds. The multiview update path replaces the generic SciPy least_squares call with a bounded LM/GN loop that returns parameter and beta covariance blocks, accepted-joint counts, mean reprojection error, and iteration diagnostics.
Lost-track handling is stricter and safer: proposal-based reacquisition now requires same-frame 2D support and articulated refinement before a track can return to active. Proposal clusters retain contributing detection indices, the tracker searches broadly within contributing views, and proposal-compatible lost frames are surfaced explicitly instead of silently reviving a track. Old scene JSONs with imgpaths now default to the RPT camera-pose convention so proposal reprojection gating works on the sample scenes.
Add ActualTest support diagnostics that summarize event counts, accepted support, reprojection quality, and tracker diagnostics, plus focused regressions for camera conventions, score-driven demotion, covariance behavior, proposal-compatible lost handling, and broader proposal-backed matching.
Refactor the package into common, schema, detection, and tracking namespaces and move dataset-specific ActualTest utilities into tests/support.
Add a pluggable detection stack with typed protocols, pydantic-settings config, loguru-based runner logging, cvmmap and headless video sources, NATS and parquet sinks, and a structured coco-wholebody133 payload path.
Teach tracking replay loading to consume parquet detection directories directly, preserve empty frames, and keep the video-to-parquet-to-tracking workflow usable for offline E2E runs.
Vendor the local mmcv and xtcocotools wheels under Git LFS, update uv sources/lock state, and refresh the mmcv build so mmcv.ops loads successfully with the current torch+cu130 environment.
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