• 沒有找到結果。

Initial embedding

在文檔中 以骨架驅動之交互參數化 (頁 28-33)

3.4 Cross-parameterization

3.4.1 Initial embedding

We embed the parts in correspondence into a 2D circular domain by using the mean value coordinates proposed by [Flo03], which is shape preserving and has low angular distortion.

The boundary vertices of S are mapped into the boundary vertices of S0. For each inner vertex vi of S, its projected point ui on S0 is derived by minimizing the following local quadratic energy:

3.4 Cross-parameterization 18

is the mean-value coefficient, αij and βij are the angles shown in Figure 3.5. The optimal

v

i

β

ij

α

ij

v

j

Figure 3.5: The differential coordinates.

positions for uican be found by solving a sparse system of linear equations:

X

(i,j)∈E

wij(uj− ui) = 0 (3.3)

In order to have a better cross-parameterization, the embedding of source and target parts need to be adjust. This can be done by requiring users to specify a matching point on the bound-aries of the parts. As shown in Figure 3.6, users specify the matching point on the boundbound-aries of the source and target parts (ex: the bottom of the neck). Note that specifying these matching points are much easier and more intuitive than assigning the general corresponding constraint points to user. In our experience, one to two matching points are suitable in most cases.

For each vertex uiin the parameter domain let us define its stretch σi = σ(ui) by

where A(T ) denotes the area of triangle T and the sums are taken over all triangles Tj sur-rounding mesh vertex vi corresponding to ui, σ(U ) is the L2stretch for a embedded triangle, Γ and γ are the maximal and minimal Eigen values of the metric tensor induced by the mapping [SSGH01]. To alleviate the L2 stretch of the embedded triangles and to have a more uniform

3.4 Cross-parameterization 19

matching point

S’ T’ T’

S T

without adjustment with adjustment

Figure 3.6: The illustration for the orientation adjustment.

distribution of the vertices on the parameterization domain. We relax the stretch of the embed-ding geometry with the previous work of [YBS04], which iteratively changing the edge weights for each vertex:

and solving (3.3) to derive the new optimal positions. The process iteratively pushes each embedded vertex towards a direction with lower stretch. Therefore, embedded triangle with high L2stretch can be lowered by the replacement of the neighbor vertices.

Notice that we do not need to relax the stretch of the embedding geometry to the optimal result like [YBS04]. The main purpose of this approach is to prevent the embedding vertices from sinking into the local minimum of the following relaxation process. Since the control variable of the following relaxation process are the stretch error and the mapping error, which are defined in the following paragraphs, an extremely high stretch may dominant the relaxation

3.4 Cross-parameterization 20

process and let the mapping error to be merely effective.

3.4.2 Relaxation

After the initial part parameterization, the source and target part are embedded into a 2D circu-lar domain without folding. We proposed a relaxation approach to iteratively improve the result on the source and target. The main purpose is to push each embedded vertex towards a direction which leads to the position that has the reasonable mapping on surface. Using the same idea as [YBS04], each improvement step we adjust the one ring edge weight for each vertex of the pa-rameterization generated at the previous step. And the new optimal position for each embedded vertex is found by solving (3.3). The improvement process is execute until it converge, which the difference of the parameterization result between the last step and the current step are little or having a visually good mapping on surface.

w0ij = wijold

wmEm(i, j) + wsEs(j), (i, j) ∈ E (3.8) To reach our requirement, we modified the edge weight changing term in (3.7) of [YBS04] to (3.8). We add a mapping error into the system and alleviate the original stretch error to prevent it from dominating the edge weight adjustment process. The two error metrics are described below.

Mapping Error (Em)

The mapping error is used to guide the parameterization of the source mesh such that two adjacent vertices are mapped to two vertices on the target mesh that are close. As illustrated in Figure 3.7, the mapping error defined for the the edge (vi, vj) is to symbolize the distance between the two skeleton nodes corresponding to viand vj:

Em(i, j) = kp1 − p2k D

= kΩST(ΩS(vi)) − ΩT−1T T0S0T0SS0(vj))))k D

(3.9)

3.4 Cross-parameterization 21

where ΩS (ΩT) is the surface-to-skeleton mapping, ΩST is the skeleton-to-skeleton mapping between the source and target skeleton, D is the longest length on the skeleton.

Stretch Error (Es)

The stretch error is used to preserve the triangle shape to generate a parameterization that has a more uniform distribution within the embedded region. Here we simply use the L2 stretch term defined on the vertex as we mentioned before in (3.4). Since the L2 stretch symbolizes the root-mean-square stretch over all directions in the parameterized domain, we can not find a way to truly normalize it. Usually, the vertices in the fineness area of the model may have extremely higher stretch values than most of the vertices. Directly normalizing the stretch value using the average stretch value of the total vertices may result in too small stretch values for most vertices and hence let the mapping error dominate the weight adjustment process. Therefore, we normalize it using the mean of inliers’ stretch value M :

Es(i) = σi

M (3.10)

Here we use the Interquartile Rage to find the inliers since the calculation time is fast and easy to implement [UC96]. We sort all previous vertex stretch values in an increasing order. The first and third quartile (Q1 and Q3) are calculated to compute the Interquartile Rage: IQR = Q3− Q1. The inliers are the values between Q1− 1.5 ∗ IQR and Q3 + 1.5 ∗ IQR.

在文檔中 以骨架驅動之交互參數化 (頁 28-33)

相關文件