SIGGRAPH Course 30: Performance-Driven Facial Animation

51
SIGGRAPH Course 30: Performance-Driven Facial Animation Section: Marker-less Face Capture and Automatic Model Construction Part 1: Chris Bregler, NYU Part 2: Li Zhang, Columbia University

description

SIGGRAPH Course 30: Performance-Driven Facial Animation. Section: Marker-less Face Capture and Automatic Model Construction Part 1: Chris Bregler, NYU Part 2: Li Zhang, Columbia University. Face Tracking Approaches. Marker-based hardware motion capture systems - PowerPoint PPT Presentation

Transcript of SIGGRAPH Course 30: Performance-Driven Facial Animation

Page 1: SIGGRAPH Course 30: Performance-Driven Facial Animation

SIGGRAPH Course 30:Performance-Driven Facial AnimationSIGGRAPH Course 30:Performance-Driven Facial Animation

Section:

Marker-less Face Capture and Automatic Model Construction

Part 1: Chris Bregler, NYU

Part 2: Li Zhang, Columbia University

Page 2: SIGGRAPH Course 30: Performance-Driven Facial Animation

Face Tracking ApproachesFace Tracking Approaches

• Marker-based hardware motion capture systems

• Tom Tolles (House of Moves) presentation 9:00 (earlier)

• Parag Havaldar (Sony Pictures Imageworks) presentation at 2:15 pm

Page 3: SIGGRAPH Course 30: Performance-Driven Facial Animation

Marker-based Face Capture:Marker-based Face Capture:

Page 4: SIGGRAPH Course 30: Performance-Driven Facial Animation

Marker-less Face Capture:Marker-less Face Capture:

Page 5: SIGGRAPH Course 30: Performance-Driven Facial Animation

Early Computer Face CaptureEarly Computer Face Capture

Kass, M., Witkin, A., & Terzopoulos, D. (1987) Snakes: Active contour models.

• Single Camera Input

• 2D Output

• Off-line

• Interactive-Refinement

• Make-up

• Contour / Local Features

• Hand Crafted

• Linear Models / Tracking

Page 6: SIGGRAPH Course 30: Performance-Driven Facial Animation

• Disney:

Page 7: SIGGRAPH Course 30: Performance-Driven Facial Animation

Early “Markerless Facecapture”Early “Markerless Facecapture”

• Disney:

Step-Mother Eleanor Audley

Page 8: SIGGRAPH Course 30: Performance-Driven Facial Animation

Early Computer Face CaptureEarly Computer Face Capture

Kass, M., Witkin, A., & Terzopoulos, D. (1987) Snakes: Active contour models.

• Single Camera Input

• 2D Output

• Off-line

• Interactive-Refinement

• Make-up

• Contour / Local Features

• Hand Crafted

• Linear Models / Tracking

Page 9: SIGGRAPH Course 30: Performance-Driven Facial Animation

Markerless Face Capture - Overview -Markerless Face Capture - Overview -

• Single / Multi Camera Input

• 2D / 3D Output

• Off-line / Real-time

• Interactive-Refinement / Face Dependent / Independent

• Make-up / Natural

• Flow / Contour / Texture / Local / Global Features

• Hand Crafted / Data Driven

• Linear / Nonlinear Models / Tracking

Page 10: SIGGRAPH Course 30: Performance-Driven Facial Animation

Common FrameworkCommon Framework

Error = Feature Error + Model Error

Tracking = Error Minimization

Page 11: SIGGRAPH Course 30: Performance-Driven Facial Animation

Difference:Difference:

Error = Feature Error + Model Error

Tracking = Error Minimization

Page 12: SIGGRAPH Course 30: Performance-Driven Facial Animation

Difference:Difference:

Error = Feature Error + Model Error

Tracking = Error Minimization

Page 13: SIGGRAPH Course 30: Performance-Driven Facial Animation

Difference:Difference:

Error = Feature Error + Model Error

Tracking = Error Minimization

Page 14: SIGGRAPH Course 30: Performance-Driven Facial Animation

Tracking = Error MinimizationTracking = Error Minimization

Kass, M., Witkin, A., & Terzopoulos, D. (1987) Snakes: Active contour models.

Page 15: SIGGRAPH Course 30: Performance-Driven Facial Animation

Tracking = Error MinimizationTracking = Error Minimization

Error = Feature Error + Model Error

Page 16: SIGGRAPH Course 30: Performance-Driven Facial Animation

Tracking = Error MinimizationTracking = Error Minimization

Error = Optical Flow + Model Error

Most general feature:

Page 17: SIGGRAPH Course 30: Performance-Driven Facial Animation

Tracking = Error MinimizationTracking = Error Minimization

Err(u,v) = || I(x,y) – J(x+u, y+v) ||

Page 18: SIGGRAPH Course 30: Performance-Driven Facial Animation

-

Basics in Optical Flow:Lucas-Kanade 1D Image

Intensity

x

u ?F G

∑ −≈x

tx xFuxF 2))()((

∑ −+=x

xGuxFuE 2))()(()(

Linearization:

Spatial Gradient Temporal Gradient

Page 19: SIGGRAPH Course 30: Performance-Driven Facial Animation

∑∈

−++=ROIyx

xGvyuxFvuE,

2))(),((),(

∑∈

−+≈ROIyx

tyx yxFvyxFuyxF,

2)),(),(),((

Spatial Gradient Temporal Gradient

ROI

ROI

(u,v)

F G

Lucas-Kanade: 2D Image

Page 20: SIGGRAPH Course 30: Performance-Driven Facial Animation

Minimize E(u,v):

0

0

=∂∂

=∂∂

vEuE

⎥⎥⎦

⎢⎢⎣

⎡=⎥

⎤⎢⎣

⎥⎥⎦

⎢⎢⎣

∑∑

∑∑∑∑

yt

xt

yyx

yxx

FF

FF

v

u

FFF

FFF2

2

=>

C

D

=⎥⎦

⎤⎢⎣

⎡v

u

=⎥⎦

⎤⎢⎣

⎡v

uC

-1

D

Lucas-Kanade: Error Minimization: 2D Image

Page 21: SIGGRAPH Course 30: Performance-Driven Facial Animation

Marker-less Face Capture:Marker-less Face Capture:

In general: ambiguous using local features

Page 22: SIGGRAPH Course 30: Performance-Driven Facial Animation

-

= E(V)

Optical Flow

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

2

Page 23: SIGGRAPH Course 30: Performance-Driven Facial Animation

V

-

= E(V)

Optical Flow

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

2

Page 24: SIGGRAPH Course 30: Performance-Driven Facial Animation

V

-

= E(V)

V

Model

Optical Flow + Model

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

2

Page 25: SIGGRAPH Course 30: Performance-Driven Facial Animation

V

-

= E(V)

V

Model

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

2

V = M( )

Optical Flow + Model

Page 26: SIGGRAPH Course 30: Performance-Driven Facial Animation

V

-

V

Model

Optical Flow + linearized Model

V = M 2

Z + H V

2

Z + C

Page 27: SIGGRAPH Course 30: Performance-Driven Facial Animation

Optical Flow + 3D Model

DeCarlo, Metaxas, 1999 Eisert et al 2003

Page 28: SIGGRAPH Course 30: Performance-Driven Facial Animation

Optical Flow + MPEG4 Model

--> MediaPlayer (Eisert et al)

Page 29: SIGGRAPH Course 30: Performance-Driven Facial Animation

High-End Production:

Optical Flow + 3D Model

Disney Gemeni-ProjectWilliams et al 2002

EA Universal CaptureBorshukov et al 2002-2006

Page 30: SIGGRAPH Course 30: Performance-Driven Facial Animation

More “forgiving” Error Norm

- Faces change appearance

L2

D

Page 31: SIGGRAPH Course 30: Performance-Driven Facial Animation

More “forgiving” Error Norm

- L2 Norm vs Robust Norm

L2 robust

D D

Page 32: SIGGRAPH Course 30: Performance-Driven Facial Animation

-

Robust Error with EM layers

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

2

Page 33: SIGGRAPH Course 30: Performance-Driven Facial Animation

-

Robust Error with EM layers

I (1) - I(1) v t 1

I (2) - I(2) v t 2

I (n) - I(n) vt n

...

20.1

0.2

0.9

Page 34: SIGGRAPH Course 30: Performance-Driven Facial Animation

-

Lucas-Kanade+ changing Appearance

F G

∑ −+=x

xGuxFuE 2))()(()(

Learned PCA:

Page 35: SIGGRAPH Course 30: Performance-Driven Facial Animation

Optical Flow and PCAOptical Flow and PCA

Eigen Tracking (Black and Jepson)

Page 36: SIGGRAPH Course 30: Performance-Driven Facial Animation

2D texture and contours + PCA2D texture and contours + PCA

Active Appearance Models (AAM): (Cootes et al)

Page 37: SIGGRAPH Course 30: Performance-Driven Facial Animation

2D texture and mesh + PCA2D texture and mesh + PCA

QuickTime™ and aYUV420 codec decompressor

are needed to see this picture.

Page 38: SIGGRAPH Course 30: Performance-Driven Facial Animation

Lucas-Kanade + Apearance ModelsLucas-Kanade + Apearance Models

Lucas-Kanade AAMs: (Baker & Matthews)

QuickTime™ and aYUV420 codec decompressor

are needed to see this picture.

Page 39: SIGGRAPH Course 30: Performance-Driven Facial Animation

Affine Flow + PCA + Robust Norm Affine Flow + PCA + Robust Norm

QuickTime™ and aCinepak decompressor

are needed to see this picture.

Disney: Gemeni-Project

Page 40: SIGGRAPH Course 30: Performance-Driven Facial Animation

Solution based on Factorization Solution based on Factorization

- We want 3 things:- 3D non-rigid shape model- for each frame:

- 3D Pose- non-rigid configuration (deformation)

-> Tomasi-Kanade-92:

W = P S

Rank 3

Page 41: SIGGRAPH Course 30: Performance-Driven Facial Animation

Solution based on Factorization Solution based on Factorization

- We want 3 things:- 3D non-rigid shape model- for each frame:

- 3D Pose- non-rigid configuration (deformation)

-> PCA-based representations:

W = P non-rigid S

Rank K

Page 42: SIGGRAPH Course 30: Performance-Driven Facial Animation

Space-Time FactorizationSpace-Time Factorization

Complete 2D Tracks or Flow Matrix-Rank <= 3*K

Nonrigid flow or Markerset -> “Rigid Stabilization + Blendshapes”

Page 43: SIGGRAPH Course 30: Performance-Driven Facial Animation

Space-Time FactorizationSpace-Time Factorization

Irani, 1999

Bregler, Hertzmann, Biermann, 2000

Torresani, Yang, Alexander, Bregler, 2001

Brand, 2001

Xiao, Kanade, 2004

Torresani, Hertzmann, 2004

Page 44: SIGGRAPH Course 30: Performance-Driven Facial Animation

From Pixels to 3D Blend Shapes From Pixels to 3D Blend Shapes (Torresani et al 01,02)(Torresani et al 01,02)

QuickTime™ and aYUV420 codec decompressor

are needed to see this picture.

Page 45: SIGGRAPH Course 30: Performance-Driven Facial Animation

Trajectory ConstraintsTrajectory Constraints

t=2t=1

t=F

. .. .

=.

.

..

3D positions of point i for the K modes of deformation

frames

Q’ miwi : full trajectory

Space-Time Tracking Space-Time Tracking (Torresani Bregler 2002)(Torresani Bregler 2002)

QuickTime™ and aCinepak decompressor

are needed to see this picture.

Page 46: SIGGRAPH Course 30: Performance-Driven Facial Animation

• Non-Rigid Models (Lorenzo Torresani, Aaron Hertzmann, et al)

– Rank Based Tracking

– 3D Basis Shapes

– Probabilistic Tracking / Models

– Occlusion

– Dynamical Systems

• Non-Rigid Models (Lorenzo Torresani, Aaron Hertzmann, et al)

– Rank Based Tracking

– 3D Basis Shapes

– Probabilistic Tracking / Models

– Occlusion

– Dynamical Systems

From Pixels to 3D Blend Shapes From Pixels to 3D Blend Shapes (Torresani et al 01,02)(Torresani et al 01,02)

Page 47: SIGGRAPH Course 30: Performance-Driven Facial Animation

• Non-Rigid Models (Lorenzo Torresani, Aaron Hertzmann, et al)

– Rank Based Tracking

– 3D Basis Shapes

– Probabilistic Tracking / Models

– Occlusion

– Dynamical Systems

• Non-Rigid Models (Lorenzo Torresani, Aaron Hertzmann, et al)

– Rank Based Tracking

– 3D Basis Shapes

– Probabilistic Tracking / Models

– Occlusion

– Dynamical Systems

p ( I(pj,t ) | “point pj,t is visible”) = N ( I(pj,t )| µj ; 2 )

p ( I(pj,t ) | “pixel pj,t is an outlier”) = c

From Pixels to 3D Blend Shapes From Pixels to 3D Blend Shapes (Torresani et al 01,02)(Torresani et al 01,02)

zt = A * zt-1 + nt

Page 48: SIGGRAPH Course 30: Performance-Driven Facial Animation

QuickTime™ and aCinepak decompressor

are needed to see this picture.

From Pixels to 3D Blend Shapes From Pixels to 3D Blend Shapes (Torresani et al 01,02)(Torresani et al 01,02)

Page 49: SIGGRAPH Course 30: Performance-Driven Facial Animation

QuickTime™ and aCinepak decompressor

are needed to see this picture.

From Pixels to 3D Blend Shapes From Pixels to 3D Blend Shapes (Torresani et al 01,02)(Torresani et al 01,02)

Page 50: SIGGRAPH Course 30: Performance-Driven Facial Animation

Disney Gemeni ProjectDisney Gemeni Project

QuickTime™ and aCinepak decompressor

are needed to see this picture.

Page 51: SIGGRAPH Course 30: Performance-Driven Facial Animation

Markerless Face Capture - Summary -Markerless Face Capture - Summary -

• Single / Multi Camera Input

• 2D / 3D Output

• Real-time / Off-line

• Interactive-Refinement / Face Dependent / Independent

• Make-up / Natural

• Flow / Contour / Texture / Local / Global Features

• Hand Crafted / Data Driven

• Linear / Nonlinear Models / Tracking