Identifying erroneous tag IDs and dropping them

29 views
Skip to first unread message

Sarthak Mittal

unread,
Sep 19, 2023, 8:34:33 AM9/19/23
to tagslam
Hi Bernd!

TagSLAM is an absolutely fantastic software, kudos!

In my application, I come across situations quite often where maybe one or two tags hat were previously mapped end up moving for whatever reason. When this situation happens, and if the movement of the tag is significantly big compared to the mapped pose for the tag, the subgraph cannot be optimized due to large errors and is eventually dropped.

I'm wondering how I could go about identifying a tag ID that leads to a large error due to real world movement from its previously mapped position. Do you have any strategies in mind?

Looking forward to hearing from you!

Bernd Pfrommer

unread,
Sep 19, 2023, 4:01:43 PM9/19/23
to tagslam
Sarthak,
At a very high level, if try_initialization() (Line 516 graph_updater.cpp) fails, then one could eliminate the factors from the graph that have outlier errors. Looking at the getErrorMap() function in graph.cpp may be helpful to figure out how to find the error caused by one tag. Then somehow eliminate that tag observation (projection factor) from the graph, and in a global hash map blacklist the id of the offending tag.
Sorry I cannot be more concrete, but I am starting to forget how the code works (it's convoluted enough for sure!) and I'm swamped with other projects at the moment so won't have the time to get back into the code.
Bernd

Sarthak Mittal

unread,
Sep 21, 2023, 6:48:59 AM9/21/23
to tagslam
Just needed a starting point so this is good enough for me. Thank you so much, Bernd!
All the best for your projects!
Reply all
Reply to author
Forward
0 new messages