Drop-in face recognition for your stack. The Cams Face Match Engine turns a photo into an identity, running a full detect, align, embed, and compare pipeline with ONNX ArcFace plus passive anti-spoofing โ all behind three simple HTTPS endpoints. Send a face image or a pre-computed embedding.
Overview
A standalone face-recognition service exposing enroll, verify (1:1), and identify (1:N) at /api/biometric/v1/face/. Each image runs through SCRFD detection, similarity-transform 5-point alignment, MiniFASNet-class presentation-attack detection, and ArcFace (insightface w600k_r50) 512-d embedding, then exact cosine similarity scored 0-100. Galleries are multi-tenant, scoped per tenant and user, with a warm decoded cache and a shared thread pool for fast 1:N. It is GPU-ready via a single ONNX provider switch (CPU, CUDA, TensorRT, or OpenVINO) with no code change.
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" }
Capabilities
Store one or more faces per user from a base64 image or a precomputed 512-d embedding.
Confirm a captured face matches a claimed user, returning a match flag and 0-100 score.
Search a captured face against the whole tenant gallery and return the best match above threshold.
MiniFASNet PAD rejects photo and screen replays on every verify and identify before any embedding is computed.
Rejects faces that are too small, blurry, dark, bright, or off-angle at enroll so only clean templates enter the gallery.
Warm in-memory cache and a bounded thread pool keep brute-force cosine fast into the ~1M-template range.
Features
Grab a key, read the docs, and ship. Our team helps with your first integration.
FAQ
Yes. Requests accept either a JSON embedding array or a base64 image. Embedding input is matched fully live in-engine; image input runs the full detect-align-PAD-embed pipeline. Embedding input can be disabled on untrusted edges by policy.
Yes. Every verify and identify runs a MiniFASNet passive anti-spoofing (PAD) check on the detected face crop before embedding, rejecting print and screen replays. It is single-frame RGB PAD; 3D masks and high-quality video replays need depth or IR hardware.
ArcFace R50 (insightface w600k_r50) producing L2-normalized 512-d embeddings, with SCRFD det_10g for detection and a similarity-transform 5-point aligner.
Yes. Set the ONNX provider to cuda (or tensorrt/openvino); the detector, embedder, and PAD all use the configured provider, with CPU fallback and no code change.
It uses a warm decoded cache and a shared thread pool for brute-force cosine matching, measured at roughly 104 ms over a 1M-template gallery; an approximate-nearest-neighbor index is the path beyond that.
Related
ISO/IEC 19794-2 fingerprint enroll, 1:1 verify, and staged 1:N identify over a simple REST API.
ExploreAPIConnect any internet-enabled biometric attendance or access-control device directly to your web application over HTTP โ no local software, PC, or database required.
ExploreENGINETurns a CCTV, RTSP, or ONVIF video stream into face-recognition attendance โ one punch per person per appearance, with video that never leaves your network.
Explore