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.
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.

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.

| Target | Marker side in image (px) | Detections | Median corners | Share with all corners |
|---|---|---|---|---|
| A4 | (8, 12] | 57 | 1 / 40 | 0% |
| A4 | (12, 16] | 1,294 | 3 / 40 | 0% |
| A4 | (16, 20] | 2,642 | 12 / 40 | 0% |
| A4 | (20, 24] | 2,018 | 27 / 40 | 8% |
| A4 | (24, 30] | 1,703 | 38 / 40 | 45% |
| A4 | (30, 40] | 1,545 | 40 / 40 | 90% |
| A4 | (40, 60] | 540 | 40 / 40 | 100% |
| A4 | (60, 120] | 55 | 40 / 40 | 100% |
| FAR | (16, 20] | 123 | 6 / 8 | 6% |
| FAR | (20, 24] | 273 | 6 / 8 | 46% |
| FAR | (24, 30] | 566 | 8 / 8 | 88% |
| FAR | (30, 40] | 1,271 | 8 / 8 | 70% |
| FAR | (40, 60] | 2,430 | 8 / 8 | 76% |
| FAR | (60, 120] | 408 | 8 / 8 | 88% |
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.

| Target | Tape (cm) | Stereo distance (cm) | Marker px (median) | Mean corners | Frames with all corners |
|---|---|---|---|---|---|
| A4 (9×6, 29.17 mm) | 30 | 27 | 34 | 40.0 / 40 | 100% |
| A4 (9×6, 29.17 mm) | 40 | 38 | 25 | 39.0 / 40 | 70% |
| A4 (9×6, 29.17 mm) | 50 | 48 | 20 | 22.2 / 40 | 0% |
| A4 (9×6, 29.17 mm) | 60 | 58 | 17 | 5.1 / 40 | 0% |
| A4 (9×6, 29.17 mm) | 70–90 | — | 14 | 0.1 / 40 | 0% |
| Far (5×3, 53.4 mm) | 30 | 27 | 68 | 8.0 / 8 | 99% |
| Far (5×3, 53.4 mm) | 40 | 35 | 53 | 8.0 / 8 | 100% |
| Far (5×3, 53.4 mm) | 50 | 46 | 41 | 8.0 / 8 | 100% |
| Far (5×3, 53.4 mm) | 60 | 57 | 33 | 8.0 / 8 | 100% |
| Far (5×3, 53.4 mm) | 70 | 66 | 28 | 8.0 / 8 | 100% |
| Far (5×3, 53.4 mm) | 80 | 76 | 25 | 7.9 / 8 | 93% |
| Far (5×3, 53.4 mm) | 90 | 85 | 22 | 6.6 / 8 | 44% |
| Distance (m) | A4 marker px (21.4 mm printed) | Far marker px (40.8 mm printed) |
|---|---|---|
| 0.3 | 34 | 66 |
| 0.5 | 21 | 39 |
| 0.6 | 17 | 33 |
| 0.8 | 13 | 25 |
| 0.9 | 11 | 22 |
| 1.0 | 10 | 20 |
| 1.5 | 7 | 13 |
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.
| Recording | Target placement | Duration (s) | Frames with ≥12 corners |
|---|---|---|---|
| 124235_00000 | hand-held 0.25–0.5 m, rig fixed | 300 | 79% |
| 142800_00000 | hand-held, mostly 1–1.5 m | 237 | 20% |
| 143229_00000 | hand-held, mostly 1–1.5 m | 300 | 20% |
| 143229_00001 | hand-held, 1–1.5 m, image edges | 224 | 0% |
| 150150_00000 | hand-held, ~1 m (drift attempt) | 65 | 0% |
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.