Skip to content

Latest commit

 

History

History
15 lines (8 loc) · 1.26 KB

README.md

File metadata and controls

15 lines (8 loc) · 1.26 KB

Trajectory

Monocular Visual Odometry

DatasetReaderKITTI is responsible for loading frames from KITTI Visual Odometry Dataset (optionally scaling them to reduce processing time) and ground truth (camera matrix, camera position and scale).

In a processing loop I convert images to greyscale, run keypoint detection using GFTT and then track these keypoints with FeatureTracker that uses OpenCV optical flow. After finding feature tracks, I remove outliers (outside of image). In the next step I estimate the essential matrix E to find relative pose R, t between consecutive frames. Calculating E matrix also allows to remove few outliers (found by RANSAC). Having that rotation and translation, I calculate absolute position and orientation of the camera and I use them to draw a trajectory.

To get better results, I rely on absolute scale provided as KITTI groundtruth when computing abs. pose.

There are plenty things to add: generating point cloud, measuring the accuracy of trajectory and so on.

Tracking 1

Tracking 2