Animation CS 551 / 651

32
Animation CS 551 / 651 Perception of Physically Perception of Physically Simulated Humans Simulated Humans Hodgins et al., 1998

description

Animation CS 551 / 651. Perception of Physically Simulated Humans. Hodgins et al., 1998. Assignment 1 Suggestions. Emphasize development of physics code Even without graphics (simulate a 2D disk on a plane) Apply force (hard coded) to COM to show how force accvelchange in position - PowerPoint PPT Presentation

Transcript of Animation CS 551 / 651

Page 1: Animation CS 551 / 651

AnimationCS 551 / 651

Perception of Physically Perception of Physically Simulated HumansSimulated Humans

Perception of Physically Perception of Physically Simulated HumansSimulated Humans

Hodgins et al., 1998

Page 2: Animation CS 551 / 651

Assignment 1 Suggestions

Emphasize development of physics codeEmphasize development of physics code• Even without graphics (simulate a 2D disk on a plane)Even without graphics (simulate a 2D disk on a plane)

– Apply force (hard coded) to COM to show how Apply force (hard coded) to COM to show how forceforceaccaccvelvelchange in positionchange in position

– Apply force offset from COM to show ang. effectsApply force offset from COM to show ang. effects

– Just use printf to verify successJust use printf to verify success

• 2D dynamics (linear and angular) + integrator2D dynamics (linear and angular) + integrator

– Start with EulerStart with Euler

Emphasize development of physics codeEmphasize development of physics code• Even without graphics (simulate a 2D disk on a plane)Even without graphics (simulate a 2D disk on a plane)

– Apply force (hard coded) to COM to show how Apply force (hard coded) to COM to show how forceforceaccaccvelvelchange in positionchange in position

– Apply force offset from COM to show ang. effectsApply force offset from COM to show ang. effects

– Just use printf to verify successJust use printf to verify success

• 2D dynamics (linear and angular) + integrator2D dynamics (linear and angular) + integrator

– Start with EulerStart with Euler

Page 3: Animation CS 551 / 651

Assignment 1 Suggestions

Test collision code in simplest scenarioTest collision code in simplest scenario

• 2D Disk hitting a wall2D Disk hitting a wall

– Just use distance from COM to plane to measure Just use distance from COM to plane to measure collisioncollision

Test collision code in simplest scenarioTest collision code in simplest scenario

• 2D Disk hitting a wall2D Disk hitting a wall

– Just use distance from COM to plane to measure Just use distance from COM to plane to measure collisioncollision

Page 4: Animation CS 551 / 651

Assignment 1 Suggestions

Scale to 3DScale to 3D

• Extension to 3D should go smoothlyExtension to 3D should go smoothly

• You could stay in an environment without graphicsYou could stay in an environment without graphics

• Don’t need file loader to initialize modelsDon’t need file loader to initialize models

– Just define one in codeJust define one in code

Scale to 3DScale to 3D

• Extension to 3D should go smoothlyExtension to 3D should go smoothly

• You could stay in an environment without graphicsYou could stay in an environment without graphics

• Don’t need file loader to initialize modelsDon’t need file loader to initialize models

– Just define one in codeJust define one in code

Page 5: Animation CS 551 / 651

Assignment 1 Suggestions

Adding on the restAdding on the rest

• File loader (use simple models)File loader (use simple models)

• Runge-KuttaRunge-Kutta

• InterfaceInterface

– Start simple (without any toolkit, just control the Start simple (without any toolkit, just control the vector using GLUT mouse tracking – aimed vector using GLUT mouse tracking – aimed straight into monitor)straight into monitor)

Adding on the restAdding on the rest

• File loader (use simple models)File loader (use simple models)

• Runge-KuttaRunge-Kutta

• InterfaceInterface

– Start simple (without any toolkit, just control the Start simple (without any toolkit, just control the vector using GLUT mouse tracking – aimed vector using GLUT mouse tracking – aimed straight into monitor)straight into monitor)

Page 6: Animation CS 551 / 651

Paper CategoriesPerceptionPerception

Creating motion automatically using optimizationCreating motion automatically using optimization

SimulationSimulation

• Multilink systemsMultilink systems

• Simplification of simulationSimplification of simulation

Motion captureMotion capture

• Blending and reusing segmentsBlending and reusing segments

KinematicsKinematics

Low-level motion like walking/running/jumpingLow-level motion like walking/running/jumping

• Gait generation, abstraction, reuse, biomechanicsGait generation, abstraction, reuse, biomechanics

High-level motion like generating pathsHigh-level motion like generating paths

Generating group behaviorsGenerating group behaviors

PerceptionPerception

Creating motion automatically using optimizationCreating motion automatically using optimization

SimulationSimulation

• Multilink systemsMultilink systems

• Simplification of simulationSimplification of simulation

