diff --git a/projects/implicitron_trainer/tests/experiment.yaml b/projects/implicitron_trainer/tests/experiment.yaml index 267dd5c3..eda38f3a 100644 --- a/projects/implicitron_trainer/tests/experiment.yaml +++ b/projects/implicitron_trainer/tests/experiment.yaml @@ -201,7 +201,7 @@ generic_model_args: bias: 1.0 skip_in: [] weight_norm: true - n_harmonic_functions_xyz: -1 + n_harmonic_functions_xyz: 0 pooled_feature_dim: 0 encoding_dim: 0 implicit_function_NeRFormerImplicitFunction_args: diff --git a/pytorch3d/implicitron/models/implicit_function/idr_feature_field.py b/pytorch3d/implicitron/models/implicit_function/idr_feature_field.py index 19d3b39d..31e022f6 100644 --- a/pytorch3d/implicitron/models/implicit_function/idr_feature_field.py +++ b/pytorch3d/implicitron/models/implicit_function/idr_feature_field.py @@ -58,7 +58,7 @@ class IdrFeatureField(ImplicitFunctionBase, torch.nn.Module): bias: float = 1.0 skip_in: Sequence[int] = () weight_norm: bool = True - n_harmonic_functions_xyz: int = -1 + n_harmonic_functions_xyz: int = 0 pooled_feature_dim: int = 0 encoding_dim: int = 0 diff --git a/tests/implicitron/test_srn.py b/tests/implicitron/test_srn.py index 367ec41e..48b71bf1 100644 --- a/tests/implicitron/test_srn.py +++ b/tests/implicitron/test_srn.py @@ -69,6 +69,7 @@ class TestSRN(TestCaseMixin, unittest.TestCase): ) self.assertIsNone(rays_colors) + @torch.no_grad() def test_lstm(self): args = get_default_args(GenericModel) args.render_image_height = 80 @@ -80,12 +81,31 @@ class TestSRN(TestCaseMixin, unittest.TestCase): args.raysampler_NearFarRaySampler_args.n_pts_per_ray_evaluation = 1 args.renderer_LSTMRenderer_args.bg_color = [0.4, 0.4, 0.2] gm = GenericModel(**args) + camera = PerspectiveCameras() - gm.forward( + image = gm.forward( camera=camera, image_rgb=None, fg_probability=None, sequence_name="", mask_crop=None, depth_map=None, - ) + )["images_render"] + self.assertEqual(image.shape, (1, 3, 80, 80)) + self.assertGreater(image.max(), 0.8) + + # Force everything to be background + pixel_generator = gm._implicit_functions[0]._fn.pixel_generator + pixel_generator._density_layer.weight.zero_() + pixel_generator._density_layer.bias.fill_(-1.0e6) + + image = gm.forward( + camera=camera, + image_rgb=None, + fg_probability=None, + sequence_name="", + mask_crop=None, + depth_map=None, + )["images_render"] + self.assertConstant(image[:, :2], 0.4) + self.assertConstant(image[:, 2], 0.2)