Keyframe selection method in the trajectory estimation

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Keyframe selection method in the trajectory estimation

m.omar82
Dear Mathieu and friends

 Can you explain more how RTAB-Map selects the keyframe for the visual odometry?

In Parameters.h, Create a new keyframe when the number of inliers drops under this ratio of features in the last frame.

for example, the current keyframe is t-1, the current frame is t. RTABMAP estimate the pose between t-1 and t.
In the next frame t+1, RTABmap will check if t-1 and t achieve the condition of the KeyFrameThr. If yes RTAB-Map will estimate the pose between t-1 and t+1. If not RTAB-Map will choose the frame t as a keyframe and estimate the pose between t and t+1?


 Is this process the validation of KeyFrameThr is part of STM?


best regards
Mohammad Omar

Reply | Threaded
Open this post in threaded view
|

Re: Keyframe selection method in the trajectory estimation

matlabbe
Administrator
Hi,

Odometry and STM keyframe selections are independent.

Keyframes for odometry are selected as you said: when image at t is compared with current keyframe (t-1 for example), if a transformation is found and inliers are under the specified ratio (Odom/KeyFrameThr), t will replace t-1 as the current key frame. If image at t is not added as keyframe, t+1 will be compared to t-1 instead of t. In contrast to Odometry F2F (Frame-to-frame), for odometry F2M (Frame-to-map), an image is compared to 3D features coming from multiple keyframes (instead of just last keyframe). If the inliers with current image is under the ratio, it will be added to set of keyframes, extending the feature map.

For STM, keyframes are added at rate (Hz) specified by Rtabmap/DetectionRate.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: Keyframe selection method in the trajectory estimation

m.omar82
Thanks for your fast replay.

how can I cited this information in work ?

best regards
Mohammad Omar
Reply | Threaded
Open this post in threaded view
|

Re: Keyframe selection method in the trajectory estimation

matlabbe
Administrator
Good question. Too bad I'm currently writing a paper that includes how visual odometry (vo) is done in RTAB-Map, so for vo you cannot indeed refer to one of my already published papers. However, RTAB-Map's vo follows the general concepts that are defined in this vo paper "Visual odometry [tutorial]" (Scaramuzza, Davide and Fraundorfer, Friedrich 2011). For STM, you can cite this paper: Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM (parameter R in this paper refers to Rtabmap/DetectionRate).

cheers,
Mathieu