পাঠ ৩১ · ৩৫-এর মধ্যে · মডিউল ৪
Home / AI Courses / Computer Vision / Face recognition

Face recognition

Face recognition — detection, embedding, identification
৭ মিনিট পড়া মাঝারি · Intermediate Python কোডসহ

এই পাঠে যা শিখবেন

  • Face recognition pipeline 4 step
  • FaceNet triplet loss
  • ArcFace angular margin loss
  • Ethics ও privacy concern

১ · Face recognition vs detection

  • Face detection: "এই ছবিতে কোথায় মুখ?" — bounding box।
  • Face recognition: "এই মুখ কে?" — identity।
  • Verification: "এই দু'মুখ কি একই person?" — 1:1 match।
  • Identification: database-এ "এই মুখ কে?" — 1:N search।
কেন্দ্রীয় ধারণা

Recognition = "embedding learning"। Each face → 128-512D vector। Same person → close, different → far। Cosine similarity-এ comparison।

২ · Pipeline 4 step

  1. Detection: face crop locate।
  2. Alignment: 5-68 landmark detect → rotate/scale to canonical pose।
  3. Embedding: CNN/ViT → vector।
  4. Matching: compare embedding-এ cosine similarity → threshold।

৩ · Detection

  • Viola-Jones (২০০১): Haar cascade — classical, fast।
  • MTCNN (২০১৬): three-stage CNN। Face + landmark।
  • RetinaFace (২০১৯): single-stage, robust।
  • SCRFD (২০২১): efficient mobile।
  • YOLOv8-face: latest realtime।

৪ · Alignment

  • 5-point: 2 eyes, nose, 2 mouth corner।
  • Affine transform → canonical (e.g., eyes horizontal, fixed scale)।
  • Eliminates pose variation।
  • Recognition accuracy boost ~5-10%।

৫ · FaceNet (২০১৫, Google)

Schroff et al. — embedding learning revolution।

Triplet loss:

$$\mathcal{L} = \max\big(0, \|a - p\|^2 - \|a - n\|^2 + \alpha\big)$$

  • $a$: anchor — base image।
  • $p$: positive — same person, different photo।
  • $n$: negative — different person।
  • $\alpha$: margin (typical 0.2)।
  • Push: anchor-positive close, anchor-negative far।

৬ · ArcFace (২০১৯)

Deng et al. — additive angular margin। Current SOTA।

Idea: classification head with angular margin between class।

$$\mathcal{L} = -\log \frac{e^{s \cos(\theta_{y_i} + m)}}{e^{s \cos(\theta_{y_i} + m)} + \sum_{j \ne y_i} e^{s \cos\theta_j}}$$

  • $\theta$: angle between feature and class center।
  • $m$: angular margin (e.g., 0.5)।
  • $s$: scale (e.g., 64)।
  • Inter-class margin enforce।

৭ · Recognition matching

  • Each face → embedding (e.g., 512-D)।
  • L2 normalize।
  • Compare: cosine similarity = $\cos\theta = a \cdot b$ (for unit vector)।
  • Threshold: > 0.6 same person, < 0.4 different (typical)।
Face recognition = "fingerprint of face"। Embedding vector = unique signature। Library compare — match found vs new identity।
Face recognition pipeline 📷 Image crowd photo 1️⃣ Detect RetinaFace 2️⃣ Align 5-pt landmark 3️⃣ Embed ArcFace 512D 4️⃣ Match cosine sim Identity "Karim" Embedding-based — same person → close vector, different → far FaceNet (2015) → ArcFace (2019) → modern SOTA ETHICS: bias, privacy, surveillance — major concern
Face recognition — detect, align, embed, match। Embedding-এ identity encoded।

৮ · Practical use

Python · DeepFace
# pip install deepface
from deepface import DeepFace

# Verification
result = DeepFace.verify(
    img1_path="person1.jpg",
    img2_path="person2.jpg",
    model_name="ArcFace",
)
print("Same person:", result["verified"])
print("Distance:", result["distance"])

# Identification
result = DeepFace.find(
    img_path="query.jpg",
    db_path="people_db/",
    model_name="ArcFace",
)
print("Match:", result)

