MoCap (contd.) Computer Graphics II Autumn 2017-2018
Outline MoCap (contd.) 1 MoCap (contd.) Bruderlin & Williams, 1995
Outline 1 MoCap (contd.) Bruderlin & Williams, 1995
Blending and Time Warping We have seen this idea previously with keyframe animation For each DOF i f Ti (t) = (1 α(t))f Mi (t) + α(t)f Ni (t) where, for each DOF, i, T i is the transition sequence, M i is the from sequence, N i is the to sequence and α(t) varies from 0 to 1 during transition If the curves are represented by B-spline control points then we would represent the jth blend point of the ith DOF by d ij = αb ij + (1 α)c ij 0 α 1 But this won t be enough because it is unlikely this will correspond to a real motion Even in transition from walk to run the foot must touch earth before being lifted; the motions must be aligned
Blending and Time Warping (contd.) To achieve alignment we need to time warp the sequences, a non-uniform re-sampling method We stretch and compress the samples of one motion so that the key positions match the time they occur in the other That is we require poses k 1, k 2 and k 3 to occur at times t 1, t 2 and t 3 to match keys in some other sequence
Blending and Time Warping (contd.) Time warping can be used even if the end goal isn t to create a blend of two sequences If we have two styles of walking, say a drunken walk and a brisk walk, then we can time warp the drunken walk with the brisk walk to get a drunken walk at a brisk pace This idea, sometimes called multi-target interpolation, can be used to create a new library sequence that has characteristics of both
Blending and Time Warping Aligning Motion Sequences Automatic time-warping requires finding the (best) alignment between the two sequences This involves finding the best combination of compression and expansion of one sequence to align with the others Expensive (and complicated) process that needs to be carried out offline Need to bear in mind that for complex motions dance movements, gymnastics it may be impossible to blend into a feasible motion, due to multiple DOFs One approach (Bruderlin, Williams, 1995) finds the best correspondence between the two sets of vertices The cost of each correspondence is the amount of work it takes to deform one signal (sequence) by means of stretching and compressing into the other in manner of previous figure
Blending and Time Warping Aligning Motion Sequences (contd.) The cost is computed as the sum of local stretching and bending Bending measures the difference in angles between corresponding vertex triples in each signal; stretching measures the distance between corresponding vertex pairs
Blending and Time Warping Aligning Motion Sequences (contd.) After previous step we get a correspondence between vertices of the two sequences (Fig. 10 previously) With the correspondence between vertex sets made, we must now plan how to warp one into the other
Blending and Time Warping Aligning Motion Sequences (contd.) If sequence B is being warped into sequence A (we want to change B to look like A) then three cases arise. If there is a 1:1 correspondence between A i and B j then the warped B sample Bi w will be simply B j there are multiple B samples, say B j, B j+1,..., B j+k mapped to a single A i then the average of these is taken as the warped value Bi w one sample B j corresponds to several A samples, say A i, A i+1,..., A i+k, then k B w samples need to be generated and this is done by extrapolating a B-spline around B j
Motion Warping Motion warping, also known as motion displacement, means making local adjustments to the amplitude to motion data signals The aim is to maintain the same global characteristics of the sequence yet make local adjustments For example, we might modify a MoCap sequence for knocking on a door to knocking on the door higher up; or we could modify a walking sequence so that the person crouches down to walk through a low doorway
Motion Warping (contd.) For a given DOF we can displace it at time t with f (t) = f (t) + d(t) where d(t) is the required displacement Although we may want just a displacement, d, in a single frame the advantage of d(t) is that we can add the required displacement into the original motion gradually acting over a number of frames Given a set of displacements and their associated times we interpolate them using B-splines to create d(t) (dotted curve resulting from Step 2 below) and adjusted if necessary (Step 3) This displacement is then added to f (t) in Step 4 to get the new motion curve
Motion Warping (contd.)