Reduce number of nodes in slam graph offline

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

Reduce number of nodes in slam graph offline

dinossht
Is there a way to reduce number of nodes in rtabmap slam graph, based on say setting a certain distance between consequtive frames. Can we apply this kind of processing on a db file?
Reply | Threaded
Open this post in threaded view
|

Re: Reduce number of nodes in slam graph offline

matlabbe
Administrator
No, there is no way to do so in the current version. We have a function like this that can be used to get only one node in fixed radius (also based on angle if the sensors are not 360). However, we would need to implement how to update all links in the databases based on the result.

Also related discussion from this paper:
These problems of lifelong SLAM are also addressed
in some SPLAM approaches. Milford and Wyeth (2010)
present a solution to limit the size of the map (called
experience map) while revisiting the same area: close
nodes are merged together up to a maximum density
threshold. This approach has the advantage of mak-
ing the map size independent of the operating time,
but the diversity of the observations on each location is
somewhat lost. Konolige et al. (2011) use a view-based
graph SLAM approach (Konolige and Bowman, 2009)
in a SPLAM context. The approach preserves diversity
of the images referring to the same location so that the
map can handle dynamic changes over time, and forget-
ting images limits the size of the graph over time when
revisiting the same area. However, the graph still grows
when visiting new areas.
About if it is a good idea to just reduce the graph based on density, I had also some thoughts from this paper:
Multi-session seems a valid approach to improve visual re-localization robustness to illumination changes
in indoor environments. The dataset used in this paper is however limited to one day. Depending whether
it is sunny, cloudy or rainy, or because of variations of artificial lighting conditions in the environment or
if curtains are open or closed, more mapping sessions would have to be taken to keep high re-localization
performance over time. During weeks or months, changes in the environment (e.g., furniture changes,
items that are being moved, removed or added) could also influence performance. Continuously updating
the multi-session map to adapt over time to environment changes could be a solution (Labb´e and Michaud,
2017) which however, as the results suggest, would require more RAM even if graph reduction is enabled.
For very long-term continuous multi-session mapping, a solution using RTAB-Map could be to enable its
memory management approach (Labb´e and Michaud, 2013), which would limit the size of the map in
RAM. Another complementary approach to graph reduction could be to remove offline nodes on which
the robot did not re-localize for a while (like weeks or months). Each node in the map would have to
keep information about when was the last time a new frame has been re-localized on it. For example, if
a room in the house has been renovated or redecorated, the robot could eventually definitely “forget” the
old room images while keeping only the new ones. Similarly, the more formal probabilistic approach to
model feature persistence from (Rosen et al., 2016) could also be integrated to remove features from the
map that have “vanished” over time from the environment.