PTAM (Parallel Tracking & Mapping) is a robust visual SLAM approach developed by Dr. George Klein at Oxford University. It tracks the 3D pose of the camera quite rapidly at frame rate which in turn becomes an ideal platform for implementing marker-less augmented reality. Through this post I’m going to reveal my own insights about PTAM with the help of my hands-on experience with it.
PTAM runs tracking & mapping in two separate threads. Inside the PTAM implementation we can find two files namely, Tracker.cc & MapMaker.cc (NOT the MapViewer.cc). Before start tracking, it demands an initial map of the environment and it was being built by the tracker. In System.cc there’s function called Run (). The tracking thread runs in this function. In order to build the initial map, user should supply a stereo image pair, particularly on a planar surface. PTAM calculates the initial pose with Homography Matrix, whereas the 3D coordinates of the initial map points were generated with Triangulation. Then the tracker grabs each frame in a tight loop and calculates the camera pose. The tracker performs the pose calculation in following manner. This was implemented inside the TrackFrame() function (Tracker.cc). Continue reading “PTAM Revealed”