| Just glossed over the paper but it seems, in principle, simple enough (though rather brilliant IMHO). Essentially they're doing what you do when you train a neural network, only that instead of adjusting weights connecting "neurons", you adjust the shape and position of gaussians, and the coefficients of spherical harmonics for the colors. This requires the rendering step to be differentiable, so that you can back-propagate the error between the rendering and the ground-truth image. The next key step is to every N iterations adjust the number of gaussians. Either fill in details by cloning a gaussian in an area which is undercovered, or split a gaussian in an area which is overcovered. They use the gradient of the view-space position to determine if more detail is needed, ie those gaussians which the optimizer wants to move significantly over the screen seems to be in a region with not enough detail. They then use the covariance of the gaussians to determine to split or to clone. Gaussians with large variance get split, the others cloned. They also remove gaussians which are almost entirely transparent, no point in keeping those around. That's my understanding at least, after a first time gloss-through. |
> Essentially they're doing what you do when you train a neural network, only that instead of adjusting weights connecting "neurons", you adjust the shape and position of gaussians, and the coefficients of spherical harmonics for the colors.
My brain:
> They're providing inverse reactive current to generate unilateral phase detractors, automatically synchronizing cardinal gram meters.