-
Notifications
You must be signed in to change notification settings - Fork 651
add xfeat+lighterglue and pairs from sequential #441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Hey, I have tried out the pairs_from_sequential, works very well. We use RGB data from mobile video captured at 10 FPS in a custom pipeline. Earlier we used pairs_from_poses (from some other PR on here earlier) and used 20 pairs. Now I use your pairs_from_sequential with:
The quadratic overlap with window size 6 gives us approximately the same range of nearby images as the 20 nearest poses, but using fewer pairs. If anything, the window_size feels somewhat limiting currently as the same parameter controls both the number of pairs in direct sequence and the length of the furthest pair (growing quadratically). I just added some debug log on the first image to figure out what pair offsets I actually end up with as that would usually need to be handled with some care. In my case picking the window_size 6 gives a good sweet spot where the furthest pair is a few seconds away at our 10 FPS data. Would be nice to expose this a little bit more. Maybe a second parameter used for the number of quadratic overlap pairs, where the pairs are taken at +2, +4, +8 and so forth, starting from the END of the normal window size. In any case, this is already very useful, so wanted to thank you for that! |
Thank you @pablovela5620 for the pull request! @robinlindh have you been able to test more with your suggestions? Do you have any more insights on how this helps accuracy? |
Didn't try further the thing I suggested for the quadratic pairs, we just kept using 5 for the window size which works good enough for our data that the main source of inaccuracy is not the pairs selection. I gave it a go with using the loop closure with retrieval too. That seemed to worked but I just tried it briefly and didn't see any direct improvement in the small test so haven't prioritized that more for now. We use superpoint + lightglue and the pairs from this PR, and initial poses from ARKit. Then triangulate and bundle adjust with points and some custom cost terms. That gives us pretty good accuracy for reasonable processing speeds so I don't think I will dig deeper into this PR. Definitely helpful to us, would recommend getting this merged too. |
The xfeat lighterglue part I have not tested so I can't comment on that other than the theory of it looks very promising |
Its been a little while since this PR got opened and I was hoping we could bring sequential matching!
#175
added exponential matching + loop closure using retrival based on this https://gitlab.ethz.ch/z-ricityslam/hloc_fork
I tested with South Building dataset since its sort of sequential (to make sure the loop closure worked).
Here is a video of the reconstruction + pairs generated. sequential matcher lead to a significant reduction in pairs created and lead to a good speedup in reconstruction!
sequential-reconstruction-2024-12-04_12.07.41.mp4
sequentail-matches-av1.mp4
I also included xfeat feature detector + lighterglue matcher from the great work over at https://github.com/verlab/accelerated_features
@sarlinpe let me know what I can do to help get this merged!