Our goal is to build an algorithm that applies to a wide range of potentially complicated shapes with arbitrary topologies—topologies that could change as the shapes deform to fit the data. For this reason, we have implemented the free-form deformation given in Eq. (8.42) with an implicit level set representation.
Substituting the expression for dx/dt (from Eqs. (8.45) and (8.46)) into the ds/dt term of the level set equation (Eq. (8.4a)), and recalling that n = V<p/\V gives where k represents the effect of the prior, which is assumed to be in the normal direction.
The prior is introduced as a curvature-based smoothing on the level set surfaces. Thus, every level set moves according to a weighted combination of the principle curvatures, k1 and k2, at each point. This point-wise motion is in the direction of the surface normal. For instance, the mean curvature, widely used for surface smoothing, is H = (k1 + k2)/2. Several authors have proposed using Gaussian curvature K = k1k2 or functions thereof . Recently  proposed
using the minimum curvature, M = AbsMin(ki, k2) for preserving thin, tubular structures, which otherwise have a tendency to pinch off under mean curvature smoothing.
In previous work , the authors have proposed a weighted sum of mean curvatures that emphasizes the minimum curvature, but incorporates a smooth transition between different surface regions, avoiding the discontinuities (in the derivative of motion) associated with a strict minimum. The weighted curvature is
For an implicit surface, the shape matrix  is the derivative of the normal map projected onto the tangent plane of the surface. If we let the normal map be n = V0/|V the derivative of this is the 3 x 3 matrix
The projection of this derivative matrix onto the tangent plane gives the shape matrix B = N(I - n <g> n), where <g> is the exterior product and I is the 3 x 3 identity matrix. The eigenvalues of the matrix B are k1, k2 and zero, and the eigenvectors are the principle directions and the normal, respectively. Because the third eigenvalue is zero, we can compute k1, k2, and various differential invariants directly from the invariants of B. Thus the weighted-curvature flow is computing from B using the identities D = ||B||2, H = Tr(B)/2, and K = 2H2 -D2/2. The choice of numerical methods for computing B is discussed in the following section.
Was this article helpful?