Motion captureMotion capture

• Blending and reusing segmentsBlending and reusing segments

KinematicsKinematics

Low-level motion like walking/running/jumpingLow-level motion like walking/running/jumping

• Gait generation, abstraction, reuse, biomechanicsGait generation, abstraction, reuse, biomechanics

High-level motion like generating pathsHigh-level motion like generating paths

Generating group behaviorsGenerating group behaviors

Page 7: Animation CS 551 / 651

Perception

How should we render our objects?How should we render our objects?

• To what end?To what end?

– VerisimilitudeVerisimilitude

– Mechanical accuracyMechanical accuracy

– ImpressionismImpressionism

• What about motion?What about motion?

How should we render our objects?How should we render our objects?

• To what end?To what end?

– VerisimilitudeVerisimilitude

– Mechanical accuracyMechanical accuracy

– ImpressionismImpressionism

• What about motion?What about motion?

Page 8: Animation CS 551 / 651

Is simplicity better?

AdvantagesAdvantages

• Abstraction is easierAbstraction is easier

• Obfuscations are removedObfuscations are removed

DisadvantagesDisadvantages

• Complementary features are removedComplementary features are removed

– Edges, critical featuresEdges, critical features

• May look “wrong”May look “wrong”

AdvantagesAdvantages

• Abstraction is easierAbstraction is easier

• Obfuscations are removedObfuscations are removed

DisadvantagesDisadvantages

• Complementary features are removedComplementary features are removed

– Edges, critical featuresEdges, critical features

• May look “wrong”May look “wrong”

Page 9: Animation CS 551 / 651

Is complexity better?

AdvantagesAdvantages

• Details provide perceptual cuesDetails provide perceptual cues

• This is the way we perceive things in real worldThis is the way we perceive things in real world

DisadvantagesDisadvantages

• Difficult to get the details rightDifficult to get the details right

• May distract from basic motionMay distract from basic motion

AdvantagesAdvantages

• Details provide perceptual cuesDetails provide perceptual cues

• This is the way we perceive things in real worldThis is the way we perceive things in real world

DisadvantagesDisadvantages

• Difficult to get the details rightDifficult to get the details right

• May distract from basic motionMay distract from basic motion

Page 10: Animation CS 551 / 651

We have no idea…

We turn to different expertsWe turn to different experts

• PsychologistsPsychologists

• Automated computer visionAutomated computer vision

We turn to different expertsWe turn to different experts

• PsychologistsPsychologists

• Automated computer visionAutomated computer vision

Page 11: Animation CS 551 / 651

Psychologists

Kubovy and Proffitt @ UVaKubovy and Proffitt @ UVa• Perception of patterned dot animationsPerception of patterned dot animations

– Models of perceptionModels of perception

• Perception as it relates to actionPerception as it relates to action

– We perceive because it helps us to actWe perceive because it helps us to act

Attacks the perception question within well-Attacks the perception question within well-defined psychological modelsdefined psychological models

Kubovy and Proffitt @ UVaKubovy and Proffitt @ UVa• Perception of patterned dot animationsPerception of patterned dot animations

– Models of perceptionModels of perception

• Perception as it relates to actionPerception as it relates to action

– We perceive because it helps us to actWe perceive because it helps us to act

Attacks the perception question within well-Attacks the perception question within well-defined psychological modelsdefined psychological models

Page 12: Animation CS 551 / 651

Computer Vision

Martin and Acton @UVaMartin and Acton @UVa

• Low-level visionLow-level vision

– How do we detect edges, shadows, primitivesHow do we detect edges, shadows, primitives

• High-level visionHigh-level vision

– How do we compose “things” from primitivesHow do we compose “things” from primitives

Martin and Acton @UVaMartin and Acton @UVa

• Low-level visionLow-level vision

– How do we detect edges, shadows, primitivesHow do we detect edges, shadows, primitives

• High-level visionHigh-level vision

– How do we compose “things” from primitivesHow do we compose “things” from primitives

Page 13: Animation CS 551 / 651

Still no solid answers

Vision and psychology provide models of Vision and psychology provide models of perception that influence graphics perception that influence graphics

Graphics permits isolated experimentation Graphics permits isolated experimentation with perception modelswith perception models

The three fields move forward togetherThe three fields move forward together

Vision and psychology provide models of Vision and psychology provide models of perception that influence graphics perception that influence graphics

Graphics permits isolated experimentation Graphics permits isolated experimentation with perception modelswith perception models

The three fields move forward togetherThe three fields move forward together

Page 14: Animation CS 551 / 651

What’s amazing about us?

Perceiving friendsPerceiving friends

• Just two moving lights on ankles is enoughJust two moving lights on ankles is enough

• Just two seconds is requiredJust two seconds is required

Perceiving pendulaPerceiving pendula

