Bird
Raised Fist0
Computer Visionml~12 mins

Face recognition concept in Computer Vision - Model Pipeline Trace

Choose your learning style10 modes available
Model Pipeline - Face recognition concept

This pipeline identifies who a person is by looking at their face in a photo. It learns from many face pictures, then can recognize new faces by comparing features.

Data Flow - 5 Stages
1Input Image
1 image x 100 x 100 pixels x 3 color channels→Receive a color photo of a face→1 image x 100 x 100 pixels x 3 color channels
Photo of a person’s face with RGB colors
↓
2Face Detection
1 image x 100 x 100 x 3→Find and crop the face area from the image→1 image x 64 x 64 x 3
Cropped face region focusing on eyes, nose, mouth
↓
3Feature Extraction
1 image x 64 x 64 x 3→Convert face image into a list of numbers representing unique features→1 vector x 128 features
[0.12, 0.45, 0.33, ..., 0.07] (128 numbers describing face)
↓
4Face Embedding Comparison
1 vector x 128 features→Compare extracted features to known faces in database→1 vector x N known faces similarity scores
[0.98, 0.12, 0.45, ..., 0.05] (similarity scores)
↓
5Identity Prediction
1 vector x N similarity scores→Pick the known face with highest similarity score→1 label (person’s name or unknown)
"Alice"
Training Trace - Epoch by Epoch
Loss
1.2 |****
0.9 |***
0.7 |**
0.5 |*
0.35| 
Epochs -> 1 2 3 4 5
EpochLoss ↓Accuracy ↑Observation
11.20.45Model starts learning basic face features
20.90.60Accuracy improves as model learns better features
30.70.72Model refines feature extraction
40.50.82Face embeddings become more distinct
50.350.90Model achieves good recognition accuracy
Prediction Trace - 5 Layers
Layer 1: Input Image
Layer 2: Face Detection
Layer 3: Feature Extraction
Layer 4: Face Embedding Comparison
Layer 5: Identity Prediction
Model Quiz - 3 Questions
Test your understanding
What does the feature extraction step do in face recognition?
ACrops the face from the photo
BTurns the face image into a list of numbers representing unique features
CCompares the face to known faces
DLabels the face with a name
Key Insight
Face recognition works by turning face images into unique number patterns, then matching these patterns to known faces. Training helps the model learn to make these patterns more distinct, improving accuracy.

Practice

(1/5)
1. What is the main goal of face recognition in computer vision?
easy
A. To convert images into black and white
B. To detect objects like cars and trees in images
C. To generate new faces from random noise
D. To identify or verify a person using their facial features

Solution

  1. Step 1: Understand the purpose of face recognition

    Face recognition is designed to find out who a person is by looking at their face.
  2. Step 2: Compare with other options

    Options A, B, and C describe different tasks unrelated to identifying people by faces.
  3. Final Answer:

    To identify or verify a person using their facial features -> Option D
  4. Quick Check:

    Face recognition = Identify person by face [OK]
Hint: Face recognition means finding who the face belongs to [OK]
Common Mistakes:
  • Confusing face recognition with object detection
  • Thinking face recognition creates new images
  • Mixing up image color processing with recognition
2. Which of the following is the correct step to train a face recognition model?
easy
A. Collect face images with labels and train the model to learn features
B. Randomly assign labels to images without training
C. Use face images only without any labels
D. Train the model using only text data about faces

Solution

  1. Step 1: Identify training requirements

    Training a face recognition model needs images and their correct labels to learn who is who.
  2. Step 2: Eliminate incorrect options

    Options A, B, and D miss key parts: no labels (A), random labels (B), or no images (D), which won't train properly.
  3. Final Answer:

    Collect face images with labels and train the model to learn features -> Option A
  4. Quick Check:

    Training needs images + labels [OK]
Hint: Training needs labeled face images, not random or unlabeled data [OK]
Common Mistakes:
  • Ignoring the need for labels during training
  • Thinking unlabeled images are enough
  • Confusing text data with image data for training
3. Given this Python snippet for face recognition, what will be the output?
known_faces = {"Alice": [0.1, 0.2, 0.3], "Bob": [0.4, 0.5, 0.6]}
new_face = [0.1, 0.2, 0.31]

# Simple distance check
def recognize(face):
    for name, features in known_faces.items():
        dist = sum((f - nf) ** 2 for f, nf in zip(features, face)) ** 0.5
        if dist < 0.05:
            return name
    return "Unknown"

print(recognize(new_face))
medium
A. Bob
B. Alice
C. Unknown
D. Error

Solution

  1. Step 1: Calculate distance between new_face and known faces

    Distance to Alice: sqrt((0.1-0.1)^2 + (0.2-0.2)^2 + (0.3-0.31)^2) = sqrt(0 + 0 + 0.0001) = 0.01 < 0.05
  2. Step 2: Check distance condition and return name

    Since distance to Alice is less than 0.05, function returns "Alice" immediately.
  3. Final Answer:

    Alice -> Option B
  4. Quick Check:

    Distance < 0.05 means match = Alice [OK]
Hint: Check distance to known faces; closest under threshold wins [OK]
Common Mistakes:
  • Calculating distance incorrectly
  • Confusing which face is closer
  • Ignoring the threshold condition
4. The following code is meant to recognize a face but always returns "Unknown". What is the bug?
known_faces = {"Alice": [0.1, 0.2, 0.3]}
new_face = [0.1, 0.2, 0.3]

def recognize(face):
    for name, features in known_faces.items():
        dist = sum((f - nf) ** 2 for f, nf in zip(features, face)) ** 0.5
        if dist > 0.05:
            return name
    return "Unknown"

print(recognize(new_face))
medium
A. The new_face list has wrong length
B. The known_faces dictionary is empty
C. The distance condition should be less than 0.05, not greater
D. The function does not return anything

Solution

  1. Step 1: Analyze the distance condition in the if statement

    The code returns name if distance > 0.05, but it should return if distance < 0.05 to indicate a match.
  2. Step 2: Understand why it always returns "Unknown"

    Since distance is 0 (exact match), condition dist > 0.05 is false, so loop never returns name.
  3. Final Answer:

    The distance condition should be less than 0.05, not greater -> Option C
  4. Quick Check:

    Match if distance < threshold, not > [OK]
Hint: Match when distance is small, not large [OK]
Common Mistakes:
  • Using wrong comparison operator in distance check
  • Assuming empty dictionary causes issue
  • Ignoring return statements in loop
5. You want to improve a face recognition system to handle many people with similar features. Which approach helps most?
hard
A. Use a deeper neural network to extract more detailed face features
B. Reduce the number of training images per person
C. Ignore feature differences and use only face color
D. Train the model without labels to save time

Solution

  1. Step 1: Understand the challenge of similar faces

    When faces look alike, the model needs better features to tell them apart.
  2. Step 2: Evaluate options for improving feature extraction

    A deeper neural network can learn more complex and detailed features, improving recognition accuracy.
  3. Final Answer:

    Use a deeper neural network to extract more detailed face features -> Option A
  4. Quick Check:

    Better features = deeper network [OK]
Hint: More complex models capture finer face details [OK]
Common Mistakes:
  • Reducing training data lowers accuracy
  • Ignoring features and using color is ineffective
  • Training without labels prevents learning identities
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard