autonomousvision / mip-splatting

[CVPR'24 Best Student Paper] Mip-Splatting: Alias-free 3D Gaussian Splatting
https://niujinshuchong.github.io/mip-splatting/
Other
1.01k stars 65 forks source link

Thanks for your great work. Does the s in equation (9) refer to 0.2 in the code? #27

Closed qhdqhd closed 5 months ago

qhdqhd commented 5 months ago

Does the s in equation (9) refer to 0.2 in the code? PVE1EH_OPFVCC`51@32G7ZK E4D67C9 5VDBKWKDSLJXBON

niujinshuchong commented 5 months ago

Hi, Yes.

qhdqhd commented 5 months ago

Thanks for your fast response. I just can not understand why is opacity * coef? I thought it should be scale * coef to make the scale of the 3d gaussian ball larger.

Here is your raw code:


def get_opacity_with_3D_filter(self):
        opacity = self.opacity_activation(self._opacity)
        # apply 3D filter
        scales = self.get_scaling

        scales_square = torch.square(scales)
        det1 = scales_square.prod(dim=1)

        scales_after_square = scales_square + torch.square(self.filter_3D) 
        det2 = scales_after_square.prod(dim=1) 
        coef = torch.sqrt(det1 / det2)
        return opacity * coef[..., None]
niujinshuchong commented 5 months ago

Hi, scale is modified in get_scale_with_3D_filter. Here the coef is the sqrt part in your screenshot.

qhdqhd commented 5 months ago

Thanks. I get it.