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.