본문 바로가기
프로그래밍

[tbd] Deformation Transfer for Triangle Meshes (2004)

by 𝓃𝒶𝓃𝒶。 2015. 3. 23.

Deformation Transfer : 3 steps

 

1. Establish triangle correspondence.

2. Represent source deformation with per-triangle affine transformations.

3. Apply source transformations to target by solving optimization problem.

 

 

 

1. Triangle correspondence

 

Target triangle mesh transform "like" the source mesh.

Source와 target의 mesh가 다르기 때문에 일대다/다대일의 매치가 가능하다.

특정 포인트를 찍어 source에서 target으로의 iterative transformation을 구한다. (같은 shape이 될 때까지)

각 포인트의 spatial proximidity를 구하여 correlationship을 유추할 수 있다.

 

 

2. Deformation representation

 

각 triangle마다 하나의 affine transformations

Ti : 3X3 matrix. rotation/scale/skey by the deformation on triangle i

di : 3X1 vector. translation

 

v4 생성 (triangle normal)

 

 

 

모든 source mesh에 적용할 경우, translation에 대해서는 아무것도 고려하지 않았기 때문에 orientation, scale, skew만이 적용된 불완전한 target mesh의 transformation이 일어난다.

단순히 translation을 추후에 행할 경우 source mesh와 target mesh의 spatial information이 처음부터 다르기 때문에 맞아떨어지지 않는다.

 

 

3. Solving optimization problem

 

Goal: new target mesh that matches per-triangle source deformations as closely as possible.

 

- Formulate as quadratic optimization

- Solve directly for deformed target mesh

- Leads to closed form solution

 

gradient of global deformation function을 source에서 target으로 deliver 하기 때문에 가능

 

minimization (S: source matrices, T: target matrices)

 

 

 

 

-> Normal Equations

- sparse

- efficiently solved with LU factorization

- reuse factorization for different RHS's

- positional constraints trivial