• 沒有找到結果。

Minimum Slice Perimeter Function

3.2 Error of MSP Slices

In the MSP computation, we use the vertex normal to be the slicing direction. But the vertex normal is a local information and can be varied easily by the surface fluctuation. As shown in Figure 3.4(a), the MSP at v1 is computed properly, while the normal of v2 is deviated by the surface detail and represents in a wrong slicing direction. The similar situation in 3D is shown in Figure 3.4(b).

(a) Normal influence in 2D shape. (b) Normal influencen in 3D model.

Figure 3.4: MSP Slicing by the normal influence.

In order to alleviate the problem, a smoothing on MSP value is necessary. We first design an error measure on the MSP function and then propose a smoothing operation. The slice error Esof a slice is defined to quantify how far is the skeleton node found in the slice deviated from the skeleton.

We denote the MSP slice of vertex v as M S(v) and VM S(v) = {p1, p2, ..., pn} as the set of

points lying on M S(v). The slice error E(v) of the M S(v) is defined as the sum of the included angles between NS(v), the normal of M S(v), and N (p), the normal of M S(p) for all vertices p on the M S(v), as shown in Equation 3.2.

Es(v) = X

p∈VM S(v)

arccos

 NS(v) · NS(p) kNS(v)kkNS(p)k



(3.2) The slice error Es indicates that if the minimum slice normal of the vertices on the MSP slice about the same, this slice is a slice on which a good skeleton point can be derived. Figure 3.5 show the distribution of slice error over the mesh. We can clearly recognize that the slice error on the terminal parts or on thesurface details is often large. The slice error reflect the parts where the MSP computation is not consistent with our expectations.

(a) Horse model (b) Front side (c) Back side

(d) Camel model (e) Front side (f) Back side

Figure 3.5: Slice error distribution with color-codings

In order to alleviate the influence of surface fluctuations that perturb the computation of MSP function, we need to apply a smoothing procedure on the parts with large slice error. Instead of applying the smoothing operation on the mesh, we are going to smooth the MSP deviation and obtain more accurate MSP slices. We propose to use more samples in the MSP computation of each vertex rather than the single direction sample of the vertex normal. We can obtain the more accurate MSP information by increasing the samples at each MSP computation.

To use more samples in the MSP computation at each vertex, we first create a normal cone that use the vertex normal to be the center axis and vary the angle of the cone according to the value of slice error. Then we randomly create the samples inside the cone. As shown in Figure 3.6(a), the green dash lines enclose a cone with angle θ, the red line is the axis of the normal cone, and the gray lines are the sample directions.

(a) Example:Normal cone in 2D. (b) Example:Normal cone of a vertex of a 3D model.

Figure 3.6: Normal Cone Representation.

To generate evenly distributed samples inside the cone, we apply the method proposed in [Gre03]. We first take a pair of independent canonical random numbers ξx and ξy from 0.0 to 1.0. Then map the two random values into the two angles of the spherical coordinates using the Equation 3.3. To limit the angle θ to be smaller than the cone angle, we create a direction sample (θ, φ) of the spherical coordinates.

We create a local axis system that use the surface normal to be the Y axis. As shown in

Figure 3.6(b), the green is the local X axis and the yellow lines is the local Z axis. We use this local axis systems to be the axes of the spherical coordinates. Therefore, we can generate a sample by mapping the spherical coordinates (θ, φ) to the Cartesian coordinate system using the Equation 3.3.

(2 arccosp

1 − ξx, 2πξy) → (θ, φ) (3.3)

Sc= Rotq(φ, Ylocal) · Rotq(θ, Zlocal) · N (3.4) where the Rotq(θ, Axis) is the rotation matrix that rotates around the Axis in θ degree, which is the quaternion rotation scheme.

For each vertex, we will generate several samples inside its normal cone and use the samples to compute MSP function. By increasing the samples in the MSP computation, we can obtain a smoothing effect and alleviate the influence of surface fluctuation. We call the process as the cone refinement of the MSP function. Figure 3.7 shows the distributions of slice error before and after the cone refinement. The slice error after the cone refinement is much lower than the original one, especially the terminal part.

We figure the MSP values of vertices into charts in Figure 3.8 and the slice error into charts in Figure 3.9. The x-axis of the chart is the vertex index of the horse model which is spatial continuous. We can find out that the distribution of the refined MSP is elaborate more stable than the one of the original MSP and the slice error after the cone refinement is generally smaller than the original one.

(a) Slice error distribution

(b) Slice error distribution(with cone refinement)

Figure 3.7: Comparison of slice error distribution of horse model.

(a) MSP distribution of vertices.) (b) Refined MSP distribution of vertices.

Figure 3.8: MSP/Refined MSP distribution charts for the horse model.

(a) Slice error distribution (b) Slice error distribution(after cone refine-ment)

Figure 3.9: Distribution charts of the slice error for the horse model.

We use the value of slice error to control the angle of cone. The angle of the normal cone is proportional to the slice error. If the slice gets more error, we use larger normal cone to refine it. Because the computation cost of normal-cone refinement is large, we also use the slice error to decide whether to apply the cone refinement. We use 0.25 to be threshold to decide whether to apply normal-cone refinement and change the angle of cone linearly from 25 degree to 55 degree according the normalized slice error from 0.25 to 1.0.

4

Skeleton Extraction using

相關文件