Research Project P:
A Machine Learning Approach to Visual Odometry

Research Project Goal

Robots benefit from highly-accurate positioning. One crucial component of positioning is an inertial measurement unit (IMU). IMUs provide essential local updates when global updates (such as GPS or pre-learned maps) are unavailable -- such as in cities, indoors, and on other planets. Unfortunately, IMUs are very expensive, making them inappropriate for mass-market robot products. In this project, we will investigate how an inexpensive video camera, paired with capable computer vision software, can take the place of an IMU. Such a system could be hugely important in the field of robotics.

In general, this project is addressing the "visual odometry" problem -- an important open problem in computer vision. Fortunately, we have a new tool that may help us succeed. From Stanford's work on the DARPA Urban Challenge, we can acquire hours of video where each frame is associated with highly accurate estimates of position (from another source). We can use these video sequences and machine learning to train an algorithm to perform visual odometry. This approach shows promise to make great strides.

Research Project Scope

Due to time constraints, we will focus on planar homography. Planar homography is the special case of visual odometry where the camera is pointed at a 2D plane. In robotics, this is achieved by pointing the camera at the ground. This greatly simplifies the odometry aspects of the problem, allowing us to focus on the machine learning approach. A successful result would still be extremely useful for robotics.


  • With help from Stanford Racing, mount downward-facing camera on car and collect data.
  • Implement a planar homography algorithm. (Students may select their preferred algorithm. We will provide several sources. It can even be a textbook algorithm.)
  • Evaluate homography performance against GPS/INS positioning, finding cases where algorithm fails.
  • Introduce error models to handle failure cases. Tune with machine learning to match GPS/INS performance.
  • Evaluate baseline algorithm against algorithm with machine learning.

Research Project Status

student names here

Point of Contact

David Stavens,

Midterm Report

not yet submited

Final Report

not yet submitted

Course overview
Time and location
Course materials
Research Project