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.
- gaussian_splatting/camera.py +3 -1
- gaussian_splatting/camera_trainable.py +1 -1
- gaussian_splatting/diff_gaussian_rasterization/_C.cp311-win_amd64.pyd +0 -0
- gaussian_splatting/gaussian_model.py +1 -1
- gaussian_splatting/simple_knn/_C.cp311-win_amd64.pyd +0 -0
- gaussian_splatting/trainer/base.py +11 -2
- {gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/METADATA +1 -1
- {gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/RECORD +11 -11
- {gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/WHEEL +0 -0
- {gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/licenses/LICENSE.md +0 -0
- {gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/top_level.txt +0 -0
gaussian_splatting/camera.py
CHANGED
|
@@ -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
|
|
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,
|
|
Binary file
|
|
@@ -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
|
|
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,
|
|
Binary file
|
|
@@ -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
|
-
|
|
76
|
-
|
|
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,7 +1,7 @@
|
|
|
1
1
|
gaussian_splatting/__init__.py,sha256=CiOZMcyPTAaKtEuMZUhEda_Ad4_RUhmIstB-A3iuOJY,131
|
|
2
|
-
gaussian_splatting/camera.py,sha256=
|
|
3
|
-
gaussian_splatting/camera_trainable.py,sha256=
|
|
4
|
-
gaussian_splatting/gaussian_model.py,sha256=
|
|
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=
|
|
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=
|
|
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=
|
|
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.
|
|
49
|
-
gaussian_splatting-1.17.
|
|
50
|
-
gaussian_splatting-1.17.
|
|
51
|
-
gaussian_splatting-1.17.
|
|
52
|
-
gaussian_splatting-1.17.
|
|
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,,
|
|
File without changes
|
{gaussian_splatting-1.17.1.dist-info → gaussian_splatting-1.17.3.dist-info}/licenses/LICENSE.md
RENAMED
|
File without changes
|
|
File without changes
|