From 9e33b437dff6df5a9579c04b1eba46640df88a96 Mon Sep 17 00:00:00 2001 From: Gina Wu <42229107+ginazhouhuiwu@users.noreply.github.com> Date: Mon, 6 Nov 2023 07:46:21 -0800 Subject: [PATCH] Fix large dataset (> 512 images) training in viewer_beta (#2586) * fix index bug in update_camera_poses of viewer --- nerfstudio/viewer_beta/viewer.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nerfstudio/viewer_beta/viewer.py b/nerfstudio/viewer_beta/viewer.py index 15cdb31a7..a12a8bfdb 100644 --- a/nerfstudio/viewer_beta/viewer.py +++ b/nerfstudio/viewer_beta/viewer.py @@ -260,15 +260,15 @@ class Viewer: with torch.no_grad(): assert isinstance(camera_optimizer, CameraOptimizer) c2ws_delta = camera_optimizer(torch.tensor(idxs, device=camera_optimizer.device)).cpu().numpy() - for idx in idxs: + for i, key in enumerate(idxs): # both are numpy arrays - c2w_orig = self.original_c2w[idx] - c2w_delta = c2ws_delta[idx, ...] + c2w_orig = self.original_c2w[key] + c2w_delta = c2ws_delta[i, ...] c2w = c2w_orig @ np.concatenate((c2w_delta, np.array([[0, 0, 0, 1]])), axis=0) R = vtf.SO3.from_matrix(c2w[:3, :3]) # type: ignore R = R @ vtf.SO3.from_x_radians(np.pi) - self.camera_handles[idx].position = c2w[:3, 3] * VISER_NERFSTUDIO_SCALE_RATIO - self.camera_handles[idx].wxyz = R.wxyz + self.camera_handles[key].position = c2w[:3, 3] * VISER_NERFSTUDIO_SCALE_RATIO + self.camera_handles[key].wxyz = R.wxyz def _interrupt_render(self, _) -> None: """Interrupt current render."""