Skip to content

Implement an SMPL/SMPL-X MeshBackend for COCO-17 joints #9

Description

@bamdadd

Context

Human pose ships with a COCO-17 skeleton and an open extension point: the MeshBackend ABC in src/multicam_sim/pose.py is meant to let a dense body model (SMPL / SMPL-X) emit a PoseTrajectory, after which projection/occlusion/manifest are unchanged. No backend is implemented.

What to do (design + dependency work, happy to mentor)

Implement a MeshBackend subclass that takes SMPL (or SMPL-X) parameters and produces a PoseTrajectory on the COCO-17 skeleton (regress the 17 keypoints from the mesh's joints). Keep smplx/model weights behind an optional extra so the core package stays light; document how to obtain the body model.

Acceptance criteria

  • Given a minimal set of parameters (e.g. rest pose), to_pose_trajectory("p0") returns a valid PoseTrajectory whose to_entity() yields all 17 COCO joints.
  • Heavy deps are optional and guarded; the test skips cleanly when the model isn't available.
  • Design notes in the PR on the SMPL-joint to COCO-17 mapping; ruff, mypy src, pytest -q green.

Extension point and skeleton: DESIGN.md pose extension.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: posePose estimationhelp wantedExtra attention is neededmentoredHappy to pair or guidesize: LA real chunktype: researchOpen-ended / needs exploration

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions