|M.Sc Student||Kreimer Alexander|
|Subject||Algorithms for Visual Odometry|
|Department||Department of Computer Science||Supervisors||Professor Ehud Rivlin|
|Professor Ilan Shimshoni|
In this work we revisit the problem of visual odometry. Visual odometry is the process of estimating the motion of the camera by examining the changes that the motion induces on the images made by it. This work has two parts: the first part proposes a novel algorithm for the visual odometry. The approach we propose exploits a scene structure typical for that seen by a moving car and is suitable for use in either the stereo or the monocular setting. We recover the rotation and the translation separately, thus dealing with two separate, smaller problems. The rotation is estimated by means of the infinite homography. The rotation estimation algorithm operates on distant image points using the 3-D to partition them into the distant and the near-by ones. We start with an initial estimate and then refine it using an iterative procedure. After the rotation is compensated for, the translation is found by means of the 1-point algorithm in the stereo setting and epipole computation for pure translational motion in the monocular setting. We evaluate our algorithm on the KITTI dataset. The second part of this work explores a method to recover the scale of camera motion. The size of a translation vector for a single moving camera is not directly observable, although is desirable. Stereo, scene/camera prior assumptions were used in the past to recover the translation size. We argue that the required information is present in the images and explore a number of ways to learn it. We experiment with both ``legacy'' shallow learning methods and hand-crafted features as well as end-to-end learning methods based on the convolutional neural networks.