Acasă / Produse / Motoare de recunoaștere / Face Match Engine
MOTOR

Face Match Engine

Recunoaștere facială gata de integrat în stack-ul dumneavoastră. Cams Face Match Engine transformă o fotografie într-o identitate, rulând un pipeline complet de detecție, aliniere, embedding și comparare cu ONNX ArcFace plus protecție pasivă anti-spoofing — totul în spatele a trei endpoint-uri HTTPS simple. Trimiteți o imagine facială sau un embedding precalculat.

Prezentare generală

Înrolare facială pe server, verificare 1:1 și identificare 1:N prin REST — cu embedding ArcFace, detecție SCRFD, aliniere și protecție anti-spoofing integrate.

Un serviciu autonom de recunoaștere facială care expune înrolare, verificare (1:1) și identificare (1:N) la /api/biometric/v1/face/. Fiecare imagine trece prin detecție SCRFD, aliniere în 5 puncte prin transformare de similaritate, detecție a atacurilor de prezentare de clasa MiniFASNet și embedding ArcFace (insightface w600k_r50) de 512 dimensiuni, apoi o similaritate cosinus exactă, notată 0-100. Galeriile sunt multi-tenant, limitate per tenant și utilizator, cu o cache decodată încărcată în memorie și un thread pool partajat pentru 1:N rapid. Este pregătit pentru GPU printr-un simplu comutator de provider ONNX (CPU, CUDA, TensorRT sau OpenVINO), fără modificări de cod.

MOTORRESTHTTPSJSONC++
⚡
Încercați live — FaceUp. Prezență prin recunoaștere facială direct în browser — înrolați o față și marcați prezența cu liveness, fără aplicație de instalat. Nu este nevoie de autentificare — începeți cu numărul de serie al dispozitivului.
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" }

Vedeți-l în acțiune

Face Match Engine — demonstrație live

Face Match Engine► Urmăriți demonstrația

Capabilități

Ce face

Înrolarea unei fețe

Stocați una sau mai multe fețe per utilizator dintr-o imagine base64 sau dintr-un embedding precalculat de 512 dimensiuni.

Verificare (1:1)

Confirmați că o față captată corespunde unui utilizator declarat, returnând un indicator de potrivire și un scor 0-100.

Identificare (1:N)

Căutați o față captată în întreaga galerie a tenantului și returnați cea mai bună potrivire peste prag.

Anti-spoofing (PAD)

MiniFASNet PAD respinge replay-urile cu fotografii și ecrane la fiecare verificare și identificare, înainte de calcularea oricărui embedding.

Filtrare după calitate

Respinge fețele prea mici, neclare, prea întunecate, prea luminoase sau din unghi greșit la înrolare, astfel încât în galerie să intre doar șabloane curate.

Potrivire 1:N la scară

O cache în memorie încărcată și un thread pool limitat mențin rapidă potrivirea cosinus brute-force până la ordinul a ~1 milion de șabloane.

Funcționalități

Tot ce este inclus

  • Trei endpoint-uri — înrolare, verificare (1:1) și identificare (1:N) — care acceptă o imagine base64 sau un embedding precalculat de 512 dimensiuni
  • Embedding-uri ArcFace R50 (insightface w600k_r50) de 512 dimensiuni, normalizate L2, cu potrivire cosinus notată 0-100
  • Detecție facială SCRFD det_10g integrată, plus aliniere în 5 puncte în formă închisă la ArcFace 112x112
  • Anti-spoofing pasiv pe un singur cadru (MiniFASNet PAD) respinge replay-urile de tipărituri și ecrane înainte de embedding
  • Filtru de calitate la înrolare: verificări ale dimensiunii feței, clarității, luminozității și frontalității, cu praguri reglabile
  • Galerii multi-tenant limitate per tenant și utilizator, cu filtrare după versiunea modelului între actualizările de model
  • Cache de galerie per tenant încărcată în memorie, plus un thread pool partajat pentru 1:N (accelerare măsurată de ~5,3x, ~104 ms pe o galerie de 1M de șabloane)
  • Comutator de provider ONNX pregătit pentru GPU (cpu/cuda/tensorrt/openvino), cu fallback pe CPU și fără modificări de cod
  • Prag de potrivire configurabil (implicit 60) și o politică de intrare care poate impune doar imagini la marginile nesigure

Construiți cu Face Match Engine

Luați o cheie, citiți documentația și lansați. Echipa noastră vă ajută cu prima integrare.

Întrebări frecvente

Întrebări frecvente

Pot trimite un embedding precalculat în loc de o imagine?

Da. Cererile acceptă fie un array JSON cu embedding, fie o imagine base64. Intrarea de tip embedding este potrivită complet live în motor; intrarea de tip imagine rulează întregul pipeline de detecție, aliniere, PAD și embedding. Intrarea de tip embedding poate fi dezactivată prin politică la marginile nesigure.

Detectează Face Match Engine spoofing-ul?

Da. Fiecare verificare și identificare rulează o verificare pasivă anti-spoofing (PAD) MiniFASNet pe decupajul feței detectate înainte de embedding, respingând replay-urile de tipărituri și ecrane. Este PAD RGB pe un singur cadru; măștile 3D și replay-urile video de înaltă calitate necesită hardware de adâncime sau IR.

Ce model de recunoaștere facială folosește?

ArcFace R50 (insightface w600k_r50), care produce embedding-uri de 512 dimensiuni normalizate L2, cu SCRFD det_10g pentru detecție și un aliniator în 5 puncte prin transformare de similaritate.

Poate rula pe GPU?

Da. Setați providerul ONNX la cuda (sau tensorrt/openvino); detectorul, embedder-ul și PAD folosesc toate providerul configurat, cu fallback pe CPU și fără modificări de cod.

Ce dimensiune de galerie poate gestiona identificarea 1:N?

Folosește o cache decodată încărcată în memorie și un thread pool partajat pentru potrivirea cosinus brute-force, măsurat la aproximativ 104 ms pe o galerie de 1M de șabloane; dincolo de aceasta, calea de urmat este un index de tip approximate-nearest-neighbor.

Conexe

Explorați mai mult din platformă