Update to 2026-09-17 pipeline snapshot; add weights, L20 assets and recording via Git LFS
Source: RGB-D -> Dyn-HaMR -> L20 retargeting -> FoundationPose -> reference repair -> SPIDER, documented in docs/PIPELINE_LATEST.md and docs/SETUP_AND_WEIGHTS.md. Adds FoundationPose and nvdiffrast upstream snapshots, requirements/pipeline_venv.txt and the FoundationPose weight manifest/downloader. Assets (Git LFS): weights/ (WiLoR detector, HandFlow denoiser, UniDepth-L), FoundationPose checkpoints, HaMeR checkpoint, Dyn-HaMR HMP model and BMC constraints, L20 URDF/meshes, the 20260915_171525 D405 recording and the two box CADs. MANO models are not redistributed (third_party/hamer/_DATA/data/mano/README.txt). Environments, caches and run outputs excluded. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -1037,6 +1037,11 @@ def batch_rodrigues(param):
|
||||
def smooth_global_rot_matrix(pred_rots, OE_filter):
|
||||
rot_mat = batch_rodrigues(pred_rots[None]).squeeze(0)
|
||||
smoothed_rot_mat = OE_filter.process(rot_mat)
|
||||
# Elementwise filtering leaves SO(3); project back before axis-angle conversion.
|
||||
u, _, vh = torch.linalg.svd(smoothed_rot_mat)
|
||||
correction = torch.eye(3, dtype=u.dtype, device=u.device)
|
||||
correction[-1, -1] = torch.det(u @ vh)
|
||||
smoothed_rot_mat = u @ correction @ vh
|
||||
smoothed_rot = rotation_matrix_to_angle_axis(smoothed_rot_mat.reshape(1,3,3)).reshape(-1)
|
||||
return smoothed_rot
|
||||
|
||||
@@ -1106,4 +1111,4 @@ class OneEuroFilter:
|
||||
cutoff = self.mincutoff + self.beta * torch.abs(edx)
|
||||
if print_inter:
|
||||
print(self.compute_alpha(cutoff))
|
||||
return self.x_filter.process(x, self.compute_alpha(cutoff))
|
||||
return self.x_filter.process(x, self.compute_alpha(cutoff))
|
||||
|
||||
+2
@@ -177,6 +177,8 @@ class AnimationBase(object):
|
||||
"""
|
||||
Add a single camera marker node that we move around when we animate
|
||||
"""
|
||||
if os.environ.get("DYNHAMR_HIDE_CAMERA_MARKERS") == "1":
|
||||
return
|
||||
print("ADDING CAMERA MARKERS")
|
||||
if self.cam_marker_node is None:
|
||||
cam_marker = make_camera_marker(up="y")
|
||||
|
||||
Reference in New Issue
Block a user