From a95104a2c6d3b91921c2b99f86d2756b406b71b7 Mon Sep 17 00:00:00 2001 From: nandometzger Date: Thu, 18 Dec 2025 13:49:00 +0100 Subject: [PATCH 1/2] Fix inference crash and dark rendering output - Fixed TypeError in load_ply by converting numpy array to tensor before calling sRGB2linearRGB - Fixed dark rendering issue by ensuring sRGB conversion is applied when input/output is sRGB (even if internal state is linear) --- src/sharp/utils/gaussians.py | 4 +++- src/sharp/utils/gsplat.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sharp/utils/gaussians.py b/src/sharp/utils/gaussians.py index 9c037eb..d28d7da 100644 --- a/src/sharp/utils/gaussians.py +++ b/src/sharp/utils/gaussians.py @@ -320,6 +320,8 @@ def load_ply(path: Path) -> tuple[Gaussians3D, SceneMetaData]: # Parse color space. color_space_index = supplement_data.get("color_space", 1) color_space = cs_utils.decode_color_space(color_space_index) + colors = torch.from_numpy(colors).view(1, -1, 3).float() + if color_space == "sRGB": colors = cs_utils.sRGB2linearRGB(colors) @@ -327,7 +329,7 @@ def load_ply(path: Path) -> tuple[Gaussians3D, SceneMetaData]: quaternions = torch.from_numpy(quaternions).view(1, -1, 4).float() singular_values = torch.exp(torch.from_numpy(scale_logits).view(1, -1, 3)).float() opacities = torch.sigmoid(torch.from_numpy(opacity_logits).view(1, -1)).float() - colors = torch.from_numpy(colors).view(1, -1, 3).float() + # colors = torch.from_numpy(colors).view(1, -1, 3).float() gaussians = Gaussians3D( mean_vectors=mean_vectors, diff --git a/src/sharp/utils/gsplat.py b/src/sharp/utils/gsplat.py index 0ce72e2..d4e4971 100644 --- a/src/sharp/utils/gsplat.py +++ b/src/sharp/utils/gsplat.py @@ -118,7 +118,7 @@ def forward( # Colorspace conversion. if self.color_space == "sRGB": - pass + rendered_color = cs_utils.linearRGB2sRGB(rendered_color) elif self.color_space == "linearRGB": rendered_color = cs_utils.linearRGB2sRGB(rendered_color) else: From 6baa241dbbaea871ac732cb71ff9abcfff7f836d Mon Sep 17 00:00:00 2001 From: nandometzger Date: Thu, 18 Dec 2025 14:05:06 +0100 Subject: [PATCH 2/2] clean --- src/sharp/utils/gaussians.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sharp/utils/gaussians.py b/src/sharp/utils/gaussians.py index d28d7da..5c3f683 100644 --- a/src/sharp/utils/gaussians.py +++ b/src/sharp/utils/gaussians.py @@ -329,7 +329,6 @@ def load_ply(path: Path) -> tuple[Gaussians3D, SceneMetaData]: quaternions = torch.from_numpy(quaternions).view(1, -1, 4).float() singular_values = torch.exp(torch.from_numpy(scale_logits).view(1, -1, 3)).float() opacities = torch.sigmoid(torch.from_numpy(opacity_logits).view(1, -1)).float() - # colors = torch.from_numpy(colors).view(1, -1, 3).float() gaussians = Gaussians3D( mean_vectors=mean_vectors,