EKF-based Sequential Bayesian Structure From Motion
Authors: J.M.M Montiel.
Structure from motion methods based in projective geometry + robust statistics were initially devised to deal with discrete image shots. Despite this these techniques have been successfully extended to deal with sequences. In contrast, methods based on Extended Kalman Filter (EKF) have provided a rationale to implement a Bayesian sequential processing to deal with every single frame in the image sequence, summarizing in a Gaussian distribution all the information gathered from the sequence. The EKF based Bayesian sequence processing, has allowed to code in a sequence based manner classical problems in SFM such as probabilistic model selection or self calibration.
We present a sequential filtering algorithm for simultaneous estimation of 3D scene structure, camera trajectory and full camera calibration from a sequence of fixed but unknown calibration. This calibration comprises the standard projective parameters of focal length and principal point along with two radial distortion coefficients. To deal with the large non-linearities introduced by the unknown calibration parameters, we use a Sum of Gaussians (SOG) filter rather than the simpler (EKF). The approach is validated with experimental results using natural images, including a demonstration of loop closing for a sequence with unknown camera calibration.
We also present a sequential Bayesian approach to Visual Odometry that uses a camera-centered EKF and considers several hundreds of point features per frame. This high number of image features makes unfeasible the use of typical Bayesian spurious rejection techniques, like Joint Compatibility Branch and Bound. To overcome this problem, a RANSAC spurious rejection technique is used. Experimental results over the RAWSEEDS benchmark dealing with sequences of thousands of images covering trajectories of hundreds of meters show that a correctly formulated EKF Bayesian algorithm can rival with classical pairwise approaches both in accuracy and length of the camera path –we report errors of around 2% of the trajectory for trajectories up to 500 metres.