Debugging your code, i have not found the code about your clone and split algorithm, where is it??
In /scene/gaussian_model.py, line 492 is the function
def densify_and_split(self, grads, grad_threshold, scene_extent, N=2):
line 505
new_xyz = torch.bmm(rots, samples.unsqueeze(-1)).squeeze(-1) + self.get_xyz[selected_pts_mask].repeat(N, 1), it is the same with the original 3dgs, and
line 522
def densify_and_clone(self, grads, grad_threshold, scene_extent):
line 538
new_xyz[new_type.squeeze() == 1] += self.position_gradient_accum[selected_pts_mask] / self.denom[selected_pts_mask]
the new position of insert gs is only adding average gradient of selected one, have not the code related to equation 4 implemented in your paper.
Please tell me why, and where is the implementation? Thank you.
Debugging your code, i have not found the code about your clone and split algorithm, where is it??
In /scene/gaussian_model.py, line 492 is the function
def densify_and_split(self, grads, grad_threshold, scene_extent, N=2):
line 505
new_xyz = torch.bmm(rots, samples.unsqueeze(-1)).squeeze(-1) + self.get_xyz[selected_pts_mask].repeat(N, 1), it is the same with the original 3dgs, and
line 522
def densify_and_clone(self, grads, grad_threshold, scene_extent):
line 538
new_xyz[new_type.squeeze() == 1] += self.position_gradient_accum[selected_pts_mask] / self.denom[selected_pts_mask]
the new position of insert gs is only adding average gradient of selected one, have not the code related to equation 4 implemented in your paper.
Please tell me why, and where is the implementation? Thank you.