Introduction¶
id3 Face SDK is a cross-platform library aimed at system integrators willing to quickly add face detection, tracking, analysis, liveness check and recognition capabilities to their products. It is available as a Software Development Kit (SDK) offering a comprehensive interface to simplify integration of the library on servers, desktops/laptops, mobile and edge devices.
Features¶
id3 Face SDK offers the following features and benefits:
Top performance facial biometrics, AI powered
Optimized for AI hardware, including GPU acceleration, for fast operation
Robust human face detection and tracking in digital images or video frames
Small facial features template (268 bytes or 140 bytes)
Ultra-fast face template matching in one-to-one comparison and one-to-many search modes
Multiple face analysis functionalities: landmarks estimation, pose estimation, mask detection, etc.
Facial attributes determination for ICAO compliant portraits
Face image quality assessment
Accurate passive liveness detection methods to protect against biometric fraud, e.g. presentation attacks with photos and videos
Compact library designed to run on most hardware configurations from high-end workstations to low-power edge devices
Compatible with Windows, Linux, MacOS, Android and iOS operating systems
Simple and comprehensive programming interface in various languages
Applications¶
Public Safety
Border Control
Mobile apps
ID Management
Banking & Payment
Automobile & Transportation
Healthcare
Technology¶
Thanks to many years of research and development in the field of computer vision and artificial intelligence, our experts have designed a unique algorithm that reproduces the visual recognition abilities of the human brain.
With the power of deep learning techniques trained on millions of faces, our technology outperforms human performance enabling unconstrained/non-voluntary real-time detection and recognition of faces in a crowd. It operates on any type of people face whatever the gender, age or race and is robust to intra-personal variations such as ageing, facial hair, scars/injuries, accessories (e.g. glasses, hats, etc.), cosmetics, etc. The technology is also robust to variations of the lightning conditions and has the ability to work with a large range of cameras under either visible or near-infrared light.
The face identification process is nearly instantaneous. It has the capability to compare millions of faces in less than one second on a single processing unit. The matching algorithm has also very low resource requirements enabling possible applications on secure elements.
id3 Technologies face recognition algorithm has proven excellent tradeoff between accuracy, speed and template size in the NIST ongoing Face Recognition Vendor Test (FRVT).
Biometric Performance¶
The overall accuracy of a facial recognition system may vary according to a number of factors such as:
Quality of the camera system,
Lighting conditions,
Facial pose variations,
Population under test,
etc.
Performance metrics¶
False non match rate (FNMR) is the proportion of mated comparisons below a threshold set to achieve the false match rate (FMR) specified. FMR is the proportion of impostor comparisons at or above that threshold. Since FMR and FNMR is in inverse proportion to each other, choosing the operational threshold is a trade-off between system security and user convenience.
NIST FRVT evaluation¶
The Face Recognition Vendor Test (FRVT) was initiated by the National Institute of Standards and Technologies (NIST) in February 2017. It is aimed at measurement of the performance of automated face recognition technologies applied to a wide range of civil, law enforcement and homeland security applications including verification of visa images, de-duplication of passports, recognition across photojournalism images, and identification of child exploitation victims.
FRVT datasets¶
Visa images
The images have geometry in reasonable conformance with the ISO/IEC 19794-5 Full Frontal image type. Pose is generally excellent.
The images are of size 252x300 pixels. The mean interocular distance (IOD) is 69 pixels.
The images are of subjects from greater than 100 countries, with significant imbalance due to visa issuance patterns.
The images are of subjects of all ages, including children, again with imbalance due to visa issuance demand.
Many of the images are live capture. A substantial number of the images are photographs of paper photographs.
Mugshot images
The images have geometry in reasonable conformance with the ISO/IEC 19794-5 Full Frontal image type.
The images are of variable sizes. The median IOD is 104 pixels. The mean IOD is 123 pixels.
The images are of subjects from the United States.
The images are of adults.
The images are all live capture.
Wild images
The images include many photojournalism-style images. Images are given to the algorithm using a variable but generally tight crop of the head. Resolution varies very widely. The images are very unconstrained, with wide yaw and pitch pose variation. Faces can be occluded, including hair and hands.
The images are of adults.
All of the images are live capture, none are scanned.
FRVT results¶
The latest report of the FRVT can be found [here](https://pages.nist.gov/frvt/reports/11/frvt_11_report.pdf).
The face encoder 9A of this SDK corresponds to the id3_008 submission.
A complete report card can also be found [here](https://pages.nist.gov/frvt/reportcards/11/id3_008.html), showing among things, the evolution of our face recognition technology over the years.
Editions¶
id3 Face SDK is available in the following editions:
Edition |
Platforms |
Description |
---|---|---|
Server |
Windows, Linux or macOS |
Full-featured edition generally used for server or desktop-based applications.
Enables one-to-many search mode.
|
Mobile |
Android, iOS |
This edition is for mobile applications. |
Edge |
Raspberry PI, NXP iMX |
This edition is optimized for embedded systems. |
Image formats¶
The following image formats are currently supported:
BMP
JPEG
JPEG 2000
PNG
TIFF
WEPB
Raw buffer
YUV planes
Important
Images must be RGB 24 bits.
Programming languages¶
id3 Face SDK provides API for the following programming languages:
C
C++
C#
Dart
F#
Java
Kotlin
Objective C
Python
Swift
VB.NET
Note
Terms and Definitions¶
For the purpose of this document, the following terms and definitions apply.
- Algorithm
A sequence of instructions that tell a biometric system how to solve a particular problem. An algorithm will have a finite number of steps and is typically used by the biometric engine (i.e. the biometric system software) to compute whether a biometric sample and template match.
- Biometric data
Data encoding a feature or features used in biometric verification.
- Comparison
The process of comparing a biometric sample with a previously stored reference template or templates.
- Comparison score
Numerical value resulting from a comparison.
- Enrollment
The process of collecting biometric samples from a person and the subsequent preparation and storage of biometric reference templates representing that person’s identity.
- Extraction
The process of converting a captured biometric sample into biometric data so that it can be compared to a reference template; sometimes called ‘characterization’.
- False match
Comparison decision of ‘match’ for a biometric probe and a biometric reference that are from different biometric capture subjects.
- False match rate
Expected probability that a captured biometric sample will be falsely declared to match to a single, randomly-selected, non-self biometric reference.
- False non-match
Comparison decision of ‘non-match’ for a biometric probe and a biometric reference that are from the same biometric capture subject and of the same biometric characteristic.
- False non-match rate
Proportion of the completed biometric mated comparison trials that result in a false non-match.
- Match / Matching
The process of comparing a biometric sample against a previously stored template and scoring the level of similarity.
- One-to-many search
Process in which a biometric probe of one biometric data subject is searched against the biometric references of more than one biometric data subject to return a candidate list or a comparison decision.
- One-to-one comparison
Process in which a biometric probe from one biometric data subject is compared to a biometric reference from one biometric data subject to produce a comparison score.
- Template / Reference template
Data, which represents the biometric measurement of an enrollee, used by a biometric system for comparison against subsequently submitted biometric samples.
NOTE - this term is not restricted to mean only data used in any particular recognition method, such as template matching.
Abbreviated Terms¶
For the purpose of this document, the following abbreviations apply.
API |
Application Programming Interface |
ANSI |
American National Standards Institute |
GPU |
Graphical Processing Unit |
ICAO |
International Civil Aviation Organization |
IOD |
Interocular distance |
ISO |
International Organization for Standardization |
NIST |
National Institute of Standards And Technology |
ONVIF |
Open Network Video Interface Forum |
PAD |
Presentation attack detection |
SDK |
Software Development Kit |