Retour au Blog
Computer Vision 20 décembre 2024 8 min de lecture

Reconnaissance faciale en production avec InsightFace

Système de reconnaissance faciale de bout en bout — détection, alignement, extraction d'embeddings ArcFace.

Pipeline

Image → RetinaFace Detection → Landmark Alignment → ArcFace Embedding → Faiss Index

Code

from insightface.app import FaceAnalysis
import faiss
import numpy as np

app = FaceAnalysis(providers=['CUDAExecutionProvider'])
app.prepare(ctx_id=0, det_size=(640, 640))

# Extract embeddings
def get_embedding(image):
    faces = app.get(image)
    if not faces: return None
    return faces[0].normed_embedding  # 512-dim L2-normalized

# Build Faiss index
index = faiss.IndexFlatIP(512)  # Inner product for cosine sim
index.add(np.array(embeddings))

# Search
D, I = index.search(query_embedding.reshape(1, -1), k=5)

Réglage du seuil

Similarité cosinus ArcFace : >0.35 = probablement la même personne. À régler sur vos propres données démographiques.

Face RecognitionArcFaceInsightFaceFaissProduction
O

Ossama Elhakki

Ingénieur IA & Systèmes ML — Maroc