Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Facial Expressions & Rigging.

Slides:



Advertisements
Similar presentations
Animation in Video Games presented by Jason Gregory
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Facial Expressions & Rigging
Graphics Pipeline.
Week 7 - Wednesday.  What did we talk about last time?  Transparency  Gamma correction  Started texturing.
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
Geometry (Many slides adapted from Octavia Camps and Amitabh Varshney)
Facial Expressions & Rigging CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Morphing and Animation GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from articles taken from ShaderX 3, 4 and 5 And GPU Gems 1.
LYU0603 A Generic Real-Time Facial Expression Modelling System Supervisor: Prof. Michael R. Lyu Group Member: Cheung Ka Shun ( ) Wong Chi Kin ( )
Skin CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Human Face Modeling and Animation Example of problems in application of multimedia signal processing.
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Advanced Skinning CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Preprocessing ROI Image Geometry
1cs426-winter-2008 Notes  Collision notes part 1 (primitive operations) should be up on the weekend.
Midterm Review CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2004.
Advanced Skin CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Algirdas Beinaravičius Gediminas Mazrimas.  Introduction  Motion capture and motion data  Used techniques  Animating human body  Problems  Conclusion.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Image processing Lecture 4.
SET09115 Intro Graphics Programming
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Modeling Skin Separate object(s) per limb (and joints) Continuous Skin
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
COMP 175: Computer Graphics March 24, 2015
Multimodal Interaction Dr. Mike Spann
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Skin.
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Character Animation for Realtime Applications Michael Putz Klaus Hufnagl Institute of Computer Graphics Graz University of Technology Austria.
3D Animation 5. Character Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Character Animation. Contents Keyframe animation Mocap Smooth skin by vertex blending Rigging & retargeting Gait analysis (Ragdoll physics) Fall
CS 638, Fall 2001 Multi-Pass Rendering The pipeline takes one triangle at a time, so only local information, and pre-computed maps, are available Multi-Pass.
Computer Graphics Soft Body Animation - Skinning CO2409 Computer Graphics Week 22.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
1 Artificial Intelligence: Vision Stages of analysis Low level vision Surfaces and distance Object Matching.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
Performance Driven Facial Animation
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
06/11/04 SRB ILP Presentation P.Moffitt RT Character Rigging Presented By: Kyle Simmons.
2014 Animation Programming for Music Video Games Jessica Scott Harmonix Music Systems, Inc. October 10, 2014 #GHC
CGDD 4003 Character Animation. The Skeletal Hierarchy (aka the “rig”) Based on the concept of bones Each bone has exactly one parent Each bone has a transform.
Shaders, part 2 alexandri zavodny.
Ying Zhu Georgia State University
Computer Graphics Imaging Ying Zhu Georgia State University
Deferred Lighting.
Advanced Computer Animation Techniques
Skeletons and Skinning
Computer Animation and Visualisation Lecture 4. Skinning
Chapter XIII Character Animation
Facial Expressions & Rigging
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Computer Animation Ying Zhu Georgia State University
Presentation transcript:

Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Facial Expressions & Rigging

Multimedia System and Networking UTD Slide- 2 University of Texas at Dallas B. Prabhakaran Facial Muscles

Multimedia System and Networking UTD Slide- 3 University of Texas at Dallas B. Prabhakaran ‘Universal’ Expression Groups Sadness Anger Happiness Fear Disgust Surprise

Multimedia System and Networking UTD Slide- 4 University of Texas at Dallas B. Prabhakaran FACS Facial Action Coding System (Ekman) Describes a set of ‘Action Units’ (AUs) that correspond to basic actions (some map to individual muscles, but other involve multiple muscles, or even joint motion) Examples: 1.Inner Brow Raiser(Frontalis, Pars Medialis) 2.Outer Brow Raiser(Frontalis, Pars Lateralis) 14. Dimpler(Buccinator) 17. Chin Raiser(Mentalis) 19. Tongue Out 20. Lip Stretcher(Risoris) 29. Jaw Thrust 30. Jaw Sideways 31. Jaw Clencher

Multimedia System and Networking UTD Slide- 5 University of Texas at Dallas B. Prabhakaran FACS Expressions are built from basic action units Happiness: 1. Inner Brow Raiser(Frontalis, Pars Medialis) 6. Cheek Raiser(Orbicularis Oculi, Pars Orbitalis) 12. Lip Corner Puller(Zygomatic Major) 14. Dimpler(Buccinator)

Multimedia System and Networking UTD Slide- 6 University of Texas at Dallas B. Prabhakaran Emotional Axes Emotional states can loosely be graphed on a 2- axis system X=Happy/Sad Y=Excited/Relaxed

