Face Recognition Method of OpenCV

Slides:



Advertisements
Similar presentations
Face Recognition Sumitha Balasuriya.
Advertisements

Eigenfaces for Recognition Presented by: Santosh Bhusal.
Face Recognition and Biometric Systems Eigenfaces (2)
EigenFaces.
Face Recognition Face Recognition Using Eigenfaces K.RAMNATH BITS - PILANI.
On the Dimensionality of Face Space Marsha Meytlis and Lawrence Sirovich IEEE Transactions on PAMI, JULY 2007.
Face Recognition CPSC UTC/CSE.
Face Recognition By Sunny Tang.
Face Recognition and Biometric Systems
Computer Vision Spring ,-685 Instructor: S. Narasimhan Wean 5403 T-R 3:00pm – 4:20pm Lecture #20.
Face Recognition Committee Machine Presented by Sunny Tang.
CONTENT BASED FACE RECOGNITION Ankur Jain 01D05007 Pranshu Sharma Prashant Baronia 01D05005 Swapnil Zarekar 01D05001 Under the guidance of Prof.
Face detection and recognition Many slides adapted from K. Grauman and D. Lowe.
Eigenfaces As we discussed last time, we can reduce the computation by dimension reduction using PCA –Suppose we have a set of N images and there are c.
Face Recognition with Harr Transforms and SVMs EE645 Final Project May 11, 2005 J Stautzenberger.
Face Recognition using PCA (Eigenfaces) and LDA (Fisherfaces)
Fig. 2 – Test results Personal Memory Assistant Facial Recognition System The facial identification system is divided into the following two components:
EECE 279: Real-Time Systems Design Vanderbilt University Ames Brown & Jason Cherry MATCH! Real-Time Facial Recognition.
Computer Vision I Instructor: Prof. Ko Nishino. Today How do we recognize objects in images?
Triangle-based approach to the detection of human face March 2001 PATTERN RECOGNITION Speaker Jing. AIP Lab.
Face Recognition: An Introduction
Oral Defense by Sunny Tang 15 Aug 2003
Preprocessing Images for Facial Recognition Adam Schreiner ECE533.
Facial Recognition CSE 391 Kris Lord.
Vision-Based Biometric Authentication System by Padraic o hIarnain Final Year Project Presentation.
Face Recognition Using Neural Networks Presented By: Hadis Mohseni Leila Taghavi Atefeh Mirsafian.
Eigenfaces for Recognition Student: Yikun Jiang Professor: Brendan Morris.
PCA & LDA for Face Recognition
Training Database Step 1 : In general approach of PCA, each image is divided into nxn blocks or pixels. Then all pixel values are taken into a single one.
Dimensionality Reduction: Principal Components Analysis Optional Reading: Smith, A Tutorial on Principal Components Analysis (linked to class webpage)
Recognition Part II Ali Farhadi CSE 455.
Face Recognition and Feature Subspaces
Face Recognition and Feature Subspaces
1 Recognition by Appearance Appearance-based recognition is a competing paradigm to features and alignment. No features are extracted! Images are represented.
Terrorists Team members: Ágnes Bartha György Kovács Imre Hajagos Wojciech Zyla.
Using Support Vector Machines to Enhance the Performance of Bayesian Face Recognition IEEE Transaction on Information Forensics and Security Zhifeng Li,
Face Recognition: An Introduction
A Face processing system Based on Committee Machine: The Approach and Experimental Results Presented by: Harvest Jang 29 Jan 2003.
CSE 185 Introduction to Computer Vision Face Recognition.
CSSE463: Image Recognition Day 27 This week This week Today: Applications of PCA Today: Applications of PCA Sunday night: project plans and prelim work.
A NOVEL METHOD FOR COLOR FACE RECOGNITION USING KNN CLASSIFIER
3D Face Recognition Using Range Images
Timo Ahonen, Abdenour Hadid, and Matti Pietikainen
Application of Facial Recognition in Biometric Security Kyle Ferris.
Irfan Ullah Department of Information and Communication Engineering Myongji university, Yongin, South Korea Copyright © solarlits.com.
2D-LDA: A statistical linear discriminant analysis for image matrix
Face Recognition and Feature Subspaces Devi Parikh Virginia Tech 11/05/15 Slides borrowed from Derek Hoiem, who borrowed some slides from Lana Lazebnik,
Obama and Biden, McCain and Palin Face Recognition Using Eigenfaces Justin Li.
Face detection and recognition Many slides adapted from K. Grauman and D. Lowe.
CSSE463: Image Recognition Day 25 This week This week Today: Applications of PCA Today: Applications of PCA Sunday night: project plans and prelim work.
Evaluation of Gender Classification Methods with Automatically Detected and Aligned Faces Speaker: Po-Kai Shen Advisor: Tsai-Rong Chang Date: 2010/6/14.
FACIAL RE-RECOGNITION Jared Beekman Mentor: Dr. Paul Bender.
Septian Adi Wijaya – Informatics Brawijaya University
PRINCIPAL COMPONENT ANALYSIS (PCA)
by Konrad Rzeszutek B.S. University of New Orleans, 1999
Recognition with Expression Variations
PRESENTED BY Yang Jiao Timo Ahonen, Matti Pietikainen
Submitted by: Ala Berawi Sujod Makhlof Samah Hanani Supervisor:
Lecture 8:Eigenfaces and Shared Features
Face Recognition and Feature Subspaces
Recognition: Face Recognition
ECE533 – Image Processing Project Face Recognition Techniques
Outline Peter N. Belhumeur, Joao P. Hespanha, and David J. Kriegman, “Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection,”
In summary C1={skin} C2={~skin} Given x=[R,G,B], is it skin or ~skin?
Face Recognition and Detection Using Eigenfaces
Eigenfaces for recognition (Turk & Pentland)
Presented by: Chang Jia As for: Pattern Recognition
CS4670: Intro to Computer Vision
Research Institute for Future Media Computing
Application of Facial Recognition in Biometric Security
Presentation transcript:

