Sampler: Difference between revisions
StableTiger3 (talk | contribs) No edit summary |
StableTiger3 (talk | contribs) No edit summary |
||
| Line 11: | Line 11: | ||
=='''Heun'''== | =='''Heun'''== | ||
'''Heun''' is a method that uses the midpoint of the edge opposite to the vertex as the barycenter. This method is similar to Euler, but it avoids some of the problems with obtuse angles. | '''Heun''' is a method that uses the midpoint of the edge opposite to the vertex as the barycenter. This method is similar to Euler, but it avoids some of the problems with obtuse angles. | ||
== DPM == | == DPM == | ||
='''DPM2'''= | ='''DPM2'''= | ||
'''DPM2''' Denoising Predictive Models 2, a diffusion model with two-step prediction. It is a method that uses the dual point of a face as the barycenter. The dual point is defined as the intersection of the three planes that are perpendicular to the face and pass through the midpoints of the edges. This method is more accurate than Euler and Heun, but it can be unstable for degenerate faces. | '''DPM2''' Denoising Predictive Models 2, a diffusion model with two-step prediction. It is a method that uses the dual point of a face as the barycenter. The dual point is defined as the intersection of the three planes that are perpendicular to the face and pass through the midpoints of the edges. This method is more accurate than Euler and Heun, but it can be unstable for degenerate faces. | ||
Revision as of 16:22, 28 August 2023
A sampler is a tool that helps us create different images from the same text by adding some randomness to the process. For example, if we have a text that says "a blue car", a sampler can generate different images of blue cars with different shapes, sizes, angles, and backgrounds. A sampler is useful because it allows us to explore different possibilities and variations of the same text.
Different Samplers
These are different methods for sampling discrete differential geometry (DDG) operators on meshes. DDG operators are used to approximate differential operators such as gradients, divergence, and Laplacian on discrete surfaces. Sampling DDG operators is important for applications such as mesh smoothing, curvature estimation, and geometric processing.
Euler and Euler a
Euler a is a method that uses the average of the vertex positions as the barycenter of a face. Euler is a method that uses the circumcenter of a face as the barycenter. These methods are simple and fast, but they can produce poor results for irregular meshes or meshes with obtuse angles.
LMS
LMS Langevin Monte Carlo with Stochastic Gradient Descent. It is a method that uses the least-squares fit of a plane to the face vertices as the barycenter. This method is more robust than Euler and Euler a, but it can be expensive to compute and it can introduce numerical errors.
Heun
Heun is a method that uses the midpoint of the edge opposite to the vertex as the barycenter. This method is similar to Euler, but it avoids some of the problems with obtuse angles.
DPM
DPM2
DPM2 Denoising Predictive Models 2, a diffusion model with two-step prediction. It is a method that uses the dual point of a face as the barycenter. The dual point is defined as the intersection of the three planes that are perpendicular to the face and pass through the midpoints of the edges. This method is more accurate than Euler and Heun, but it can be unstable for degenerate faces.
DPM2 a
DPM2 a is just DPM2 but with adaptive step size. It is a method that uses an approximation of the dual point as the barycenter. The approximation is obtained by projecting the dual point onto the face plane. This method is more stable than DPM2, but it can introduce some errors.
DPM++ 2S a
DPM++ 2S a: DPM++ with two-step prediction and adaptive step size. It is a method that uses an improved approximation of the dual point as the barycenter. The improvement is obtained by scaling the dual point by a factor that depends on the face area. This method is more accurate than DPM2 a, but it can be complex to implement.
DPM++ 2M
DPM++ 2M is a method that uses an alternative approximation of the dual point as the barycenter. The approximation is obtained by computing the weighted average of the midpoints of the edges, where the weights are proportional to the cotangents of the opposite angles. This method is simpler than DPM++ 2S a, but it can produce poor results for non-planar faces.
DPM++ SDE
DPM++ SDE: DPM++ with stochastic differential equation formulation. It is a method that uses an adaptive approximation of the dual point as the barycenter. The approximation is obtained by solving a system of linear equations that minimizes the squared distance error between the dual point and its projection onto the face plane. This method is more robust than DPM++ 2S a and DPM++ 2M, but it can be expensive to solve.
DPM fast
DPM fast is a method that uses a fast approximation of the dual point as the barycenter. The approximation is obtained by computing the weighted average of the vertex positions, where the weights are proportional to the face area and inversely proportional to the distance from the vertex to the face plane. This method is faster than DPM++ SDE, but it can introduce some errors.
DPM adaptive
DPM adaptive is a method that uses an adaptive approximation of the dual point as the barycenter. The approximation is obtained by computing an optimal weight for each vertex position that minimizes the squared distance error between the dual point and its projection onto the face plane. This method is more accurate than DPM fast, but it can be complex to implement.
DPM2 Karras
DPM2 Karras is a variant of DPM2 that uses LMS Karras instead of LMS to compute the dual point. This variant is more robust than DPM2, but it can be expensive to compute.
DPM2 a Karras
DPM2 a Karras is a variant of DPM2 a that uses LMS Karras instead of LMS to compute the dual point. This variant is more robust than DPM2 a, but it can introduce some errors.
DPM++ 2S a Karras
DPM++ 2S a Karras is a variant of DPM++ 2S a that uses LMS Karras instead of LMS to compute the dual point. This variant is more accurate than DPM++ 2S a, but it can be complex to implement.
DPM++ 2M Karras
DPM++ 2M Karras is a variant of DPM++ 2M that uses LMS Karras instead of LMS to compute the dual point. This variant is simpler than DPM++ 2S a Karras, but it can produce poor results for non-planar faces.
DPM++ SDE Karras
DPM++ SDE Karras is a variant of DPM++ SDE that uses LMS Karras instead of LMS to compute the dual point. This variant is more robust than DPM++ SDE, but it can be expensive to solve.
LMS Karras
LMS Karras LMS with Karras et al.'s sampling scheme. It is a variant of LMS that uses a different formula for computing the least-squares plane. The formula is based on minimizing the sum of squared distances from each vertex position to its projection onto the plane along its normal vector. This formula is more robust than the standard LMS formula, which minimizes the sum of squared distances from each vertex position to its projection onto the plane along any direction.
DDIM
DDIM Denoising Diffusion Implicit Models, a diffusion model with implicit denoising function. It is a method that uses the discrete differential of the identity map as the barycenter. The discrete differential of the identity map is defined as the average of the vertex positions weighted by the face area. This method is simple and fast, but it can produce poor results for irregular meshes or meshes with obtuse angles.
PLMS
PLMS stands for Preconditioned Langevin Monte Carlo with Stochastic Gradient Descent. A method that uses the projection of the least-squares plane as the barycenter. The projection of the least-squares plane is defined as the point on the face plane that is closest to the least-squares plane. This method is more robust than DDIM, but it can be expensive to compute and it can introduce numerical errors.