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
| Modality | SDK(s) | Notes |
|---|---|---|
| Face | SFE Toolkit · Enrollment SDK (on-device) · Biometric Identification Service (server) | Strict quality gating (incl. ICAO-style cropping). |
| Iris | SFE Toolkit (on-device) | Narrower platform coverage. |
| Palm | SFE Toolkit (on-device) · Biometric Identification Service (server) | Contactless. |
| Fingerprint | Enrollment 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 step | Face | Palm | Iris |
|---|---|---|---|
| Detection | Face Detection | Palm detection | Iris detection |
| Landmarks / keypoints | Face Landmarks | Palm landmarks | — |
| Quality / attributes | Face Quality | Palm Attributes | — |
| Template extraction | Face Template Extraction | Palm Template Extraction | Iris 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 step | IDKit capability |
|---|---|
| Quality / presence | Fingerprint quality and presence |
| Template extraction | Template 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 step | Face | Iris | Fingerprint |
|---|---|---|---|
| Detection | FaceDetector::Detect | IrisDetector::Detect | PrintExecutor::AlgoSegment / NeuralSegment |
| Landmarks / keypoints | FaceExecutor::GetKeypoint | — | — |
| Quality / attributes | OFIQFace | IrisExecutor::IrisQuality | PrintExecutor::CalculateNFIQ2 |
| Template extraction | Applicant::AddFace | Applicant::AddIris | ICSExtractor::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.
Related pages
- Identification (1:N) (uses the gallery this feature builds)
- Verification (1:1) (compares against the identity this feature creates)
- Liveness (face & palm)