Closed ironjr closed 9 months ago
Hi, Thanks for trying out our code and for this amazing enhancement!
.ply
format on the README. Happy to incorporate it ourselves if you think that's better.Thank you for your thoughtful consideration. I have opened a pull request. https://github.com/spla-tam/SplaTAM/pull/29
By drag and dropping .ply
file generated in the same directory as params.npz
into any GS viewers, for example, https://playcanvas.com/super-splat you will visualize / edit the Gaussians generated by your algorithm.
Hi, Thanks for trying out our code and for this amazing enhancement!
- Please open a pull request and feel free to add an example use of the
.ply
format on the README. Happy to incorporate it ourselves if you think that's better.- Yes, we currently use isotropic scaling. It should be easy for us to support anisotropic Gaussians in Pytorch (we need to add a few configs across the code, adding back our old code). I'll add this to our V2 list. We don't see any performance discrepancies for isotropic vs anisotropic. The nice thing about isotropic is that it has fewer parameters, so if we implement the CUDA operations accordingly, it should be faster and have lower memory. Hopefully, we plan to have custom CUDA implementations soon.
Hey, thank you for your work. I am reading the code these days. I want to know how do you imply isotropic in code. Is that because you use torch.tile() to copy scale? So that all three directions' scales will have the same grad?
Hi, Yes. Since the Gaussians are isotropic (spherical), we only model one parameter for scale across x, y & z instead of using 3 parameters.
As you mentioned, currently, we pass the Gaussians using a tile operation to be compatible with the anisotropic CUDA rendering from the official 3DGS code, as shown here: https://github.com/spla-tam/SplaTAM/blob/bbaf5cc5754bf1034b33902007872c694e412a31/utils/slam_helpers.py#L112
Furthermore, the isotropic Gaussians are defined here: https://github.com/spla-tam/SplaTAM/blob/bbaf5cc5754bf1034b33902007872c694e412a31/scripts/splatam.py#L141 The dimension of the log_scales is [num_gaussians, 1].
@Nik-V9 I got it. Thanks!
Thanks for sharing the great project! I have run the code for iPhone demo and it worked smooth and nice.
However, I have two questions regarding the output format:
params.npz
, not directly compatible to.ply
files used in many Gaussian splatting works.For this, I just made a converting code below, which produces
gsplat.ply
file compatible for the most of gsplat applications. Can you consider adding this kind of code in your project?params.npz
, it has isotropic scaling of each Gaussians. Can I get anisotropic Gaussians instead? Does it result in worse results?