spla-tam / SplaTAM

SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM (CVPR 2024)
https://spla-tam.github.io/
BSD 3-Clause "New" or "Revised" License
1.58k stars 174 forks source link

Fix a 'bug' in prune_gaussians func #76

Closed jeezrick closed 5 months ago

jeezrick commented 9 months ago

Change to prune Gaussians when there actually is any point need to remove.

The old version will do remove_points even when to_remove is all false, which will discard all gradients by calling remove_points function, which leads to a waste of optimizing iteration.

This happens (almost) every 1st iter in mapping. You can check it by running 'replica/splatam_s.py'. The number of gaussians didn't change after prune, but the gradient is gone.

jeezrick commented 9 months ago

And the result is actually better because of the 1 more iter of mapping. image

Nik-V9 commented 8 months ago

I'm not sure I get this. Could you share more details?

Also I don't see any big discrepancy in numbers?