# Get accurate depth from two monocular cameras (working as stereo) by long distances ?

Hello

I have two Cahmeleon3 mono cameras and made it work as stereo (as Master Slave) synchronized. I need to use them for long distances object detection and collision avoidance /obstacle detection. The range of the distances is up to 45m. I calibrate them and get intrinsic and extrinsic camera parameters as well. So as the camera focal length is fix by 6mm when apply the formula Distance = focal_length * baseline/disparity I will get big errors by long distances. So please can someone point out some method for long distance calibration or long distance remote sensing so can have accurate depth (within couple of cm error) estimation by long range distances thanks

edit retag close merge delete

Youb will need a very large chessboard or you can use fixed point with gps coordinate(differential gps) or galileo with commercial service

You can try to adjust manualy orientation

( 2018-09-12 01:30:47 -0500 )edit

Im more interesting in the approach for remote sensing using fixed point with gps coordinate. Any help where can find some more information how to implement it? What do you mean by try to adjust manually orientation?

( 2018-09-12 02:09:03 -0500 )edit

You can read this (long base) http://www.ipb.uni-bonn.de/wp-content... or Stereographic methods for cloud base height determination using two sky imagers

( 2018-09-12 02:14:08 -0500 )edit

i see this article use fish eye cameras. can be used with normal one? Is that need only stereo camera or also other sensor? I would like to use only stereo if possible and maximum stereo and laser range finder or stereo and but not LIDAR( laser scan)

( 2018-09-12 02:27:03 -0500 )edit

also my camera has fixed focal length of 6mm.

( 2018-09-12 02:31:59 -0500 )edit

Sort by » oldest newest most voted

Your formula is mostly correct. You can see that the variable part is the disparity, and the errors are caused by this parameter. Let's write this way:

Disparity = focal length*baseline/distance + error


The error is mostly constant, so to get a better precision, the focal length*baseline/distance part should be much bigger than the error. So you have 3 possibilities:

• decrease the distance
• increase the focal length
• increase the baseline

As the first two are fixed, you should increase the baseline. I think a few meters should be OK for this distance range. Just make sure that the cameras are properly aligned.

[EDIT] I did some maths based on the comments below. With your setup the required precision is physically impossible.

To get a ~10cm error tolerance at 45m with a 65cm baseline, you need an angular resolution of 0.001°!!! (considering that the displacement is perfectly calculated). With a 5MP (1/2" sensor) camera with 6mm lens, you have an angular resolution of 0.02°. So even in a perfect case you are over an order of magnitude below the requirements. The theoretical lowest error of your setup is +/-2.5m, but in reality it will be probably somewhere at +/-5m or even higher.

A more realistic solution should be a high quality lidar.

more

I cant have the baseline couple of meters as the application doesn't allowed. Maybe maximum 60-70cm.

( 2018-09-12 02:05:34 -0500 )edit
1

Then you should use a different technology, like a Lidar. It's much more accurate.

However you'll need a strong Lidar for this distance range.

An error of couple of cm is not obtainable with stereo cameras at a range of 45m. Or you'll need long focal length, high resolution, high baseline and perfect camera alignment.

( 2018-09-12 03:58:19 -0500 )edit

I know about LIdar. But Im not looking for Lidar solution. Only stereo camera

( 2018-09-12 04:26:32 -0500 )edit

Sorry, but that's physically impossible. I completed my answer above with some computations.

( 2018-09-12 05:08:28 -0500 )edit