Technical Field Note #12 · October 2026

Why your calibration board disappears at 60 cm: measured ChArUco detection limits on a wide-angle egocentric camera

Field Note #12 · ChArUco target design for wide-angle egocentric cameras, with measured detection limits (ODL-EGO S1)

Wide-angle egocentric cameras make calibration targets look small. On the calibration day we lost two whole recordings because the board was held 1–1.5 m away and not a single frame decoded. Across 14,925 board detections we measured how many corners are found as a function of marker size in pixels. For the 9×6 A4 board, markers of 30–40 px gave all 40 corners in 90% of detections, 24–30 px in 45%, and below 16 px almost nothing. With this lens (focal length ≈482 px) that puts the A4 board's full-detection limit near 40 cm and its hard limit near 60 cm. A purpose-made 5×3 board with 53 mm squares and a coarser 4×4 marker dictionary gave all 8 corners to ~66 cm and partial detection to ~90 cm. Both boards printed about 2.8% smaller than requested, even at "100%". We turn this into a sizing rule for future targets.

up to ~38 cm (73% of frames at 38 cm)A4 board (9×6, 29.2 mm squares): all 40 corners
beyond ~60 cmA4 board: no detection
up to ~66 cm; 85–98% of frames at 76 cmFar board (5×3, 53.4 mm squares): all 8 corners
0–20% usable framesHand-held target at 1–1.5 m (session A)
97.2% (A4) / 97.1% (far)Print scale at "100%"

Why this matters

Calibration quality is decided before the first frame

Field Notes #09–#11 depend on the calibration target being detected reliably at the distances and image positions that matter. On a wide-angle egocentric camera that is harder than it looks: the lens squeezes a large field of view into 1600 pixels, so a board that looks big to the person holding it is small in the image.

This note is a field lesson written from our own failed and successful recordings, with the numbers that turn it into a design rule.

Setup

Two boards, one camera, one day

Camera: R8 stereo+IMU, 1600×1200 per eye, fisheye, focal length ≈482 px (factory calibration). Boards: (1) 9×6 ChArUco, OpenCV DICT_5X5_100, requested 30 mm squares / 22 mm markers on A4; (2) 5×3 ChArUco, DICT_4X4_50, requested 55 mm squares / 42 mm markers on A4, designed after the first failures. Both were taped to a wall or held by hand. Detection: OpenCV 4.10 ArucoDetector + CharucoDetector with default parameters.

The A4 9x6 board and the 5x3 far-range board on a wall with a tape measure
Top: 9×6 A4 board. Bottom: 5×3 far-range board. Left-camera crops; unrelated objects blurred.

Result 1

Marker size in pixels decides everything

Pooling all 14,925 detections, the 9×6 board gave a median of 40/40 corners once markers were at least 30 px wide, 38/40 at 24–30 px, 27/40 at 20–24 px and almost none below 16 px. The 5×3 board with its coarser 4×4 dictionary kept a median of 6/8 corners down to 16–24 px.

Detection does not fail gradually with distance; it collapses within a narrow band of marker sizes. Marker bits are only about 3 px wide at 20 px marker size, and video compression and slight motion blur erase them.

Line chart of corners found versus marker size in pixels for two boards
Median share of board corners found vs marker side length in the left image (all recordings).
TargetMarker side in image (px)DetectionsMedian cornersShare with all corners
A4(8, 12]571 / 400%
A4(12, 16]1,2943 / 400%
A4(16, 20]2,64212 / 400%
A4(20, 24]2,01827 / 408%
A4(24, 30]1,70338 / 4045%
A4(30, 40]1,54540 / 4090%
A4(40, 60]54040 / 40100%
A4(60, 120]5540 / 40100%
FAR(16, 20]1236 / 86%
FAR(20, 24]2736 / 846%
FAR(24, 30]5668 / 888%
FAR(30, 40]1,2718 / 870%
FAR(40, 60]2,4308 / 876%
FAR(60, 120]4088 / 888%

Result 2

What that means in centimetres

In the tape-measured distance session the A4 board went from 40/40 corners at ~27 cm to 39 at ~38 cm, ~23 at ~48 cm, ~5 at ~58 cm and none at the 70–90 cm stops. The far board kept 8/8 corners through ~66 cm, 7.9 at ~76 cm and about 6.6 at ~85 cm.

The pinhole relation marker_px ≈ f · marker_mm / distance with f ≈ 482 px reproduces these limits: the A4 board's printed 21.4 mm markers fall to 21 px at 0.5 m and 17 px at 0.6 m.

