graphdeco-inria / gaussian-splatting

Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"

Home Page:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is the 'correct' 'data range' in gaussian splatting .ply? especial for different render/viewers.

yuedajiong opened this issue · comments

I tried a mini demo, but different renders/viewers, have diffent output images (not view diff).

Does anybody help to point out my error?

This is a mini demo (only 4 points):

def gauss(rgb2sh=1, log4exp=1):
p = [
[0.0, 0.0, 0.0],
[1.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0],
] #[-1,+1] * factor
c = [
[0.6, 0.5, 0.4],
[1.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0],
] #[0,1] -> rgb2sh()
a = [
[1.0],
[0.7],
[0.4],
[0.1],
] #[0,1]
s = [
[0.10, 0.10, 0.10],
[0.05, 0.05, 0.10],
[0.15, 0.15, 0.10],
[0.20, 0.20, 0.10],
] #[-∞,+∞] -> log4exp()
r = [
[1.0, 0.0, 0.0, 0.0],
[1.0, 0.0, 0.0, 0.0],
[1.0, 0.0, 0.0, 0.0],
[1.0, 0.0, 0.0, 0.0],
] #[-1, 1] #unit-quaternion
return np.concatenate([np.array(p), (np.array(c)-0.5)/0.28209479177387814 if rgb2sh else np.array(c), np.array(a), np.log(np.array(s)) if log4exp else np.array(s), np.array(r)], axis=-1).astype(np.float32)

And this is my wanted image/one view:

gs__rgb2sh_1__log4exp_1 ply

my mini data_maker and mini file_viewer:

00 GS_make__GS_view.zip