1
$\begingroup$

So, my understanding of stereovision is that you essentially have two cameras. Then, offline, you perform camera calibration with checkerboards to get intrinsic camera properties as well as the geometric transformation between cameras. Then, you can take a stereo pair of images, find the disparity map, and using some geometric constraints, can find the 3D positions of points in the scene.

I've read recently about "bundle adjustment" and that it should be performed at the very end? What's the purpose?

$\endgroup$
1
$\begingroup$

If all you want is to reconstruct a scene from a pair of images from a pair of calibrated stereo cameras, and your calibration is sufficiently accurate, then you do not need bundle adjustment.

You do need bundle adjustment if you want to reconstruct a scene from a sequence of images or for a sequence of stereo pairs, where the camera poses in each view are unknown. Search for "structure from motion" and "visual odometry".

$\endgroup$
0
$\begingroup$

Bundle adjustment is generally required for a multiview setting, where the number of cameras is large. In such regime, it is hard to exactly calibrate all the cameras extrinsically. Therefore, we instead look for an automatic procedure that could simultaneously refine the parameters of all the cameras towards the optimal. In the beginning stage, because of the initial errors in the extrinsics, we also cannot get very accurate 3D points. Therefore, another task of bundle adjustment is to refine the 3D structure along with the camera parameters. This property makes it the ideal choice for accurate 3D reconstruction from multiple images.

In some scenarios, the intrinsic parameters (if not initially guessed very well) are also refined. Though, for common structure from motion pipelines the intrinsic parameters are typically fixed.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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