2
$\begingroup$

In stereo vision, the camera is calibrated using the popular chessboard before use. During the course of use, the camera maybe be subject to environmental factors such as vibrations.This may cause calibration parameters to drift. I hope to correct calibration parameters online without using the chessboard.

Currently I assume:

  1. focal length and principal points of two camera are constant,

  2. the distance between them is constant

  3. only orientations of two camera changes.

The initial calibration parameters are available. Left/right images are undistorted using each individual camera calibration parameters. Corresponding points can be established by detecting feature points and matching them from undistorted left/right images Fundamental matrix can be calculated. I will call it calculated fundamental matrix.

Fundamental matrix can be derived from calibration parameters of stereo system, and I will call it derived fundamental matrix. The two fundamental matrix should be same if calibration parameters of stereo system doesn't change. Otherwise I can get rotation matrix between the equation relating fundamental matrix to ration matrix and translation between two cameras and each camera intrinsic matrix.

I am new to multiple view geometry. Is this a viable method? Is there any other method for that? Any link to websites and papers are appreciated.

$\endgroup$

1 Answer 1

1
$\begingroup$

You could use g2o library for this. With it you can make a graph whose nodes are estimates of some states (point positions in 3d, point positions on images, extrinsic calibration parameters) and edges are cost functions. The library then alters the estimates to minimize the overall cost. You can assign confidence to estimates so that it changes less the estimates that you are very sure about.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.