Skip to content
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

Many floaters are being created, despite that sparse dataset does not have those points. #3151

Closed
abrahamezzeddine opened this issue May 20, 2024 · 1 comment

Comments

@abrahamezzeddine
Copy link

abrahamezzeddine commented May 20, 2024

Describe the bug
I am comparing the dataset of the gaussian splat as well as the COLMAP dataset and I see some differences. I am trying to clean the COLMAP sparse dataset from outliers (such as floating pointers). However, when I perform the gaussian splatting process, I see that there exists so many more floaters for points that did not even exist in COLMAP?

I understood that we use the sparse dataset points to create the gaussian splat, based on the sparse dataset bin files. But I am not sure why nerfstudio is creating points that cannot be found in the sparse dataset model?

Am I missing something? I do understand that gaussian splatting is an iterative process where splats are split to look like the images, but the splitting seems to go way off?

image

Image above shows the amount of floaters in the air. I have tried to make a cutout to see it easier with supersplat of the floaters. I have removed walls, floors and ceilings in this case so only ”air” and a bit of the car object is visible.

Below shows the same area from the COLMAP dataset, which shows theese floaters do not even exist. A little difficult to see from the image, but the "air" is quite clear of these points and do not exist at all. What you see is the floor and ceiling.

image

image

I am therefore quite confused why so many floaters are being created.

@maturk
Copy link
Collaborator

maturk commented May 20, 2024

This is the optimization process at work. Refer to Sec. 5.2 from the original 3DGS paper. During training, additional points/gaussians are spawned by a series of heuristic optimization steps: splitting, culling, duplicating. (its not a bug)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants