graphdeco-inria / hierarchical-3d-gaussians

Official implementation of the SIGGRAPH 2024 paper "A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets"
Other
860 stars 78 forks source link

render example_data but has fog #55

Open Linkersem opened 4 weeks ago

Linkersem commented 4 weeks ago

Hi, @Snosixtyboo Thanks for your previous reply !I mainly have fog when using the SIBR_viewer, and it will move forward and backward with the rotation of my camera. At the beginning of this video, there is a thin layer of fog behind the white car, and at about 10 seconds, the fog recedes as the camera rotates,I'm very confused about this, what is the reason for this phenomenon? Is there any way to fix this. Thank you for your help and look forward to your reply!!

https://github.com/user-attachments/assets/7e69198e-5bb6-43e8-8168-4bd144fcd041

Snosixtyboo commented 3 weeks ago

Hi,

this can happen because of very large Gaussians that occur to explain away differences in lighting or exposure. That's a common phenomenon with all 3DGS models. We have the "Bit Limit" in the viewer: reducing that to a small number (in meters) should allow to filter out very large Gaussians like this one, maybe this will help for your use case!

Linkersem commented 3 weeks ago

Thanks for your reply! I see it!. I have another problem, I noticed that in the densification process, you chose the maximum value of the gradient, and the paper also stated that it was optimized for sparse cameras, but I was still confused, why can it optimize the final effect? What is the basis for such a theory?

    def add_densification_stats(self, viewspace_point_tensor, update_filter):
        self.xyz_gradient_accum[update_filter] = torch.max(torch.norm(viewspace_point_tensor.grad[update_filter,:2], dim=-1, keepdim=True), self.xyz_gradient_accum[update_filter])
        self.denom[update_filter] += 1

Thank you again for your patient reply and for your excellent work!!