From dc535175657bc35713dab37b4f93b0ecb14c8c54 Mon Sep 17 00:00:00 2001 From: Chung Min Kim Date: Tue, 6 Feb 2024 16:21:21 -0800 Subject: [PATCH] Add default depth output when no gaussians visible (#2874) * Add default depth output when no gaussians visible * Add accumulation to default output return * Change to using new_ones/zeros --- nerfstudio/models/splatfacto.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nerfstudio/models/splatfacto.py b/nerfstudio/models/splatfacto.py index 6733db406..a826599f9 100644 --- a/nerfstudio/models/splatfacto.py +++ b/nerfstudio/models/splatfacto.py @@ -669,7 +669,10 @@ class SplatfactoModel(Model): if self.crop_box is not None and not self.training: crop_ids = self.crop_box.within(self.means).squeeze() if crop_ids.sum() == 0: - return {"rgb": background.repeat(int(camera.height.item()), int(camera.width.item()), 1)} + rgb = background.repeat(int(camera.height.item()), int(camera.width.item()), 1) + depth = background.new_ones(*rgb.shape[:2], 1) * 10 + accumulation = background.new_zeros(*rgb.shape[:2], 1) + return {"rgb": rgb, "depth": depth, "accumulation": accumulation} else: crop_ids = None camera_downscale = self._get_downscale_factor() @@ -734,7 +737,10 @@ class SplatfactoModel(Model): tile_bounds, ) # type: ignore if (self.radii).sum() == 0: - return {"rgb": background.repeat(int(camera.height.item()), int(camera.width.item()), 1)} + rgb = background.repeat(int(camera.height.item()), int(camera.width.item()), 1) + depth = background.new_ones(*rgb.shape[:2], 1) * 10 + accumulation = background.new_zeros(*rgb.shape[:2], 1) + return {"rgb": rgb, "depth": depth, "accumulation": accumulation} # Important to allow xys grads to populate properly if self.training: