Bird
Raised Fist0
Computer Visionml~10 mins

Face recognition concept in Computer Vision - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to load an image for face recognition.

Computer Vision
import cv2
image = cv2.imread([1])
print(image.shape)
Drag options to blanks, or click blank then click option'
Aload('face.jpg')
B'face.jpg'
Cface.jpg
Dread('face.jpg')
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting quotes around the file name
Using a function that does not exist like load() or read()
2fill in blank
medium

Complete the code to convert the image to grayscale for face detection.

Computer Vision
gray_image = cv2.cvtColor(image, [1])
print(gray_image.shape)
Drag options to blanks, or click blank then click option'
Acv2.COLOR_BGR2GRAY
Bcv2.COLOR_BGR2RGB
Ccv2.COLOR_RGB2GRAY
Dcv2.COLOR_GRAY2BGR
Attempts:
3 left
💡 Hint
Common Mistakes
Using RGB instead of BGR conversion codes
Converting grayscale back to color by mistake
3fill in blank
hard

Fix the error in the face detection code by filling the correct method name.

Computer Vision
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
facedetect = face_cascade.[1](gray_image, scaleFactor=1.1, minNeighbors=5)
print(len(facedetect))
Drag options to blanks, or click blank then click option'
AdetectMultiScale
BdetectFaces
CfindFaces
Ddetect_face
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect method names that do not exist
Confusing method names with other libraries
4fill in blank
hard

Fill both blanks to create a dictionary of face locations with width and height.

Computer Vision
faces_info = {i: (x, y, [1], [2]) for i, (x, y, w, h) in enumerate(facedetect)}
print(faces_info)
Drag options to blanks, or click blank then click option'
Aw
Bh
Cx
Dy
Attempts:
3 left
💡 Hint
Common Mistakes
Using x or y instead of width and height
Mixing up the order of values
5fill in blank
hard

Fill all three blanks to draw rectangles around detected faces on the image.

Computer Vision
for (x, y, w, h) in facedetect:
    cv2.rectangle(image, ([1], [2]), (x + w, y + h), [3], 2)
cv2.imshow('Faces', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Drag options to blanks, or click blank then click option'
Ax
By
C(255, 0, 0)
D(0, 255, 0)
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping x and y coordinates
Using wrong color tuples

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