The Science of Silly Walks Hedvig Sidenbladh Royal
The Science of Silly Walks Hedvig Sidenbladh Royal Inst. of Technology, KTH Stockholm Sweden Michael J. Black Department of Computer Science Brown University http: //www. nada. kth. se/~hedvig http: //www. cs. brown. edu/~black
Collaborators David Fleet, Xerox PARC Nancy Pollard, Brown University Dirk Ormoneit and Trevor Hastie Dept. of Statistics, Stanford University Allan Jepson, University of Toronto
The (Silly) Problem
Inferring 3 D Human Motion * Infer 3 D human motion from 2 D image properties. * No special clothing * Monocular, grayscale, sequences (archival data) * Unknown, cluttered, environment * Incremental estimation
Why is it Hard? Singularities in viewing direction Unusual viewpoints Self occlusion Low contrast
Clothing and Lighting
Large Motions Limbs move rapidly with respect to their width. Non-linear dynamics. Motion blur.
Ambiguities Where is the leg? Which leg is in front?
Ambiguities Accidental alignment
Ambiguities Occlusion Whose legs are whose?
Inference/Issues Bayesian formulation p(model | cues) = p(cues | model) p(cues) 1. Need a constraining likelihood model that is also invariant to variations in human appearance. 2. Need a prior model of how people move. 3. Need an effective way to explore the model space (very high dimensional) and represent ambiguities.
Simple Body Model * Limbs are truncated cones * Parameter vector of joint angles and angular velocities = f
Key Idea #1 (Likelihood) 1. Use the 3 D model to predict the location of limb boundaries (not necessarily features) in the scene. 2. Compute various filter responses steered to the predicted orientation of the limb. 3. Compute likelihood of filter responses using a statistical model learned from examples.
Example Training Images
Edge Filters Normalized derivatives of Gaussians (Lindeberg, Granlund and Knutsson, Perona, Freeman&Adelson, …) Edge filter response steered to limb orientation: Filter responses steered to arm orientation.
Distribution of Edge Filter Responses pon(F) poff (F) Likelihood ratio, pon/ poff , used for edge detection Geman & Jednyak and Konishi, Yuille, & Coughlan Object specific statistics
I(x, t) Other Cues I(x+u, t+1) Motion Ridges
Key Idea #2 (Likelihood) “Explain” the entire image. p(image | foreground, background) Generic, unknown, background Foreground person Foreground should explain what the background can’t.
Likelihood Steered edge filter responses crude assumption: filter responses independent across scale.
Learning Human Motion * constrain the posterior to likely & valid poses/motions * model the variability joint angles 3 D motion-capture data. * Database with multiple actors and a variety of motions. (from M. Gleicher) time
Key Idea #3 (Prior) Problem: * insufficient data to learn probabilistic model of human motion. Alternative: * the data represents all we know Efros & Freeman’ 01 * replace representation and learning with search. (search has to be fast) * De Bonnet & Viola, Efros & Leung, Efros & Freeman, Paztor & Freeman, Hertzmann et al, …
Implicit Empirical Distribution Off-line: • learn a low-dimensional model of every n-frame sequence of joint angles and angular velocities (Leventon & Freeman, Ormoneit et al, …) • project training data onto model to get small number of coefficients describing each time instant • build a tree structured representation
“Textural” Model On-line: Given an n-frame input motion • project onto low-dimensional model. • index in log time using the coefficients. • return the best k approximate matches (and form a “proposal” distribution). • sample from them and return the n+1 st pose.
Synthetic Walker * Colors indicate different training sequences.
Synthetic Swing Dancer
Bayesian Formulation Posterior over model parameters given an image sequence. Temporal model (prior) Likelihood of observing the image given the model parameters Posterior from previous time instant
Key Idea #4 (Ambiguity) * Represent a multi-modal posterior probability distribution over model parameters - sampled representation - each sample is a pose and its probability - predict over time Samples from a distribution using a particle over 3 D poses. filtering approach.
Particle Filter Posterior Temporal dynamics sample normalize Posterior Likelihood
What does the posterior look like? Shoulder: 3 dof Elbow: 1 dof Elbow bends
Pr el im in ar y re su lt Stochastic 3 D Tracking * 2500 samples, multiple cues.
Conclusions Inferring human motion, silly or not, from video is challenging. We have tackled three important parts of the problem: 1. Probabilistically modeling human appearance in a generic, yet useful, way. 2. Representing the range of possible motions using techniques from texture modeling. 3. Dealing with ambiguities and non-linearities using particle filtering for Bayesian inference.
Learned Walking Model * mean walker
Learned Walking Model * sample with small e
Learned Walking Model * sample with moderate e
Learned Walking Model (Silly-Walk Generator) * sample with very large e
re su lt Pr el im in a ry Tracking with Occlusion 1500 samples, ~2 minutes/frame.
re su lt Pr el im in a ry Moving Camera 1500 samples, ~2 minutes/frame.
Ongoing and Future Work Hybrid Monte Carlo tracker (Choo and Fleet ’ 01) * analytic, differentiable, likelihood. Learned dynamics. Correlation across scale. Estimate background motion. Statistical models of color and texture. Automatic initialization. Training data and likelihood models to be available in the web.
Lessons Learned * Probabilistic (Bayesian) framework allows - integration of information over time - modeling of priors * Particle filtering allows - multi-modal distributions - tracking with ambiguities and non-linear models * Learning image statistics and combining cues improves robustness and reduces computation
Outlook 5 years: - Relatively reliable people tracking in monocular video. - Path is pretty clear. Next step: Beyond person-centric - people interacting with object/world … solve the vision problem. Beyond that: Recognizing action - goals, intentions, . . . … solve the AI problem.
Conclusions * Generic, learned, model of appearance. • Combines multiple cues. * Exploits work on image statistics. * Use the 3 D model to predict features. * Principled way to chose filters. * Model of foreground and background is incorporated into the tracking framework. • exploits the ratio between foreground and background likelihood. • improves tracking.
Motion Blur
Requirements 1. Represent uncertainty and multiple hypotheses. 2. Model non-linear dynamics of the body. 3. Exploit image cues in a robust fashion. 4. Integrate information over time. 5. Combine multiple image cues.
What Image Cues? Pixels? Temporal differences? Background differences? Edges? Color? Silhouettes?
Brightness Constancy I(x, t+1) = I(x+u, t) + h Image motion of foreground as a function of the 3 D motion of the body. Problem: no fixed model of appearance (drift).
What do people look like? Changing background Varying shadows Occlusion Deforming clothing Low contrast limb boundaries What do non-people look like?
Edges as a Cue? • Probabilistic model? • Under/over-segmentation, thresholds, …
Contrast Normalization? Lee, Mumford & Huang
Contrast Normalization Maximize difference between distributions * e. g. Bhattarcharyya distance:
Local Contrast Normalization
Ridge Features Scale specific
Ridge Thigh Statistics
Brightness Constancy I(x, t) I(x+u, t+1) What are the statistics of brightness variation I(x, t) - I(x+u, t+1)? Variation due to clothing, self shadowing, etc.
Brightness Constancy Scale 0 Scale 4
Edges
Temporal Model: Smooth Motion * individual angles and velocities assumed independent
Particle Filtering * large literature (Gordon et al ‘ 93, Isard & Blake ‘ 96, …) * non-Gaussian posterior approximated by N discrete samples * explicitly represent the ambiguities * exploit stochastic sampling for tracking
Representing the Posterior represented by discrete set of N samples Normalized likelihood:
Condensation 1. Selection Sample from posterior at t-1 Most probable states selected most often. 2. Prediction. 3. Updating
Condensation 1. Selection 2. Prediction/Diffusion (sample from Models the dynamics: p states 3. Updating )
Condensation 1. Selection 2. Prediction 3. Updating (the distribution) Evaluate new likelihood. Repeat until N new samples have been generated. Compute normalized probability distribution.
Temporal Model: Walking Parameters of the generative model are now Probabilistic model for
No likelihood * how strong is the walking prior? (or is our likelihood doing anything? )
Other Related Work J. Sullivan, A. Blake, M. Isard, and J. Mac. Cormick. Object localization by Bayesian correlation. ICCV’ 99. J. Sullivan, A. Blake, and J. Rittscher. Statistical foreground modelling for object localisation. ECCV, 2000. J. Rittscher, J. Kato, S. Joga, and A. Blake. A Probabilistic Background Model for Tracking. ECCV, 2000. S. Wachter and H. Nagel. Tracking of persons in monocular image sequences. CVIU, 74(3), 1999.
What does the posterior look like? Shoulder: 3 dof Elbow: 1 dof Elbow bends
Statistics of Limbs Edge Filters How do people appear in natural scenes? Want a general model. Ridge Filters
Other Related Work (full body, monocular, articulated) * Bregler & Malik: image motion, single hypothesis, full-body required multiple cameras, scaled ortho. * Ju, Black, Yacoob: cardboard person model, image motion, 2 D * Deutscher et al: Condensation, edge cues, background subtraction. * Cham& Rehg: known templates, 2 D (SPM), particle filter. * Wachter & Nagel: nicely combines motion and edges, single hypothesis (Kalman filter). * Leventon & Freeman: assumes 2 D tracking, probabilistic formulation, learned temporal model
Open Questions Representation of human motions * model the range of human activity * constrain the estimation to plausible motions Representation of human appearance * (somewhat) invariant to the variation in human appearance * specific enough to constrain the estimation
Likelihood Foreground pixels Background pixels
Overview * Why is 3 D human motion important? * Why is recovering it hard? * A Bayesian approach * generative model * robust likelihood function * temporal prior model (learning) * stochastic search (particle filtering) * Where are we going? * Recent advances & state of the art. * What remains to be done?
Problems A simple articulated human model may have 30+ parameters (e. g. joint angles. 60+ w/ velocities). Models of human action are non-linear and likelihood models will be multi-modal. Key challenges (common to other domains) • representation, • learning, and • search in high dimensional spaces.
Bayesian Formulation * define generative model of image appearance * multi-modal posterior over model parameters - sampled representation - particle filtering approach. * focus on image motion as a cue (adding edges, …) Represent a distribution over 3 D poses.
Generative Model: Temporal First order Markov assumption on angles, f, and angular velocity, V: Explore two models of human motion * general smooth motion or, * action-specific motion (walking)
Arm Tracking: Smooth motion prior Display: expected value of joint angles. Particle filter * represents ambiguity * propagates information over time
Learning Temporal Models (Dirk Ormoneit & Trevor Hastie) * Motion capture data is noisy, data is missing, activities are performed differently. * For cyclic motion (important but special class): 1. Detect cycles and segment 2. Account for missing data 3. Preserve continuity of cycles 4. Statistical model of variation * Approaches should generalize to non-cyclic motion.
Detecting Cycles Automatically detect length of cycles, Automatically segment and align cycles.
Modeling Cyclic Motion Automatically align 3 D data with a reference curve represented using periodically constrained regression splines.
Modeling Cyclic Motion * Segment into cycles, compute mean curve and represent variation by performing PCA on data. * SVD must enforce periodicity and cope with missing data. * Iterative SVD method (from gene expression work) * computes SVD in Fourier domain * construct a rank-q approximation and take inverse Fourier transform * impute missing data from the approximation * repeat until convergence.
Issues * Large parameter space * approx. 10000 samples * sparsely represented * not real time * Flow-based models can drift * Requires initialization
Conclusions Bayesian formulation for tracking 3 D human figures using monocular image information. * Generative model of image appearance. * Non-linear model represents ambiguities, singularities occlusion, etc - sampled representation of posterior. * Particle filtering for incremental estimation. * Automatic learning of cyclic motion prior. Rich framework for modeling the complexity of human motion.
Initialization Using 2 D Model * Full-body walking model. * Constructed from 3 D mocap data. * 2 D, view-based (every 30 degrees) * 4 subjects, 14 cycles
2 D, View-Based Walker * Construct linear optical flow basis Example Bases: * Use similar Bayesian framework for tracking (Black CVPR’ 99) * Coarse estimate of 3 D parameters . . . 0 degrees . . . * Automatic initialization 90 degrees
Recent Results * Box indicates mean position and scale. * Recovers distribution over phase and 3 D scale.
Motion Converged Dense optical flow. Converging Human motion. Faces: Open questions: appearance change, textural motion. Here we focus on fullbody.
Truth in Advertising Not about realistic models for synthesizing * faces * clothing * skin * hair Focus on generic models of appearance for human motion capture.
Graphics to the Rescue? Accurately synthesize appearance? Hodgins and Pollard ‘ 97 How big is the parameter space of all possible appearances?
Human Appearance
Likelihood * To cope with occluded limbs or those viewed at narrow angles, we introduce a probability of occlusion. * likelihood of observing limb j is then * likelihood of the model is product of limb likelihoods
Generative Model: Motion t-1 t
Learned Walking Model * sample with large e
Temporal Model: Walking Parameters of the generative model are now Probabilistic model for
Common Assumptions (to be avoided) * Multiple Cameras (additional constraints, occlusion) * Color Images (locate face and hands) * Known Background (background subtraction to locate person) * Batch process an entire sequence. * Known Initialization
Ratios for different limbs
Modeling Appearance What do people look like? What do non-people look like? How can we model appearance in a way the captures the variability across people, clothing, lighting, pose, …?
Ridge Filters Relationship between limb diameter in image and scale of maximum ridge filter response.
Ridges
Correct position at t Incorrect position at t Vary position at t+1 Brightness Constancy
Condensation 1. Selection 2. Prediction/Diffusion (sample from ie from the temporal prior: 1. Compute 2. Sample from 3. Updating )
Visualizing Results Expected value of state parameter
Why is it hard? Geometrically under-constrained.
Vigil Calculare Watchful computation.
Tiny People
Why is it Important? Applications • Human-Computer Interaction • Surveillance • Motion capture (games and animation) • Video search/annotation • Work practice analysis. * detect moving regions * estimate motion * model articulated objects * model temporal patterns of activity * interpret the motion Social display of puzzlement
Why is it Hard? The appearance of people can vary dramatically. Bones and joints are unobservable (muscle, skin, clothing hide the underlying structure). (inference)
Why is it hard? People can appear in arbitrary poses. They can deform in complex ways. Occlusion results in ambiguities and multiple interpretations.
Other Problems * geometrically under-constrained * non-linear dynamics of limbs * similarity of appearance of different limbs (matching ambiguities) * image noise * outliers Our models are approximations. Image changes that are not modeled (e. g. clothing deformation) will be outliers.
State of the Art. Bregler and Malik ‘ 98 * Brightness constancy cue • insensitive to appearance * Full-body required multiple cameras. * Single hypothesis. • MAP estimate
State of the Art. Cham and Rehg ‘ 99 * Single camera, multiple hypotheses. * 2 D templates (solves drift but is view dependent) I(x, t) = I(x+u, 0) + h
State of the Art. Deutscher, North, Bascle, & Blake ‘ 99 * Multiple cameras * Simplified, clothing, lighting and background.
State of the Art. Sidenbladh, Black, & Fleet ‘ 00 * Monocular. Brightness constancy as the only cue. * Significant changes in view and depth. * Template-based methods will fail.
Bayesian Inference Exploit cues in the images. Learn likelihood models: p(image cue | model) Build models of human form and motion. Learn priors over model parameters: p(model) Represent the posterior distribution p(model | cue) p(cue | model) p(model)
Natural Image Statistics * Statistics of image derivatives are non-Gaussian. * Consistent across scale. Ruderman. Lee, Mumford, Huang. Portilla and Simoncelli. Olshausen & Field. Xu, Wu, & Mumford. …
Statistics of Edges Statistics of filter responses, F, on edges, pon(F), differs from background statistics, poff (F). Likelihood ratio, pon/ poff , can be used for edge detection and road following. Geman & Jednyak and Konishi, Yuille, & Coughlan What about the object specific statistics of limbs? * edge may be present or not.
Distribution of Edge Filter Responses
Likelihood Foreground pixels Background pixels
Action-Specific Model The joint angles at time t are a linear combination of the basis motions evaluated at phase y y Mean curve y Basis curves
- Slides: 116