Git Product home page Git Product logo

Comments (17)

WASCHMASCHINE avatar WASCHMASCHINE commented on July 30, 2024 5

I am curious what the best depth accuracy you can achieve using ZED camera at 1m - 2m distance range. 1cm?

This depends on the calibration (fx and B) and the quality of the stereo matching. Assuming B=0.12, fx=1400 px (2K mode) and a Gaussian disparity error with e_d = 0.5 px (1 x sigma). Plugging it in
e_z = B*f/d - (B*f)/(d + e_d) we can get (using d = B*f/z)

e_z = 3mm @ z = 1m
e_z = 12mm @ z = 2m

With worse stereo matching, e_d = 1.0 px
e_z = 6mm @ z = 1m
e_z = 23.5mm @ z = 2m

Keep in mind that e_z is one approximate standard deviation of a Gaussian and that it is only adequate for near points. So @1m with good stereo matching and perfect calibration, most measurements will be below 1 cm. But keep in mind that the stereo matching may be biased in some way.

from zed-sdk.

wbapablo avatar wbapablo commented on July 30, 2024 4

Hey! I got a simillar behaviour. What I did to solve this is to calibrate the camera using external ROS calibrator... but each lens separately and then using both calibrations within the opencv stereocalibration. It works much better than the calibration tool.

from zed-sdk.

adujardin avatar adujardin commented on July 30, 2024 1

@WASCHMASCHINE you might find this useful :
https://github.com/stereolabs/zed-opencv-native/blob/f7e17b6368ecbc432c0ca0d64be4586e88db8799/src/calibration.cpp#L74-L175

This function takes the ZED calibration parameters and converts them to OpenCV format (the reverse of what you want).

from zed-sdk.

edwin323 avatar edwin323 commented on July 30, 2024

Your charts show a quadratic decrease in Z-accuracy and a bias increase with the range, which is consistent with the stereo uncertainty model.
The systematic bias you mention is due to subpixel interpolation which is affected by pixel-locking and foreshortening phenomena. These phenomena are discussed in many papers. We are working on bias reduction techniques but it is still a work in progress.

Regarding calibration, your camera may have suffered a mechanical shock or there was an issue during its calibration process. Either way, please send to our Support team your order and serial numbers so we have a look into the issue.

For the recalibration, your charts seem to indicate that you are close to the stereo accuracy model. You can still try Kalibr which is currently the state of the art tool for calibration and could improve your triangulation results.

from zed-sdk.

WASCHMASCHINE avatar WASCHMASCHINE commented on July 30, 2024

@wbapablo That sounds great! Do you have a link to the external ROS calibrator? I assumed that the SDK just used the stereo calibration of OpenCV, though.

Do you have some data to show the improvement, too?

from zed-sdk.

LuisOrtizF avatar LuisOrtizF commented on July 30, 2024

This paper shows an approximation of the RMS error of the ZED camera as a function of distance.
https://ddd.uab.cat/pub/elcvia/elcvia_a2018v17n1/elcvia_a2018v17n1p1.pdf

from zed-sdk.

RSKothari avatar RSKothari commented on July 30, 2024

@LuisOrtizF The link doesn't work for me, could you share the title and author name please?

from zed-sdk.

LuisOrtizF avatar LuisOrtizF commented on July 30, 2024

@RSKothari Sorry, test this link: https://elcvia.cvc.uab.es/article/view/v17-n1-ortiz/1084-pdf-en

from zed-sdk.

howard-wu-cam avatar howard-wu-cam commented on July 30, 2024

I am curious what the best depth accuracy you can achieve using ZED camera at 1m - 2m distance range. 1cm?

from zed-sdk.

howard-wu-cam avatar howard-wu-cam commented on July 30, 2024

I am curious what the best depth accuracy you can achieve using ZED camera at 1m - 2m distance range. 1cm?

This depends on the calibration (fx and B) and the quality of the stereo matching. Assuming B=0.12, fx=1400 px (2K mode) and a Gaussian disparity error withe_d = 0.5 px (1 x sigma). Plugging it in
e_z = B*f/d - (B*f)/(d + e_d) we can get (using d = B*f/z)

e_z = 3mm @ z = 1m
e_z = 12mm @ z = 2m

With worse stereo matching, e_d = 1.0 px
e_z = 6mm @ z = 1m
e_z = 23.5mm @ z = 2m

Keep in mind that e_z is one approximate standard deviation of a Gaussian and that it is only adequate for near points. So @1m with good stereo matching and perfect calibration, most measurements will be below 1 cm. But keep in mind that the stereo matching may be biased in some way.

This is very helpful. Thanks a lot!

from zed-sdk.

rpfly3 avatar rpfly3 commented on July 30, 2024

@wbapablo That sounds great! Do you have a link to the external ROS calibrator? I assumed that the SDK just used the stereo calibration of OpenCV, though.

Do you have some data to show the improvement, too?

@WASCHMASCHINE Did ROS calibrator work for you? Did you eliminate the estimation error with manual calibration ?

from zed-sdk.

WASCHMASCHINE avatar WASCHMASCHINE commented on July 30, 2024

@rpfly3 I did not try it out yet, so feel free to share the results! But I have prepared OpenCVs stereo calibration code to work with the ZED in the no GPU mode, still I haven't figured out the mapping of the parameters to Stereolabs calibration parameters. I did not spend a lot of time on it, though.

from zed-sdk.

WASCHMASCHINE avatar WASCHMASCHINE commented on July 30, 2024

@adujardin Thank you! Can't you push the reverse too? 😅

from zed-sdk.

rpfly3 avatar rpfly3 commented on July 30, 2024

@WASCHMASCHINE @adujardin Thank you.

from zed-sdk.

v-raja avatar v-raja commented on July 30, 2024

@WASCHMASCHINE did you figure out a better way to calibrate the camera?

Keep in mind that e_z is one approximate standard deviation of a Gaussian and that it is only adequate for near points. So @1m with good stereo matching and perfect calibration, most measurements will be below 1 cm. But keep in mind that the stereo matching may be biased in some way.

You mention good stereo matching - is this something we can control, or is this already implemented when we get the depth image from /depth/depth_registered?

from zed-sdk.

WASCHMASCHINE avatar WASCHMASCHINE commented on July 30, 2024

@WASCHMASCHINE did you figure out a better way to calibrate the camera?

No, I haven't spend time with the ZED.

You mention good stereo matching - is this something we can control, or is this already implemented when we get the depth image from /depth/depth_registered?

This is dependent on the stereo matching algorithm, which is closed source. So you are limited by their implementation for the creation of the disparity map. This is too bad because there are newer algorithms that could outperform the current ZED SDK in not all, but certain scenery.

from zed-sdk.

AND2797 avatar AND2797 commented on July 30, 2024

If we use a structured light projector in addition to the ZED system, by how much can we reduce the disparity error?

from zed-sdk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.