Views
No views yet
GPSStateEstModel — graph-based (GNN + Transformer) state estimation for
variable-vertex cloth meshes. Reconstructs the full cloth mesh state from a
partial point cloud observation via DDPM diffusion, conditioned on each
cloth's own rest state and topology (no global template).dexgarmentlab_folding_lifting_meshes_clean.h5, Cloth-splatters/dexgarmentlab-folding-lifting-meshes-clean)selfmodel/ is checkpoint-best)dexgarment_ddpm_clean_2026-08-05_14-28-23_475354 (full config in config.yml)dexgarmentlab_folding_lifting_meshes.h5 before the point-cloud audit. Roughly
half of those observations carried scene geometry (floor / fixture returns) mixed
into the cloth points; the cleaned dataset removes it and trims the affected
frames. The previous revision is still reachable by commit hash.selfself rest-position centering convention:
the per-cloth rest (template) positions fed to the model are centered by
subtracting the rest mesh's own (valid-vertex) mean, independent of the
observed point cloud.model.config.rest_pos_centering (recorded as
"self" in this checkpoint's config.json) and do this automatically.pcd convention
(all state-estimation checkpoints in this org trained on or before 2026-05-10).model/), heavy
occlusion/outlier augmentation (fold-unfold-lift set, scale 0.8-1.25, no yaw).
Best validation MSE 2.72e-4 m² (previous release: 6.26e-4); held-out first-frame
reconstruction better on 7/8 test cloths, and the TNLC_Jacket001_0 hard start
improves from rank 136 to rank 120 in the 239-mesh identification probe.
Sequential cross-attention, 200k steps. The previous release remains available at
revision 204401acd818e8ef9c3ad4b014bdd34206c149a3.num_context_frames: 2): during training the model cross-attends to the
current cloud and one from 1-5 frames earlier. At inference it runs
single-frame (pcd_prev=None duplicates the current cloud — the
trajectory-start pair it trained on); the temporal input adds ~2 % if
supplied. The two-frame training acts as a temporal-consistency regularizer
and yields the best checkpoint on every measured axis: best val (2.38e-4 m²),
frame-sweep worst observation 20 of 239 (predecessors: 56-107), the
TNLC_Jacket001_0 hard start at identification rank 3 (was 120-136), held-out
identify-then-track kept 7/8 with MAP correct 6/8. Samplers saturate at 3
denoising steps (~21 mm mean vertex error). Previous revision (ddpm_v2,
the v2 recipe without temporal training): 594ce1af02d320dff3014418a309462345fa76b3.template_mismatch_range: [0.5, 2.0]): during training the rest template
alone is rescaled by a log-uniform factor, so the template/observation size
ratio stops being a constant 1 and the model must take scale from the
observation, using the template for shape only. On the mismatched-template
eval this revision is flat (~30 mm mean vertex error) across template scale
factors 0.5–2 where the previous revision degrades 10–20x (160–250 mm at
factor 1.88–2), and it ties the previous revision at true size (masked MSE
9.1e-4 vs 9.7e-4 at 5 denoising steps). On the real take-2 pants it tracks at
metric scale — no hand-tuned template rescale — matching the previous
revision's hand-tuned-scale arm (symmetric Chamfer 9.97 vs 9.61 mm).
Training val 3.06e-4 m² sits above the previous revision's 2.38e-4 by design:
the augmentation is train-only and val templates are always true-size.
Previous revision (ddpm_v2_tf2, no mismatch augmentation): b0d762db67a12722817665a5365fa010bf589b4c.