ZED X One S Stereo Calibration Fails at 0.5 m Baseline

I’m trying to calibrate a custom stereo setup using two ZED X One S (narrow FOV), but calibration fails due to high reprojection errors even at a relatively short baseline of 0.5m.

My Setup:
Cameras: 2 × ZED X One S (narrow)
Mounting: Rigidly fixed on a static bar (no movement)
Current baseline tested: 1 m and 0.5 m
Future goal: ~2 m baseline

Calibration pattern:
Chessboard: 11 × 8 inner corners
Square size: 65.3 mm
Printed and mounted on a rigid flat surface

Followed the official guide:
https://www.stereolabs.com/docs/cameras/zed-x-one/zed-x-one-stereo
Achieved 100% coverage in all metrics: X,Y,Size,Skew.

Calibration fails due to reprojection error:

Even when coverage is perfect, I cannot get below the 0.5 px threshold, although i am very close to success, there is always something that above 0.5 and fails me.

This happens at 0.5 m baseline, not long baseline

Observations

  • This happens at 0.5 m baseline, not long baseline

  • Cameras are completely rigid

  • Chessboard is flat and stable

  • Images look sharp and well exposed

  • Repeating calibration gives slightly different results, but always above threshold

Eventually I want to calibrate a ~2 m baseline stereo rig, so I’m trying to validate the process first at 0.5 m. what size of square i will need at this case if i cannot handle the 0.5 m ?

You could try to use bigger squares (80 mm) to improve the detection when the target is moved far from the cameras.
Also, check that there are no flares and shadows on the target.

You are not too far from the threshold (0.5 px), it’s only a matter of a few steps:

Hi everyone,

I’m working on calibrating a virtual stereo setup using two ZED X One cameras. I managed to complete the calibration process successfully after slightly adjusting the reprojection error threshold:

  1. const float max_repr_error = 0.5; // in pixelsi set it to be 0.6

i just change that variable to 0.6 and success with the calibration process.
With this change, the calibration succeeded and generated the file
here the output of the successful calibration process:


However, I’m running into issues when trying to visualize the calibration results using the reprojection viewer.

I attempted to launch it with:

And also with explicit path using:
./zed_reprojection_viewer --virtual --left_sn 306714912 --right_sn 305416482 --calib_path zed_calibration_116532241.yml.
but it was failed as well.

Unfortunately, both attempts failed (see attached screenshots for output).
my main goal is to be able to open the virtual stereo vision with my both Zed X One s and to be able to get distance from detected object.
Thanks in advance :folded_hands:
Niv.