# Face attribute (age, gender, race, emotion)
analysis = DeepFace.analyze(
    img_path="photo.jpg",
    actions=['age', 'gender', 'emotion'],
)
print(analysis)

    
DeepFace — high-level Python library। Multiple model support (FaceNet, ArcFace, VGG-Face, etc.)। Easy verification ও search।

৯ · Bias ও fairness

  • Buolamwini & Gebru (২০১৮): commercial face recognition dark-skin face accuracy 35% lower।
  • NIST FRVT: federal benchmark — bias documented।
  • Causes: training data demographic skew।
  • Mitigation: diverse dataset, fairness-aware loss, demographic-balanced eval।

১০ · Privacy ও regulation

  • EU GDPR: biometric data special protection।
  • EU AI Act: public space face recognition restricted।
  • US: San Francisco, Boston ban।
  • Bangladesh: Data Protection Bill emerging।
  • Best practice: consent, opt-in, secure storage।

১১ · Use cases — pros ও cons

Beneficial:

  • Phone unlock — Apple Face ID।
  • Photo organization — Google Photos।
  • Missing person search।
  • Building access (consensual)।
  • Bank KYC verification।

Concerning:

  • Mass surveillance।
  • Stalking enabling।
  • Wrongful arrest (false positive)।
  • Authoritarian misuse।

১২ · Bangladesh deployment

  • NID verification — bank, telecom।
  • Employee attendance (consent issue)।
  • Election verification (debate ongoing)।
  • Smartphone unlock।
  • Bangladesh-specific dataset rare — bias risk।
Face recognition extremely powerful এবং extremely dangerous। Engineer-এর responsibility — use case ethical evaluate। "Just because we can, doesn't mean we should."

ভাবনার প্রশ্ন

প্র ০১ Triplet loss-এ "hard negative mining" — কী ও কেন critical?

FaceNet training-এর key trick।

Naive triplet:

  • Random anchor + positive + negative।
  • Most triplet "easy" — anchor-negative already far।
  • Loss zero, no learning signal।

Hard negative:

  • Negative similar to anchor (high cosine similarity)।
  • Triplet loss > 0 — gradient flows।
  • Model learns to distinguish।

Mining strategies:

  • Hardest: closest negative। Effective but unstable।
  • Semi-hard: anchor-negative > anchor-positive but within margin। Stable।
  • Online mining: within batch, dynamic।

Empirical:

  • Naive: 60% LFW।
  • Hard mining: 99.6% LFW।
  • Massive difference।

Modern alternatives:

  • ArcFace — classification-based, no mining।
  • Sphere face — angular margin।
  • Contrastive — InfoNCE।

মূল উপলব্ধি: Sample selection ML training-এ underrated factor। Right hard examples >> more easy examples।

প্র ০২ ArcFace "angular margin" — geometry-এ কী ঘটছে? Cosine vs euclidean?

Embedding space geometry — face recognition-এর deep aspect।

Hyperspherical embedding:

  • L2 normalize → unit vector।
  • Embedding lives on hypersphere।
  • Distance = angular distance।
  • Cosine similarity = $\cos\theta$।

Why hyperspherical:

  • Magnitude irrelevant — only direction matter।
  • Image variation (lighting, etc.) magnitude-affecting, direction less।
  • Stable across condition।

Angular margin:

  • Each class — center on hypersphere।
  • Add margin $m$ to angle: $\cos(\theta + m)$।
  • Decision boundary "tight"।
  • Inter-class separation enforced।

Effect:

  • Same person — narrow cone around center।
  • Different person — angular gap > m।
  • Verification — single threshold across।

Vs Euclidean:

  • Euclidean — magnitude affects।
  • Cosine — only angle।
  • Image lighting/pose change — Euclidean fluctuate, cosine stable।

Modern face recognition:

  • SphereFace — multiplicative margin।
  • ArcFace — additive (cleaner)।
  • CosFace — variant।
  • MagFace — magnitude-aware।

মূল উপলব্ধি: Embedding space geometry matters। Right metric (cosine vs Euclidean) — significant accuracy gain।

প্র ০৩ Bangladesh-এ face recognition deploy — privacy law, consent, bias। Engineer-এর checklist?

Real Bangladesh ethical engineering question।

Legal landscape:

  • Bangladesh Data Protection Bill — pending।
  • ICT Act 2006 — broad provisions।
  • NID rule — biometric data government regulated।
  • EU GDPR equivalent emerging।

