by Sunny Cao
Can you recognize this face?
You can probably recognize this face immediately (unless you have prosopagnosia). It seems quite simple for you to recognize faces, but for computers, this is a difficult challenge to figure out.
When you look at these images, you can easily recognize that it depicts the same person, even though the image may be squashed, stretched, or otherwise edited. When a computer sees these images, however, it is much more difficult for it to come to the same conclusion as you.
Why is it so much more difficult for computers to recognize what humans can understand in a glance?
1. Humans recognize patterns instead of scrutinizing pixels
2. Faces constantly change
3. Perspective and lighting
4. Humans have context
The process goes like this:
face detection -> feature extraction -> feature representation -> database comparison -> matching and recognition -> decision making
So....how do machines even recognize faces? Why is it so difficult??
First step: locate and isolate faces in images or video frames
Techniques:
Haar Cascades: uses simple patterns (like edges) for quick detection
HOG (Histogram of Oriented Gradients): captures shape and structure of faces
CNNs (Convolutional Neural Networks): deep learning-based, highly accurate, can detect faces under varying conditions
Extract key facial features: eyes, nose, mouth, jawline, face contours
Convert these features into a mathematical representation called a feature vector
Techniques:
PCA (Principal Component Analysis): reduces dimensionality while keeping main features
LBP (Local Binary Patterns): captures local texture patterns
Deep Learning Networks: automatically learn complex facial features
Feature vectors encode unique characteristics of a face into numbers
Enables comparison between faces in a consistent format
Each person’s face gets a unique embedding in high-dimensional space
A feature vector is like a "face fingerprint," no two vectors are exactly the same for different people
Detected face vectors are compared with a database of known faces
Database stores:
Feature vectors
Corresponding identities (names, IDs, metadata)
Large databases require efficient search algorithms for speed
System calculates similarity or distance between the detected face vector and stored vectors
If similarity exceeds a threshold, the system considers it a match
Types:
Verification (1:1): Confirming if the person is who they claim to be
Identification (1:N): Determining the person’s identity from a large set of known faces
Based on matching, the system decides the identity of the person
Actions can include:
Unlocking devices
Granting access to restricted areas
Tagging people in photos
Accuracy depends on detection, extraction, and database quality
THIS IS DAN RYAN
NOW YOU KNOW HOW A COMPUTER RECOGNIZES FACES!!!