390 likes | 406 Views
This project aims to detect facial expressions in real-time and draw corresponding models. The system uses a facial coordinate filter and implements facial expression analysis and face modeling. The objective is to enhance webcam functionality and make net meetings more interesting without requiring additional hardware costs. The system recognizes human faces generically. Future work includes improving face detection precision, using 3-D models, and integrating with net meeting software. [499 characters]
E N D
LYU0603 A Generic Real-Time Facial Expression Modelling System Supervisor: Prof. Michael R. Lyu Group Member: Cheung Ka Shun (05521661) Wong Chi Kin (05524554)
Outline • Project Overview • Motivation • Objective • System Architecture • Face Coordinate Filter • Implementation • Facial expression analysis • Face modelling • Demonstration • Future work • Conclusion
Project Overview • Detect the facial expression • Draw corresponding model
Motivation • Face recognition technology has become more common • Webcam has high resolution enough • Computation power is high enough
Objective • Enrich the functionality of web-cam • Make net-meeting more interesting • Users are not required to pay extra cost on specific hardware • Recognize human face generically
Face Coordinate Filter • Our system is based on this filter and built on top of this filter • Input: video source • Output: the coordinate of vertices
Implementation - Calibration • Face mesh coordinates => pixel coordinates WHERE
Implementation – Facial Expression Analysis • We assume that the face coordinate filter works properly • Detect eye blinking and mouth opening by coordinate system • With sample movies, record the coordinate changes • Plot graph • Statistic Analysis
Implementation – Facial Expression Analysis • Using vertex pair (33, 41), (34, 40), (35, 39) Part of Face mesh - Eye
Implementation – Facial Expression Analysis • Using vertex pair (69, 77), (70, 76), (71, 75) – outer bound of lips • Using vertex pair (93, 99), (94, 98), (95, 97) – inner bound of lips Part of Face mesh - Mouth
Implementation – Facial Expression Analysis • Distance between two vertices < 1 unit • There exists other factors affect the difference • Distance between camera and user • User moves his or her head quickly • for reference
Implementation – Facial Expression Analysis • Three methods • Competitive Area Ratio • Horizontal Eye-Balance • Nearest-Colour Convergence
Competitive Area Ratio To detect whether the mouth is opened or closed
Competitive Area Ratio • We can get the area of the triangle by
Horizontal Eye-Balance • To detect whether the head is inclined
Horizontal Eye-Balance Approach I
Horizontal Eye-Balance Approach I However…
Horizontal Eye-Balance Approach II
Nearest-Colour Convergence • Retrieve pixel colour in the specific area • Treat pixel colour into three different channel (RGB) • Take the average value in each channel
Nearest-Colour Convergence • Colour space difference: • Eye is closed if:
Direct 3D • The characters we will be used in the system modelling
Texture Sampler Mouth Opened Eye Closed
Texture Sampler • Pre-production of image
Texture Sampler • Loading the texture • Mapping object coordinate to texel coordinates
Texture Sampler • Prepare the index buffer
Facial Expression Modelling • Update the object coordinates • Normalize the coordinates geometry
Demonstration • We are going to play a movie clip which demonstrate our system
Future Work • Improve the preciseness of face detection • Use 3-D model instead of 2-D texture • Allow net-meeting software to use it
Conclusion • We have learnt with DirectShow and Direct3D • We have developed search methods to detect the facial expressions
End • Thank you! • Q&A