SlideShare a Scribd company logo
1 of 5
Download to read offline
Face recognition (FR) has been an active research area in the past two decades with a lot of
encouraging results reported in literature (Chellappa, Wilson and Sirohey 1995, 705-740).
However, it still remains a difficult problem far from being solved. Among the various FR methodologies,
appearance-based approaches which treat the face image as a holistic pattern seem to be the most successful
(Brunelli and Poggio n.d.) with the methods such as the well-known principal component analysis (PCA) (Turk
and Pentland 1991) (an unsupervised learning technique) and linear discriminant analysis (LDA) (Belhumeur,
Hespanha and Kriegman 1997) (a supervised learning technique)
LDA
Linear Discriminant analysis (LDA) is a classification method developed in 1936 by R. A.
Fisher. It is simple, mathematically robust and often produces models whose accuracy is as
good as more complex methods. LDA is based upon the concept of searching for a linear
combination of variables that best separates two classes. Haar detection makes use of weak
classifiers.
What goes on during Haar Cascade Face Detection?
A square is used to identify the face because it’s a square that you need to identify the face.
The algorithm (V-J algorithm) works by looking for features and all these features are
rectangles inside the rectangles are smaller rectangles then we have pixels. The rectangles that
make up face in VJ is very small because the face is a small square on a person’s head looking
at peoples face in a really weird way.
The algorithms have a very fine tuned profiles for what makes up a face and there are four that
are common, like left eye, right eye, nose and mouth. Others are full body, glassed, clock etc.
Input Image
Apply the HAAR-like features
to the detection region
Detection Region
Adaboost Classifiers
F1
F2
F3
Fn
.. _ _
,,..,.
Object
Detected
The algorithm makes use of some numbers that defined the shape of what is called Haar
features. The Haar features are basically black and white rectangles which can actually be
visualize as black and white rectangles. Why they work in the algorithm is that you take the
white rect and subtract the black rectangle and then you ask, is there a diff greater or lesser than
the threshold, and if it is risen and u add it to its sum and then u tell it that sum and then if the
sum is leaving another threshold, then it says ok that was what I was looking for or not.
There are stages to the cascade file. The name cascade file implies that it has a cascading
structure. So in order for it to be efficient enough, you can use it doing real time video. It is a
very efficient algorithm and it was the one that led the explosive growth of Face detection
everywhere across the globe, it is very light weight and very efficient. It drawback though is
that it can’t do profiles very well, that is, it’s mostly targeted towards frontal images.
For the cascade stages, it uses the black and white rectangles on the face to detect the faces at
each stage of the detection phase (up to 30 stages to be precise).
On Fig. 1, there’s a black rectangle (darkness of the eye i.e. the shadow) on top of the white
rectangle (highlight of the chicks).
On Fig. 1, there’s a black rectangle (edges which are darker mostly where one would find the
hair) on top of the white rectangle (middle of the forehead which is lighter).
On Fig. 1, there’s a black rectangle (same as second) on top of the white rectangle ().
One might ask, so you’re comparing each of this rectangular patterns with the pixels in the face
underneath to see how much that particular part of the image matches that pattern? Well, what
is done is called the integral sum of that part of the image and all you do is sum black and white
pixels. All image are converted to b/w grey scale 0.255 and you take these values and u create
a sum of all the pixels in that area so then u comparing the sum of the grey scale values of the
white to the sum of the grey scale value of the white region. Basically, we can say that is the
sum of the white minus the sum of the black within a certain threshold, and if it is, then it will
leave a pass/fail stage. What makes the algorithm efficient is that it can move pass areas of an
image that are non-face, rejecting them and then focus on areas of the image that are more like
a face.
If stage 1 is ok, it goes to stage 2. Stage 2 gets little more detailed, stage 3 is a harder test to
pass, stage 4 even harder and as it goes further into the cascade the scaling is increased and it
gets more complex, and it also take more time to compute and threshold values are small. What
the algorithm does next is that it looks for overlapping regions, computes their average and
displays the image which is almost 90/99% accurate.
To get a correct results, the images have to be trained. Training involves taking a group of
positive and a group of negatives and you label all the faces in the negatives and then it runs
like a learning algorithm using Adaboost which accelerates. It’s really large computational
program task to figure out all the subspace because what these profiles have is rectangles that
comprise a 24 by 24 space, although some are different but 24 by 24 are the most common.
And if you think about a grey scale image, 24 by 24 image pixel, that’s a an astronomically
huge number of possibilities within that space which is really hard computing, in order to
accelerate that, the Adaboost is implemented to steer left to right depending on if its closer to
a face on each side of a test pattern.
Now, how do you tell when one particular one of those Haar features matches the part of an
image? If a Haar feature matches that part of the image, there are up to a 1000 within a full
profile to test. The Haar feature gotten will be looked at in the code, and all the pixel values
will be loaded into an array for the image and u look at only the grey scale. Within the rectangle,
u take the sum of every pixel inside the blacks and average them together and then the black
area is subtracted from the white area and then u have your left over with the value compared
to thresholds in the system to see if the leftover is within the threshold (pass) or not (fail). So,
at each stage, it take the sum of the pixels (white and black) and do the computation. Then at
the end of each stage, you’re left with the value of all the pass and fail features and if that value
is within another threshold then you stop or go on to the next stage and that’s one reason why
it’s really an efficient algorithm cos it just ignores all the features that’s not going to be a face.
What happens (in Haar Cascade) is that it is doing pattern recognition in a subset of the picture.
It’s looking for patterns of darks and lights, if u look at your face, u have a dark spot under a
lighter spot cos ur eyes when open is like a colour and there’s a shadow on ur skin. And its
looking for a lighter stripe another darker spot or line and then a lighter blob that’s called the
under of the eyes, ur eyes, and the nose between. when it gets to face, it slows down, cascading
little tiny bits at a time, running the entire frame over again for at least 3 times and if it gets the
same or similar result within about a few millimetres of each other then it stores that as a face.
A lot of techniques have been tried before but these is what was finally came up with. Polygon
matching was tried, but if we look at each other, there are a lot of different face polygons, some
have long faces, some wide, some round, some piggy eyes and all sort. So what was figured
out was that if you take a small cascade of a small subset of features, you can determine a
pattern (light and dark) which when put together create a cascade of recognition that really
works and works really well.
Facial Recognition is taking the faces you find and checking them against the database. When
people do some adjustments to their face (e.g. plastic surgery) or happen to have distorted face
maybe due to accidents, diseases, ailments or some other factors, the pattern of light and dark
on the face is also changed and this can really screw up a FR algorithm.

More Related Content

What's hot

Face and Eye Detection Varying Scenarios With Haar Classifier_2015
Face and Eye Detection Varying Scenarios With Haar Classifier_2015Face and Eye Detection Varying Scenarios With Haar Classifier_2015
Face and Eye Detection Varying Scenarios With Haar Classifier_2015Showrav Mazumder
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural networkSmriti Tikoo
 
Facial recognition technology by vaibhav
Facial recognition technology by vaibhavFacial recognition technology by vaibhav
Facial recognition technology by vaibhavVaibhav P
 
Face recognization
Face recognizationFace recognization
Face recognizationleenak770
 
Deep learning on face recognition (use case, development and risk)
Deep learning on face recognition (use case, development and risk)Deep learning on face recognition (use case, development and risk)
Deep learning on face recognition (use case, development and risk)Herman Kurnadi
 
Face Recognition Technology
Face Recognition TechnologyFace Recognition Technology
Face Recognition TechnologyShashidhar Reddy
 
Automated Face Detection System
Automated Face Detection SystemAutomated Face Detection System
Automated Face Detection SystemAbhiroop Ghatak
 
Facial recognition
Facial recognitionFacial recognition
Facial recognitionSonam1891
 
Face recognition
Face recognition Face recognition
Face recognition Chandan A V
 
Face Recognition Methods based on Convolutional Neural Networks
Face Recognition Methods based on Convolutional Neural NetworksFace Recognition Methods based on Convolutional Neural Networks
Face Recognition Methods based on Convolutional Neural NetworksElaheh Rashedi
 
Thermal Infrared Face Recognition
Thermal Infrared Face RecognitionThermal Infrared Face Recognition
Thermal Infrared Face RecognitionTarun Jaiswal
 
Face Recognition Technology
Face Recognition TechnologyFace Recognition Technology
Face Recognition TechnologyShravan Halankar
 
Face recognition system
Face recognition systemFace recognition system
Face recognition systemYogesh Lamture
 
Facial Recognition Attendance System (Synopsis).pptx
Facial Recognition Attendance System (Synopsis).pptxFacial Recognition Attendance System (Synopsis).pptx
Facial Recognition Attendance System (Synopsis).pptxkakimetu
 
