Lecture 9 Body Representations

Similar documents
CMSC 425: Lecture 13 Animation for Games: Basics Tuesday, Mar 26, 2013

animation animation shape specification as a function of time

Character Animation from 2D Pictures and 3D Motion Data ALEXANDER HORNUNG, ELLEN DEKKERS, and LEIF KOBBELT RWTH-Aachen University

Computer Animation. Lecture 2. Basics of Character Animation

animation shape specification as a function of time

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

3D Morphing for Triangle Meshes using Deformation Matrix

Interactive Computer Graphics

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Semantic Parametric Reshaping of Human Body Models

Metrics on SO(3) and Inverse Kinematics

INTRODUCTION TO RENDERING TECHNIQUES

Part-Based Recognition

Human Skeletal and Muscle Deformation Animation Using Motion Capture Data

Math for Game Programmers: Dual Numbers. Gino van den Bergen

Geometric algebra rotors for skinned character animation blending

arxiv: v2 [cs.cv] 26 Jun 2014

A Comparison of Linear Skinning Techniques for Character Animation

Representing and Manipulating Mesh-based Character Animations

Classifying Manipulation Primitives from Visual Data

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

FACIAL RIGGING FOR 3D CHARACTER

3D Face Modeling. Vuong Le. IFP group, Beckman Institute University of Illinois ECE417 Spring 2013

Modelling 3D Avatar for Virtual Try on

Tutorial 9: Skeletal Animation

Motion Capture Technologies. Jessica Hodgins

Blender 3D Animation

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

CS 4204 Computer Graphics

Multilinear Pose and Body Shape Estimation of Dressed Subjects from Image Sets

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Rotation and Inter interpolation Using Quaternion Representation

Finite Elements for 2 D Problems

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

SimFonIA Animation Tools V1.0. SCA Extension SimFonIA Character Animator

Geometry and Topology from Point Cloud Data

3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Introduction to Computer Graphics

Performance Driven Facial Animation Course Notes Example: Motion Retargeting

Tutorial: Biped Character in 3D Studio Max 7, Easy Animation

Animation. Persistence of vision: Visual closure:

Detailed Human Shape and Pose from Images

Sampling via Moment Sharing: A New Framework for Distributed Bayesian Inference for Big Data

Introduction to the Finite Element Method (FEM)

Estimating Body Shape of Dressed Humans

Expression Invariant 3D Face Recognition with a Morphable Model

A. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)

Lecture 3: Coordinate Systems and Transformations

Solving Simultaneous Equations and Matrices

Mocap class 8 - Creating an interactive 3D garden JMG Spring 2011

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

The Essentials of CAGD

Limits and Possibilities of Markerless Human Motion Estimation

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

Lecture 7. Matthew T. Mason. Mechanics of Manipulation. Lecture 7. Representing Rotation. Kinematic representation: goals, overview

Summary: Transformations. Lecture 14 Parameter Estimation Readings T&V Sec Parameter Estimation: Fitting Geometric Models

DATA ANALYSIS II. Matrix Algorithms

Real-Time Dynamic Wrinkles of Face for Animated Skinned Mesh

Essential Mathematics for Computer Graphics fast

Today. Keyframing. Procedural Animation. Physically-Based Animation. Articulated Models. Computer Animation & Particle Systems

Chapter 1. Introduction. 1.1 The Challenge of Computer Generated Postures

A Learning Based Method for Super-Resolution of Low Resolution Images

ART Extension for Description, Indexing and Retrieval of 3D Objects

Recovering Primitives in 3D CAD meshes

Wednesday, March 30, 2011 GDC Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)

Lecture L3 - Vectors, Matrices and Coordinate Transformations

Feature Point Selection using Structural Graph Matching for MLS based Image Registration

Volume visualization I Elvins

Geometric Transformation CS 211A

Advanced visualization with VisNow platform Case study #2 3D scalar data visualization

Differentiation of 3D scanners and their positioning method when applied to pipeline integrity

Computer Animation and Visualisation. Lecture 1. Introduction

3.1 Solving Systems Using Tables and Graphs

BAA DigiPen 3D Animation 11

Level Set Framework, Signed Distance Function, and Various Tools

Robust Blind Watermarking Mechanism For Point Sampled Geometry

EDEXCEL NATIONAL CERTIFICATE/DIPLOMA MECHANICAL PRINCIPLES AND APPLICATIONS NQF LEVEL 3 OUTCOME 1 - LOADING SYSTEMS

PASSIVE DRIVER GAZE TRACKING WITH ACTIVE APPEARANCE MODELS

How To Create A Surface From Points On A Computer With A Marching Cube

DESIGN, TRANSFORMATION AND ANIMATION OF HUMAN FACES

Taking Inverse Graphics Seriously

Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).

Application Report. Propeller Blade Inspection Station

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

CATIA V5R21 - FACT SHEET

Kinematics & Dynamics

Reconstructing 3D Pose and Motion from a Single Camera View

National 5 Mathematics Course Assessment Specification (C747 75)

CS 4620 Practicum Programming Assignment 6 Animation

RoboCup Advanced 3D Monitor

P. Lu, Sh. Huang and K. Jiang

A Methodology for Virtual Human Animation

Surface bundles over S 1, the Thurston norm, and the Whitehead link

Motion Capture Sistemi a marker passivi

Abstract. Introduction

Transcription:

15-869 Lecture 9 Body Representations Leonid Sigal Human Motion Modeling and Analysis Fall 2012

Course Updates Capture Project - Now due next Monday (one week from today) Final Project - 3 minute pitches are due next class - You should try to post your idea to the blog and get some feedback before then Reading Signup - Everyone has signed up by this point?

Plan for Today s Class - Review representation of skeleton motion - Modeling shape and geometry of the body - Skinning (rigid, linear, dual quaternion) - Data-driven body models (SCAPE) - Applications and discussion - Shape estimation from images - Image reshaping

Skeleton Animations Skeleton (tree hierarchy) - Nodes represent joints Hierarchical Structure Common Data structure for Body Pose - Joints are local coordinate systems (frames) - Edges represent bones Right Hand Root Head Left Hand Skin Right Foot Left Foot - 3D model driven by the skeleton Source: Meredith and Maddock, Motion Capture File Formats Explained

Skeleton Animations Skeleton (tree hierarchy) - Nodes represent joints - Joints are local coordinate systems (frames) - Edges represent bones Skin - 3D model driven by the skeleton [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton Animations Skeleton (tree hierarchy) - Nodes represent joints - Joints are local coordinate systems (frames) - Edges represent bones Skin - 3D model driven by the skeleton [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton Animations Skeleton (tree hierarchy) - Nodes represent joints - Joints are local coordinate systems (frames) - Edges represent bones Skin - 3D model driven by the skeleton Both are typically designed in a reference pose [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton in Reference Posture R j p(j) j N-joint skeleton in reference frame is given by - Root frame expressed with respect to the world - - Relative joint coordinate frames - R 1,R 2,R 3,...,R N Mapping from world to a coordinate frame of joint j A j = R 0 R p(j) R j R 0 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton in Reference Posture R j p(j) j N-joint skeleton in reference frame is given by - Root frame expressed with respect to the world - - Relative joint coordinate frames - Mapping from world to a coordinate frame of joint j R j = 0 B @ r 11 r 12 r 13 t 1 r 21 r 22 r 23 t 2 r 31 r 32 r 33 t 3 0 0 0 1 A j = R 0 R p(j) R j R 0 R 1,R 2,R 3,...,R N 1 C A [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton in Reference Posture R j p(j) j N-joint skeleton in reference frame is given by - Root frame expressed with respect to the world - - Relative joint coordinate frames - R 1,R 2,R 3,...,R N Mapping from world to a coordinate frame of joint j A j = R 0 R p(j) R j R 0 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skeleton in Reference Posture R j p(j) j N-joint skeleton in reference frame is given by - Root frame expressed with respect to the world - - Relative joint coordinate frames - Mapping from world to a coordinate frame of joint j A j = R 0 R p(j) R j R 0 R 1,R 2,R 3,...,R N parent of joint j [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Animating Skeleton Achieved by rotating each joint from it s reference posture - Note: joint rotation effects the entire sub-tree (e.g., rotation at the shoulder will induce motion of the whole arm) Rotation at joint j is described by: 0 r 11 r 12 r 13 0 1 T j = B @ r 21 r 22 r 23 0 r 31 r 32 r 33 0 C A 0 0 0 1 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Animating Skeleton Mapping from world to a coordinate frame of joint j in reference pose: A j = R 0 R p(j) R j Mapping from world to a coordinate frame of joint j in animated pose: F j = R 0 T 0...R p(j) T p(j) R j T j [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Animating Skeleton Mapping from world to a coordinate frame of joint j in reference pose: A j = R 0 R p(j) R j Mapping from world to a coordinate frame of joint j in animated pose: F j = R 0 T 0...R p(j) T p(j) R j T j Note: if T j = I 4 4 then F j = A j [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Character Rigging 1. Embed the skeleton into a 3D mesh (skin) 2. Assign vertices of the mesh to one or more bones to allow skin to move with the skeleton [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Rigid Skinning 1. Embed the skeleton into a 3D mesh (skin) 2. Assign vertices of the mesh to one or more bones to allow skin to move with the skeleton Assign each vertex to one bone/joint - j v i ˆv i = F j (A j ) 1 v i v i A j F j ˆv i - position of vertex in reference mesh - joint j in reference mesh - joint j in animated mesh - position of vertex in animated mesh

Rigid Skinning Requires assignment of vertices on 3D mesh to joints on skeleton - Often done manually - Assigning to joint influencing the closest bone is usually a good automatic guess Assign each vertex to one bone/joint - j v i ˆv i = F j (A j ) 1 v i v i A j F j ˆv i - position of vertex in reference mesh - joint j in reference mesh - joint j in animated mesh - position of vertex in animated mesh

Rigid Skinning Limitations In reference pose: In animated pose: - Works well away from the ends of the bone (joints) - Leads to unrealistic non-smooth deformations near joints [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Each vertex is assigned to multiple bone/joints v i ˆv i = NX j=1 w ji F j (A j ) 1 v i v i A j F j ˆv i w ji - position of vertex i in reference mesh - joint j in reference mesh - joint j in animated mesh - position of vertex i in animated mesh - influence of joint j on the vertex

Linear Blend Skinning Each vertex is assigned to multiple bone/joints v i ˆv i = NX j=1 w ji F j (A j ) 1 v i v i A j F j ˆv i w ji - position of vertex i in reference mesh - joint j in reference mesh - joint j in animated mesh - position of vertex i in animated mesh - influence of joint j on the vertex Weights need to be convex: NX j=1 w ji =1,w ji 0

Linear Blend Skinning Each vertex is assigned to multiple bone/joints v i ˆv i = NX j=1 w ji F j (A j ) 1 v i v i A j F j ˆv i w ji - position of vertex i in reference mesh - joint j in reference mesh - joint j in animated mesh - position of vertex i in animated mesh - influence of joint j on the vertex NX joints Weights need to be convex: w ji =1,w ji 0 j=1 painted on or based on distance to

Linear Blend Skinning Weights w larm + w uarm =1 w larm =1 w uarm =1 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Weights w larm + w uarm =1 w larm =1 w uarm =1 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Weights w larm + w uarm =1 w larm =1 w uarm =1 Why weights must convex? [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Weights ˆv i = NX j=1 w ji F j (A j ) 1 v i w larm + w uarm =1 w larm =1 w uarm =1 Why weights must convex? [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Example [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Limitations Joint twisting 180 degrees produces a collapsing effect where skin collapses to a single point ( candy-wrapper artifact) [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Limitations [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Linear Blend Skinning Limitations [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Why LBS Produce Artifacts? 0 1 NX NX ˆv i = w ji F j (A j ) 1 v i ˆv i = @ w ji M A j v i j=1 j=1 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Why LBS Produce Artifacts? 0 1 NX NX ˆv i = w ji F j (A j ) 1 v i ˆv i = @ w ji M A j v i j=1 j=1 M 1 M 2 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Why LBS Produce Artifacts? 0 1 NX NX ˆv i = w ji F j (A j ) 1 v i ˆv i = @ w ji M A j v i j=1 j=1 M 1 M 2 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Why LBS Produce Artifacts? 0 1 NX NX ˆv i = w ji F j (A j ) 1 v i ˆv i = @ w ji M A j v i j=1 j=1 M 1 M blend M 2 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Why LBS Produce Artifacts? M 1 M blend M 2 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

SE(3) Intrinsic Blending M 1 M blend M 2 [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Dual Quaternion Skinning [Kavan et al., ACM TOG 2008] Closed form approximation of SE(3) blending [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Regular Quaternions Remember: Euler angles Y Z X 2 Z Z X X Y Y Rotation in 3D 2 4 4 2 4 X 0 Y 0 Z 0 X 0 Y 0 Z 0 X 0 Y 0 Z 0 3 5 = 4 3 2 2 5 = 4 3 2 5 = 4 cos( ) sin( ) 0 sin( ) cos( ) 0 0 0 1 R z cos( ) 0 sin( ) 0 1 0 sin( ) 0 cos( ) R y 1 0 0 0 cos( ) sin( ) 0 sin( ) cos( ) R x 3 2 5 4 3 2 5 4 3 2 5 4 Note: I ve overloaded the use of \phi in these slides. Earlier I used \phi to denote the original orientation. Here I am using it to denote the rotation about the Z-axis. X Y Z X Y Z X Y Z 3 5 3 5 3 5 Interpolating Euler angles has similar issues as LBS skinning

Regular Quaternions - Quaternions are alternative representation for orientations (defined using complex algebra) - Represents orientation using 4 tuples (roughly speaking one for amount of rotation and 3 for the axis) q = w + xi + yi + zi - However, there are only 3 degrees of freedom for a rotation - Hence, to be a valid rotation, quaternion must be unit norm q =1

Regular Quaternions - Quaternions are alternative representation for orientations (defined using complex algebra) - Represents orientation using 4 tuples (roughly speaking one for amount of rotation and 3 for the axis) q = w + xi + yi + zi - However, there are only 3 degrees of freedom for a rotation - Hence, to be a valid rotation, quaternion must be unit norm q =1 Interpretation: Quaternions live on a sphere in a 4D space

Dual Quaternions [Clifford 1873] - Dual quaternions are able to model rigid transformations (rotation + translation) - Map a 6 dimensional manifold in an 8 dimensional space - Need to be unit length to represent a valid rigid transform [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Dual Quaternions [Clifford 1873] - Dual quaternions are able to model rigid transformations (rotation + translation) - Map a 6 dimensional manifold in an 8 dimensional space - Need to be unit length to represent a valid rigid transform [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Dual Quaternion Skinning [Kavan et al., ACM TOG 2008] Closed form approximation of SE(3) blending [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Comparison: Linear Blend Skinning [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Comparison: Dual Quaternion [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Dual Quaternion Skinning [Slide content and illustrations from Ladislav Kavan and Olga Sorkine]

Skinning Limitations - All skinning methods assume a fixed relationship between skeleton motion and the mesh - Humans are more complex (e.g., muscles lead to local deformations) - Skinning only allows animation of predefined body geometry (created by an animator), do not help us create this geometry

Data-driven Body Shape Models [ Cyberware ] Idea: Let s scan real people and figure out how their body deforms and what body types are possible

Data-driven Body Shape Models Pipeline - Register all the scans [ Cyberware ] - Create (typically parametric) model of shape - Use that model for an interesting application

Registration / Correspondence [Allen et al., 2003] Marker-based Non-rigid Iterative Closest Point Registration Goal: Fit a template mesh to triangulated 3D point cloud E = ÆE d + ØE s + E m Amounts to estimating a 4x4 transform for every vertex through optimization of above

Registration / Correspondence [Allen et al., 2003] Marker-based Non-rigid Iterative Closest Point Registration Goal: Fit a template mesh to triangulated 3D point cloud E = ÆE d + ØE s + E m data term VX E d = w i gap 2 (T i ~v i, D) i=1 tices for the template mesh T Distance from the reference mesh point to closest compatible vertex on observed surface - Angle between surface normals - Robust measure for dealing with holes

Registration / Correspondence [Allen et al., 2003] Marker-based Non-rigid Iterative Closest Point Registration Goal: Fit a template mesh to triangulated 3D point cloud E = ÆE d + ØE s + E m E s = data term X smoothness term T i T j 2 F {i,j (~v i,~v j )2edges(T )} Ensures that transforms on near by vertices are similar (induces local smoothness)

Registration / Correspondence [Allen et al., 2003] Marker-based Non-rigid Iterative Closest Point Registration Goal: Fit a template mesh to triangulated 3D point cloud E = ÆE d + ØE s + E m data term smoothness term marker anchor term MX E m = T i ~v i ~m i 2 i=1 Ensures that transforms on near by vertices s from the template mesh th are similar (induces local smoothness)

Registration / Correspondence [Allen et al., 2003] Marker-based Non-rigid Iterative Closest Point Registration Goal: Fit a template mesh to triangulated 3D point cloud E = ÆE d + ØE s + E m data term smoothness term marker anchor term Solved using gradient descent Initialized by aligning centers of mass

Registration [Image from Alexandru Balan]

Mesh Deformation Gradients [Sumner and Popovic, 2004] 3x3 transform for every triangle A t [ ~x t,2, ~x t,3 ]=[ ~y t,2, ~y t,3 ] ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh [Image from Alexandru Balan]

Mesh Deformation Gradients [Sumner and Popovic, 2004] 3x3 transform for every triangle A t [ ~x t,2, ~x t,3 ]=[ ~y t,2, ~y t,3 ] ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh Estimation: arg min {A 1,,A T } TX t=1 X k=2,3 A t ~x t,k ~y t,k 2 + w s [Image from Alexandru Balan] X A t1 A t2 2 F t 1,t 2 adj

Mesh Deformation Gradients [Sumner and Popovic, 2004] 3x3 transform for every triangle A t [ ~x t,2, ~x t,3 ]=[ ~y t,2, ~y t,3 ] ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh Estimation: arg min {A 1,,A T } TX t=1 X k=2,3 A t ~x t,k ~y t,k 2 + w s X under-constrained A t1 A t2 2 F t 1,t 2 adj [Image from Alexandru Balan]

Mesh Deformation Gradients [Sumner and Popovic, 2004] 3x3 transform for every triangle A t [ ~x t,2, ~x t,3 ]=[ ~y t,2, ~y t,3 ] ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh Estimation: arg min {A 1,,A T } TX t=1 X k=2,3 A t ~x t,k ~y t,k 2 + w s [Image from Alexandru Balan] X A t1 A t2 2 F t 1,t 2 adj

Mesh Deformation Gradients [Sumner and Popovic, 2004] Applying deformation gradients typically leads to inconsistent edges and structures ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh [Image from Alexandru Balan]

Mesh Deformation Gradients [Sumner and Popovic, 2004] Applying deformation gradients typically leads to inconsistent edges and structures ~x t,2 ~y t,2 ~x t,3 ~y t,3 Source Mesh Target Mesh [Image from Alexandru Balan] Reconstruction: arg min {~y 1,,~y V } TX t=1 X k=2,3 A t ~x t,k ~y t,k 2

SCAPE: Shape Completion and Animation of PEople [Angelov et al., ACM TOG, 2005] Key Idea: factor mesh deformation for a person into: (1) Articulated rigid deformations (2) Non-rigid deformations (3) Body shape deformations

SCAPE: Shape Completion and Animation of PEople [Angelov et al., ACM TOG, 2005] Key Idea: factor mesh deformation for a person into: (1) Articulated rigid deformations (2) Non-rigid deformations (3) Body shape deformations Gives a parametric model of any person in any pose!

Articulated Rigid Deformation This is basically rigid skinning [Angelov et al., ACM TOG, 2005] R p (θ) Articulated Rigid Deformation θ joint angles [Image from Alexandru Balan]

Non-rigid Deformations [Angelov et al., ACM TOG, 2005] From a dataset of one person in different poses, learn residual arg min {Q i 1,,Qi T } Y TX t=1 X k=2,3 deformations Ø ØØR i p[t] Qi t ~x t,k ~y i t,k ØØ 2 + w s X t 1,t 2 adj p[t 1 ]=p[t 2 ] Q i t 1 Q i t 2 2 F [Image from Alexandru Balan]

Non-rigid Deformations [Angelov et al., ACM TOG, 2005] Let non-rigid deformations be linear functions of pose Models bulging of muscles, etc. [Image from Alexandru Balan]

Body Shape [Angelov et al., ACM TOG, 2005] From a dataset of many people in one pose learn variations - Extract mesh deformation gradients - Do PCA on them (vectorizing them first) - 6 PCA dimensions can capture > 80% of variation [Image from Alexandru Balan]

Body Shape [Image from Peng Guan]

Body Shape It is also possible to create semantic parameters and regress from them to PCA coefficients [Image from Peng Guan]

Body Shape It is also possible to create semantic parameters and regress from them to PCA coefficients Demo [Image from Peng Guan]

SCAPE: Putting it all together [Angelov et al., ACM TOG, 2005] R p (θ) Q t (R p (θ)) S t (v) θ joint angles v shape parameters We can simply concatenate all the deformations by multiplying them together

SCAPE Model [Video curtesy of Peng Guan]

Applications: Shape Estimation Goal: learn functional mapping from image features to pose and shape parameters of the SCAPE model (from synthesized input-output pairs) [Sigal et al., NIPS 2007]

Applications: Shape Estimation Goal: learn functional mapping from image features to pose and shape parameters of the SCAPE model (from synthesized input-output pairs) [Sigal et al., NIPS 2007] Remember how Kinect works? Let s try that for shape

Applications: Shape Estimation Goal: learn functional mapping from image features to pose and shape parameters of the SCAPE model (from synthesized input-output pairs) [Sigal et al., NIPS 2007]

Applications: Shape Estimation Goal: learn functional mapping from image features to pose and shape parameters of the SCAPE model (from synthesized input-output pairs) [Sigal et al., NIPS 2007] feature space SCAPE space

Applications: Shape Estimation Goal: learn functional mapping from image features to pose and shape parameters of the SCAPE model (from synthesized input-output pairs) [Sigal et al., NIPS 2007] feature space SCAPE parameters = g ( features ) SCAPE space

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? After Before

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? After Before

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? After Before

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? Before Assume density of water After

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? Before Assume density of water After

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? Before Assume density of water After Estimated Weight Loss: 22lb Reported Weight Loss: 24lb

Proof of concept results [Sigal et al., NIPS 2007] Can we estimate weight loss discriminatively from monocular images? Before Assume density of water After Estimated Weight Loss: 32lb Reported Weight Loss: 64lb

Silhouettes is not enough [Guan et al., ICCV, 2009] Silhouettes are ambiguous

Silhouettes is not enough [Guan et al., ICCV, 2009] Silhouettes are ambiguous

Silhouettes is not enough [Guan et al., ICCV, 2009] Silhouettes are ambiguous Adding edges

Silhouettes is not enough [Guan et al., ICCV, 2009] Silhouettes are ambiguous Adding edges They also add shading cues

Estimating Pose and Shape from Image [Guan et al., ICCV, 2009]

Fun Results [Guan et al., ICCV, 2009] Internet Images: Paintings:

Parametric Body Reshaping [Zhou et al., ACM TOG, 2010]

Parametric Body Reshaping [Zhou et al., ACM TOG, 2010]