What are intermediate nodes

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

What are intermediate nodes

tango_explorer
Hi,

Does anyone know what intermediate nodes in the RTABMAP code are? I'm guessing they are  not keyframes. Does anyone know how the keyframes are selected (which file I can find this in) and how the intermediate nodes are selected?

Also if Mathieu gets to read this, just wanted to say a BIG thank you for all the effort you put into writing RTABMAP and supporting this forum. I cannot begin to imagine how you have the resources to maintain this endeavor, but thanks.

Thanks!
Reply | Threaded
Open this post in threaded view
|

Re: What are intermediate nodes

matlabbe
Administrator
Hi,

Thanks for the support!

Intermediate nodes were introduced for benchmarking (some datasets require to have a pose saved for each image processed to be compared to their ground truth). They are nodes in the graph without sensor data saved (only pose) between the key frames. rtabmap adds keyframes at each second (default Rtabmap/DetectionRate=1), when "Rtabmap/CreateIntermediateNodes" is enabled, odometry poses received between those key frames are still saved in the map's graph:
K --------------------------- K --------------------------- K  (3 nodes graph, Rtabmap/CreateIntermediateNodes=false)
K --- I --- I --- I --- I --- K --- I --- I --- I --- I --- K  (11 nodes graph, Rtabmap/CreateIntermediateNodes=true)
In this example, K=Key Frame, I=Intermediate node in the graph and odometry is received at 5Hz. Note that graph optimization would take longer time with intermediates nodes as the graph is bigger.

Beware that rtabmap doesn't use the same key frames as the visual odometry, they are independent. Odometry key frames are determined by two thresholds "Odom/VisKeyFrameThr" (new frame is created when number of inliers with previous frame drops under this threshold) and "Odom/KeyFrameThr" (new frame is created when ratio of inliers with previous frame over total features extracted drops under this threshold).

cheers,
Mathieu