Attendance Management System using Face Recognition
Attendance Management System using Face RecognitionAttendance Management System using Face Recognition
Attendance Management System using Face RecognitionNanditaDutta4
 

What's hot (20)

Face and Eye Detection Varying Scenarios With Haar Classifier_2015
Face and Eye Detection Varying Scenarios With Haar Classifier_2015Face and Eye Detection Varying Scenarios With Haar Classifier_2015
Face and Eye Detection Varying Scenarios With Haar Classifier_2015
 
Detection and recognition of face using neural network
Detection and recognition of face using neural networkDetection and recognition of face using neural network
Detection and recognition of face using neural network
 
Facial recognition technology by vaibhav
Facial recognition technology by vaibhavFacial recognition technology by vaibhav
Facial recognition technology by vaibhav
 
Face recognization
Face recognizationFace recognization
Face recognization
 
Deep learning on face recognition (use case, development and risk)
Deep learning on face recognition (use case, development and risk)Deep learning on face recognition (use case, development and risk)
Deep learning on face recognition (use case, development and risk)
 
Face Recognition
Face RecognitionFace Recognition
Face Recognition
 
Face Recognition Technology
Face Recognition TechnologyFace Recognition Technology
Face Recognition Technology
 
Face Recognition
Face RecognitionFace Recognition
Face Recognition
 
Automated Face Detection System
Automated Face Detection SystemAutomated Face Detection System
Automated Face Detection System
 
Facial recognition
Facial recognitionFacial recognition
Facial recognition
 
Face Detection
Face DetectionFace Detection
Face Detection
 
Face recognition
Face recognition Face recognition
Face recognition
 
Face Recognition Technology by Vishal Garg
Face Recognition Technology by Vishal GargFace Recognition Technology by Vishal Garg
Face Recognition Technology by Vishal Garg
 
Face Recognition Methods based on Convolutional Neural Networks
Face Recognition Methods based on Convolutional Neural NetworksFace Recognition Methods based on Convolutional Neural Networks
Face Recognition Methods based on Convolutional Neural Networks
 
Thermal Infrared Face Recognition
Thermal Infrared Face RecognitionThermal Infrared Face Recognition
Thermal Infrared Face Recognition
 
Face Recognition Technology
Face Recognition TechnologyFace Recognition Technology
Face Recognition Technology
 
Face recognition system
Face recognition systemFace recognition system
Face recognition system
 
Face recognisation system
Face recognisation systemFace recognisation system
Face recognisation system
 
Facial Recognition Attendance System (Synopsis).pptx
Facial Recognition Attendance System (Synopsis).pptxFacial Recognition Attendance System (Synopsis).pptx
Facial Recognition Attendance System (Synopsis).pptx
 
Attendance Management System using Face Recognition
Attendance Management System using Face RecognitionAttendance Management System using Face Recognition
Attendance Management System using Face Recognition
 

Viewers also liked

FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYJASHU JASWANTH
 
Face recognition ppt
Face recognition pptFace recognition ppt
Face recognition pptSantosh Kumar
 
Wits presentation 6_28072015
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015Beatrice van Eden
 
Face Recognition using C#
Face Recognition using C#Face Recognition using C#
Face Recognition using C#Luigi Oliveto
 
Dissertation final report
Dissertation final reportDissertation final report
Dissertation final reportSmriti Tikoo
 
Open cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıOpen cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıMeSutPikin
 
human face detection using matlab
human face detection using matlabhuman face detection using matlab
human face detection using matlabshamima sultana
 
Image–based face-detection-and-recognition-using-matlab
Image–based face-detection-and-recognition-using-matlabImage–based face-detection-and-recognition-using-matlab
Image–based face-detection-and-recognition-using-matlabIjcem Journal
 
Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Sudhanshu Saxena
 
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnFace Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnShiqiao Du
 
Face Recognition using OpenCV
Face Recognition using OpenCVFace Recognition using OpenCV
Face Recognition using OpenCVVasile Chelban
 
Face Recognition on MATLAB
Face Recognition on MATLABFace Recognition on MATLAB
Face Recognition on MATLABMukesh Taneja
 
Object detection
Object detectionObject detection
Object detectionSomesh Vyas
 
Face recognition technology - BEST PPT
Face recognition technology - BEST PPTFace recognition technology - BEST PPT
Face recognition technology - BEST PPTSiddharth Modi
 

Viewers also liked (14)

FACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGYFACE RECOGNITION TECHNOLOGY
FACE RECOGNITION TECHNOLOGY
 
Face recognition ppt
Face recognition pptFace recognition ppt
Face recognition ppt
 
Wits presentation 6_28072015
Wits presentation 6_28072015Wits presentation 6_28072015
Wits presentation 6_28072015
 
Face Recognition using C#
Face Recognition using C#Face Recognition using C#
Face Recognition using C#
 
Dissertation final report
Dissertation final reportDissertation final report
Dissertation final report
 
Open cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısıOpen cv nesne tespiti haar cascade sınıflandırıcısı
Open cv nesne tespiti haar cascade sınıflandırıcısı
 
human face detection using matlab
human face detection using matlabhuman face detection using matlab
human face detection using matlab
 
Image–based face-detection-and-recognition-using-matlab
Image–based face-detection-and-recognition-using-matlabImage–based face-detection-and-recognition-using-matlab
Image–based face-detection-and-recognition-using-matlab
 
Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)Face Detection Using MATLAB (SUD)
Face Detection Using MATLAB (SUD)
 
Face Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learnFace Recognition with OpenCV and scikit-learn
Face Recognition with OpenCV and scikit-learn
 
Face Recognition using OpenCV
Face Recognition using OpenCVFace Recognition using OpenCV
Face Recognition using OpenCV
 
Face Recognition on MATLAB
Face Recognition on MATLABFace Recognition on MATLAB
Face Recognition on MATLAB
 
Object detection
Object detectionObject detection
Object detection
 
Face recognition technology - BEST PPT
Face recognition technology - BEST PPTFace recognition technology - BEST PPT
Face recognition technology - BEST PPT
 

Similar to Face recognition techniques and Haar cascade detection explained

Human emotion modelling
Human emotion modellingHuman emotion modelling
Human emotion modellingAbhishek0101
 
Human Face Detection Systemin ANew Algorithm
Human Face Detection Systemin ANew AlgorithmHuman Face Detection Systemin ANew Algorithm
Human Face Detection Systemin ANew AlgorithmIOSRjournaljce
 
AE 497 Spring 2015 Final Report
AE 497 Spring 2015 Final ReportAE 497 Spring 2015 Final Report
AE 497 Spring 2015 Final ReportCatherine McCarthy
 
Pose Invariant Face Recognition using Neuro-Fuzzy Approach
Pose Invariant Face Recognition using Neuro-Fuzzy ApproachPose Invariant Face Recognition using Neuro-Fuzzy Approach
Pose Invariant Face Recognition using Neuro-Fuzzy Approachiosrjce
 
PBL presentation p2.pptx
PBL presentation p2.pptxPBL presentation p2.pptx
PBL presentation p2.pptxTony383416
 
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...inventionjournals
 
Facial Expression Recognition via Python
Facial Expression Recognition via PythonFacial Expression Recognition via Python
Facial Expression Recognition via PythonSaurav Gupta
 
Predicting Facial Expression using Neural Network
Predicting Facial Expression using Neural Network Predicting Facial Expression using Neural Network
Predicting Facial Expression using Neural Network Santanu Paul
 
What are the 3 Classic Face Recognition Algorithms.pdf
What are the 3 Classic Face Recognition Algorithms.pdfWhat are the 3 Classic Face Recognition Algorithms.pdf
What are the 3 Classic Face Recognition Algorithms.pdfAntenna Manufacturer Coco
 
Iisrt2 dwarakesh(9 11)
Iisrt2 dwarakesh(9 11)Iisrt2 dwarakesh(9 11)
Iisrt2 dwarakesh(9 11)IISRT
 
07 dimensionality reduction
07 dimensionality reduction07 dimensionality reduction
07 dimensionality reductionMarco Quartulli
 
A survey on face recognition techniques
A survey on face recognition techniquesA survey on face recognition techniques
A survey on face recognition techniquesAlexander Decker
 
Matrix mirrors project
Matrix mirrors projectMatrix mirrors project
Matrix mirrors projectRenato Roque
 
face recognition system
face recognition systemface recognition system
face recognition systemAnil Kumar
 

Similar to Face recognition techniques and Haar cascade detection explained (20)

Human emotion modelling
Human emotion modellingHuman emotion modelling
Human emotion modelling
 
Image processing
Image processingImage processing
Image processing
 
Human Face Detection Systemin ANew Algorithm
Human Face Detection Systemin ANew AlgorithmHuman Face Detection Systemin ANew Algorithm
Human Face Detection Systemin ANew Algorithm
 
A04430105
A04430105A04430105
A04430105
 
AE 497 Spring 2015 Final Report
AE 497 Spring 2015 Final ReportAE 497 Spring 2015 Final Report
AE 497 Spring 2015 Final Report
 
D017322027
D017322027D017322027
D017322027
 
Pose Invariant Face Recognition using Neuro-Fuzzy Approach
Pose Invariant Face Recognition using Neuro-Fuzzy ApproachPose Invariant Face Recognition using Neuro-Fuzzy Approach
Pose Invariant Face Recognition using Neuro-Fuzzy Approach
 
Scale invariant feature transform
Scale invariant feature transformScale invariant feature transform
Scale invariant feature transform
 
PBL presentation p2.pptx
PBL presentation p2.pptxPBL presentation p2.pptx
PBL presentation p2.pptx
 
Fourier_Analysis
Fourier_AnalysisFourier_Analysis
Fourier_Analysis
 
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...
Face Recognition System Using Local Ternary Pattern and Signed Number Multipl...
 
Facial Expression Recognition
Facial Expression RecognitionFacial Expression Recognition
Facial Expression Recognition
 
Facial Expression Recognition via Python
Facial Expression Recognition via PythonFacial Expression Recognition via Python
Facial Expression Recognition via Python
 
Predicting Facial Expression using Neural Network
Predicting Facial Expression using Neural Network Predicting Facial Expression using Neural Network
Predicting Facial Expression using Neural Network
 
What are the 3 Classic Face Recognition Algorithms.pdf
What are the 3 Classic Face Recognition Algorithms.pdfWhat are the 3 Classic Face Recognition Algorithms.pdf
What are the 3 Classic Face Recognition Algorithms.pdf
 
Iisrt2 dwarakesh(9 11)
Iisrt2 dwarakesh(9 11)Iisrt2 dwarakesh(9 11)
Iisrt2 dwarakesh(9 11)
 
07 dimensionality reduction
07 dimensionality reduction07 dimensionality reduction
07 dimensionality reduction
 
A survey on face recognition techniques
A survey on face recognition techniquesA survey on face recognition techniques
A survey on face recognition techniques
 
Matrix mirrors project
Matrix mirrors projectMatrix mirrors project
Matrix mirrors project
 
face recognition system
face recognition systemface recognition system
face recognition system
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Face recognition techniques and Haar cascade detection explained

  • 1. Face recognition (FR) has been an active research area in the past two decades with a lot of encouraging results reported in literature (Chellappa, Wilson and Sirohey 1995, 705-740). However, it still remains a difficult problem far from being solved. Among the various FR methodologies, appearance-based approaches which treat the face image as a holistic pattern seem to be the most successful (Brunelli and Poggio n.d.) with the methods such as the well-known principal component analysis (PCA) (Turk and Pentland 1991) (an unsupervised learning technique) and linear discriminant analysis (LDA) (Belhumeur, Hespanha and Kriegman 1997) (a supervised learning technique) LDA Linear Discriminant analysis (LDA) is a classification method developed in 1936 by R. A. Fisher. It is simple, mathematically robust and often produces models whose accuracy is as good as more complex methods. LDA is based upon the concept of searching for a linear combination of variables that best separates two classes. Haar detection makes use of weak classifiers.
  • 2. What goes on during Haar Cascade Face Detection? A square is used to identify the face because it’s a square that you need to identify the face. The algorithm (V-J algorithm) works by looking for features and all these features are rectangles inside the rectangles are smaller rectangles then we have pixels. The rectangles that make up face in VJ is very small because the face is a small square on a person’s head looking at peoples face in a really weird way. The algorithms have a very fine tuned profiles for what makes up a face and there are four that are common, like left eye, right eye, nose and mouth. Others are full body, glassed, clock etc. Input Image Apply the HAAR-like features to the detection region Detection Region Adaboost Classifiers F1 F2 F3 Fn .. _ _ ,,..,. Object Detected
  • 3. The algorithm makes use of some numbers that defined the shape of what is called Haar features. The Haar features are basically black and white rectangles which can actually be visualize as black and white rectangles. Why they work in the algorithm is that you take the white rect and subtract the black rectangle and then you ask, is there a diff greater or lesser than the threshold, and if it is risen and u add it to its sum and then u tell it that sum and then if the sum is leaving another threshold, then it says ok that was what I was looking for or not. There are stages to the cascade file. The name cascade file implies that it has a cascading structure. So in order for it to be efficient enough, you can use it doing real time video. It is a very efficient algorithm and it was the one that led the explosive growth of Face detection everywhere across the globe, it is very light weight and very efficient. It drawback though is that it can’t do profiles very well, that is, it’s mostly targeted towards frontal images. For the cascade stages, it uses the black and white rectangles on the face to detect the faces at each stage of the detection phase (up to 30 stages to be precise). On Fig. 1, there’s a black rectangle (darkness of the eye i.e. the shadow) on top of the white rectangle (highlight of the chicks). On Fig. 1, there’s a black rectangle (edges which are darker mostly where one would find the hair) on top of the white rectangle (middle of the forehead which is lighter). On Fig. 1, there’s a black rectangle (same as second) on top of the white rectangle (). One might ask, so you’re comparing each of this rectangular patterns with the pixels in the face underneath to see how much that particular part of the image matches that pattern? Well, what is done is called the integral sum of that part of the image and all you do is sum black and white pixels. All image are converted to b/w grey scale 0.255 and you take these values and u create a sum of all the pixels in that area so then u comparing the sum of the grey scale values of the white to the sum of the grey scale value of the white region. Basically, we can say that is the sum of the white minus the sum of the black within a certain threshold, and if it is, then it will leave a pass/fail stage. What makes the algorithm efficient is that it can move pass areas of an image that are non-face, rejecting them and then focus on areas of the image that are more like a face. If stage 1 is ok, it goes to stage 2. Stage 2 gets little more detailed, stage 3 is a harder test to pass, stage 4 even harder and as it goes further into the cascade the scaling is increased and it gets more complex, and it also take more time to compute and threshold values are small. What the algorithm does next is that it looks for overlapping regions, computes their average and displays the image which is almost 90/99% accurate.
  • 4. To get a correct results, the images have to be trained. Training involves taking a group of positive and a group of negatives and you label all the faces in the negatives and then it runs like a learning algorithm using Adaboost which accelerates. It’s really large computational program task to figure out all the subspace because what these profiles have is rectangles that comprise a 24 by 24 space, although some are different but 24 by 24 are the most common. And if you think about a grey scale image, 24 by 24 image pixel, that’s a an astronomically huge number of possibilities within that space which is really hard computing, in order to accelerate that, the Adaboost is implemented to steer left to right depending on if its closer to a face on each side of a test pattern. Now, how do you tell when one particular one of those Haar features matches the part of an image? If a Haar feature matches that part of the image, there are up to a 1000 within a full profile to test. The Haar feature gotten will be looked at in the code, and all the pixel values will be loaded into an array for the image and u look at only the grey scale. Within the rectangle, u take the sum of every pixel inside the blacks and average them together and then the black area is subtracted from the white area and then u have your left over with the value compared to thresholds in the system to see if the leftover is within the threshold (pass) or not (fail). So, at each stage, it take the sum of the pixels (white and black) and do the computation. Then at the end of each stage, you’re left with the value of all the pass and fail features and if that value is within another threshold then you stop or go on to the next stage and that’s one reason why it’s really an efficient algorithm cos it just ignores all the features that’s not going to be a face. What happens (in Haar Cascade) is that it is doing pattern recognition in a subset of the picture. It’s looking for patterns of darks and lights, if u look at your face, u have a dark spot under a lighter spot cos ur eyes when open is like a colour and there’s a shadow on ur skin. And its looking for a lighter stripe another darker spot or line and then a lighter blob that’s called the under of the eyes, ur eyes, and the nose between. when it gets to face, it slows down, cascading little tiny bits at a time, running the entire frame over again for at least 3 times and if it gets the same or similar result within about a few millimetres of each other then it stores that as a face. A lot of techniques have been tried before but these is what was finally came up with. Polygon matching was tried, but if we look at each other, there are a lot of different face polygons, some have long faces, some wide, some round, some piggy eyes and all sort. So what was figured out was that if you take a small cascade of a small subset of features, you can determine a pattern (light and dark) which when put together create a cascade of recognition that really works and works really well.
  • 5. Facial Recognition is taking the faces you find and checking them against the database. When people do some adjustments to their face (e.g. plastic surgery) or happen to have distorted face maybe due to accidents, diseases, ailments or some other factors, the pattern of light and dark on the face is also changed and this can really screw up a FR algorithm.