Skip to content

Save intermediate node input features - #1698

Merged
matlabbe merged 16 commits into
masterfrom
save_intermediate_node_features
May 14, 2026
Merged

matlabbe merged 16 commits into
masterfrom
save_intermediate_node_features

Conversation

@matlabbe

@matlabbe matlabbe commented May 9, 2026

Copy link
Copy Markdown
Member

support workflow described in #1697 (comment)

What we really want is to record VIO data while running online, retain the functionality of STM, convert redundant nodes into intermediate nodes, and disable online loop closure detection.

Note that if online loop closure detection is disabled, there is no point to create intermediate nodes.
Also, if the goal is to reprocess offline, I would also disable Rehearsal and save all frames. I would simply do a recording session with:

Kp\BadSignRatio = 0.0
Kp\MaxFeatures = -1.0          # deactivate keypoints extraction
Mem\RehearsalSimilarity = 1.0  # deactivate rehearsal
Mem\NotLinkedNodesKept = true
Mem\STMSize = 1
Mem\MapLabelsAdded =false      # don't create map labels
RGBD\AngularUpdate = 0
RGBD\LinearUpdate = 0
RGBD\ProximityBySpace = false
RGBD\MaxOdomCacheSize = 0
RGBD\MaxLocalRetrieved = 0     # deactivate local retrieval
Rtabmap\MaxRetrieved = 0       # deactivate global retrieval
Rtabmap\DetectionRate = 0.0
Rtabmap\MemoryThr = 2          # keep the WM empty
Bayes\PredictionLC = "1 0"     # Reduced number of nodes immune in WM to 1.

This gives the most flexibility on how we want to reprocess that data offline. In this PR, we also

  • save input features either if Kp\MaxFeatures=-1 or Rtabmap/CreateIntermediateNodes=true, so all VIO data should be saved in the database.
  • fixed issue that some intermediate nodes get disconnected from the graph if rehearsal happened at the same time

@matlabbe
matlabbe marked this pull request as ready for review May 9, 2026 19:29
@matlabbe matlabbe self-assigned this May 10, 2026
@matlabbe
matlabbe merged commit 8d0692e into master May 14, 2026
13 checks passed
@matlabbe
matlabbe deleted the save_intermediate_node_features branch May 14, 2026 16:20
matlabbe added a commit that referenced this pull request May 22, 2026
@torjusti torjusti mentioned this pull request Jun 4, 2026
matlabbe added a commit that referenced this pull request Jun 7, 2026
…1717)

* Fixing empty descriptors on bad signatures (#1714), (bug from #1698)

* PyDetector: dont assert (just error) if descriptors/keypoints don't match. SuperPoint approaches: try re-initializing superpoint detection on the provided image if descriptors could not be fetched the first time (auto recover).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants