Animation by Example Michael Gleicher and the UW Graphics Group University of Wisconsin- Madison www.cs.wisc.edu/~gleicher www.cs.wisc.edu/graphics.

Slides:



Advertisements
Similar presentations
Recuperação de Informação B Cap. 10: User Interfaces and Visualization , , , November 29, 1999.
Advertisements

Animosaics Kaleigh Smith, Yunjun Liu, and Allison Klein McGill University Eurographics Symposium on Computer Animation 2005.
1.1 Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University
1 Interactive Fiction CIS 487/587 Bruce R. Maxim UM-Dearborn.
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Automating Graph-Based Motion Synthesis Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
Summary & Homework Jinxiang Chai. Outline Motion data process paper summary Presentation tips Homework Paper assignment.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1cs533d-winter-2005 Computer Animation Robert Bridson (preview of CPSC 426)
Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99.
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
KAIST CS780 Topics in Interactive Computer Graphics : Crowd Simulation A Task Definition Language for Virtual Agents WSCG’03 Spyros Vosinakis, Themis Panayiotopoulos.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
Animation From Motion Capture Motion Capture Assisted Animation: Texturing and Synthesis Kathy Pullen Chris Bregler Motion Capture Assisted Animation:
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
1cs426-winter-2008 Notes  Example final exam up in Work section of website Take with a grain of salt  Collision notes part 1 (primitive operations) up.
Animation by Adaptation Tutorial 2: Motion Editing Michael Gleicher Graphics Group Department of Computer Sciences University of Wisconsin – Madison
Composition of complex optimal multi-character motions C. Karen Liu Aaron Hertzmann Zoran Popović.
Computer Animation CS 445/645 Fall Let’s talk about computer animation Must generate 30 frames per second of animation (24 fps for film) Issues.
Motion Capture Laboratory School of Arts and Humanities Erik Jonsson School of Engineering and Computer Science University of Texas at Dallas.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Motion Capture.
05/09/02(c) 2002 University of Wisconsin Last Time Global illumination algorithms Grades so far.
Crowd Simulations Guest Instructor - Stephen J. Guy.
Animation. Pre-calculated Animation Do more now, less later.
Movie Maker in the High School Classroom Professional Development Workshop September 1, 2009 Facilitator: Heidi Camp Swartz Creek High School.
Retargeting Motion to New Characters By Dr. Michael Gleicher Aaron CrickenbergerCS551 Spring ‘02.
Animation by Example Michael Gleicher and the UW Graphics Group University of Wisconsin- Madison
Motion Editing (Geometric and Constraint-Based Methods) Jehee Lee.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Computing & Information Sciences Kansas State University Lecture 15 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 15 of 42 William H. Hsu.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Multimedia Animation. Animation Principles Persistence of vision object seen by human eye remains mapped on retina for a brief time after viewing display.
Motion Planning in Games Mark Overmars Utrecht University.
Fast and Accurate Goal- Directed Motion Synthesis For Crowds Mankyu Sung Lucas Kovar Michael Gleicher University of Wisconsin- Madison
A Hierarchical Approach to Interactive Motion Editing for Human-like Figures Jehee Lee Sung Yong Shin KAIST Jehee Lee Sung Yong Shin KAIST.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
1 1. Representing and Parameterizing Agent Behaviors Jan Allbeck and Norm Badler 연세대학교 컴퓨터과학과 로봇 공학 특강 학기 유 지 오.
Retargetting Motion to New Characters Michael Gleicher.
1cs426-winter-2008 Notes  Will add references to splines on web page.
UNC Chapel Hill M. C. Lin Basics of Motion Generation let X i = position,orient. of O i at t k = t 0,  i END = false while (not END) do display O i, 
CS-378: Game Technology Lecture #15.5: Physically Based Simulation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
Human Animation for Interactive Systems: Reconciling High-Performance and High-Quality Michael Gleicher and the UW Graphics Group University of Wisconsin-
Rick Parent - CIS681 Motion Capture Use digitized motion to animate a character.
What you need to know about camera shots and techniques.
Scalable Behaviors for Crowd Simulation Mankyu Sung Michael Gleicher Stephen Chenney University of Wisconsin- Madison
Motion Graphs By Lucas Kovar, Michael Gleicher, and Frederic Pighin Presented by Phil Harton.
Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.
Computer Graphics Chapter 12 Computer Animation.
Lecture 5: 11/5/1435 Computer Animation Lecturer/ Kawther Abas CS- 375 Graphics and Human Computer Interaction.
Data Driven Models of Motion Walking the Fine Line Between Performance, Realism and Style Chris White G-Lunch 2007.
Constrained Synthesis of Textural Motion for Animation Shmuel Moradoff Dani Lischinski The Hebrew University of Jerusalem.
Introduction to Animation In animation, a series of images are rapidly changed to create an illusion of movement.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Fundamentals of Computer Animation Motion Synthesis.
Simulation of Characters in Entertainment Virtual Reality.
Graphics/Vision Lab Open House! 1347 CS&S 1:30-4:00 Visual Computing UW Graphics Group (and friends)
Graphics Lab Open House! 1347 CS&S 1:30-4:00 The UW Graphics Group.
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Computer Animation CS 446 September 5, 2001.
Motion Capture CSE 3541 Matt Boggus.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Computer Graphics.
Computer Animation cgvr.korea.ac.kr.
N7 Graphic Communication
Easy Generation of Facial Animation Using Motion Graphs
UMBC Graphics for Games
WELCOME.
Computer Graphics Lecture 15.
Presentation transcript:

Animation by Example Michael Gleicher and the UW Graphics Group University of Wisconsin- Madison

Animation by Example: The Summary We can create new animations by adapting existing animations and pieces them together as needed. To do this we will: Leverage existing methods of getting motion Extend our work on adapting motions Present ways of putting motions together Consider ways to represent human motion

The Vision… Visual Media for Everyone ! Visual Media Pictures / Models Animations / Interactive Environments Everyone Not just artists Easier for artists too

The Computer Science Tools for the creation and delivery of visual media What representations to use Build from “real-world” data Use for synthesis Some current projects…

Current Projects Animation (Virtual Experiences) Motion Synthesis Character Geometry Crowds and Behavior authoring Vascular Visualization Virtual Videography

Virtual Experiences For training, entertainment, design, … Experience a scenario Not just a space People are a part of it Just one part, but an interesting one Emergency rescue training and rehearsal Crowds populating a space

Talk Roadmap Motion Retargetting: How do we use (and re- use) motions? Animation from Observation: How do we get good motions? Animation by Adaptation: Can we be adept enough at changing motion that re-use really is an option? Animation by Example: Can we synthesize new motions based on what we’ve seen already? OBSERVE RETARGET ADAPT SYNTHESIZE

Animation by Example? Animation is useful! Expressive, powerful, communicative, … Video, film, virtual environments, games, … Motion is hard! Subtle, difficult to characterize, … Lots of data, … Good motion is precious! If we can’t get new motions, we need to make use of existing ones!

Cut to the chase… An Example How do you make a character sneak around? Start with some captured motion of a person sneaking around Synthesize a new motion of a character “sneaking” somewhere else OBSERVE RETARGET ADAPT SYNTHESIZE

What did you just see? Small amount of example motion Examples of what I want Actions Quality Character did something different New path Character did it the same way Preserves “style” and “quality” OBSERVE RETARGET ADAPT SYNTHESIZE

How to make a Character “Sneak”? What is sneaking? Hard to define mathematically Abstract qualities matter Style, mood, realism, … Details matter Feet not sliding on the floor Subtle gestures OBSERVE RETARGET ADAPT SYNTHESIZE

Computer Animation 101: How do we get motion? Create it manually (keyframing) Common method used for film VERY talent and labor intensive Synthesize it by procedural methods Physical simulation, or ad-hoc methods Can’t get exactly what you want Capture it from a performer Motion Capture Animation from Observation OBSERVE RETARGET ADAPT SYNTHESIZE

Use markers and special cameras Tracking + Math Motion Capture: Optical Tracking All examples I will show are from optical motion capture

Mocap Pipeline (Animation from Observation) Increasingly stable technology It’s more than just pointing cameras at somebody! Getting the observations is just one part of the process Need to build usable representations of motion PlanShootProcessApply OBSERVE RETARGET ADAPT SYNTHESIZE

Why Edit Motion? What you get is not what you want! You get observations of the performance A specific performer A real human Doing whatever they did With the noise and “realism” of real sensors You want animation A character Doing something And maybe doing something else… OBSERVE RETARGET ADAPT SYNTHESIZE

The General Challenge Get a specific motion From capture, keyframe, … Specific character, action, mood, … Want something else But need to preserve original But we don’t know what to preserve Can’t characterize motion well enough* OBSERVE RETARGET ADAPT SYNTHESIZE *This is a working assumption of my research. I’d love to be proven wrong.

Three Problems Where does X live in the data? Where X  {style, personality, emotion, …} The things to keep or add Small artifacts can destroy realism Eye is sensitive to certain details Amazing what you can’t get away with Kovar, Schreiner and Gleicher, SCA ’02 How to specify what you want OBSERVE RETARGET ADAPT SYNTHESIZE

How do we handle these problems? Don’t know which details are important! Must preserve ALL details Since you don’t know what is important Need to understand artifacts better Need to represent what is important OBSERVE RETARGET ADAPT SYNTHESIZE

An Approach Constraint-Based Motion Editing Identify specific details in motions that must be preserved Constraints such as footplants Make conservative changes to motions Things that generally don’t cause problems Add low frequencies Blends with similar motions Re-establish constraints (solve) Avoid creating new artifacts OBSERVE RETARGET ADAPT SYNTHESIZE

Goal: one motion, a cast of characters Focus on similar structure OBSERVE RETARGET ADAPT SYNTHESIZE A concrete example… Retargetting Motion to New Characters

Retargetting Recipe 1. Define Constraints 2. Apply to motion to new character OBSERVE RETARGET ADAPT SYNTHESIZE

Retargetting Recipe 3. Solve constraints (band-limited adaptation) Many solutions Pick the best one for some definition of best OBSERVE RETARGET ADAPT SYNTHESIZE

Minimum Change A nonlinear, constrained, variational optimization problem How to measure change meaningfully? OBSERVE RETARGET ADAPT SYNTHESIZE

Band-limited adaptation High frequencies are important Eye is sensitive to them Always signifies important events Avoid high frequency changes Preserve existing high-frequencies Avoid adding new ones Band limit the changes Not the resulting motions OBSERVE RETARGET ADAPT SYNTHESIZE

Band-limited adaptation? Can’t look at individual frames Need to look across space and time Popping can be worse than skating OBSERVE RETARGET ADAPT SYNTHESIZE

Constraint Solutions for Editing Spacetime (single large non-linear optimization) Gleicher ’97, Gleicher ’98, Popovic and Witkin ’99 Hierarchical Splines Lee and Shin ’99 IK + Filter Gleicher ’00 Importance-Based Shin, Lee, Gleicher and Shin ’01 IK + Blending Kovar, Schreiner and Gleicher ’02 OBSERVE RETARGET ADAPT SYNTHESIZE

Retargetting Results Play retarget.avi OBSERVE RETARGET ADAPT SYNTHESIZE

Why is this good? Found motion + found character Overall quality of the motion preserved Makes interesting animation New characters move like performer Complete pipeline Character mapping OBSERVE RETARGET ADAPT SYNTHESIZE

OBSERVE RETARGET ADAPT SYNTHESIZE A research agenda: Some remaining problems Character not considered How would the character do this? Simple mapping methods Non-linear optimization is a pain Results could be better Small details not right Some “big” details ignored Controls are too low level Clip in, Clip out

Towards a general paradigm… Animation by Adaptation Need a fast and easy way to deal with the most important constraints Footskate Cleanup Need to deal with motion at a high-level Path Editing and Motion Tiles Synthesis-based on description Need to get beyond clips OBSERVE RETARGET ADAPT SYNTHESIZE

Footskate Cleanup Kovar, Schreiner, Gleicher ’02 Address the most common constraint Footplants are the primary connection between character and world Problems are very noticeable OBSERVE RETARGET ADAPT SYNTHESIZE

Goals of our method Precise: Footplants enforced exactly Unobtrusive: Avoid adding noticeable new artifacts Simple and efficient: No nonlinear optimizations Local: Only a small neighborhood needed to solve each frame Fast and Reliable: closed form math OBSERVE RETARGET ADAPT SYNTHESIZE

Key insights Some things are noticeable Small amounts of footskate The addition of discontinuities Unnatural accelerations of limbs Some things are not noticeable Low frequencies added to motions Small amount of limb stretch OBSERVE RETARGET ADAPT SYNTHESIZE

Basic Idea Place foot to meet constraints Adjust leg to meet ankle Make sure body is close enough Need to be close enough to both feet Adjust leg angles Standard single-limb inverse kinematics Blend results onto free frames Avoid discontinuities at constraint switches OBSERVE RETARGET ADAPT SYNTHESIZE

The Details Matter… Get geometric calculations right Continuity when there aren’t switches Careful when constraints switch Blend foot positions and orientations Blend root position, when possible Avoid unnatural accelerations Fast speeds look like discontinuity Just as unnatural OBSERVE RETARGET ADAPT SYNTHESIZE

How to use this Editing methods just need to get close Avoid nasty artifacts (high-frequencies) Footskate cleanup fixes many important details Makes editing methods easier to devise and implement OBSERVE RETARGET ADAPT SYNTHESIZE

An Editing Example: Motion Paths and Tiles Abstraction of the motion Flexible pieces of locomotion Inflexible tiles of actions Manipulate abstractions, reapply details OBSERVE RETARGET ADAPT SYNTHESIZE

Motion Editing Interactive methods Many are easy to implement Cleanup solvers Footskate Physics (in progress Shin et al 2003) Alter clips Retain the length OBSERVE RETARGET ADAPT SYNTHESIZE

Getting Beyond Clips Want to generate a wider range Want more control Applications need streams of motion Dynamically generated Applications need “long clips” OBSERVE RETARGET ADAPT SYNTHESIZE

Idea: Put Clips Together New motions from pieces of old ones! Good news: Keeps the qualities of the original (with care) Can create long and novel “streams” (keep putting clips together) Challenges: How to connect clips? How to decide what clips to connect? OBSERVE RETARGET ADAPT SYNTHESIZE

Connecting Clips Transition Generation Transitions between motions can be hard Simple method work sometimes Blends between aligned motions Cleanup footskate artifacts Just need to know when is “sometime” OBSERVE RETARGET ADAPT SYNTHESIZE

Identifying Transition Points OBSERVE RETARGET ADAPT SYNTHESIZE 2) Extract windows 3) Convert to point clouds 4) Align point clouds and sum squared distances 1) Initial frames

Motion Graphs Kovar, Gleicher, Pighin ’02 Start with a database of motions, each with type and constraint information. Goal: add transitions at opportune points. Motion 1 Motion 2 Motion 1 Motion 2 OBSERVE RETARGET ADAPT SYNTHESIZE

Motion Graphs Quality: restrict transitions Control: build walks that meet constraints Idea: automatically add transitions within a motion database Edge = clip Node = choice point Walk = motion OBSERVE RETARGET ADAPT SYNTHESIZE

Using a motion graph Any walk on the graph is a valid motion Generate walks to meet goals Random walks (screen savers) Search to meet constraints Other Motion Graph-like projects elsewhere Differ in details, and attention to detail OBSERVE RETARGET ADAPT SYNTHESIZE

The initial example: Building a Motion Graph OBSERVE RETARGET ADAPT SYNTHESIZE

The initial example: Using a Motion Graph Given a path Find a motion that minimizes distance Combinatorial optimization OBSERVE RETARGET ADAPT SYNTHESIZE

Motion Graph Examples Play pathFit.avi Play pathFit-MultiStyle.avi OBSERVE RETARGET ADAPT SYNTHESIZE

Motion Graphs: Animation by Example Build a representation for motion Automatic graph construction Create high-quality motions Only good transitions Footskate cleanup Flexible specifications of long motion Defined by search objective OBSERVE RETARGET ADAPT SYNTHESIZE

Still more to do Interactive Systems Online generation (no search) Low-cost runtimes Better synthesis Self-awareness (what can you do?) Parameterized motions Better goal specifications Multiple interacting characters Crowds Characters The bigger picture OBSERVE RETARGET ADAPT SYNTHESIZE

The Bigger Picture Visual media for everybody Tools and representations Animation Virtual Videography Vascular Visualization

Virtual Videography Want to record classroom lectures And more (start with something easy) Needs to be done well Static camera video is unwatchable Good video holds interest, guides attention Can’t afford a professional crew Good videography is hard Intrusive Get a computer to simulate the crew?

Virtual Videography Cheap and unobtrusive capture Static cameras in back of the room synthesize decide analyze capture

Virtual Videography: Media Analysis Build a representation of what happens Computer Vision + Regions, Attention Model synthesize decide analyze capture

Virtual Videography: Computational Cinematography Decide what to be shown Simulate director and editor Combinatorial optimization chooses best shot sequence synthesize decide analyze capture

Virtual Videography: Synthesis Simulate Other cameras Plan good camera movements Create visual effects synthesize decide analyse capture

Vascular Visualization w/Garet Lahvis, UW Dept of Surgery How does the vascular system develop? In the brain? How do we help a biologist study this? How to work with visual complexity? Not an artist Not a film maker Not even a computer scientist

Vascular Visualization You could see every capillary? This is ONE of HUNDREDS of slices of this brain! From Lahvis Lab, UW Dept of Surgery. Image processing by UW CS Graphics Group

Vascular Visualization: How do you look at this? Goal driven: what do biologists need to see? Need to manage immense complexity Artistic presentation (abstraction) Analytical tools Build representations of the 3D structure Leverage efficient display mechanism Afford easy analysis Unlike traditional “volume” visulization

Thanks! To the UW graphics gang. Animation research at UW is sponsored by the National Science Foundation, Microsoft, and the Wisconsin University and Industrial Relations program. House of Moves, IBM, Alias/Wavefront, Discreet, Pixar and Intel have given us stuff. House of Moves, Ohio State ACCAD, and Demian Gordon for data. And to all our friends in the business who have given us data and inspiration.