Home / Prodotti / Motori di riconoscimento / Face Match Engine
MOTORE

Face Match Engine

Riconoscimento facciale pronto da integrare nel tuo stack. Il Cams Face Match Engine trasforma una foto in un'identità, eseguendo un'intera pipeline di rilevamento, allineamento, embedding e confronto con ArcFace ONNX più anti-spoofing passivo — il tutto dietro tre semplici endpoint HTTPS. Invia l'immagine di un volto o un embedding già calcolato.

Panoramica

Registrazione facciale lato server, verifica 1:1 e identificazione 1:N tramite REST — con embedding ArcFace, rilevamento SCRFD, allineamento e anti-spoofing integrati.

Un servizio autonomo di riconoscimento facciale che espone registrazione, verifica (1:1) e identificazione (1:N) su /api/biometric/v1/face/. Ogni immagine passa attraverso il rilevamento SCRFD, l'allineamento a 5 punti con trasformazione di similarità, il rilevamento di presentation attack di classe MiniFASNet e l'embedding a 512 dimensioni di ArcFace (insightface w600k_r50), quindi la similarità coseno esatta con punteggio 0-100. Le gallerie sono multi-tenant, circoscritte per tenant e utente, con una cache decodificata in memoria e un thread pool condiviso per un 1:N veloce. È pronto per la GPU con un solo cambio di provider ONNX (CPU, CUDA, TensorRT o OpenVINO), senza modifiche al codice.

MOTORERESTHTTPSJSONC++
⚡
Provalo dal vivo — FaceUp. Presenze con riconoscimento facciale direttamente nel browser — registra un volto e segna la presenza con liveness, senza app da installare. Nessun accesso richiesto — inizia con il numero di serie del tuo dispositivo.
POST /api/biometric/v1/face/identify (1:N)
curl .../api/biometric/v1/face/identify \
  -H "sn: $SN" -H "auth-token: $TOKEN" \
  -d '{ "image": "<base64 jpeg>" }'
# -> detect -> PAD anti-spoof -> align -> ArcFace -> cosine
{ "ok":true, "match":true, "score":87,
  "candidates":5312, "user_id":"1042" }

Guardalo in azione

Face Match Engine — demo live

Face Match Engine► Guarda la demo

Funzionalità

Che cosa fa

Registra un volto

Salva uno o più volti per utente da un'immagine base64 o da un embedding a 512 dimensioni già calcolato.

Verifica (1:1)

Conferma che un volto acquisito corrisponda a un utente dichiarato, restituendo un flag di corrispondenza e un punteggio 0-100.

Identificazione (1:N)

Cerca un volto acquisito nell'intera galleria del tenant e restituisce la migliore corrispondenza sopra soglia.

Anti-spoofing (PAD)

Il PAD MiniFASNet respinge foto e riproduzioni su schermo a ogni verifica e identificazione, prima del calcolo di qualsiasi embedding.

Controllo della qualità

Rifiuta in fase di registrazione volti troppo piccoli, sfocati, scuri, troppo luminosi o con angolazione errata, così nella galleria entrano solo template puliti.

Matching 1:N su larga scala

Una cache in memoria e un thread pool limitato mantengono veloce il coseno a forza bruta fino all'ordine di ~1 milione di template.

Caratteristiche

Tutto incluso

  • Tre endpoint — registrazione, verifica (1:1) e identificazione (1:N) — che accettano un'immagine base64 o un embedding a 512 dimensioni già calcolato
  • Embedding ArcFace R50 (insightface w600k_r50) a 512 dimensioni normalizzati L2 con matching coseno e punteggio 0-100
  • Rilevamento facciale SCRFD det_10g integrato più allineamento a 5 punti in forma chiusa verso ArcFace 112x112
  • Anti-spoofing passivo a frame singolo (MiniFASNet PAD) che respinge riproduzioni stampate e su schermo prima dell'embedding
  • Controllo di qualità in fase di registrazione: verifiche di dimensione del volto, nitidezza, luminosità e frontalità con soglie regolabili
  • Gallerie multi-tenant circoscritte per tenant e utente, con filtro per versione del modello attraverso gli aggiornamenti dei modelli
  • Cache di galleria per tenant già in memoria più un thread pool condiviso per l'1:N (accelerazione misurata ~5,3x, ~104 ms su una galleria di 1 milione di template)
  • Cambio di provider ONNX pronto per la GPU (cpu/cuda/tensorrt/openvino) con fallback su CPU e senza modifiche al codice
  • Soglia di corrispondenza configurabile (predefinita 60) e una policy di input che può richiedere solo immagini sugli edge non attendibili

Sviluppa con Face Match Engine

Ottieni una chiave, leggi la documentazione e rilascia. Il nostro team ti assiste con la tua prima integrazione.

FAQ

Domande frequenti

Posso inviare un embedding già calcolato invece di un'immagine?

Sì. Le richieste accettano un array JSON di embedding o un'immagine base64. L'input come embedding viene confrontato interamente in tempo reale nel motore; l'input come immagine esegue l'intera pipeline di rilevamento-allineamento-PAD-embedding. L'input come embedding può essere disabilitato per policy sugli edge non attendibili.

Il Face Match Engine rileva lo spoofing?

Sì. Ogni verifica e identificazione esegue un controllo anti-spoofing passivo (PAD) MiniFASNet sul ritaglio del volto rilevato prima dell'embedding, respingendo riproduzioni stampate e su schermo. È un PAD RGB a frame singolo; le maschere 3D e le riproduzioni video di alta qualità richiedono hardware di profondità o IR.

Quale modello di riconoscimento facciale usa?

ArcFace R50 (insightface w600k_r50) che produce embedding a 512 dimensioni normalizzati L2, con SCRFD det_10g per il rilevamento e un allineatore a 5 punti con trasformazione di similarità.

Può girare su GPU?

Sì. Imposta il provider ONNX su cuda (oppure tensorrt/openvino); rilevatore, embedder e PAD usano tutti il provider configurato, con fallback su CPU e senza modifiche al codice.

Quanto può essere grande una galleria per l'identificazione 1:N?

Usa una cache decodificata in memoria e un thread pool condiviso per il matching coseno a forza bruta, misurato a circa 104 ms su una galleria di 1 milione di template; oltre questa soglia la strada è un indice approximate-nearest-neighbor.

Correlati

Esplora altre parti della piattaforma