10.07.2015 Views

A Powell Optimization Approach for Example-Based ... - JP Lewis

A Powell Optimization Approach for Example-Based ... - JP Lewis

A Powell Optimization Approach for Example-Based ... - JP Lewis

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

it to example positions to obtain delta valuesd i ,i = 0,...,N − 1. The final positions of v inexample poses are v i + d i ,i = 0,...,N − 1, andwe call them target positions v t i . We summarizeabove operations as:v t i = v i + d i = SSD i (v r )+d i (4)where v r means the rest position of v andSSD i (∗) represents the equation 1. The “<strong>for</strong>wardPSD” approach then concludes by interpolatingd i as a function of pose.In the inverse approach we instead apply theinverse of SSD i (∗) to v t i to obtain a modified restpose vertex v r i . The difference of vr i and v r producesnew delta value d r i , which will be the inputof linear system (equation 2) introduced inthe previous section.d r i = SSD −1i (v t i ) − vr (5)In this step we need implement the inverse skinningoperator SSD −1 . Since SSD is a 3D trans<strong>for</strong>mation,SSD −1 simply is the inverse trans<strong>for</strong>mationmatrix generated by SSD. For the situationwhere other unknown skinning operationsare adopted, we propose a unified frameworkwhich will be discussed in the following section.Next we build a new delta vector D r with ith elementas d r i , and replace D in equation 2 withd r i to get a new weight vector W r .W r = Φ −1 D r (6)In the synthesis phase, <strong>for</strong> an intermediate posex we have:d r N−1x = ∑ ω r i φ(‖ x i − x ‖) (7)i=0then we add this d r x to v r and let SSD finish therest of the job:v x = SSD x (v r + d r x) (8)v x represents the final position of vertex v inpose x.4.2 De<strong>for</strong>mation Direction AnalysisIn this section we will analyze and compare thede<strong>for</strong>ming effects of both <strong>for</strong>ward PSD and inversePSD, explaining why the inverse methodis superior..Given two examples as shown in Figure 2 (a)and (b) respectively, vertex v with the position v rin the rest pose(0degrees ) is sculpted to a “targetposition” v t i in an example pose (90 degrees).The delta value in the first pose is zero. ThenFigure 2: (a). rest pose; (b). example pose with rotationof 90 degreesFigure 3: de<strong>for</strong>mation directionwe apply <strong>for</strong>ward and inverse PSD respectivelyto interpolate these two poses. For an intermediatepose x, we have two distinct de<strong>for</strong>mingvertices resulting from two algorithms, as illustratedin Figure 3, v x ssd ,vx p,v x Ip are the de<strong>for</strong>medpositions from SSD, <strong>for</strong>ward and inverse PSDin an intermediate pose x. We use two anglesα p and α Ip to analyze how directions of a de<strong>for</strong>medvertex change with the pose. In the <strong>for</strong>wardcase, α p is <strong>for</strong>med by the vector (v x ssd ,vx p)and the line y = Y v xssd, where Y v xssdis the y coordinateof v x ssd. For two examples shown in Figure2 (a) and (b), we have delta values d 1 =[d 1x ,d 1y ]and d 2 =[d 2x ,d 2y ]. For equation 2:∣ ω ∣ 1x ω 1y ∣∣∣ =ω 2x ω 2y∣ φ ∣11 φ 12 ∣∣∣ −1 ∣ ∣ ∣∣ d 1x d 1y ∣∣∣φ 21 φ 22 d 2x d 2yBecause in the rest pose, we didn’t generateany movement <strong>for</strong> v , then d 1 =[d 1x ,d 1y ]=[0,0].Taking the model in rest pose as an example isa common practice when applying shape interpolation,since interpolating effects from otherexamples should not change the original modelin rest pose. There<strong>for</strong>e, by solving above equationwe have:ω 1x = φ11 −1 1x + φ12 −1 2x = φ12 −1 2xω 2x = φ21 −1 1x + φ22 −1 2x = φ22 −1 2x = d 2x5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!