Skip to main content

Enrollment

Enrollment is the complete process of registering a person into a gallery so they can later be recognised. It runs once per person (or on re-enrollment) and uses the same capture-to-extract pipeline as recognition, but with stricter quality gating — the goal is a high-quality, durable template (often several per person).

How it works​

The pipeline mirrors identification / verification; the differences are at enrollment time:

  • Stricter quality gate than at recognition — a weak enrolled template degrades every later match.
  • Several samples per identity — enroll multiple templates per person and match by the best per-identity score; robust to pose, lighting, and ageing.
  • Liveness for unattended / self-service enrollment — prevent enrolling a spoof.

Deduplication​

Deduplication answers "is this person already enrolled?" and prevents the same person being registered twice under different identities. It is not a separate step but a pattern over recognition: before persisting, run a 1:N search of the candidate against the gallery and treat a high-confidence match as a probable duplicate to review or reject. Tune its threshold separately (usually stricter) from the recognition threshold.

Modalities​

ModalitySDK(s)Notes
FaceSFE Toolkit · Enrollment SDK (on-device) · Biometric Identification Service (server)Strict quality gating (incl. ICAO-style cropping).
IrisSFE Toolkit (on-device)Narrower platform coverage.
PalmSFE Toolkit (on-device) · Biometric Identification Service (server)Contactless.
FingerprintEnrollment SDK / IDKit (on-device)Contact sensor.

SFE Toolkit implementation​

On the SFE Toolkit (face, palm, iris), the enrollment capture-to-extract steps map to these capabilities:

Pipeline stepFacePalmIris
DetectionFace DetectionPalm detectionIris detection
Landmarks / keypointsFace LandmarksPalm landmarks—
Quality / attributesFace QualityPalm Attributes—
Template extractionFace Template ExtractionPalm Template ExtractionIris Template Extraction

The optional deduplication check uses 1:N identification — see Identification (1:N). Passive liveness (for unattended enrollment) is a separate feature — see Liveness.

IDKit implementation​

For the fingerprint modality, the enrollment-side steps map to:

Pipeline stepIDKit capability
Quality / presenceFingerprint quality and presence
Template extractionTemplate extraction

Fingerprint capture and enrollment are handled by the Enrollment SDK (documentation pending).

Enrollment SDK implementation​

On the Enrollment SDK (face, iris, fingerprint), the enrollment capture-to-extract steps map to these functions:

Pipeline stepFaceIrisFingerprint
DetectionFaceDetector::DetectIrisDetector::DetectPrintExecutor::AlgoSegment / NeuralSegment
Landmarks / keypointsFaceExecutor::GetKeypoint——
Quality / attributesOFIQFaceIrisExecutor::IrisQualityPrintExecutor::CalculateNFIQ2
Template extractionApplicant::AddFaceApplicant::AddIrisICSExtractor::Extract · Applicant::AddPrint

Full signatures: API Reference.

Key considerations​

  • Quality first — gate strictly; reject low-quality captures and weak templates before persisting.
  • Keep source images where policy allows, so you can re-enroll after an algorithm/version change (templates aren't comparable across algorithm families).
  • Deduplicate when identities must be unique — see above.
  • Match the enrollment algorithm/version to recognition — both must share one extraction family.