Ask Your Question
1

Stereo Camera Calibration with Convergent Cameras

asked 2012-06-12 04:53:45 -0500

dpickem gravatar image

updated 2012-06-12 04:54:03 -0500

Hi everybody

We have a stereo camera setup here where each camera is angled in towards other by 10 degrees (i.e. toe-in, convergent cameras)

 cam 1 /--- baseline ---\ cam 2  (with cameras looking up, towards the top)

I have tried to calibrate the stereo cameras with the camera_calibration package with the following command:

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0720 right:=/stereo/right/image_raw left:=/stereo/left/image_raw right_camera:=/stereo/right left_camera:=/stereo/left

My problem now is that the distance estimates are only accurate at about 5m, the further we move the object away, the closer the camera claims it is and vice versa.

  • Does the camera calibration node take a toe-in angle into account when computing the projection and rectification matrix or does it have to be specified manually?
  • Also, does the camera calibration parser assume that the baseline is specified in the camera_info messages?

Your help would be greatly appreciated. Thanks, Daniel

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2012-11-08 08:16:00 -0500

This is probably solved, but as far as I am aware the calibration process actually estimates the base line and the toe-in angle indirectly as part of the extrinsic parameters. In the OpenCV calibration docs, you will find this quote:

The functions below use the above model to

  • Project 3D points to the image plane given intrinsic and extrinsic parameters

  • Compute extrinsic parameters given intrinsic parameters, a few 3D points and their projections.

  • Estimate intrinsic and extrinsic camera parameters from several views of a known calibration pattern (i.e. every view is described by several 3D-2D point correspodences).

  • Estimate the relative position and orientation of the stereo camera “heads” and compute the rectification transformation that makes the camera optical axes parallel.

So you would not have to explicitly specify the baseline in the CameraInfo messages, as they are already part of the projection matrix (usually P[3] in the right CameraInfo message)

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2012-06-12 04:53:45 -0500

Seen: 1,361 times

Last updated: Nov 08 '12