feat(state): add SMPLXPerson + persons_smplx field

Adds the SMPL-X person record (vertices, joints, translation, betas,
expression) and the corresponding list + last-timestamp fields on the
shared State. Mirrors the NLFPerson shape so renderers can switch
backends without touching the upstream pipeline.
This commit is contained in:
L'électron rare
2026-05-13 10:49:57 +02:00
parent 6932de5e74
commit ef288a7664
+17
View File
@@ -19,6 +19,19 @@ class PoseKp:
c: float = 0.0
@dataclass
class SMPLXPerson:
"""Resultats Multi-HMR pour une personne : params SMPL-X + vertices
decodes en metres. Vertices en repere camera (z > 0 devant)."""
pid: int = -1
vertices_3d: tuple = field(default_factory=tuple) # ((x,y,z),) x 10475
joints_3d: tuple = field(default_factory=tuple) # ((x,y,z),) x 127
translation: tuple = (0.0, 0.0, 0.0)
confidence: float = 0.0
betas: tuple = field(default_factory=tuple) # (10,)
expression: tuple = field(default_factory=tuple) # (10,)
@dataclass
class NLFPerson:
"""Resultats NLF pour une personne : vertices 3D SMPL (6890) en metres,
@@ -88,6 +101,10 @@ class State:
persons_nlf: list = field(default_factory=list) # list[NLFPerson]
nlf_last_t: float = 0.0
# Multi-HMR (SMPL-X 10475 verts x N personnes)
persons_smplx: list = field(default_factory=list) # list[SMPLXPerson]
smplx_last_t: float = 0.0
# Renderer
width: int = 1280
height: int = 720