gaussian-splatting 1.17.1__cp311-cp311-win_amd64.whl → 1.17.3__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gaussian-splatting might be problematic. Click here for more details.

@@ -1,5 +1,5 @@
1
1
  import os
2
- from typing import NamedTuple, Callable
2
+ from typing import NamedTuple, Callable, Tuple
3
3
  import torch
4
4
  import logging
5
5
  from .utils import fov2focal, focal2fov, getProjectionMatrix, getWorld2View2, read_image, read_image_mask, read_depth, read_depth_mask, matrix_to_quaternion
@@ -62,6 +62,7 @@ def build_camera(
62
62
  R: torch.Tensor, T: torch.Tensor,
63
63
  image_path: str = None, image_mask_path: str = None,
64
64
  depth_path: str = None, depth_mask_path: str = None,
65
+ bg_color: Tuple[float, float, float] = (0., 0., 0.),
65
66
  device="cuda", custom_data: dict = {}
66
67
  ):
67
68
  R, T = R.to(device=device, dtype=torch.float), T.to(device=device, dtype=torch.float)
@@ -126,6 +127,7 @@ def build_camera(
126
127
  ground_truth_depth=gt_depth,
127
128
  ground_truth_depth_mask_path=depth_mask_path,
128
129
  ground_truth_depth_mask=gt_depth_mask,
130
+ bg_color=torch.tensor(bg_color, dtype=torch.float32, device=device),
129
131
  custom_data=custom_data,
130
132
  )
131
133
 
@@ -27,7 +27,7 @@ class CameraTrainableGaussianModel(GaussianModel):
27
27
  image_width=int(viewpoint_camera.image_width),
28
28
  tanfovx=tanfovx,
29
29
  tanfovy=tanfovy,
30
- bg=viewpoint_camera.bg_color.to(self._xyz.device),
30
+ bg=viewpoint_camera.bg_color,
31
31
  scale_modifier=self.scale_modifier,
32
32
  viewmatrix=viewpoint_camera.world_view_transform,
33
33
  projmatrix=viewpoint_camera.full_proj_transform,
@@ -106,7 +106,7 @@ class GaussianModel(nn.Module):
106
106
  image_width=int(viewpoint_camera.image_width),
107
107
  tanfovx=tanfovx,
108
108
  tanfovy=tanfovy,
109
- bg=viewpoint_camera.bg_color.to(self._xyz.device),
109
+ bg=viewpoint_camera.bg_color,
110
110
  scale_modifier=self.scale_modifier,
111
111
  viewmatrix=viewpoint_camera.world_view_transform,
112
112
  projmatrix=viewpoint_camera.full_proj_transform,
@@ -22,9 +22,13 @@ class BaseTrainer(AbstractTrainer):
22
22
  opacity_lr=0.025,
23
23
  scaling_lr=0.005,
24
24
  rotation_lr=0.001,
25
+ ignore_out_of_mask_loss=False, # whether to ignore loss for out-of-mask pixels, if True, these pixels will be ignored in loss computation
26
+ random_out_of_mask_color=True, # if ignore_out_of_mask_loss is False, whether use random color or use camera.bg_color for out-of-mask pixels
25
27
  ):
26
28
  super().__init__()
27
29
  self.lambda_dssim = lambda_dssim
