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
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
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
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
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)
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
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?
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”
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
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
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
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
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
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
Hodgins’ comparison
Is there a difference?Is there a difference?Is there a difference?Is there a difference?
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?
How the simulation works
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)
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
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
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!
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
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
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
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)
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?
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
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
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
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”