Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.

Slides:



Advertisements
Similar presentations
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
Advertisements

Fast Algorithms For Hierarchical Range Histogram Constructions
Synchronized Multi-character Motion Editing Manmyung Kim, Kyunglyul Hyun, Jongmin Kim, Jehee Lee Seoul National University.
Data Mining Cluster Analysis: Advanced Concepts and Algorithms
LOCOMOTION IN INTERACTIVE ENVIRONMENTS Navjot Garg.
Beams and Frames.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Trajectory Generation
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
CITS2401 Computer Analysis & Visualisation
Section 4: Implementation of Finite Element Analysis – Other Elements
1Notes  Assignment 0 is due today!  To get better feel for splines, play with formulas in MATLAB!
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Structure from motion.
Offset of curves. Alina Shaikhet (CS, Technion)
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Automated Extraction and Parameterization of Motions in Large Data Sets SIGGRAPH’ 2004 Lucas Kovar, Michael Gleicher University of Wisconsin-Madison.
1cs426-winter-2008 Notes  Ian Mitchell is running a MATLAB tutorial, Tuesday January 15, 5pm-7pm, DMP 110 We won’t be directly using MATLAB in this course,
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
16 MULTIPLE INTEGRALS.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
Human Computer Interaction 7. Advanced User Interfaces (I) Data Scattering and RBF Course no. ILE5013 National Chiao Tung Univ, Taiwan By: I-Chen Lin,
Curve Modeling Bézier Curves
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to Computer Graphics with WebGL
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Chapter 5 Trajectory Planning 5.1 INTRODUCTION In this chapters …….  Path and trajectory planning means the way that a robot is moved from one location.
Robotics Chapter 5 – Path and Trajectory Planning
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Vision-based human motion analysis: An overview Computer Vision and Image Understanding(2007)
Chapter 7: Trajectory Generation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: 1.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Course 8 Contours. Def: edge list ---- ordered set of edge point or fragments. Def: contour ---- an edge list or expression that is used to represent.
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves Jinxiang Chai.
Polynomials, Curve Fitting and Interpolation. In this chapter will study Polynomials – functions of a special form that arise often in science and engineering.
Trajectory Generation
Rick Parent - CIS681 Motion Capture Use digitized motion to animate a character.
Flexible Automatic Motion Blending with Registration Curves
11/26/02(C) University of Wisconsin Last Time BSplines.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Motion Graphs By Lucas Kovar, Michael Gleicher, and Frederic Pighin Presented by Phil Harton.
Animation From Observation: Motion Editing Dan Kong CMPS 260 Final Project.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Deformation Modeling for Robust 3D Face Matching Xioguang Lu and Anil K. Jain Dept. of Computer Science & Engineering Michigan State University.
1 Spherical manifolds for hierarchical surface modeling Cindy Grimm.
Physically-Based Motion Synthesis in Computer Graphics
Trajectory Generation
Character Animation Forward and Inverse Kinematics
© University of Wisconsin, CS559 Spring 2004
Lecture 3: Camera Rotations and Homographies
Camera Calibration class 9
Synthesis of Motion from Simple Animations
Motion Graphs Davey Krill May 3, 2006.
Presentation transcript:

Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer

Creating believable animated humans is hard –Results are difficult to reuse –Modifying an animation can be almost as hard as creating the original motion –Exact motion may not be known until runtime The Problem

Sets of example motions are combined with an interpolation scheme to produce new motions Interpolated motions must keep the look and feel of the examples Examples are precious and hard to obtain Interpolation scheme must be efficient to run in real time The Interpolation Method

Verb – a parameterized motion –Walking, Running, Swimming Adverb – the parameters for the motion –Happy, Tired, Frustrated, Confused Verb Graph – a graph of motions with transitions between them Verbs and Adverbs

An axes is defined for each adverb This creates a multidimensional adverb space of all possible variations of a particular verb Every example or interpolated motion can be placed in this adverb space based on the values of its parameters Adverb Spaces

Two main parts: –Authoring system Allows for creating verbs from sets of examples Allows for combining verbs together –Runtime system Determines which verb is currently in use Calculates figure’s pose at each frame Parts of the System

System assumes figures are constructed from a hierarchy of rigid links connected by joints Each joint may have one or more DOFs Root of hierarchy has 6 additional DOFs The DOF functions are created by interpolating the example motions which are weighted by their adverbs (this is the hard part) Animated Figures

All examples of a particular verb must be structured similarly –Start on same foot –Take same number of steps The examples must have a consistent use of joint angles Restrictions on Examples

Each example motion is placed into the adverb space by giving it adverb values Key times must also be defined in each example Each example is given a set of constraints Annotation

Example Populated Adverb Spaces

Keytime – an instant when an important structural event occurs –Foot down –Foot up Specifying keytimes enables the different example motions to be of different time durations Key Times

For interpolation to work, time must be warped so that examples of varying lengths can be compared Clock time gets transformed into a generic time based on the key times Time Warping In this way all of the examples can be put into a canonical timeline and will be at the same structural point of motion for any given t

Example Time Mapping

Key times also specify the periods during which kinematic constraints should be enforced Specific constraint conditions are not evaluated until runtime when they are triggered by a key time being crossed To find the DOF changes needed to satisfy the constraint, solve the linear system: Constraints

Populate adverb space with examples Every point p in the adverb space defines a motion with the specified parameters Combine radial basis functions of all the examples and add in a linear polynomial –Polynomial provides an approximation to the space –Radial basis functions locally adjust the polynomial Creating New Motions

Create a best fit hyperplane through the adverb space that minimizes the error between an example’s value in the plane and its actual value Linear Approximation

Radial Bases These are used to locally adjust the linear approximation returned by the hyperplane The basis functions are dilated cubic B-splines Dilation factor gives a support radius equal to twice the distance to nearest example

Summing Up the Math The height of p in the approximated hyperplane Sum of all the radial basis functions at p Actual value of each of our examples in the hyperspace Value of our examples interpolated into the approximated hyperplane Interpolated control point for new motion The residuals formed from the introduction of the hyperplane Special square matrix created to cancel out the residuals Weights of the radial basis functions Radial basis functions with parameter p

Summing Up the Math Creates a wavy hyperplane The value of each example is on the hyperplane and there is a spline shaped mountain extending away from it in all directions for an amount equal to twice the distance to a neighbor A new motion will be somewhat effected by all of the examples but even more so by its close neighbors

A directed graph of verbs Nodes correspond to verbs Arcs correspond to transitions between verbs If multiple arcs leaving a node, each arc is given a likelihood of occurring Adverbs are shared across verbs even if they do not apply Static Verb Graphs

Transitions are meant to smoothly move control between verbs They map similar segments between two verbs Transition duration is determined by taking the average of the lengths of the transition intervals of the two verbs in generic time The two verbs are blended by fading the joint angles of the first verb out while fading those of the second verb in Transitions

DOFs are found by interpolating joint positions between the verbs Transitions

A search is made to find shortest path through graph from current verb to desired verb Upcoming transitions and verbs stored in queue Must remember position and orientation between verbs If queue goes empty and verb ends, a transition is chosen based on the transition weights Transitioning at Runtime

Events inserted into event queue in timestamp order and associated with callback function Three event types –Normal –Sync –Optional Render event calculates DOFs for timestamp Display event displays rendered image when timestamp equals clock Runtime System

Runtime Processing Only computed when the parameters to a verb or the whole verb itself changes Only four of these are needed at a time and they are only computed once per verb adverb set