Guide
Camera calibration procedure for a multi-camera egocentric rig
Short answer
Every episode is bracketed by two calibration solves — one before capture and one after — so intrinsic and extrinsic parameters are known and drift is measured, not assumed. An episode ships only if RMS reprojection stays under 0.28 px and the open-to-close drift is within tolerance.
What parameters are solved?
- Intrinsics
- fx, fy, cx, cy, k1, k2, p1, p2, k3 per camera
- Extrinsics
- 4×4 SE(3) per camera; head-camera frame is identity
- Depth alignment
- Depth registered to the head-camera frame
- Acceptance
- RMS reprojection < 0.28 px to ship
Why bracket every episode with two solves?
A worn rig flexes. A single up-front calibration silently decays over a session, and you discover it only when the geometry no longer lines up. Bracketing each episode with an opening and closing solve turns drift from an unknown into a measured number the calibration data carries — `calib_drift_mm` in the episode metadata.
Both solves ship with the episode, so you can re-run the reprojection check on your own copy.
Check it against the sample pack.
40 episodes across 4 environments, delivered in the exact schema these guides describe.