A stereo rig that must place an object within ±0.5 mm at 1 to 1.5 m stands or falls on two choices people usually guess: how much of the frame the calibration board fills, and how wide the baseline is. This guide sizes both from pixel pitch, focal length and the accuracy target, then walks through the capture sequence. The worked example runs a 10 MP, 25 mm, ±0.5 mm case; two short formulas rescale everything to your rig.
Size the board by coverage, not square count
At the working distance the board should span one third to one half of the image width in each camera. That is the decision. The calibrator fits lens distortion and stereo geometry from corner positions spread across the frame; a board parked in the centre leaves the edges unconstrained, and unmodelled edge distortion becomes depth bias at the far standoff. Corner count is secondary: fewer, larger squares simply mean more image pairs to reach the same point count.
Use an asymmetric pattern — odd by even interior corners, such as 9 × 6 — so a 180° flip cannot pass as the correct orientation. Which side is longer makes no difference to accuracy.
The single-camera version of this sizing question covers board area and square count in depth; stereo adds the shared-view constraint, handled below.
Set the square size from pixels at the standoff
Square size falls out of the image scale, not out of a fixed rule:
Z is the standoff, p the pixel pitch, f the focal length, W the sensor width, in matching units. Two thresholds apply. Below roughly 20 pixels per square, corner detection becomes unreliable and targets fail silently. At 100 pixels per square or more, sub-pixel corner refinement sits in the 0.1 px class on matte, evenly lit boards — the level the depth budget below assumes. Squares that come out small go gappy before they go inaccurate; the corner-detection troubleshooting guide shows what that looks like.
Run your own standoff numbers:
Worked example: ±0.5 mm at a 1,500 mm standoff with 10 MP cameras
Inputs, with their sources:
- Standoff Z = 1,500 mm — the far end of the band; depth error peaks there, so size for it.
- Depth accuracy σz = 0.5 mm — the stated requirement.
- Sensor: 3,648 × 2,736 pixels at p = 3.45 µm, so W = 12.59 mm — assumed values for a typical 10 MP sensor.
- Lens f = 25 mm per camera — assumed, a common C-mount choice at this standoff.
- Corner error σx = 0.1 px — what ≥100 px squares, matte print and even light deliver.
The rules:
The arithmetic, in millimetres:
- Image scale: s = 1,500 × 0.00345 / 25 = 0.207 mm/px.
- Image width: FOV = 3,648 × 0.207 = 755 mm.
- Board span: one third to one half of 755 mm = 252 to 378 mm; choose 300 mm.
- Squares: 30 / 0.207 = 145 px per square, inside the ≥100 px target. Ten by seven 30 mm squares give a 300 × 210 mm pattern with 9 × 6 interior corners.
- Corner error on the sensor: σx = 0.1 px × 0.00345 mm/px = 0.000345 mm.
- Baseline: B = 1,500² × 0.000345 / (25 × 0.5) = 776.25 / 12.5 = 62.1 mm — 62 mm minimum.
- Margin: at B = 100 mm, σz = 776.25 / 2,500 = 0.31 mm.
- Lateral: σxy = 1,500 × 0.000345 / 25 = 0.02 mm, about twenty-five times inside budget. Depth is the binding axis.
Decisions: a 300 × 210 mm board, 30 mm squares, 9 × 6 corners; a baseline of at least 62 mm, built at 80 to 100 mm for margin. Depth error scales with distance squared — the same rig drifts to about 1.2 mm at 3 m — and doubles if blur doubles the corner error to 0.2 px.
| Standoff | mm per pixel | Image width | Board span (1/3–1/2) | Baseline for ±0.5 mm |
|---|---|---|---|---|
| 1.0 m | 0.138 | 503 mm | 168–252 mm | 28 mm |
| 1,500 mm | 0.207 | 755 mm | 252–378 mm | 62 mm |
Size the board and the baseline for the far end of the band; the near end then passes with margin. A stocked camera of this class — 12 MP at 4000 × 3000 on a 1/1.7" USB3 sensor:
- Sensor format
- 1/1.7"
- Interface
- USB3
- Resolution
- 12 MP
- Shutter
- Rolling
Baseline: sized by depth error, checked by the shared view
Depth is the axis the square law punishes: holding ±0.5 mm at the far end of the band is nine times harder than at 0.5 m, which is why the baseline, not the board, carries the requirement. The baseline-choice guide for 3D vision works the overlap side of the same trade, and wide-baseline accuracy at long range shows what a wider spread buys past a few metres.
The shared view limits width from above, gently. At the far standoff even a 100 mm baseline is one fifteenth of the distance, so both cameras still see essentially the whole board. Centre the pattern between the cameras and tilt about its centre; every corner stays in both views.
The baseline is also a calibration constant: it must not drift after calibration. Mount both cameras on one rigid base — a camera stand with a slide table keeps the separation adjustable and repeatable:
- Type
- Camera stands
Print, mount and shoot: the sequence
- Print at 100 % scale — never fit-to-page — on matte stock, or laminate onto a rigid panel.
- Measure the printed pitch with calipers along the full width and height, and enter the measured value in the calibrator, never the nominal.
- Mount on a flat substrate: aluminium composite, glass or acrylic.
- Light it flat — even diffuse front light, no hot spots, no shadows across corners.
- Work the board through the band: 9 to 12 positions — left, right, up, down, near, far — with tilts up to about 45° per axis, collecting 20 to 40 pairs. The tilt sweep doubles as insurance: each pose projects print imperfections differently, so calibration averages them out.
- Check the shared view on every frame. If one camera clips an edge the pair is wasted; that coverage stall is the classic failure at this step.
- Calibrate each camera's intrinsics separately, then run the stereo step — for example the MATLAB Stereo Calibrator App. The paired-image calibration walkthrough follows the same order.
- Inspect per-image estimation errors, drop pairs with outlier corners, recalibrate.
- Validate on hardware: place a reference artefact at the near end of the band and at the far end, and read the measured offset against the budget.
Accept or reshoot: the checks
Reprojection error is the first gate: about 0.3 px or below is good, above 0.5 px means reshoot. The usual causes are blur, glare or clipped corners, not the mathematics.
Then validate against a measured artefact, because reprojection error tests internal consistency, not scale. Depth reading consistently short or long by the same fraction at both distances is a scale error, almost always the printed pitch — apply a measured scale factor to outputs or reprint and recalibrate. Error growing with the square of distance points at the baseline: widen it. Corners dropping out at the frame edges mean the board is too small — back to the coverage rule. The grid-pitch error guide lists the calibration-side symptoms of a mis-sized grid.
When this sizing rule is wrong
Short standoffs collapse the square law: at 0.3 m a small board and a 60 mm baseline are overkill, and print tolerance becomes the limit. Very wide lenses do the opposite: below roughly 10 mm of focal length the far-end image width runs into metres and a one-third board becomes a billboard — calibrate at a shorter standoff or fill most of a fisheye frame instead.
Resist cropping the calibration to a small central patch because the object sits there. Distortion is fitted where the corners are; a centre-only board calibrates the middle and lies at the edges — where the object will eventually drift.
To build the rig, start at the 3D sensors and area scan cameras finders, or set camera and stand together in the camera configurator. More sizing and calibration guides sit on the 3D topic page.
Questions
How many squares should a stereo calibration checkerboard have?
Eight by six to twelve by nine interior corners covers most rigs; 9 × 6 is the default because it is asymmetric and, with 30 mm squares, fills a 300 × 210 mm board. Corner count sets how many images you need, not the accuracy ceiling — coverage, square size in pixels and board flatness set that. With fewer corners, take 30 to 40 pairs instead of 20.
Does the checkerboard need to be at the same distance as the object?
Yes — spread captures across the 1 to 1.5 m band the object will occupy. Intrinsics and the stereo baseline are fitted where you sample them; pairs taken only at 0.5 m extrapolate the distortion model out to the far standoff, and the mismatch shows up as a depth bias that grows with distance. Include captures near each end of the band and some in between.
What tolerance do the printed squares need?
Scale matters more than edge perfection. Measure the printed pitch across the full board and enter the measured value in the calibrator; fit-to-page scaling is the classic failure, and a 1 % pitch error reads back as roughly 1 % depth error — about 15 mm at a 1,500 mm standoff. Keeping the measurement itself good to 0.1 mm limits depth scale error to about half a millimetre there.
Is an asymmetric checkerboard really necessary for stereo?
Strongly recommended. With odd-by-even interior corners, a 180° rotation produces a different corner ordering, so the calibrator cannot silently flip the board and fit a wrong extrinsic. Symmetric boards force the software to lean on orientation heuristics, and one flipped pair corrupts the whole fit. Asymmetric costs nothing: just stop one column or row short.
How wide should the stereo baseline be at 1.5 m?
For ±0.5 mm depth error at a 1,500 mm standoff with 25 mm lenses and about 3.45 µm pixels, 62 mm is the computed minimum and 80 to 100 mm is a sensible build target. Overlap is not the limit: even 100 mm is one fifteenth of the standoff, so both cameras still see the whole board. Go wider when the distance grows or the budget tightens — depth error falls in direct proportion.

