muskie82 / MonoGS

[CVPR'24 Highlight & Best Demo Award] Gaussian Splatting SLAM
https://rmurai.co.uk/projects/GaussianSplattingSLAM/
Other
1.37k stars 126 forks source link

What is the function of single_thread? #81

Open z157181773 opened 6 months ago

z157181773 commented 6 months ago

For the dataset replica, each scenario has two configs. I know * _sp. yaml is set to single_thread=True, but why does setting it to single_thread result in so much better results? Why is this

muskie82 commented 6 months ago

Hi,

In single-thread mode, the tracking process pauses until the mapping completes a certain number of optimization iterations. This slows down the system, but improves accuracy by tracking against a more optimized Gaussian map. This mode is effective in synthetic datasets like Replica,where the input images and depth maps are noise-free, and more iterations with high-resolution images simply lead to better results if don't care about the runtime.

I personally believe this isn't a realistic scenario, as the best strategy here would be running optimization with as many pixels/iterations as possible. Thus, our paper mainly focuses on multi-process results and uses single-thread results just as a reference for benchmarking under similar conditions for comparisons.

Best,