Bar charts of corners found over time as the camera moves away from each board
Corners found per 1.5 s along the tape-measured distance sessions; labels give stereo distance in cm.
TargetTape (cm)Stereo distance (cm)Marker px (median)Mean cornersFrames with all corners
A4 (9×6, 29.17 mm)30273440.0 / 40100%
A4 (9×6, 29.17 mm)40382539.0 / 4070%
A4 (9×6, 29.17 mm)50482022.2 / 400%
A4 (9×6, 29.17 mm)6058175.1 / 400%
A4 (9×6, 29.17 mm)70–90—140.1 / 400%
Far (5×3, 53.4 mm)3027688.0 / 899%
Far (5×3, 53.4 mm)4035538.0 / 8100%
Far (5×3, 53.4 mm)5046418.0 / 8100%
Far (5×3, 53.4 mm)6057338.0 / 8100%
Far (5×3, 53.4 mm)7066288.0 / 8100%
Far (5×3, 53.4 mm)8076257.9 / 893%
Far (5×3, 53.4 mm)9085226.6 / 844%
Distance (m)A4 marker px (21.4 mm printed)Far marker px (40.8 mm printed)
0.33466
0.52139
0.61733
0.81325
0.91122
1.01020
1.5713

Result 3

Two failures worth documenting

Hand-held target too far: in the re-shoot of the main calibration session the board was held at roughly 1–1.5 m to reach the image edges. Two recordings (224 s and 65 s) produced zero usable frames, and the others about 20%. The earlier session with the board at 0.25–0.5 m gave 79%.

"100%" is not 100%: both boards measured with a steel rule came out 97.2% and 97.1% of the requested size, enough to cause a 2.8% depth-scale error if the nominal size were used. Every print must be measured.

RecordingTarget placementDuration (s)Frames with ≥12 corners
124235_00000hand-held 0.25–0.5 m, rig fixed30079%
142800_00000hand-held, mostly 1–1.5 m23720%
143229_00000hand-held, mostly 1–1.5 m30020%
143229_00001hand-held, 1–1.5 m, image edges2240%
150150_00000hand-held, ~1 m (drift attempt)650%

Design rule

Sizing a target for a wide-angle egocentric camera

Rule (from this data, 5×5 dictionary): keep markers at or above ~30 px at the farthest distance you need for full corners, and above ~20 px to get anything. Required printed marker size ≈ 30 px × distance / focal length. For f ≈ 482 px that is ≈19 mm at 0.3 m, ≈31 mm at 0.5 m, ≈50 mm at 0.8 m and ≈62 mm at 1.0 m.

Interpretation: a single A4 sheet cannot serve the full 0.3–1 m hand-work range on this camera. Use a dense A4 board for 25–45 cm (many corners for intrinsics) and a coarse board with ≥50 mm markers (A3 or a multi-sheet board) for 60–100 cm. Keep the target within 0.5 m when sweeping image edges; move the board, not the distance.

  • Measure every printed target with a steel rule; never trust nominal size.
  • Check marker pixel size in a 10 s test clip before a full session.
  • Prefer a coarser marker dictionary (4×4) when far detection matters; we did not isolate dictionary from size, so treat this as indicative.

Limitations

  • Single R8 stereo+IMU unit, single indoor office, single day (2026-10-26); results are not a population estimate for other units.
  • All measurements are automated (OpenCV detection, triangulation, fitting). No independent human re-measurement was performed: AI/algorithm-only preliminary analysis.
  • The factory calibration file is third-party material; it is used for evaluation but is not redistributed. Raw videos are not published (they contain people and a private office).
  • Pixel thresholds come from H.264 video at 1600×1200 with ~10 ms exposure under office lighting; other codecs, bitrates or lighting will shift them.
  • Board size and marker dictionary changed together between the two boards; their individual effects are not separated.
  • Detector parameters were OpenCV defaults; tuned parameters or upscaling may extend range somewhat (2× upscaling did not recover the 1–1.5 m frames in a spot check).
  • Distances for undetected stops come from the tape plan, not from stereo measurement.

Frequently asked questions

How far can an A4 ChArUco board be detected on a wide-angle camera?

On our 1600×1200 fisheye camera (f ≈ 482 px) an A4 9×6 board with 29 mm squares gave all corners to about 40 cm, partial detection to about 58 cm and nothing beyond about 60 cm.

What marker size in pixels is needed?

About 30 px per marker side for complete detection of a 5×5-dictionary board in our video, and above about 20 px for any useful detection.

How do I size a board for 1 m?

Printed marker size ≈ 30 px × distance / focal length; with f ≈ 482 px that is about 62 mm markers at 1 m, which needs A3 or larger.

Does printing at 100% give the right size?

Not in our case: two boards printed at 97.2% and 97.1% of the requested size. Always measure the printed board.

Why did whole calibration recordings fail?

The board was held 1–1.5 m from the camera to reach the image edges; markers fell below ~15 px and no frame decoded. Keep the board within ~0.5 m and move it across the image instead.

RESEARCH RESOURCES

Explore the Technical Resources

Access the code, datasets and evaluation materials.

Want this measured on your data?

Request a sample from our stereo+IMU or phone capture, or ask us to run the same checks on your rig.

Request sample dataContact us