22
Snap Together Motion : Snap Together Motion : Assembling Run-Time Assembling Run-Time Animation Animation Michael Gleicher Michael Gleicher Hyun Joon Shin Hyun Joon Shin Lucas Kovar Lucas Kovar Andrew Jepsen Andrew Jepsen University of Wisconsin University of Wisconsin

Snap Together Motion : Assembling Run-Time Animation

  • Upload
    mikkel

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Snap Together Motion : Assembling Run-Time Animation. Michael Gleicher Hyun Joon Shin Lucas Kovar Andrew Jepsen University of Wisconsin. Virtual Environment. demand on motion synthesis motion quality control little run time overload. Virtual Environment. demand on motion synthesis - PowerPoint PPT Presentation

Citation preview

Page 1: Snap Together Motion :  Assembling Run-Time Animation

Snap Together Motion : Snap Together Motion : Assembling Run-Time AnimationAssembling Run-Time Animation

Michael GleicherMichael GleicherHyun Joon ShinHyun Joon Shin

Lucas KovarLucas KovarAndrew JepsenAndrew Jepsen

University of WisconsinUniversity of Wisconsin

Page 2: Snap Together Motion :  Assembling Run-Time Animation

Virtual EnvironmentVirtual Environment

demand on motion synthesisdemand on motion synthesis– motion qualitymotion quality– controlcontrol– little run time overloadlittle run time overload

Page 3: Snap Together Motion :  Assembling Run-Time Animation

Virtual EnvironmentVirtual Environment

demand on motion synthesisdemand on motion synthesis– motion qualitymotion quality– controlcontrol– little run time overloadlittle run time overload

snap together motionsnap together motion

Page 4: Snap Together Motion :  Assembling Run-Time Animation

Basic IdeaBasic Idea

processing a corpus of motion dataprocessing a corpus of motion data

constructing a highly connected motion graphconstructing a highly connected motion graph

making motion segments “snappable”making motion segments “snappable”

Page 5: Snap Together Motion :  Assembling Run-Time Animation

Basic IdeaBasic Idea

processing a corpus of motion dataprocessing a corpus of motion data qualityquality

constructing a highly connected motion graph constructing a highly connected motion graph controlcontrol

making motion segments “snappable”making motion segments “snappable” little runtime overheadlittle runtime overhead

Page 6: Snap Together Motion :  Assembling Run-Time Animation

Motion GraphMotion Graph

– Kovar Kovar et alet al., Lee ., Lee et alet al., and Arikan ., and Arikan et alet al..

constructing graph with edges of pieces of motionconstructing graph with edges of pieces of motion graph searching to synthesize motiongraph searching to synthesize motion smooth transitions in runtimesmooth transitions in runtime

Page 7: Snap Together Motion :  Assembling Run-Time Animation

Motion GraphMotion Graph

Page 8: Snap Together Motion :  Assembling Run-Time Animation

OverviewOverview structured motion graph with hub nodesstructured motion graph with hub nodes

– structured graphstructured graph– hub node: a node with a large number of edgeshub node: a node with a large number of edges

snappable motion segmentssnappable motion segments– displacement mapdisplacement map

Hub NodeHub Node

Snappable MotionSnappable MotionOriginal MotionOriginal Motion

Page 9: Snap Together Motion :  Assembling Run-Time Animation

OverviewOverview

at run-timeat run-time– a highly connected grapha highly connected graph– concatenating motion pieces at edgesconcatenating motion pieces at edges

Page 10: Snap Together Motion :  Assembling Run-Time Animation

AuthoringAuthoring

graph constructiongraph construction– choosing match frameschoosing match frames

snappable motionssnappable motions– average postureaverage posture– displacement mapdisplacement map– handling constraintshandling constraints

Page 11: Snap Together Motion :  Assembling Run-Time Animation

Choosing Match FramesChoosing Match Frames

graph construction by user control/heuristic graph construction by user control/heuristic finding a pose having largest match setfinding a pose having largest match set

– match set: poses with small errorsmatch set: poses with small errors– error metric: point cloud matching error metric: point cloud matching [Kovar [Kovar et alet al]]

error matrixhub match set

Page 12: Snap Together Motion :  Assembling Run-Time Animation

Averaging PosesAveraging Poses

coordinate frame alignmentcoordinate frame alignment– align every match set into a coordinate framealign every match set into a coordinate frame

2D rigid transformation that minimizes point cloud error2D rigid transformation that minimizes point cloud error

two sequences of poses point clouds transformed

i

izxiizx

w 2',,

,,||||min

0000

pTp

Page 13: Snap Together Motion :  Assembling Run-Time Animation

Averaging PosesAveraging Poses

averaging joint angleaveraging joint angle– use quaternion estimator [Park, Shin, Shin]use quaternion estimator [Park, Shin, Shin]

orientation with the minimum squared sum of errororientation with the minimum squared sum of error

i

ii

ierrorE 22* sin),( qq

Page 14: Snap Together Motion :  Assembling Run-Time Animation

Displacement MapsDisplacement Maps

displacement mapdisplacement map– fitting average velocities together with posefitting average velocities together with pose– two-level displacement maptwo-level displacement map

coarse knots for fitting the posecoarse knots for fitting the pose denser knots for fitting the velocitydenser knots for fitting the velocity

Page 15: Snap Together Motion :  Assembling Run-Time Animation

ConstraintsConstraints

enforcing consistency in constrained positionenforcing consistency in constrained position– problem:problem:

– solution:solution:collecting hub nodes with possible constraint conflictscollecting hub nodes with possible constraint conflictsdetermining the constraint position over the setdetermining the constraint position over the set

a hub node another hub nodea piece with inconsistent constraint

Page 16: Snap Together Motion :  Assembling Run-Time Animation

Runtime Motion SynthesisRuntime Motion Synthesis

a motion piecea motion piece– corresponding nodes + coordinate transformcorresponding nodes + coordinate transform

graph traversalgraph traversal– user-controlled traversaluser-controlled traversal– or search algorithmor search algorithm

motion synthesismotion synthesis– concatenating piecesconcatenating pieces– applying coordinate transformationapplying coordinate transformation

little overloadlittle overload

Page 17: Snap Together Motion :  Assembling Run-Time Animation

ResultsResults

VideoVideo

Page 18: Snap Together Motion :  Assembling Run-Time Animation

SummarySummary

a motion synthesis frame worka motion synthesis frame work– controllability with highly connected graphcontrollability with highly connected graph– preprocessing everything in authoring steppreprocessing everything in authoring step– assembling snappable clipsassembling snappable clips

authoring toolauthoring tool– user-controllable graph constructionuser-controllable graph construction– seamlessly snappable clipsseamlessly snappable clips– preserving original motion qualitypreserving original motion quality

Page 19: Snap Together Motion :  Assembling Run-Time Animation

Thanks toThanks to

Page 20: Snap Together Motion :  Assembling Run-Time Animation
Page 21: Snap Together Motion :  Assembling Run-Time Animation

ContentsContents

IntroductionIntroduction Motion GraphMotion Graph OverviewOverview Choosing Match FramesChoosing Match Frames TransitionTransition

– Matching Coordinate FramesMatching Coordinate Frames– Displacement mapsDisplacement maps– ConstraintsConstraints

at Run Timeat Run Time

Page 22: Snap Together Motion :  Assembling Run-Time Animation