points_triangulated_world_results_merged.npz

KeyShapeDescription
trans(1, T, 3)Global translation
root_orient(1, T, 3)Root orientation (axis-angle)
pose_body(1, T, 63)SMPL body pose (21 joints × 3, decoded from latent_pose)
hand_pose(1, T, 90)MANO hand pose, both hands
latent_pose(1, T, 32)VPoser latent body pose
betas_per_frame(1, T, 16)SMPL shape parameters (constant within each optimization chunk, broadcast per frame)
cam_R, cam_t(5, T, 3, 3) / (5, T, 3)Camera rotation/translation (fixed Ego-Exo4D calibration; cameras are not optimized)
intrins, cam_dist(5, T, 3, 3) / (5, T, 5)Camera intrinsics/distortion
joints3d(1, T, 67, 3)3D joint positions (world frame)
joints2d(4, T, 67, 2)Reprojected 2D joints, exo views only
valid(1, T), int80 for frames whose optimization chunk logged a NaN/Inf loss term, 1 otherwise
chunk_ranges(n_chunks, 2)(start, end) frame index of each optimization chunk

Quick load example:

import numpy as np
d = np.load("<take>/points_triangulated_world_results_merged.npz")
print(d["trans"].shape)   # (1, T, 3)
print(d["valid"].mean())  # fraction of frames NOT from a NaN-loss chunk

67-keypoint layout

For joints3d/joints2d: