Skip to content

Conversation

@Omega3395
Copy link
Contributor

When MatchAndAddToDatabase() is called with a frame that produces 0 HBST matchables (e.g., only 1-2 ORB keypoints detected, none passing the self-similarity check), matchAndAdd() returns early without updating descriptor_matches_. Subsequently, when GetTopKClosures() iterates through reference frames and calls ValidateClosure(), it throws std::out_of_range because that reference_id isn't present in the map.
Here I check if the reference id is actually present in descriptor_matches_. This seems to only happen in the latest version (the previous version extracted a lot more ORB keypoints).
I am using the algorithm with single scans of a Ouster OS1-128.

@saurabh1002 saurabh1002 added the bug Something isn't working label Nov 14, 2025
Copy link
Collaborator

@saurabh1002 saurabh1002 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, could you push this small change so that I can merge and close this PR soon. There is also a Style-check error in the CI, you can run the pre-commit file to fix it.
Thanks!!

@saurabh1002 saurabh1002 merged commit 700540c into PRBonn:main Nov 25, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants