How do you get implicit representations from explicit representations?
atarng
Can you get an exact answer from this? Seems like you can only get an approximation
L100magikarp
@atarng, if a function is convex and Lipschitz-continuous, gradient descent provably converges when using a small enough learning rate.
In other words, as long as the function isn't changing too rapidly from point-to-point, it is always possible to get arbitrarily close to the correct point.
oadrian96
Is it beneficial to use something like Stochastic Gradient Descent in this type of problem?
Isaaz
@ecdeo I think to get a implicit representation we have to precompute the distance. So we can basically sample points in a 3D grid and store the result in a 3D texture. Then if we need a explicit representation again we can reconstruct the original mesh using marching cubes.
The classic algorithm for turning an implicit surface into an explicit mesh is marching cubes. There are a number of improvements from there, such as dual contouring.
keenan
@L100magikarp If you use a small enough learning rate (more conventionally known as a "step size") then you're guaranteed to get to some local minimum of the function, but in this case you're not guaranteed to get to the closest local minimum, i.e., the closest point. However, as the step size goes to zero, you should approach the closest point, if you have the exact distance function.
How do you get implicit representations from explicit representations?
Can you get an exact answer from this? Seems like you can only get an approximation
@atarng, if a function is convex and Lipschitz-continuous, gradient descent provably converges when using a small enough learning rate.
In other words, as long as the function isn't changing too rapidly from point-to-point, it is always possible to get arbitrarily close to the correct point.
Is it beneficial to use something like Stochastic Gradient Descent in this type of problem?
@ecdeo I think to get a implicit representation we have to precompute the distance. So we can basically sample points in a 3D grid and store the result in a 3D texture. Then if we need a explicit representation again we can reconstruct the original mesh using marching cubes.
@ecdeo Excellent question! There are a number of algorithms for converting between implicit and explicit representations. Here's one that converts polygon soup into an implicit surface. Here's another more recent one, based on overfitting a neural network.
The classic algorithm for turning an implicit surface into an explicit mesh is marching cubes. There are a number of improvements from there, such as dual contouring.
@L100magikarp If you use a small enough learning rate (more conventionally known as a "step size") then you're guaranteed to get to some local minimum of the function, but in this case you're not guaranteed to get to the closest local minimum, i.e., the closest point. However, as the step size goes to zero, you should approach the closest point, if you have the exact distance function.