Julien Philip | Valentin Deschaintre |
Adobe Research | Adobe Research |
For each of the method we provide video or image comparisons with and without gradient scaling
@custom_jvp def gradientScaling(origins, gaussians, rgb, density):return rgb, density@gradientScaling.defjvp def lgradientScaling_jvp(primals, tangents): origins, gaussians, rgb,density = primals origins_dot, gaussians_dot, rgb_dot, density_dot = tangents ans = gradientScaling(origins, gaussians, rgb,density) scaling = jnp.square(jnp.linalg.norm(gaussians[0]-origins[:, :, :, None], axis=-1, keepdims=True)).clip(0, 1) ans_dot = (rgb_dot * scaling, density_dot * scaling[..., 0])return ans, ans_dot