Face Recognition Method of OpenCV Andrew stodghill

Overview Introduction Background Theory Experiment Results Conclusion

Introduction

Idea Facial recognition for a Security Robot Addition to another project Gain a better understanding of the subject Derived from work last semester

Focus Basic understand of OpenCV face recognition software and algorithms Methods and Theory behind the EigenFace method for facial recognition Implementation using Python in a Linux-based environment Runs on a Raspberry Pi

Goal One half research One half implementation General facial recognition methods EigenFaces OpenCV’s facial recognition One half implementation Create a system capable of facial recognition Real-time Able to run on a Raspberry Pi

Background

Different Facial Recognition Methods Geometric Eigenfaces Fisherfaces Local Binary Patterns Active Appearance 3D Shape Models

Geometric First method of facial recognition Done by hand at first Automation came later Find the locations of key parts of the face And the distances between them Good initial method, but had flaws Unable to handle multiple views Required good initial guess

Eigenfaces Information theory approach Codes and then decodes face images to gain recognition Uses principal component analysis (PCA) to find the most important bits

Fisherfaces Same approach as Eigenface Instead of PCA, uses linear discriminant analysis (LDA) Better handles intrapersonal variability within images such as lighting

Local Binary Patterns Describes local features of an object Comparison of each pixel to its neighbors Histogram of image contains information about the destruction of the local micro patterns

Theory

Basic Idea Let face image 𝐼(𝑥,𝑦) be a two-dimensional 𝑁 by 𝑁 array of (8-bit) intensity values Can consider image an 𝑁 2 vector of dimensions Image of 256 by 256 becomes a 65,536 vector of dimension Or a point in 65,536-dimensional space

Basic Idea Images of faces will not differ too much This allows a much smaller dimensional subspace to be used to classify them PCA analysis finds the vectors that best define the distribution of images These vectors are then 𝑁 2 long Describe an 𝑁 by 𝑁 image Linear combination of the original face images

Basic Idea These vectors are called eigenfaces They are the eigenvectors of the covariance matrix Resemble faces

Method Acquire initial training set of face images Calculate eigenfaces Keep only 𝑀 eigenfaces that correspond to the highest eigenvalues These images now define the face space Calculate corresponding distribution in 𝑀-dimensional weight space for each known individual

Method Calculate weights for new image by projecting the input image onto each of the eigenfaces Determine if face is known Within some tolerance, close to face space If within face space, classify weights as either known or unknown (Optional) Update eigenfaces and weights (Optional) If same face repeats, input into known faces

Classifying Four possibilities for an input image Near face space, near face class Known face Near face space, not near face class Unknown face Not near face space, near face class Not a face, but may look like one (false positive) Not near face space, not near face class Not a face

OpenCV and Theory Beauty about OpenCV is a lot of this process is completely automated Need: Training images Specify type of training Number of eigenfaces Threshold Input Image

Experiment

Set-up OpenCV running on a Raspberry Pi Linux-based environment Raspberry Pi Camera

Training Database of negatives AT&T Laboratories Database of faces developed in the 90s

Training Captured Positives Used the camera to capture images Images were then cropped and resized

Training Model was trained using positive and negative images Creates training file that holds the 𝑀-dimensional face space Now have a base to recognize from model = cv2.createEigenFaceRecognizer() model.train(np.asarray(faces),np.asarray(labels))

Recognition Steps to recognizing face Capture image Detect face Crop and resize around face Project across all eigenvectors Find face class that minimizes Euclidian distance Return label from face class, and Euclidian distance Euclidian distance also called Confidence level model = cv2.createEigenFaceRecognizer() model.load(config.TRAINING_FILE) label, confidence = model.predict(image)

Test Created four different Test First data set uses 24 positive training images Almost no pose and lighting variation Second data set uses 12 positive training images Good pose variation, little lighting variation Third data set uses 25 positive training images Good pose and lighting variation Fourth data set uses second and third data set but with Fisherface method

Results

Results Results from Data sets 1-3, each one from 20 input images Confidence represents distance from known face class Data Set Mean Confidence Max Confidence Min Confidence 1 3462 3948 3040 2 2127 2568 1835 3 1709 2196 1217

Results Results from eigenface vs. fisherface comparison Algorithm Data Set # Training Images Mean Confidence Max Confidence Min Confidence Eigen 2 12 2127 2568 1835 Fisher 2029 2538 1468 3 25 1709 2196 1217 2017 2748 1530

Conclusion

Conclusion Theory behind eigenfaces Face space Training Simple implementation of OpenCV’s eigenface recognizer Compared different training models Number of training images Pose and lighting variations Compared eigenfaces and fisherfaces

Conclusion Future work Further testing of different training models Implement updating facial recognition

Questions?