diff --git a/nerfstudio/models/gaussian_splatting.py b/nerfstudio/models/gaussian_splatting.py index b8102e7368..154224c369 100644 --- a/nerfstudio/models/gaussian_splatting.py +++ b/nerfstudio/models/gaussian_splatting.py @@ -32,7 +32,6 @@ from pytorch_msssim import SSIM from torch.nn import Parameter -from nerfstudio.cameras.camera_optimizers import CameraOptimizer, CameraOptimizerConfig from nerfstudio.cameras.cameras import Cameras from nerfstudio.data.scene_box import OrientedBox from nerfstudio.engine.callbacks import TrainingCallback, TrainingCallbackAttributes, TrainingCallbackLocation @@ -142,8 +141,6 @@ class GaussianSplattingModelConfig(ModelConfig): """stop splitting at this step""" sh_degree: int = 3 """maximum degree of spherical harmonics to use""" - camera_optimizer: CameraOptimizerConfig = field(default_factory=CameraOptimizerConfig) - """camera optimizer config""" use_scale_regularization: bool = False """If enabled, a scale regularization introduced in PhysGauss (https://xpandora.github.io/PhysGaussian/) is used for reducing huge spikey gaussians.""" max_gauss_ratio: float = 10.0 @@ -211,10 +208,6 @@ def populate_modules(self): self.crop_box: Optional[OrientedBox] = None self.back_color = torch.zeros(3) - self.camera_optimizer: CameraOptimizer = self.config.camera_optimizer.setup( - num_cameras=self.num_train_data, device="cpu" - ) - @property def colors(self): if self.config.sh_degree > 0: @@ -569,8 +562,6 @@ def get_param_groups(self) -> Dict[str, List[Parameter]]: Mapping of different parameter groups """ gps = self.get_gaussian_param_groups() - # add camera optimizer param groups - self.camera_optimizer.get_param_groups(gps) return gps def _get_downscale_factor(self): @@ -593,9 +584,6 @@ def get_outputs(self, camera: Cameras) -> Dict[str, Union[torch.Tensor, List]]: print("Called get_outputs with not a camera") return {} assert camera.shape[0] == 1, "Only one camera at a time" - if self.training: - # currently relies on the branch vickie/camera-grads - self.camera_optimizer.apply_to_camera(camera) if self.training: background = torch.rand(3, device=self.device) else: @@ -754,7 +742,6 @@ def get_metrics_dict(self, outputs, batch) -> Dict[str, torch.Tensor]: predicted_rgb = outputs["rgb"] metrics_dict["psnr"] = self.psnr(predicted_rgb, gt_rgb) - self.camera_optimizer.get_metrics_dict(metrics_dict) metrics_dict["gaussian_count"] = self.num_points return metrics_dict