From 24b3db8eb068ba21cea4c5bd617d67e10240fdbc Mon Sep 17 00:00:00 2001 From: wang shuai <212106734@qq.com> Date: Tue, 28 Mar 2023 22:58:21 +0800 Subject: [PATCH] Fix bug: sh render is not correct (#1667) * Update renderers.py revise the SH renderer * Update test_renderers.py change the test target for sh render --- nerfstudio/model_components/renderers.py | 2 +- tests/model_components/test_renderers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nerfstudio/model_components/renderers.py b/nerfstudio/model_components/renderers.py index 5e488bc35..43f81404c 100644 --- a/nerfstudio/model_components/renderers.py +++ b/nerfstudio/model_components/renderers.py @@ -180,7 +180,7 @@ class SHRenderer(nn.Module): components = components_from_spherical_harmonics(levels=levels, directions=directions) rgb = sh * components[..., None, :] # [..., num_samples, 3, sh_components] - rgb = torch.sum(sh, dim=-1) + 0.5 # [..., num_samples, 3] + rgb = torch.sum(rgb, dim=-1) # [..., num_samples, 3] if self.activation is not None: rgb = self.activation(rgb) diff --git a/tests/model_components/test_renderers.py b/tests/model_components/test_renderers.py index 984a45e7c..a1e098388 100644 --- a/tests/model_components/test_renderers.py +++ b/tests/model_components/test_renderers.py @@ -40,7 +40,7 @@ def test_sh_renderer(): sh_renderer = renderers.SHRenderer() rgb = sh_renderer(sh=sh, directions=directions, weights=weights) - assert torch.max(rgb) > 0.9 + assert torch.max(rgb) > 0.7 def test_acc_renderer():