Consent framework:

  • Explicit, informed, specific।
  • Withdraw possible।
  • Children — parental consent।
  • Document consent log।

Bias mitigation:

  • Bangladesh-specific dataset — diverse skin tone।
  • Per-demographic accuracy test।
  • Public benchmark report।
  • External audit।

Security:

  • Embedding (not raw image) store — irreversible if salted।
  • Encryption at rest + transit।
  • Access log — audit trail।
  • Breach response plan।

Engineer checklist:

  1. Use case ethical justify? (security vs convenience)।
  2. Consent workflow design।
  3. Bias evaluation per demographic group।
  4. False positive/negative impact analysis।
  5. Data retention policy।
  6. Right to deletion implementation।
  7. Third-party audit।
  8. Public transparency report।

Use cases ranked:

  • ✅ Phone unlock (personal, opt-in)।
  • ✅ Photo album organize।
  • ⚠ Office attendance (consent + alternative offered)।
  • ⚠ Bank KYC (regulated, documented)।
  • ❌ Public CCTV mass surveillance।
  • ❌ Behavioral advertising।
  • ❌ Without consent identification।

Bangladesh examples:

  • BD Election Commission — biometric verification।
  • bKash/Nagad — KYC।
  • Garment factory attendance — controversial।

Reading recommendation:

  • UNESCO AI ethics framework।
  • Microsoft AI principles।
  • Anthropic Constitutional AI।
  • Bangladesh CSA Cyber Security recommendation।

মূল উপলব্ধি: Engineer = ethical decision-maker। "Compliant" minimal bar; "ethical" higher। Bangladesh-এ AI ecosystem responsibility shape করার সুযোগ।

প্র ০৪ Face recognition adversarial attack — adversarial sticker, makeup। কী technique, defense কী?

Face recognition security — active research।

Attack types:

  • Evasion: mask/glasses fool detection।
  • Impersonation: appear as another person।
  • Adversarial patch: printed sticker disrupt।
  • Adversarial makeup: careful pattern।
  • Eye glasses: Sharif et al. 2016 — fool ResNet।

Adversarial example math:

  • Find perturbation $\delta$: $\| \delta \|_\infty < \epsilon$।
  • $\arg\max \mathcal{L}(f(x + \delta), y_t)$ where $y_t$ = target identity।
  • FGSM, PGD optimization।

Physical attack:

  • Cap, glass, sticker — robust to printing imperfection।
  • Multi-angle, multi-lighting test।
  • Demo: Wu et al., 2020 — IR-light attack।

Liveness detection:

  • Photo attack — passive countermeasure।
  • Active liveness — blink, smile।
  • 3D depth (iPhone Face ID)।
  • Texture analysis।

Defense techniques:

  • Adversarial training: include adversarial examples।
  • Input preprocessing: JPEG compress, blur।
  • Detection: classify as adversarial।
  • Multi-modal: face + voice।
  • Continuous authentication: not single-shot।

Privacy-preserving counterattack:

  • Fawkes (UChicago, 2020) — protect own photo from training।
  • Cloak — adversarial perturbation।
  • Anti-FaceNet glasses।

Production reality:

  • Commercial system — multi-layer defense।
  • Apple Face ID — depth + IR + neural attestation।
  • Azure Face — liveness + behavior।
  • Banking — multi-factor essential।

মূল উপলব্ধি: Security ≠ accuracy। Adversarial robustness separate consideration। Bangladesh banking, government — defense critical।

অনুশীলন

  1. DeepFace verify: Two photo same person কিনা — DeepFace।

    Code section ৮-এ। ArcFace, FaceNet — multiple model try।

  2. Embedding visualize: 5 person × 3 photo — embedding extract, t-SNE plot।
    from sklearn.manifold import TSNE
    embeddings = [DeepFace.represent(img)[0]['embedding'] for img in images]
    tsne = TSNE(n_components=2).fit_transform(np.array(embeddings))
    # Plot — same person should cluster
  3. ভাবুন: Bangladesh smart attendance — face recognition vs biometric — কোনটা?

    Fingerprint — physical contact, hygiene concern (post-COVID)। Face — contactless, fast। Privacy — both biometric। Local consent + opt-out essential।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

কোড রানার কাজ না করলে? Google Colab use করুন।
পূর্ববর্তী পাঠ
পাঠ ৩০ · ControlNet ও DreamBooth