I have been testing ZED X One stereo pairs along side the ZED 2i, and I am struggling to get good accurate & stable depth data from the X One’s.
I have these two cameras both mounted together onto a larger PTZ camera, which allows me to move the X One pair in a nice controlled way during calibration. In this configuration, the X One pair has a baseline of 218mm, almost twice as much as the 120mm baseline of the ZED 2i, so I am expecting the X One pair to give better quality depth info then the ZED 2i.
Testing:
My main form of testing has been to capture videos from both camera options of this outdoor test range, where I have placed A3 checkerboard targets at 10m, 15m, 20m & 25m. These checkerboards are on flat wooden boards, and I have used a laser range-finder to record the exact distances to each target from the ZED cameras.
I have written some python scripts which probe the estimated depth from the .svo files these known targets, and the script outputs statistical results of depth accuracy & stability to these known targets, These scripts all show the X One pair to have far less accurate estimated depth to the targets, and far more noise/instability in the depth. Also, when inspecting these .svo files manually in depth viewer it seems clear that depth data the 2i videos is much higher quality and more stable. I have tried this with both PERFORMANCE and with NEURAL+ modes.
Calibration
I have re-calibrated the ZED X One pair multiple times, and I take care to follow the advice that I’ve found online for good lighting, keeping the targets stationary, etc. I have been using an A3 size 18x12 target on a rigid timber board that I trust is flat. In my last few calibration attempts I kept the target stationary, and used the PTZ camera to carefully move the checkerboard around the fov for good even coverage. I did this until I got full coverage at 1m and at 3m to the checkerboard. I also recently modified the zedx-one-capture calibration code slightly so that is would need a minimum of 30 images before it moved on to the second part of the calibration.
Resolutions & Lenses
- The X One cameras used here are the GS version with narrow lens, recording at it’s full 1920x1200.
- The 2i has the narrow 4mm lens, and is recording at it’s full 2k.
- So the 2i has a strong advantage with it’s much higher pixel density at the targets, and maybe this is the main factor explaining the better 2i performance here despite it’s smaller baseline.
A Note on Orientation
Both ZED cameras are mounted upside-down here. When setting up my ZED X One stereo pair, I first attached them to this aluminium bracket on the bench while they were facing the right way up, and I made sure that left and right cameras were showing on the correct sides in the media streamer. After confirming this, I then went ahead and flipped the whole aluminium bracket with both the X One cameras still attached as I mounted the bracket onto the PTZ camera.
My Questions
- Should I expect the X One stereo with its 218mm baseline to give better quality depth data than the ZED 2i with its much smaller 120mm baseline? Noting the comments above about the 2i having better pixel density at the targets here.
- Is there any other way that I can improve my X One Stereo calibration? I have tried the Stereolabs provided calibration procedure many times, but I am now wondering if there are some more advanced ways that I can fine-tune the calibration using some other methods?
- What if I replaced the lenses on my X Ones with a much more narrow fov? I also have a set of X One 4K cameras here, and I am considering replacing those lenses with a narrow ~40deg fov lens. This should then give me much better pixel density when using these 4K cameras as the X One stereo pair. Is there any reason why this should not work for getting better depth data as long distances?
- What results should I expect from increasing the X One baseline by 2x to around 400mm? Will the depth data be far more accurate & stable, or does the larger baseline advantage begin decreasing at some point?