Open ichsan2895 opened 10 months ago
I wrote this ply conversion function. But since the taichi-gs is using a different color parameterization, the exported ply is not consistent with the official ply. See https://github.com/wanmeihuali/taichi_3d_gaussian_splatting/issues/150 for more details.
I wrote this ply conversion function. But since the taichi-gs is using a different color parameterization, the exported ply is not consistent with the official ply. See #150 for more details.
Sorry I am not advance in coding, but the problem seems come from function to_ply
instead of max(0, <SH, dir> + 0.5)
. I guess that because it has right color when opened with taichi-viewer.
This is originial implementation of save_ply : https://github.com/graphdeco-inria/gaussian-splatting/blob/2eee0e26d2d5fd00ec462df47752223952f6bf4e/scene/gaussian_model.py#L177
There is multiply calculation of f_dc
& f_rest
. But, I don't see the multiplication on this implementation. Is that cause problem? @jb-ye
def construct_list_of_attributes(self):
l = ['x', 'y', 'z', 'nx', 'ny', 'nz']
# All channels except the 3 DC
for i in range(self._features_dc.shape[1]*self._features_dc.shape[2]):
l.append('f_dc_{}'.format(i))
for i in range(self._features_rest.shape[1]*self._features_rest.shape[2]):
l.append('f_rest_{}'.format(i))
@ichsan2895 No. What you observe is caused by not using max(0, <SH, dir> + 0.5)
in color parameterization in taichi training. The taichi-viewer is consistent as it uses the same color parameterization sigmoid(<SH, dir>)
as done in taichi training. There are a few other difference regarding how tiny gaussians are treated between official GS and taichi GS. The expectation is the exported ply shouldn't be used interchangeably at the moment.
@ichsan2895 No. What you observe is caused by not using
max(0, <SH, dir> + 0.5)
in color parameterization in taichi training. The taichi-viewer is consistent as it uses the same color parameterizationsigmoid(<SH, dir>)
as done in taichi training. There are a few other difference regarding how tiny gaussians are treated between official GS and taichi GS. The expectation is the exported ply shouldn't be used interchangeably at the moment.
I see, hopefully someone can fix the problem too. Taichi3D-GSplat is a great tool. It outperform nerfstudio's gsplat implementation and rivaling with your gsplat implementation.
Well, technically speaking, both the improved performance of taichi-gs and nerfstudio-gs are contributed by me. LOL
Well, technically speaking, both the improved performance of taichi-gs and nerfstudio-gs are contributed by me. LOL
Yes, I also thank the maker of this repo @wanmeihuali
Thank you all! Sorry for not replying for a long time. Due to some reason, I cannot contribute to this repo anymore(majorly because of my new company's open-source policy...). My friends @yanzhoupan and @Alexma3312 are now maintaining this repo, and you can ask for their help if needed.
Thank you all! Sorry for not replying for a long time. Due to some reason, I cannot contribute to this repo anymore(majorly because of my new company's open-source policy...). My friends @yanzhoupan and @Alexma3312 are now maintaining this repo, and you can ask for their help if needed.
Glad to hear this repo is still maintaned by your friends (@yanzhoupan @Alexma3312 ) :ok:
I got wrong color between taichi viewer and PLY which converted from parquet. It got right color when opened by viewer but got strange color with PLY which is more contrast.
######### I convert to PLY using this code. The PLY can be opened by
Antimatter15 WebGL Splat viewer
########