• Humans thought moving dots were connected via Humans thought moving dots were connected via flexible bar, not rigid pendulumflexible bar, not rigid pendulum

Perceiving friendsPerceiving friends

• Just two moving lights on ankles is enoughJust two moving lights on ankles is enough

• Just two seconds is requiredJust two seconds is required

Perceiving pendulaPerceiving pendula

• Humans thought moving dots were connected via Humans thought moving dots were connected via flexible bar, not rigid pendulumflexible bar, not rigid pendulum

Page 15: Animation CS 551 / 651

Hodgins’ comparison

Is there a difference?Is there a difference?Is there a difference?Is there a difference?

Page 16: Animation CS 551 / 651

Observational testsTorso rotationTorso rotation

• Keep head looking forward, but rotate torso and armsKeep head looking forward, but rotate torso and arms

Arm MotionArm Motion

• Make arm swing more forward / backwardMake arm swing more forward / backward

– Adjust dynamics accordinglyAdjust dynamics accordingly

– How much?How much?

NoiseNoise

• Randomly perturb joint angles (waist, shoulders, neck)Randomly perturb joint angles (waist, shoulders, neck)

– No dynamicsNo dynamics

– How much?How much?

Torso rotationTorso rotation

• Keep head looking forward, but rotate torso and armsKeep head looking forward, but rotate torso and arms

Arm MotionArm Motion

• Make arm swing more forward / backwardMake arm swing more forward / backward

– Adjust dynamics accordinglyAdjust dynamics accordingly

– How much?How much?

NoiseNoise

• Randomly perturb joint angles (waist, shoulders, neck)Randomly perturb joint angles (waist, shoulders, neck)

– No dynamicsNo dynamics

– How much?How much?

Page 17: Animation CS 551 / 651

How the simulation works

Page 18: Animation CS 551 / 651
Page 19: Animation CS 551 / 651
Page 20: Animation CS 551 / 651

Experimental protocol

Watch animations in pairsWatch animations in pairs

• 4 seconds of one then 4 seconds of a mate4 seconds of one then 4 seconds of a mate

Indicate similarity or difference within pairIndicate similarity or difference within pair

• forced choiceforced choice

• Could you forget what first looked like?Could you forget what first looked like?

Approx. 25 people per conditionApprox. 25 people per condition

Varied the orderVaried the order

• Avoids ordering effects (learning during experiment)Avoids ordering effects (learning during experiment)

Watch animations in pairsWatch animations in pairs

• 4 seconds of one then 4 seconds of a mate4 seconds of one then 4 seconds of a mate

Indicate similarity or difference within pairIndicate similarity or difference within pair

• forced choiceforced choice

• Could you forget what first looked like?Could you forget what first looked like?

Approx. 25 people per conditionApprox. 25 people per condition

Varied the orderVaried the order

• Avoids ordering effects (learning during experiment)Avoids ordering effects (learning during experiment)

Page 21: Animation CS 551 / 651

Experimental protocol

Animations rendered in same wayAnimations rendered in same way

• Could this have made a difference?Could this have made a difference?

– Is there a rendering that is conducive to stick Is there a rendering that is conducive to stick figures?figures?

– What tricks would people use to identify motions?What tricks would people use to identify motions?

Played from VHS at 30 fpsPlayed from VHS at 30 fps

• Can’t have any effects from rendering blipsCan’t have any effects from rendering blips

Animations rendered in same wayAnimations rendered in same way

• Could this have made a difference?Could this have made a difference?

– Is there a rendering that is conducive to stick Is there a rendering that is conducive to stick figures?figures?

– What tricks would people use to identify motions?What tricks would people use to identify motions?

Played from VHS at 30 fpsPlayed from VHS at 30 fps

• Can’t have any effects from rendering blipsCan’t have any effects from rendering blips

Page 22: Animation CS 551 / 651

Results

On average, people were better with manHOn average, people were better with manHOn average, people were better with manHOn average, people were better with manH

Page 23: Animation CS 551 / 651

Results

But how did rendering affect each person’s But how did rendering affect each person’s ability?ability?But how did rendering affect each person’s But how did rendering affect each person’s ability?ability?

There’s a trick!

Page 24: Animation CS 551 / 651

Take-away messages

Don’t read too much into these resultsDon’t read too much into these results

• Each experiment may be differentEach experiment may be different

• More detailed model was also more human-likeMore detailed model was also more human-like

Standardization of animation environments Standardization of animation environments might be good for comparisonmight be good for comparison

• Difficult to compare improvements from year to yearDifficult to compare improvements from year to year

Don’t read too much into these resultsDon’t read too much into these results

• Each experiment may be differentEach experiment may be different

• More detailed model was also more human-likeMore detailed model was also more human-like

Standardization of animation environments Standardization of animation environments might be good for comparisonmight be good for comparison

• Difficult to compare improvements from year to yearDifficult to compare improvements from year to year

Page 25: Animation CS 551 / 651

What else matters?

Camera movementCamera movement

Ground planeGround plane

Motion blurMotion blur

Secondary motion (clothing / hair)Secondary motion (clothing / hair)

ShadowsShadows

Camera movementCamera movement

Ground planeGround plane

Motion blurMotion blur

Secondary motion (clothing / hair)Secondary motion (clothing / hair)

ShadowsShadows

Page 26: Animation CS 551 / 651

Additional commentary

Experiments are essential for graphicsExperiments are essential for graphics

• Yet rarely conductedYet rarely conducted

• How is graphics evaluated?How is graphics evaluated?

– The SIGGRAPH “aaahhhh” factorThe SIGGRAPH “aaahhhh” factor

Experiments are essential for graphicsExperiments are essential for graphics

• Yet rarely conductedYet rarely conducted

• How is graphics evaluated?How is graphics evaluated?

– The SIGGRAPH “aaahhhh” factorThe SIGGRAPH “aaahhhh” factor

Page 27: Animation CS 551 / 651

Additional commentary

Creating experiments is dicey businessCreating experiments is dicey business• Have to include psychologists who are experts of Have to include psychologists who are experts of

experiment designexperiment design

• Make sure enough subjects are includedMake sure enough subjects are included

• You need to understand the domain so well that you You need to understand the domain so well that you know the answer before the experiments are know the answer before the experiments are completecomplete

– Many pretrials were conducted to refine amounts of Many pretrials were conducted to refine amounts of noise to add (to avoid making it too easy or hard)noise to add (to avoid making it too easy or hard)

Creating experiments is dicey businessCreating experiments is dicey business• Have to include psychologists who are experts of Have to include psychologists who are experts of

experiment designexperiment design

• Make sure enough subjects are includedMake sure enough subjects are included

• You need to understand the domain so well that you You need to understand the domain so well that you know the answer before the experiments are know the answer before the experiments are completecomplete

– Many pretrials were conducted to refine amounts of Many pretrials were conducted to refine amounts of noise to add (to avoid making it too easy or hard)noise to add (to avoid making it too easy or hard)

Page 28: Animation CS 551 / 651

Follow-up paper

Bodenheimer et al., 1999 Eurographics Bodenheimer et al., 1999 Eurographics Animation WorkshopAnimation Workshop

How does noise influence perception?How does noise influence perception?

Bodenheimer et al., 1999 Eurographics Bodenheimer et al., 1999 Eurographics Animation WorkshopAnimation Workshop

How does noise influence perception?How does noise influence perception?

Page 29: Animation CS 551 / 651

How to add noise to simulation?

SensorsSensors

• When the arm reaches angle When the arm reaches angle , trigger reaction, trigger reaction

Control gainsControl gains

• How stiff/strong are the musclesHow stiff/strong are the muscles

Output torquesOutput torques

• How regular and well-behaved are the musclesHow regular and well-behaved are the muscles

Control parametersControl parameters

• When does the arm swing backwardsWhen does the arm swing backwards

SensorsSensors

• When the arm reaches angle When the arm reaches angle , trigger reaction, trigger reaction

Control gainsControl gains

• How stiff/strong are the musclesHow stiff/strong are the muscles

Output torquesOutput torques

• How regular and well-behaved are the musclesHow regular and well-behaved are the muscles

Control parametersControl parameters

• When does the arm swing backwardsWhen does the arm swing backwards

Page 30: Animation CS 551 / 651

Output torques

Noise inserted here didn’t work wellNoise inserted here didn’t work well

• Instantaneous noise was quickly corrected with Instantaneous noise was quickly corrected with subsequent countertorquessubsequent countertorques

Noise inserted here didn’t work wellNoise inserted here didn’t work well

• Instantaneous noise was quickly corrected with Instantaneous noise was quickly corrected with subsequent countertorquessubsequent countertorques

Page 31: Animation CS 551 / 651

What kind of noise?

Variability of human motion is tied to large Variability of human motion is tied to large movements of the bodymovements of the body

• Not a random sinusoidal noise functionNot a random sinusoidal noise function

• Not a white noiseNot a white noise

Variability of human motion is tied to large Variability of human motion is tied to large movements of the bodymovements of the body

• Not a random sinusoidal noise functionNot a random sinusoidal noise function

• Not a white noiseNot a white noise

Page 32: Animation CS 551 / 651

Experimental scenario

Watch 10 movies of varying noise and select Watch 10 movies of varying noise and select the one that looks most “natural”the one that looks most “natural”Watch 10 movies of varying noise and select Watch 10 movies of varying noise and select the one that looks most “natural”the one that looks most “natural”