IMU-Aided Feature Tracking

At UIUC I worked in the Bretl Research Group on the Construction Site Monitoring Project (which aims to use robotics technology to automate this task). Specifically, I worked on a project trying to use Inertial Measurement Unit (IMU) data to improve a feature tracking algorithm. The project can be found here.

The starting point of this project was based off of this paper [1]. They provided open source code in which they were using IMU data to improve the Kanade-Lucas-Tomasi (KLT) feature tracker.

From this I implemented a few different methods to incorporate IMU data trying to improve the accuracy as well as computation time. Below you can see an example plot of 3 different methods I used comparing how many feature points they tracked over time. The angular velocity is also aligned for context. Note how much the "noIMU" method degrades in performance when there are large changes in angular velocity. However, these "violent motions" are easily handled by an algorithm that can sense them using an IMU.

You can check out the project page if you'd like to see more.

 

[1] Myung Hwangbo, Jun-Sik Kim, and Takeo Kanade, "Inertial-aided KLT Feature Tracking for a Moving Camera", IEEE/RSJ Int'l Conf. on Intelligent Robots and Systems (IROS'09), Oct 2009, pp. 1909-1916.