Slide 1OutlineRequired ReadingsKinematic Motion EditingKinematic Motion EditingKinematic Motion EditingToy ExamplesToy ExamplesToy ExamplesToy ExamplesToy Examples: Idea #1Toy Examples: Idea #1Toy Examples: Idea #1Toy Examples: Idea #1Toy Examples: Idea #1Toy Examples: Idea #1Idea #1: Modification & FilterAnother Example: Three ConstraintsAnother Example: Three ConstraintsIdea #1: SummaryIdea #1: SummaryIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationIdea #2: Constrained OptimizationSlide 30Human motion representationHuman Motion EditingUser ConstraintsSolution #1: Per-frame IK+FilteringSolution #2: Spacetime Motion EditingSolution #2: Spacetime Motion EditingSolution #2: Spacetime EditingSolution #2: Spacetime EditingSolution #2: Spacetime Motion EditingMotion RetargetingMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion Retargeting: Key IdeaMotion RetargetingMotion Editing and RetargettingJinxiang ChaiOutline•Motion editing [video, click here]•Motion retargeting [video, click here]Required Readings•Comparing Constraint-Based Motion Editing Methods•Retargeting Motion to New CharactersKinematic Motion Editing•Goal: Edit an input motion sequence to achieve new goals specified by the userKinematic Motion Editing•Goal: Edit an input motion sequence to satisfy achieve new goals specified by the usere.g., edit the motion to meet new constraintsKinematic Motion Editing•Goal: Edit an input motion sequence to satisfy achieve new goals specified by the usere.g., edit the motion to meet new constraints- could be multiple constraintsToy Examples•Edit 1D function to match user constraintsOld motion M={m(t)| t=1,…,T} tm(t)Toy Examples•Edit 1D function to match user constraintstm(t)Old motion M={m(t)| t=1,…,T}Toy Examples•Edit 1D function to match user constraints - could be multiple constraintstm(t)Old motion M={m(t)| t=1,…,T}Toy Examples•Edit 1D function to match user constraints - could be multiple constraintsOld motion m(t), t=1,…,T tm(t)So how can we generate a new motion M’ to satisfy new constraints c?Toy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints CtM(t)Old motion m(t), t=1,…,TToy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints Ctm’(t)Does this work?Toy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints Ctm’(t)Does this work? - probably not, the new motion is not smooth!Toy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints CtM’(t)Does this work? - probably not, the new motion is not smooth! - filter the motion!Toy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints C•Filter the edited motion M’tM’(t)Does this work? - probably no, the new motion is not smooth! - filter the motion! - but the new motion now does not meet cons!Toy Examples: Idea #1•Modify the motion m(t), t=1,…,T using new constraints C•Filter the edited motion M’tM’(t)Does this work? - probably no, the new motion is not smooth! - filter the motion! - repeat modification and filtering process!Idea #1: Modification & FilterAnother Example: Three ConstraintsAnother Example: Three ConstraintsIdea #1: Summary•Pros - easy to implement - computationally efficient•Cons - does not handle complex constraints, e.g., constraint functions involved more than one frames Old motion M={m(t)| t=1,…,T} tm(t)t1t2e.g., m’(t1)-m’(t2)=5Idea #1: Summary•Pros - easy to implement - computationally efficient•Cons - does not handle complex constraints, e.g., constraint functions involved more than one frames How to address this limitation?Idea #2: Constrained Optimization•Modify the motion M to satisfy new constraints COld motion m(t), t=1,…,T tm(t)Idea #2: Constrained Optimization•Modify the motion M to satisfy new constraints COld motion m(t), t=1,…,T tm(t)But this is an ill-posed problem - There are tons of solutions that satisfy the new constraints CIdea #2: Constrained Optimization•Modify the motion M to satisfy new constraints COld motion m(t), t=1,…,T tm(t)But this is an ill-posed problem - There are tons of solutions that satisfy the new constraints C - Remove the ambiguity by picking the solution with a minimal change across an entire motionIdea #2: Constrained Optimization•Modify the motion M to satisfy new constraints COld motion m(t), t=1,…,T tm(t)2,...,1),(')()('minarg tmtmTttmCMf )(Idea #2: Constrained Optimization•Modify the motion M to satisfy new constraints COld motion m(t), t=1,…,T tm(t)2,...,1),(')()('minarg tmtmTttmCMf )(Minimize the changesSatisfy new constraintsIdea #2: Constrained Optimization•We can also formulate this as an unconstrained optimization problem Old motion m(t), t=1,…,T tm(t)22,...,1),(')()()('minarg CMftmtmTttmIdea #2: Constrained Optimization•This is also called as spacetime optimization or trajectory optimization •Simultaneously compute the entire motionOld motion m(t), t=1,…,T tm(t)22,...,1),(')()()('minarg CMftmtmTttmIdea #2: Constrained Optimization•This is also called as spacetime optimization or trajectory optimization •Simultaneously compute the entire motionOld motion m(t), t=1,…,T tm(t)22,...,1),(')()()('minarg CMftmtmTttmNow Back to Human Motion Editing!A sequence of poses: q1,q2,…qTEach pose is represented as a high-dimensional vector qt: RnMotion trajectoriesPose qtMotion q1,…qTHuman motion representationHuman Motion Editing•Human motion is a high-dimensional function•Constraints could be any kinematic constraintsUser ConstraintsAny kinematic constraints throughout the motionPosition cons.Orientation cons. Distance cons.Joint angle cons.Solution #1: Per-frame IK+Filtering•Step 1: Per-frame inverse kinematics to modify poses in each frame with new constraints. - this might be ill-posed - remove ambiguity by minimizing the difference between old poses and new poses•Step 2: motion filtering.•Repeat step 1 and 2 until the solution convergesSolution #2: Spacetime Motion Editing•Consider all constraints simultaneously•Use optimization to solve
View Full Document