Computer Science 5722 - Computer Vision
Assignment 3: Visual Odometry:
Motion from correspondences

Due : in class March 18 20 April 1

Visual Odometry We can estimate the trajectory of a moving camera based on the image motion arising from it. In this assignment you will extend your implementation of a simplified version of the work of Konolige et al. , to estimate the trajectory of a robot in an outdoor environment. Although there are numerous approaches to VO, this assignment will use monocular interest point feature tracking, estimation of pose using RANSAC on the 8 point algorithm, and incremental bundle adjustment.

CenSurE Features. In the previous assignment you implemented Konolige's CenSurE features. In this next step we use the features and their frame to frame correspondences to estimate the world motion of the camera.

Consensus correspondence. You will use RANSAC with the 8 point algorithm for estimating the Essential matrix E which describes the epipolar geometry and therefore the motion of the robot for a pair of frames (viewpoints) in the sequence.

The 8 point algorithm works as follows:

RANSAC : basically selects models by randomly sampling a small number of points and estimating parameters. The model which best fits (most inliers) the observed data is chosen. In our case:

Download the zip file available here.

Create a MATLAB program (a .m file containing MATLAB commands) which does the following:

  1. For each sequential pair of frames i and i+1 in the image sequence compute a list of correspondences.
  2. Use the RANSAC approach to find Essential matrix E which best fits the observed correspondences.
  3. Record the associated motion for each pair of frames.
  4. Concatenate the motions to plot the motion of the robot.

Submit your completed program, .mat file and a brief explanation of the threshold and design choices you made to Wei Xu according to his instructions , by 11am (class time) on the due date.