Glossary

What Is Stereo Rectification?

Warping the left and right images of a calibrated stereo pair so matching points share an image row, which makes disparity search one-dimensional.

Last reviewed: October 2026

Short answer

Stereo rectification is the transformation that warps the left and right images of a calibrated stereo pair so that matching points land on the same image row. It uses each camera’s intrinsics and the extrinsics between the cameras, and it turns the search for matching points into a one-dimensional search along a row, which is what disparity needs.

01

Why it matters

A stereo pair only yields depth if the same scene point can be found in both images. Rectification makes that search consistent and is the step that gives disparity its meaning. For a robotics data buyer the practical risk is a mismatch: if a pair is rectified with the wrong calibration, or treated as rectified when it is still raw, the disparity computed from it is wrong, and the error carries straight into depth.

02

How Firsthand handles it

Firsthand ships raw stereo frames with the calibration measured that session, so a buyer can rectify the pair themselves, and rectified pairs plus disparity can be added to the delivery on request. The calibration sits in calibration/ as intrinsics, extrinsics (SE3) and rms_reproj_px, with the head-camera frame as the identity, and each rig session is checked against rms_reproj_px under 0.28. The site states no rectification algorithm, rectified resolution, rectification error or rectification-map field.

03

What is stereo rectification?

Two cameras mounted side by side see a scene from slightly different positions. In the raw images a scene point can land at a different height as well as a different horizontal position, because the cameras are never perfectly aligned and each lens bends the image. Stereo rectification is the transformation that removes that misalignment. It warps both images, using the calibrated parameters, so they behave as if they came from two parallel cameras, and a point in the left image appears on the same row in the right image.

OpenCV, a common reference implementation, describes its stereoRectify function as computing rectification transforms for each head of a calibrated stereo camera. Its documentation introduces the step as the transformation that makes the camera optical axes parallel.

04

Why do stereo pairs need to be rectified?

In a raw pair, the match for a point in the left image lies somewhere along an epipolar line in the right image, and that line can be tilted and differ from row to row. OpenCV’s documentation states that stereoRectify computes rotation matrices that (virtually) make both camera image planes the same plane. That makes all the epipolar lines parallel and so simplifies the dense stereo correspondence problem.

For the common horizontal layout, the documentation states that the corresponding epipolar lines in the left and right cameras become horizontal and have the same y-coordinate. That is the payoff: after rectification, matching is a one-dimensional search along a row, and the difference in horizontal position is the disparity.

05

What calibration does rectification require?

Rectification needs three groups of values. Intrinsics describe each camera’s own lens and sensor: focal lengths, the principal point and the distortion coefficients. Extrinsics give the rotation and translation between the two cameras. The distance between the lenses, the baseline, belongs to the same calibration and later scales disparity into metric depth. In OpenCV, stereoCalibrate finds the intrinsic parameters for each camera and the extrinsic parameters between them, and stereoRectify takes the matrices it computes as input.

The site lists the same ingredients for Firsthand: intrinsics (fx, fy, cx, cy and lens distortion coefficients), extrinsics as a 4×4 SE(3) pose per camera with the head-camera frame as the identity, and the baseline, all measured each session.

06

How does rectification relate to disparity and depth?

Disparity is the horizontal pixel shift of the same point between the rectified left and right images, and depth then follows from focal length times baseline divided by disparity. The OpenCV stereo depth tutorial writes the same relation as disparity = B·f / Z. Because that relation assumes rectified geometry, a pair that is still raw cannot be fed straight into it.

The site states that Firsthand derives depth from its calibrated stereo rig and delivers it in metric millimetres, registered to the head-camera frame. It does not state the matching algorithm, depth range or depth accuracy.

07

What does Firsthand’s calibrated stereo rig deliver for rectification?

The stated position is specific. Raw frames ship with calibration so you can rectify the pair yourself, and rectified pairs plus disparity can be added to the delivery on request. The default is therefore raw frames plus calibration, and rectified pairs are something you request in the spec.

The calibration is the same block every episode carries: calibration/ holds intrinsics, extrinsics (SE3) and rms_reproj_px. An episode ships only if RMS reprojection stays under 0.28 px and the drift between the opening and closing calibration solves is within tolerance. That figure is a reprojection-error gate, not a rectification-error figure, and the site states no rectification error. Depth arrives separately as streams/depth_mm (uint16, 480 × 848 at 30 Hz) with a streams/depth_conf confidence map. The site states no field names for rectified frames or rectification maps.

08

What should buyers check in stereo calibration data?

Confirm that every episode ships intrinsics, extrinsics and the baseline, plus a reprojection-error figure. Firsthand’s stated gate is rms_reproj_px under 0.28. Check that the reference frame is documented; here the head-camera frame is the identity for all extrinsics.

Then decide in the spec whether you will rectify from raw frames yourself or want rectified pairs plus disparity added, and write down the field names, data type and resolution you expect, since the site does not state them. Make baseline length, focal length, rectified resolution, rectification error and depth accuracy acceptance criteria, because none is stated.

09

Calibration, rectification and disparity: how the terms relate

Calibration, rectification and disparity: how the terms relate
TermWhat it isRole in rectified stereo
CalibrationSolving each camera’s intrinsics and the extrinsics between the camerasThe input that rectification depends on
RectificationWarping both images so matching points share an image rowMakes the match search one-dimensional
DisparityHorizontal pixel shift of a point between the rectified left and right imagesMeasured after rectification; defined on a rectified pair
DepthDistance from the camera to the scene pointFollows from focal length, baseline and disparity
Rectification mapA remapping computed from the calibration and applied to each frame (OpenCV: initUndistortRectifyMap)Applies the warp; not stated as a Firsthand deliverable

11

What this site states about Firsthand stereo calibration deliverables

What this site states about Firsthand stereo calibration deliverables
ItemStated on this siteField or format
Stereo rigHead-mounted, calibrated, human interpupillary baselineQualitative only
CalibrationIntrinsics, extrinsics (SE3) and rms_reproj_px, measured every sessioncalibration/
Acceptance gaterms_reproj_px under 0.28; drift between opening and closing solve within toleranceEpisode ships only if met
Extrinsics frameHead-camera frame is the identity for all extrinsics4×4 SE(3) per camera
Stereo pairRaw frames with calibration; rectified pairs plus disparity on requestField names not stated
DepthDerived from the stereo rig; metric mm; 480 × 848 at 30 Hzstreams/depth_mm, observation.depth_mm, depth.png

12

Rectification details this site does not state

Rectification details this site does not state
ItemStatus
Rectification algorithm or libraryNot stated
Rectified image resolution and cropNot stated
Rectification errorNot stated (rms_reproj_px is a reprojection-error gate)
Rectification maps as a deliverableNot stated
Field names, type and resolution of rectified pairsNot stated
Baseline length and focal lengthNot stated (read them from the per-episode calibration)
Depth range and accuracyNot stated
Whether rectified pairs ship by defaultNot by default: raw frames plus calibration; rectified pairs on request

13

Frequently asked questions

What is stereo rectification in simple terms?
It is a warp applied to the left and right images of a calibrated stereo pair so that a point seen in both lands on the same row. Once rows line up, finding the match is a search along one row instead of across the image.
Why is rectification needed before computing disparity?
Disparity is defined as the horizontal shift of a point between the rectified left and right images. Rectification makes that shift purely horizontal. OpenCV states that it makes the epipolar lines parallel and so simplifies the dense stereo correspondence problem.
Does Firsthand deliver rectified stereo frames?
Raw frames ship with calibration so you can rectify the pair yourself, and rectified pairs plus disparity can be added to the delivery on request. Rectified pairs are not stated as a default, so ask for them in the spec.
What calibration data does rectification need?
Each camera’s intrinsics (focal lengths, principal point, distortion coefficients) and the extrinsics between the cameras. Firsthand states that intrinsics, extrinsics (SE3) and rms_reproj_px ship in calibration/, with the baseline measured every session.
How accurate is the rectification?
Not stated. The site states no rectification error. Its stated check is rms_reproj_px under 0.28 per rig session, which is a reprojection-error gate and not a rectification-error figure.
Can I request a custom egocentric collection with rectified stereo?
Yes. Firsthand runs custom collections against a written spec, so state whether you want raw frames plus calibration or rectified pairs plus disparity, and define the field names, type and resolution you expect. See calibrated egocentric video data, then request a custom dataset.