Skip to content

Face Matching & Thresholds

Definition

Face matching compares two face embeddings to determine if they belong to the same person. The threshold โ€” the similarity score above which a match is accepted โ€” is the single most important tunable parameter in face verification, directly controlling the tradeoff between security (FAR) and usability (FRR).


Cosine Similarity Scoring

Given embeddings a (selfie) and b (ID photo), both 512-dimensional:

similarity = (a ยท b) / (|a| ร— |b|)
Score Range Interpretation Typical Action
0.80 - 1.00 Very high confidence โ€” same person Auto-approve
0.65 - 0.80 High confidence โ€” likely same person Auto-approve (standard config)
0.50 - 0.65 Moderate โ€” possible match Manual review
0.30 - 0.50 Low โ€” likely different person Reject
0.00 - 0.30 Very low โ€” different person Reject

The FAR/FRR Tradeoff

graph LR
    A["Lower Threshold<br/>More permissive"] --> B["โ†‘ FAR (False Accept Rate)<br/>More impostors pass"]
    A --> C["โ†“ FRR (False Reject Rate)<br/>Fewer genuine users rejected"]

    D["Higher Threshold<br/>More strict"] --> E["โ†“ FAR<br/>Fewer impostors pass"]
    D --> F["โ†‘ FRR<br/>More genuine users rejected"]

    style B fill:#e53935,color:#fff
    style C fill:#2E7D32,color:#fff
    style E fill:#2E7D32,color:#fff
    style F fill:#e53935,color:#fff

Operating Points

Use Case Target FAR Typical Threshold FRR Impact
Convenience eKYC FAR โ‰ค 1% 0.55-0.60 FRR ~1-3%
Standard eKYC FAR โ‰ค 0.1% 0.60-0.65 FRR ~3-5%
High-security FAR โ‰ค 0.01% 0.70-0.75 FRR ~8-15%
Border control FAR โ‰ค 0.001% 0.80+ FRR ~15-25%

Equal Error Rate (EER)

The point where FAR = FRR. Lower EER = better model:

Model EER (LFW) EER (IJB-C)
ArcFace-R100 ~0.1% ~1.5%
AdaFace-R100 ~0.1% ~1.2%
MobileFaceNet ~0.3% ~3.0%

1:1 Verification vs 1:N Identification

Mode Use in eKYC Process Threshold Consideration
1:1 Verification "Is this selfie the same person as ID?" Compare 2 embeddings Single threshold, tuned for FAR/FRR
1:N Identification "Does this face exist in our database?" (deduplication) Search against N faces Lower threshold to catch more duplicates, accept higher false positive rate

Threshold Tuning in Practice

Step 1: Collect Evaluation Data

  • Genuine pairs: Same person, different images (selfie + ID)
  • Impostor pairs: Different persons
  • Minimum: 1,000 genuine + 10,000 impostor pairs

Step 2: Plot DET/ROC Curve

  • Plot FAR vs FRR at every threshold
  • Choose operating point based on business requirements

Step 3: Per-Demographic Validation

  • Test threshold across age groups, genders, ethnicities
  • Adjust if significant disparities exist (fairness requirement)

Key Takeaways

Summary

  • The threshold is the most important parameter โ€” controls security vs usability tradeoff
  • Standard eKYC typically operates at FAR โ‰ค 0.1% with threshold 0.60-0.65
  • EER is the key model quality metric โ€” lower is better
  • Per-demographic testing is essential for fair verification
  • 1:1 verification (selfie vs ID) is the primary use; 1:N (deduplication) uses different thresholds
  • Threshold must be tuned on representative data from your actual user population