data-driven facial animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf ·...

47
Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura

Upload: others

Post on 16-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Data-driven Facial Animation

Computer Animation and Visualisation

Lecture 8Taku Komura

Page 2: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Outline

• Photometric Capturing• Blendshapes• Facial Rigging• Digital Emily

● Capturing ● Reflectance model● Polarization for obtaining a reflectance model

● Animation synthesis by an interface

Page 3: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Photometric capturing • Nowadays, we can capture the surface details of the facial movements in real-time using multiple cameras

• Can capture the surface shape as well as the textures

• Sometimes project a texture pattern onto the face (Performance capture, KINECT)

Page 4: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Stereo Vision

• For each pixel in the left and right images, you can find out the equations of the rays that pass through them (by calibration)

Page 5: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Stereo Vision (2)

• You find the pixels in the left and right images where the same point appears

• You can compute the 3D location by computing their intersection (or the closest point)

Page 6: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

http://www.iryoku.com/skincolor/downloads/A-Practical-Appearance-Model-for-Dynamic-Facial-Color.mp4

Page 7: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Outline

• Photometric Capturing• Blendshapes• Facial Rigging• Digital Emily

● Capturing ● Reflectance model● Polarization for obtaining a reflectance model

● Animation synthesis by an interface

Page 8: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Blendshapes

• Using photometric stereo, we can capture realistic 3D shapes with textures

• Once a generic face mesh is fitted to the data, we can interpolate these shapes to synthesize arbitrary facial expressions

https://www.youtube.com/watch?v=6lSrgPeOZsA

Page 9: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Blendshapes• Assume we have F meshes of the face • We are going to blend these F meshes • Blend coefficients ci

• =c1 +c2 +c3 …+cf

Page 10: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Face IK

• The animators will prefer to control some points on the face in an IK fashion rather than the weights

https://www.youtube.com/watch?v=6lSrgPeOZsA

Around 3:14

Page 11: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Face IK

• Sn,f : n-th vertex in mesh f• Sn : n-th vertex in the final face

Sn =c1 Sn,1 + c2 Sn,2 + c3 Sn,3 +… + cF Sn,F

Page 12: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Face IK - 2

• We want to constrain some vertices (controlled by the animator)

• {pl}l=1,L : user specified constraints, vertex l should be at position pl

Page 13: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Face IK – Problem statement

• We want to compute the coefficients cf, s.t.

Page 14: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

• Faces whose corresponding points are close to the target location must be weighed more heavily - proximity based weighting.

Face IK – Solution (1)

the corresponding points in this face are close to the target locations so CF must be set larger

Page 15: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

• We compute the distance between the target position of the control points and the corresponding points in each face f:

• We want to increase the blending coefficients of those faces is small, and decrease those faces that is large

Face IK – Solution (2)

Page 16: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

• Penalize meshes whose corresponding vertices are far from the control points by minimizing

• min s.t.

• This is a least squares problem with linear constraints

•  

Face IK – Solution (3)

Page 17: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

How to solve this?

• s.t. Equaivalent to solve Lagrange multipliersCan be solved by

•  

Page 18: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Local Control

• Multiplying the same coefficients to all the vertices of the face produces some unpleasant effects

Page 19: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Problem • Just linearly combining the captured motions cannot create enough variations

• For example, cannot produce asymmetric expressions from symmetric expressions● Local control is needed

What we want

What we get

http://youtu.be/GJoxCzE3-mM

Another problem

Page 20: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Local Control –Divide the face into different regions

–Solve the optimization within the region for each constraints

–Blend each region to the entire face

1c

2c

3c

4c

Page 21: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Outline

• Photometric Capturing• Blendshapes• Facial Rigging• Digital Emily

● Capturing ● Reflectance model● Polarization for obtaining a reflectance model

● Animation synthesis by an interface

Page 22: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Facial Rig

– A parameter space and user interface for editing the character face

–Animators produce facial animation by keyframe animation

–Keyframes are designed by the facial rig

https://www.youtube.com/watch?v=KPDfMpuK2fQ

Page 23: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Facial Rig (2)

– The rig parameters can be FaceIK, FK parameters, blendshape weights, muscle contraction etc.

Page 24: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Outline

• Photometric Capturing• Blendshapes• Facial Rigging• Digital Emily

● Capturing ● Reflectance model● Polarization for obtaining a reflectance model

● Animation synthesis by an interface

Page 25: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Digital Emily Project• Synthesizing realistic 3D animation of a human• Reflectance parameters of the skin are obtained

automatically• 3D shapes reconstructed • Manually designing the keyframes

http://www.youtube.com/watch?v=GBgURIUQ700

Page 26: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Digital Emily Project : steps

1. Taking images of the face under different lighting conditions

2. Creating reflectance model of the face● by polarization

3. Reconstructing the 3D geometry (shape from shading)

4. Producing the facial rig5. Creating keyframe animation

Page 27: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Recording the faces

• Shooting 33 different expressions captured

• 15 shots taken for each expression

Page 28: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Reflectance model

• Realistic reflection can be simulated by combining diffuse and specular reflection

+ =

Diffuse(directional)

Specular(highlights)

Page 29: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Diffuse Lighting• Light reflected to all directions

● considers the angle of incidence of light on surface

● The light is subscattered under the skin, before emerging at the surface again

● Reflected to a random direction

Object

N

Ln

No dependence on camera angle!

Example: sphere(lit from left)

tyreflectivi diffuse:

light thetowardsdirection

vector normal ebetween th angle the:

IntensityLight :

d

p

k

I

θ

θcosdpkII =

Page 30: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Specular Lighting• Direct reflections of light

source off shiny object● specular intensity n = shiny

reflectance of object● Result: specular highlight on

object

Object

N

Ip: light intensityI : output colorR: reflection vector S : direction towards the cameraα : angle between R and S

R (Reflection)θLn

No dependence on object colour.

αθ

Page 31: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Creating a reflectance model of the face

• Simple texture mapping cannot make the face appear realistic

• Need to produce a precise face reflectance model ● how much light is specularly reflected, and how much is diffusely reflected over the face

• This is done by polarization

Page 32: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Light Polarization

• Lights can be considered as waves vibrating in all directions.

• Polarization: Making them vibrate in one direction

Page 33: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

How to polarize light?

• Pass them through a barrier that contains many very narrow slits

• Those light only parallel to the slit pass through

• The rest are blocked

Page 34: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Reflection and Polarization

• When the light reflects over the surface, the direction of the light rotates

• The light is still polarized in almost the same direction after specular reflection

• Diffuse reflection depolarize light waves to all directions

• By only passing the polarized light through the camera lenses, we can know how much light is specularly reflected

Page 35: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Polarizing the light • Every casted light is filtered by a polarizer• The light coming into the camera are also filtered,

either by cross-polarizer or parallel polarizer• Cross-polarizer passes part of the diffusely reflected

light • Parallel polarizer passes specularly reflected light plus

part of the diffusely reflected light

Page 36: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

D

D+S

S

• (top) cross polarized image (middle) parallel polarized image (bottom) Subtracting

Page 37: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Reconstructing the Shape from Reflectance Map

• Relates pixel brightness I(x,y) to surface orientation for given source direction and surface reflectance

• Diffuse case:

: source brightness

: surface albedo (reflectance)

Pixel brightness

So

( )yxI ,

s vn

pI

dk

sn ⋅== dpdp kIkII θcos

sn ⋅∝I

Page 38: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

• We can write this in matrix form:

• Solve for n (computing the normal vector)

Three light source:

Photometric Stereo

11 sn ⋅= ρI1s

n

v

2s

22 sn ⋅= ρI

3s

33 sn ⋅= ρI

n

s

s

s

=

T

T

T

I

I

I

3

2

2

2

1 1

ρ

Page 39: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Constructing the shape from the normal maps

• Using the normal vectors, we can compute the 3D surfaces by integration

• Starting from one point, calculate the depth by partial difference

• Many more advanced techniques – this is just the simplest method – please check the course notes of Advanced Computer Vision for more details

• Of course Digital Emily is using a more complex method.

y

zn

x

zn yx ∂

∂=∂∂= ,

Page 40: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Reconstructed 3D shapes

Page 41: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Fitting a Generic Face Mesh

• A face mesh model of 4000 polygons is fitted to the data

• The high resolution details are saved as displacement maps and added later when synthesizing the animation

Page 42: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Deforming the reduced mesh• Next, we need to know how the reduced mesh deforms for the other 32 expressions

• The dots drawn on the face of Emily were used to find the rough correspondence.

• The internal area were fitted based on the 3D location and normal vectors

Page 43: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Keyframe Animation

• Shown an image of the real Emily on the left, the user produce keyframes using the facial rig

Page 44: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Extra Bits• Teeth models are produced separately

• Sticky lips : subtle effect of the lips peeling apart during speech – the lips sticking to each other when pulled apart

Page 45: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Another application of polarization

Use pairs of polarized projectors and provide each viewer with inexpensive polarized glassesThese glasses have lenses polarized differently for the right and left eyesEach eye sees the image component of the stereo pair with matching polarization

Page 46: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Summary

• Photometric Capturing• Blendshapes, Face IK• Facial Rigging• Digital Emily

● Capturing ● Reflectance model● Polarization for obtaining a reflectance model

● Animation synthesis by an interface

Page 47: Data-driven Facial Animationhomepages.inf.ed.ac.uk/tkomura/cav/presentation8_2015.pdf · Data-driven Facial Animation Computer Animation and Visualisation Lecture 8 Taku Komura. Outline

Readings

• Spacetime faces ● http://grail.cs.washington.edu/projects/stfaces/

• http://www.worsleyschool.net/science/files/polarized/light.html

• http://gl.ict.usc.edu/Research/DigitalEmily/

• http://gl.ict.usc.edu/Research/DigitalEmily/DigitalEmily-IEEECGA-2010.pdf