30
+ self.ignore_out_of_mask_loss = ignore_out_of_mask_loss
31
+ self.random_out_of_mask_color = random_out_of_mask_color
28
32
  params = [
29
33
  {'params': [model._xyz], 'lr': position_lr_init * scene_extent, "name": "xyz"},
30
34
  {'params': [model._features_dc], 'lr': feature_lr, "name": "f_dc"},
@@ -72,8 +76,13 @@ class BaseTrainer(AbstractTrainer):
72
76
  gt = camera.ground_truth_image
73
77
  mask = camera.ground_truth_image_mask
74
78
  if mask is not None:
75
- render = render * mask.unsqueeze(0)
76
- gt = gt * mask.unsqueeze(0)
79
+ if self.ignore_out_of_mask_loss:
80
+ render = render * mask.unsqueeze(0)
81
+ gt = gt * mask.unsqueeze(0)
82
+ elif self.random_out_of_mask_color:
83
+ gt = gt * mask.unsqueeze(0) + (1 - mask.unsqueeze(0)) * torch.rand_like(gt)
84
+ else:
85
+ gt = gt * mask.unsqueeze(0) + (1 - mask.unsqueeze(0)) * camera.bg_color.unsqueeze(-1).unsqueeze(-1)
77
86
  Ll1 = l1_loss(render, gt)
78
87
  ssim_value = ssim(render, gt)
79
88
  loss = (1.0 - self.lambda_dssim) * Ll1 + self.lambda_dssim * (1.0 - ssim_value)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gaussian_splatting
3
- Version: 1.17.1
3
+ Version: 1.17.3
4
4
  Summary: Refactored python training and inference code for 3D Gaussian Splatting
5
5
  Home-page: https://github.com/yindaheng98/gaussian-splatting
6
6
  Author: yindaheng98
@@ -1,7 +1,7 @@
1
1
  gaussian_splatting/__init__.py,sha256=CiOZMcyPTAaKtEuMZUhEda_Ad4_RUhmIstB-A3iuOJY,131
2
- gaussian_splatting/camera.py,sha256=jQdJZaHJABXshZ9LH9U9FC_-fi0bEUZo4m3b71PImbA,8218
3
- gaussian_splatting/camera_trainable.py,sha256=XHynfc-9Z3d8N00u4rUlyAglwTadT_BDoV4ffOBLcLU,3862
4
- gaussian_splatting/gaussian_model.py,sha256=Jg0RJXNeCMNjQpZStag2H8JpvTeukjgqnrHVHJRSDcY,13296
2
+ gaussian_splatting/camera.py,sha256=u-U99RW9dCPVqUZxVzrUW7nxHsXgKZ7NXHnSqCNOfKk,8365
3
+ gaussian_splatting/camera_trainable.py,sha256=nI6hFFRV2ev7VwLlKUbzEdN9zUmngYZAANGLr1p1yBA,3841
4
+ gaussian_splatting/gaussian_model.py,sha256=_Dy_dDa2prALhVgg428a-O8-8PODg3c_JPkOJJ8X4o8,13275
5
5
  gaussian_splatting/prepare.py,sha256=SdljFF2TU-ETkIY2ceHEz9tGA-o4HfHxGsFKIhyB1Ek,3042
6
6
  gaussian_splatting/render.py,sha256=2dP7Yr5e5uLJAs9MwRJSBY9eZQjaDtf9XB-HdtPmxPc,5930
7
7
  gaussian_splatting/train.py,sha256=VAFlPHB5ETH8BiYhe0LWY2UWXyB16tSRPKUaV5VPp5A,5196
@@ -12,12 +12,12 @@ gaussian_splatting/dataset/colmap/__init__.py,sha256=YEYT2k2WJSqrkkZq4KAJYS9UMgq
12
12
  gaussian_splatting/dataset/colmap/dataset.py,sha256=Lq2b3hMdtOmdqPjvEjR6CLukAR7dZBEKMz8yzDD2Bgo,4519
13
13
  gaussian_splatting/dataset/colmap/params_init.py,sha256=6_6gZ0Wl4aZrps2PJ_U234sxW5D-vOTfwioVa1FWC-E,1802
14
14
  gaussian_splatting/dataset/colmap/read_write_model.py,sha256=TenI7ai5UV7Ksg2vAXvJWnYFwOOo1tlS_633RfCLuQU,23137
15
- gaussian_splatting/diff_gaussian_rasterization/_C.cp311-win_amd64.pyd,sha256=u5BEjsA-ha-9ZYM3mBSmTd8wUzMFENgZdvFv04Kdj78,1295360
15
+ gaussian_splatting/diff_gaussian_rasterization/_C.cp311-win_amd64.pyd,sha256=Eo6hc35prDrvOvRG99yztOrNH-TSaP-H3vzVEg5w6c4,1295360
16
16
  gaussian_splatting/diff_gaussian_rasterization/__init__.py,sha256=a9D0IZiPx-Mk1795hSq54T-NYT4MtEN_MZrxeMhw0Eo,6705
17
- gaussian_splatting/simple_knn/_C.cp311-win_amd64.pyd,sha256=V91fGX3QZrN1xKHvejsb2SdtAUcz7Gf6wXGPKpdgBHo,1164288
17
+ gaussian_splatting/simple_knn/_C.cp311-win_amd64.pyd,sha256=C8EIUQJpy0eDOKxODdeg6R8X8xyGLJFGRfhLgjGL1JY,1164288
18
18
  gaussian_splatting/trainer/__init__.py,sha256=962fEY8A0spSQn5de_d_LkPOjA1PYKrLbuAkxwZo7mI,940
19
19
  gaussian_splatting/trainer/abc.py,sha256=kpYnJjLOhsyhE-V2J79EC9nih6MYBcXkmK9cHUA-3ao,4022
20
- gaussian_splatting/trainer/base.py,sha256=GrenIGWMXtF-2-b3b1WCA-gQV30TpMQMxBZmPPVKFSg,2795
20
+ gaussian_splatting/trainer/base.py,sha256=Ky-ZVP5MU-h4QBKQL_PHmwZp4VoxmRo7RjLKpqYz4N8,3564
21
21
  gaussian_splatting/trainer/camera_trainable.py,sha256=TBQXn2f578qeizPz6tgqFm-GRvttv9duuB1xx7_J9TQ,4567
22
22
  gaussian_splatting/trainer/combinations.py,sha256=7NX4fXdDOx8ri1_mgAaWNx-YVdo5XsqMlr9qy-Ll2MM,5329
23
23
  gaussian_splatting/trainer/depth.py,sha256=PxWBSNxzoQcRfCFI_yJnJMS6s8qFWn81CXK6O6ffXL0,7059
@@ -45,8 +45,8 @@ gaussian_splatting/utils/lpipsPyTorch/modules/__init__.py,sha256=47DEQpj8HBSa-_T
45
45
  gaussian_splatting/utils/lpipsPyTorch/modules/lpips.py,sha256=YScu0oXIEstCCjJVRItS_R_csUw70sBMFuP8Syl2UdI,1187
46
46
  gaussian_splatting/utils/lpipsPyTorch/modules/networks.py,sha256=kqIebq7dAhHypTXweFVEf_RDbN7_Zv7O3MlD-CfRvpg,2788
47
47
  gaussian_splatting/utils/lpipsPyTorch/modules/utils.py,sha256=TDcem3E3HqDNN2MT8qlOL_BKVHeO4HRE77JxF-kOWk8,915
48
- gaussian_splatting-1.17.1.dist-info/licenses/LICENSE.md,sha256=bMuRQKn0u485mx8JBBTJ5Simc-aWHaQsxmoB6jsg5oE,4752
49
- gaussian_splatting-1.17.1.dist-info/METADATA,sha256=MvYFlsHWGm2OfCFU3lEg6qtlj8Fkva34ev3JIeMlGLo,17046
50
- gaussian_splatting-1.17.1.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
51
- gaussian_splatting-1.17.1.dist-info/top_level.txt,sha256=uaYrPYXRHhpybgCnsoazTcdhpzZGnLT_vd5eoRzBWWI,19
52
- gaussian_splatting-1.17.1.dist-info/RECORD,,
48
+ gaussian_splatting-1.17.3.dist-info/licenses/LICENSE.md,sha256=bMuRQKn0u485mx8JBBTJ5Simc-aWHaQsxmoB6jsg5oE,4752
49
+ gaussian_splatting-1.17.3.dist-info/METADATA,sha256=rWv-xaUeB_b-G_QlxaZvWWilL2S20ka_uKlkxZ3skZY,17046
50
+ gaussian_splatting-1.17.3.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
51
+ gaussian_splatting-1.17.3.dist-info/top_level.txt,sha256=uaYrPYXRHhpybgCnsoazTcdhpzZGnLT_vd5eoRzBWWI,19
52
+ gaussian_splatting-1.17.3.dist-info/RECORD,,