Re: Matching during reprocessing
Posted by
Pierre on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Matching-during-reprocessing-tp11148p11166.html
Hi Mathieu,
Thank you very much for your answer. I'm now using the appropriate parameters !
For the detectMoreLoops tool, I tried with the CLI and it does work like you said. I was using the one provided by the databaseViewer GUI and that ones reloads weights everytime there is a matching.
Example of a log sample:
[ INFO] (2025-05-12 14:39:31.299) DatabaseViewer.cpp:4268::detectMoreLoopClosures() iteration 1/10
[ INFO] (2025-05-12 14:39:31.316) PyMatcher.cpp:35::PyMatcher() path = [...]
[ INFO] (2025-05-12 14:39:31.316) PyMatcher.cpp:36::PyMatcher() model = indoor
SuperGlue python init()
Loaded SuperGlue model ("indoor" weights)
SuperGlue python match()
[ INFO] (2025-05-12 14:39:33.013) RegistrationVis.cpp:1802::computeTransformationImpl() Not enough inliers 14/25 (matches=44) between 7 and 1
[ INFO] (2025-05-12 14:39:33.015) PyMatcher.cpp:35::PyMatcher() path = [...]
[ INFO] (2025-05-12 14:39:33.015) PyMatcher.cpp:36::PyMatcher() model = indoor
SuperGlue python init()
Loaded SuperGlue model ("indoor" weights)
SuperGlue python match()
[ INFO] (2025-05-12 14:39:33.462) RegistrationVis.cpp:1802::computeTransformationImpl() Not enough inliers 20/25 (matches=74) between 6 and 1
[ INFO] (2025-05-12 14:39:33.474) PyMatcher.cpp:35::PyMatcher() path = [...]
[ INFO] (2025-05-12 14:39:33.474) PyMatcher.cpp:36::PyMatcher() model = indoor
SuperGlue python init()
Loaded SuperGlue model ("indoor" weights)
SuperGlue python match()
[ INFO] (2025-05-12 14:39:33.861) PyMatcher.cpp:35::PyMatcher() path = [...]
[ INFO] (2025-05-12 14:39:33.861) PyMatcher.cpp:36::PyMatcher() model = indoor
SuperGlue python init()
Loaded SuperGlue model ("indoor" weights)
SuperGlue python match()
I'll use the CLI version from now on.
Best,
Pierre
-------------------------------------------------------
EDIT: the CLI version uses way more ram than the GUI one, in the same way that rtabmap uses lots of ram while rtabmap-databaseViewer doesn't. Sadly I've got some databases that reach up to 200gb.
Is there a reason for the CLI to use that much more ram than the GUI version ? In which case, would it be possible, maybe, to make the GUI tool load the superglue weights once an for all like the CLI does, so that I can detect more loops on my huge databases ?
Thanks a lot
Pierre