Multimedia System and Networking UTD Slide- 7 University of Texas at Dallas B. Prabhakaran Facial Expression Reading Books –“The Artist’s Complete Guide to Facial Expression” (Faigin) –“The Expression of Emotions in Man and Animals” (Darwin) –“Computer Facial Animation” (Parke, Waters) Papers –“A Survey of Facial Modeling and Animation Techniques” (Noh)

Multimedia System and Networking UTD Slide- 8 University of Texas at Dallas B. Prabhakaran Shape Interpolation

Multimedia System and Networking UTD Slide- 9 University of Texas at Dallas B. Prabhakaran Bone Based Methods Using joints & skinning to do the jaw bone and eyeballs makes a lot of sense One can also use a pretty standard skeleton system to do facial muscles and skin deformations, using the blend weights in the skinning This gives quite a lot of control and is adequate for medium quality animation

Multimedia System and Networking UTD Slide- 10 University of Texas at Dallas B. Prabhakaran Shape Interpolation Methods One of the most popular methods in practice is to use shape interpolation Several different key expressions are sculpted ahead of time The key expressions can then be blended on the fly to generate a final expression One can interpolate the entire face (happy to sad) or more localized zones (left eyelid, brow, nostril flare…)

Multimedia System and Networking UTD Slide- 11 University of Texas at Dallas B. Prabhakaran Shape Interpolation Shape interpolation allows blending between several pre-sculpted expressions to generate a final expression It is a very popular technique, as it ultimately can give total control over every vertex if necessary However, it tends to require a lot of set up time It goes by many names: –Morphing –Morph Targets –Multi-Target Blending –Vertex Blending –Geometry Interpolation –etc.

Multimedia System and Networking UTD Slide- 12 University of Texas at Dallas B. Prabhakaran Interpolation Targets One starts with a 3D model for the face in a neutral expression, known as the base Then, several individual targets are created by moving vertices from the base model The topology of the target meshes must be the same as the base model (i.e., same number of verts & triangles, and same connectivity) Each target is controlled by a DOF Ф i that will range from 0 to 1

Multimedia System and Networking UTD Slide- 13 University of Texas at Dallas B. Prabhakaran Morph Target DOFs We need DOFs to control the interpolation They will generally range from 0 to 1 This is why it is nice to have a DOF class that can be used by joints, morph targets, or anything else we may want to animate Higher level code does not need to distinguish between animating an elbow DOF and animating an eyebrow DOF

Multimedia System and Networking UTD Slide- 14 University of Texas at Dallas B. Prabhakaran Shape Interpolation Algorithm To compute a blended vertex position: The blended position is the base position plus a contribution from each target whose DOF value is greater than 0 (targets with a DOF value of 0 are essentially ‘off’ and have no effect) If multiple targets affect the same vertex, their results combine in a ‘reasonable’ way

Multimedia System and Networking UTD Slide- 15 University of Texas at Dallas B. Prabhakaran Weighted Blending & Averaging Weighted sum: Weighted average: Convex average: Additive blend:

Multimedia System and Networking UTD Slide- 16 University of Texas at Dallas B. Prabhakaran Additive Blend of Position v base v 6 v 14 v´ Φ 6 =0.5 Φ 14 =0.25

Multimedia System and Networking UTD Slide- 17 University of Texas at Dallas B. Prabhakaran Normal Interpolation To compute the blended normal: Note: if the normal is going to undergo further processing (i.e., skinning), we might be able to postpone the normalization step until later

Multimedia System and Networking UTD Slide- 18 University of Texas at Dallas B. Prabhakaran Shape Interpolation Algorithm To compute a blended vertex position: The blended position is the base position plus a contribution from each target whose DOF value is greater than 0 To blend the normals, we use a similar equation: We won’t normalize them now, as that will happen later in the skinning phase

Multimedia System and Networking UTD Slide- 19 University of Texas at Dallas B. Prabhakaran Shape Interpolation and Skinning Usually, the shape interpolation is done in the skin’s local space In other words, it’s done before the actual smooth skinning computations are done

Multimedia System and Networking UTD Slide- 20 University of Texas at Dallas B. Prabhakaran Smooth Skin Algorithm The deformed vertex position is a weighted average over all of the joints that the vertex is attached to. Each attached joint transforms the vertex as if it were rigidly attached. Then these values are blended using the weights: Where: –v’’ is the final vertex position in world space –w i is the weight of joint i –v’ is the untransformed vertex position (output from the shape interpolation) –B i is the binding matrix (world matrix of joint i when the skin was initially attached) –W i is the current world matrix of joint i after running the skeleton forward kinematics Note: –B remains constant, so B -1 can be computed at load time –B -1 ·W can be computed for each joint before skinning starts All of the weights must add up to 1:

Multimedia System and Networking UTD Slide- 21 University of Texas at Dallas B. Prabhakaran Smooth Skinning Normals Blending normals is essentially the same, except we transform them as directions (x,y,z,0) and then renormalize the results

Multimedia System and Networking UTD Slide- 22 University of Texas at Dallas B. Prabhakaran Equation Summary Skeleton Morphing Skinning

Multimedia System and Networking UTD Slide- 23 University of Texas at Dallas B. Prabhakaran Target Storage Morph targets can take up a lot of memory. This is a big issue for video games, but less of a problem in movies. The base model is typically stored in whatever fashion a 3D model would be stored internally (verts, normals, triangles, texture maps, texture coordinates…) The targets, however, don’t need all of that information, as much of it will remain constant (triangles, texture maps…) Also, most target expressions will only modify a small percentage of the verts Therefore, the targets really only need to store the positions and normals of the vertices that have moved away from the base position (and the indices of those verts)

Multimedia System and Networking UTD Slide- 24 University of Texas at Dallas B. Prabhakaran Target Storage Also, we don’t need to store the full position and normal, only the difference from the base position and base normal i.e., other than storing v 3, we store v 3 -v base There are two main advantages of doing this: –Fewer vector subtractions at runtime (saves time) –As the deltas will typically be small, we should be able to get better compression (saves space)

Multimedia System and Networking UTD Slide- 25 University of Texas at Dallas B. Prabhakaran Target Storage In a pre-processing step, the targets are created by comparing a modified model to the base model and writing out the ‘difference’ The information can be contained in something like this: class MorphTarget { int NumVerts; int Index [ ]; Vector3 DeltaPosition [ ]; Vector3 DeltaNormal [ ]; }

Multimedia System and Networking UTD Slide- 26 University of Texas at Dallas B. Prabhakaran Colors and Other Properties In addition to interpolating the positions and normals, one can interpolate other per-vertex data: –Colors –Alpha –Texture coordinates –Auxiliary shader properties

Multimedia System and Networking UTD Slide- 27 University of Texas at Dallas B. Prabhakaran Vascular Expression Vascular expression is a fancy term to describe blushing and other phenomena relating to the color change in the face Adding subtle changes in facial color that relate to skin distortion can help improve realism This can be achieved either by blending a color values with every vertex (along with the position and normal) Alternately, one could use a blush texture map controlled by a blended intensity value at each vertex

Multimedia System and Networking UTD Slide- 28 University of Texas at Dallas B. Prabhakaran Wrinkles One application of auxiliary data interpolation is adding wrinkles Every vertex stores an auxiliary property indicating how wrinkled that area is –On the base model, this property would probably be 0 in most of the verts, indicating an unwrinkled state –Target expressions can have this property set at or near 1 in wrinkled areas When facial expressions are blended, this property is blended per vertex just like the positions and normals (but should be clamped between 0 and 1 when done) For rendering, this value is used as a scale factor on a wrinkle texture map that is blended with the main face texture Even better, one could use a wrinkle bump map or displacement map

Multimedia System and Networking UTD Slide- 29 University of Texas at Dallas B. Prabhakaran Artificial Muscle Methods With this technique, muscles are modeled as deformations that affect local regions of the face The deformations can be built from simple operations, joints, interpolation targets, FFDs, or other techniques

Multimedia System and Networking UTD Slide- 30 University of Texas at Dallas B. Prabhakaran Artificial Muscles

Multimedia System and Networking UTD Slide- 31 University of Texas at Dallas B. Prabhakaran Facial Features Key Facial Features –Deformable Skin –Hair –Eyes –Articulated Jaw (teeth…) –Tongue –Inside of mouth Each of these may require a different technical strategy

Multimedia System and Networking UTD Slide- 32 University of Texas at Dallas B. Prabhakaran Facial Modeling

Multimedia System and Networking UTD Slide- 33 University of Texas at Dallas B. Prabhakaran Facial Modeling Preparing the facial geometry and all the necessary expressions can be a lot of work There are several categories of facial modeling techniques –Traditional modeling (in an interactive 3D modeler) –Photograph & digitize (in 2D with a mouse) –Sculpt & digitize (with a 3D digitizer) –Scanning (laser) –Vision (2D image or video)

Multimedia System and Networking UTD Slide- 34 University of Texas at Dallas B. Prabhakaran Traditional Modeling

Multimedia System and Networking UTD Slide- 35 University of Texas at Dallas B. Prabhakaran Photograph & Digitize

Multimedia System and Networking UTD Slide- 36 University of Texas at Dallas B. Prabhakaran Sculpt & Digitize

Multimedia System and Networking UTD Slide- 37 University of Texas at Dallas B. Prabhakaran Laser Scan

Multimedia System and Networking UTD Slide- 38 University of Texas at Dallas B. Prabhakaran Computer Vision