পাঠ ৩১ · ৩৫-এর মধ্যে · মডিউল ৪
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