Python · Computer Vision · PCA · FaceNet · Model Evaluation

Face Off, Evaluating PCA and FaceNet

Conceptual artwork: a cobalt frame holds frosted feature studies. This is not an eigenface or embedding plot.

Conceptual cover artwork · Project evidence below

My contribution
Designed the testing and comparison approach, ran predictions, and evaluated accuracy, runtime, and other performance metrics.
The team
Edward Kim · Priyanshi Singh · Murabet Sarsur · Sanjay Manivasagam

The evaluation question

When should a model say “unknown”?

A classifier can always return a name. A useful evaluation asks whether it should. This study considers both the faces a model recognizes and the unfamiliar faces it mistakenly accepts.

I set up how the team would test and compare the methods, ran predictions, and calculated accuracy, runtime, and other metrics. The presentation covers the PCA baseline and FaceNet pipeline; the written report examines logistic regression and cosine distance as decision rules on FaceNet embeddings.

Two representations

From pixels to a decision.

The team explored a classical baseline and a pretrained neural representation. These diagrams summarize the methods; they are not measured embeddings or model outputs.

Classical baseline

PCA + logistic regression

  1. Prepare

    Grayscale faces, resized and flattened

  2. Compress

    Principal components retain patterns of variation

  3. Classify

    Logistic regression predicts the identity

The presentation documents this pipeline and its separate evaluation protocol.

Learned representation

FaceNet + a decision rule

  1. Embed

    Pretrained FaceNet represents each face

  2. Normalize

    Embeddings are normalized for comparison

  3. Decide

    Accept an identity or return unknown

The report compares cosine distance with a learned classifier on these embeddings.

Recognize a known person.

Reject an unknown person.

Evaluation design

Keep the unknowns in the test.

  1. Separate the test images

    For the report’s FaceNet experiment, identities needed at least 5 images. One image per eligible identity was held out for the final test.

  2. Choose the operating point

    Validation runs explored the threshold tradeoff: accepting more true matches can also accept more unknown faces. The chosen threshold was then evaluated on the held-out test images.

  3. Measure mistaken acceptance

    A separate pool of 600 identities with a single image supplied unknown probes. False acceptance measures how often the model incorrectly assigns these probes to a known identity.

Reported evidence

A score needs its operating point.

Held-out results from the written report. Both rows use FaceNet embeddings; the decision rule changes. This table is not the PCA-versus-FaceNet comparison.

FaceNet identification · held-out test · report, PDF pages 5–6
Decision ruleTrue identificationFalse acceptance
Logistic regressionThreshold 9.91460870.69%0.33%
Cosine distanceThreshold 0.26860389.36%1.33%
True identification rate
Known-person probes assigned the correct identity.
False acceptance rate
Unknown-person probes mistakenly accepted as known.

More correct identifications, with more false acceptances.

The cosine result has a higher true identification rate and a higher false acceptance rate at the selected thresholds. These are different operating points, so the table does not prove that one rule is better at the same false-acceptance rate. The cosine result also exceeds a strict 1% false-acceptance limit.

What the evidence can support

The conditions matter.

Separate experiments

The PCA and FaceNet experiments use different filtering and evaluation setups. Their scores are not combined into a single controlled comparison.

A limited population

Labeled Faces in the Wild contains many public figures and is not representative of the world’s population. The study did not measure demographic fairness.

Pretrained, not fine-tuned

FaceNet was pretrained on VGGFace2. It was not retrained for this study, and some identities still had few examples after filtering.

Runtime needs context

Runtime was part of my evaluation work. A reproducible, like-for-like timing comparison is not available in the supplied evidence, so this page makes no speedup claim.

Read the original study.

The report provides the FaceNet decision-rule analysis and appendix. The presentation gives the broader PCA and FaceNet project overview.

My contribution

  • Designed the testing and comparison approach for a team study of PCA with logistic regression and FaceNet, ran predictions, and evaluated accuracy, runtime, and other performance metrics.
  • Compared model behavior across identification tasks, including the tradeoff between correctly identifying known people and falsely accepting unknown people.
All workGet in touch