Guide

Camera calibration procedure for a multi-camera egocentric rig

Opening and closing solves, sub-0.28 px reprojection, drift measured per episode.
By the Firsthand capture teamLast updated September 23, 2026

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.