mirror of
https://github.com/graphdeco-inria/gaussian-splatting
synced 2024-11-25 13:26:47 +00:00
Changed alpha init spatial lr behavior
This commit is contained in:
parent
73ad40f414
commit
b1a35bc94b
@ -84,7 +84,7 @@ class GaussianModel:
|
|||||||
self.active_sh_degree += 1
|
self.active_sh_degree += 1
|
||||||
|
|
||||||
def create_from_pcd(self, pcd : BasicPointCloud, spatial_lr_scale : float):
|
def create_from_pcd(self, pcd : BasicPointCloud, spatial_lr_scale : float):
|
||||||
self.spatial_lr_scale = 5#spatial_lr_scale
|
self.spatial_lr_scale = 5
|
||||||
fused_point_cloud = torch.tensor(np.asarray(pcd.points)).float().cuda()
|
fused_point_cloud = torch.tensor(np.asarray(pcd.points)).float().cuda()
|
||||||
fused_color = RGB2SH(torch.tensor(np.asarray(pcd.colors)).float().cuda())
|
fused_color = RGB2SH(torch.tensor(np.asarray(pcd.colors)).float().cuda())
|
||||||
features = torch.zeros((fused_color.shape[0], 3, (self.max_sh_degree + 1) ** 2)).float().cuda()
|
features = torch.zeros((fused_color.shape[0], 3, (self.max_sh_degree + 1) ** 2)).float().cuda()
|
||||||
@ -98,7 +98,7 @@ class GaussianModel:
|
|||||||
rots = torch.zeros((fused_point_cloud.shape[0], 4), device="cuda")
|
rots = torch.zeros((fused_point_cloud.shape[0], 4), device="cuda")
|
||||||
rots[:, 0] = 1
|
rots[:, 0] = 1
|
||||||
|
|
||||||
opacities = inverse_sigmoid(0.5 * torch.ones((fused_point_cloud.shape[0], 1), dtype=torch.float, device="cuda"))
|
opacities = inverse_sigmoid(0.1 * torch.ones((fused_point_cloud.shape[0], 1), dtype=torch.float, device="cuda"))
|
||||||
|
|
||||||
self._xyz = nn.Parameter(fused_point_cloud.requires_grad_(True))
|
self._xyz = nn.Parameter(fused_point_cloud.requires_grad_(True))
|
||||||
self._features_dc = nn.Parameter(features[:,:,0:1].transpose(1, 2).contiguous().requires_grad_(True))
|
self._features_dc = nn.Parameter(features[:,:,0:1].transpose(1, 2).contiguous().requires_grad_(True))
|
||||||
@ -170,7 +170,7 @@ class GaussianModel:
|
|||||||
PlyData([el]).write(path)
|
PlyData([el]).write(path)
|
||||||
|
|
||||||
def reset_opacity(self):
|
def reset_opacity(self):
|
||||||
opacities_new = inverse_sigmoid(torch.ones_like(self.get_opacity)*0.01)
|
opacities_new = inverse_sigmoid(torch.min(self.get_opacity, torch.ones_like(self.get_opacity)*0.01))
|
||||||
optimizable_tensors = self.replace_tensor_to_optimizer(opacities_new, "opacity")
|
optimizable_tensors = self.replace_tensor_to_optimizer(opacities_new, "opacity")
|
||||||
self._opacity = optimizable_tensors["opacity"]
|
self._opacity = optimizable_tensors["opacity"]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user