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
Reduce memory footprint #449
Comments
Hi David, When reloading a database, the RAM would be used for the dictionary and the local occupancy grids. What is the size of the dictionary? How many features are extracted by frames? What I see is there are about 900 locations in the database, with default 1000 features per frame, it would generate at worst case 900 000 words in the dictionary. If SIFT or SURF 128 float is used, it would require ~460 MB to hold the full dictionary in RAM. For the local occupancy grid, I see in the log that the resolution is quite small, about 1 cm grid cell size (default is 5 cm). If the local occupancy grids are 3D, ray tracing is enabled and grid range is high, this could need a lot of RAM to hold them in RAM. If you cannot share the database, can you take a screenshot of the Info view in DatabaseViewer? To reduce dictionary size, we could use less words per frame (Vis/MaxFeatures). To reduce the local grid size, increase Grid/CellSize, set a maximum range Grid/RangeMax, use 2D occupancy grids if possible Grid/3D=false. I see that the update rate of RTAB-Map is also 5 sec, which is quite high. If you loaded the database in localization mode, it should be a lot less (<1 sec). cheers, |
Hi Mathieu, I'm sorry it took this long to confirm about this issue, we have been testing a lot and the memory footprint did reduce a lot compared with before, we can now get consistent rate for RTAB-Map between 0.5 and 1.5. Now we want to optimize even more to reduce the computation power as much as possible, Best regards, |
Hi Mathieu,
I would like to ask how to reduce the memory footprint when loading databases, we had a problem using Nvidia Xavier with 16 Gb of ram memory, the Database has 3.5 Gb in size and when we where launching the process the full Ram memory would fill up and then the process would crash.
We solved this by adding a swap partition and even then I could see the size grow up to 4.0 Gb on the swap memory after filling up the whole Ram.
I attach a video of the process and will share the database with you if necessary.
memory footprint
So to summarize this issue:
As always thank you very much for your help.
Regards,
David
The text was updated successfully, but these errors were encountered: