MegaMatcher SDK

Large-scale AFIS and multi-biometric identification

MegaMatcher is designed for large-scale AFIS and multi-biometric systems developers.
The technology ensures high reliability and speed of biometric identification even when using large databases.

Available as a software development kit that allows development of large-scale single- or multi-biometric fingerprint, iris, face, voice or palm print identification products for Microsoft Windows, Linux, macOS, iOS and Android platforms.

Fingerprint engine specifications

Fingerprint scanners are recommended to have at least 500 ppi resolution and at least 1" x 1" fingerprint sensors.
The specifications are provided for 500 x 500 pixels fingerprint images and templates extracted from these images.

MegaMatcher fingerprint template extraction and matching algorithm is designed to run on multi-core processors allowing to reach maximum possible performance on the used hardware.

Face engine specifications and recommendations

Face recognition accuracy of the MegaMatcher algorithm heavily depends on the quality of a face image.
Image quality during enrollment is important, as it influences the quality of the face template.

32 pixels is the recommended minimal distance between eyes for a face on image or video stream to perform face template extraction reliably.
64 pixels or more recommended for better face recognition results.
Note that this distance should be native, not achieved by resizing an image.

Several images during enrollment are recommended for better facial template quality which results in improvement of recognition quality and reliability.

Additional enrollments may be needed when facial hair style changes, especially when beard or mustache is grown or shaved off.

The face recognition engine has certain tolerance to face posture:

head roll (tilt) – ±180 degrees (configurable);

±15 degrees default value is the fastest setting which is usually sufficient for most near-frontal face images.

head pitch (nod) – ±15 degrees from frontal position.

The head pitch tolerance can be increased up to ±25 degrees if several views of the same face that covered different pitch angles were used during enrollment.

head yaw (bobble) – ±90 degrees from frontal position (configurable).

±15 degrees default value is the fastest setting which is usually sufficient for most near-frontal face images.

30 degrees difference between a face template in a database and a face image from camera is acceptable.

Several views of the same face can be enrolled to the database to cover the whole ±90 degrees yaw range from frontal position.

Face liveness check:

A stream of consecutive images (usually a video stream from a camera) is required for the live face detection.

When the liveness check is enabled, it is performed by the face engine before feature extraction.
If the face in the stream fails to qualify as "live", the features are not extracted.

Only one face should be visible in these frames.

Users can enable these liveness check modes:

Active – the engine requests the user to perform certain actions like blinking or moving one's head.
All requested actions should be performed to pass the liveness check.
This mode can work with both colored and grayscale images.
5 frames per second or better frame rate required.

Passive – the engine analyzes certain facial features while the user stays still in front of the camera for a short period of time.
Colored images are required for this mode.
10 frames per second or better frame rate is required.
Better score is achieved when users do not move at all.

Passive then active – the engine first tries the passive liveness check, and if it fails, tries the active check.
This mode requires colored images.

Simple – the engine requires user to turn head from side to side while looking at camera.
This mode can work with both colored and grayscale images.
5 frames per second or better frame rate recommended.

The specifications below are provided for the default roll and yaw values.

MegaMatcher face template extraction and matching algorithm is designed to run on multi-core processors allowing to reach maximum possible performance on the used hardware.

Voiceprint engine specifications and recommendations

The speaker recognition accuracy of MegaMatcher depends on the audio quality during enrollment and identification.

Voice samples of at least 2-seconds in length are recommended to assure speaker recognition quality.

A passphrase should be kept secret and not spoken in an environment where others may hear it if the speaker recognition system is used in a scenario with unique phrases for each user.

The text-independent speaker recognition may be vulnerable to attack with a covertly recorded phrase from a person.
Passphrase verification or two-factor authentication (i.e. requirement to type a password) will increase the overall system security.

Microphones –
there are no particular constraints on models or manufacturers when using regular PC microphones, headsets or the built-in microphones in laptops, smartphones and tablets.
However these factors should be noted:

The same microphone model is recommended (if possible) for use during both enrollment and recognition, as different models may produce different sound quality.
Some models may also introduce specific noise or distortion into the audio, or may include certain hardware sound processing, which will not be present when using a different model.
This is also the recommended procedure when using smartphones or tablets, as different device models may alter the recording of the voice in different ways.

The same microphone position and distance is recommended during enrollment and recognition.
Headsets provide optimal distance between user and microphone; this distance is recommended when non-headset microphones are used.

Web cam built-in microphones should be used with care, as they are usually positioned at a rather long distance from the user and may provide lower sound quality.
The sound quality may be affected if users subsequently change their position relative to the web cam.

Sound settings:

Settings for clear sound must be ensured; some audio software, hardware or drivers may have sound modification enabled by default.
For example, the Microsoft Windows OS usually has, by default, sound boost enabled.

A minimum 11025 Hz sampling rate, with at least 16-bit depth, should be used during voice recording.

Environment constraints –
the MegaMatcher speaker recognition engine is sensitive to noise or loud voices in the background; they may interfere with the user's voice and affect the recognition results.
These solutions may be considered to reduce or eliminate these problems:

A quiet environment for enrollment and recognition.

Several samples of the same phrase recorded in different environments can be stored in a biometric template.
Later the user will be matched against these samples with much higher recognition quality.

Close-range microphones (like those in headsets or smartphones) that are not affected by distant sources of sound.

Third-party or custom solutions for background noise reduction, such as using two separate microphones for recording user voice and background sound, and later subtracting the background noise from the recording.

User behavior and voice changes:

Natural voice changes may affect speaker recognition accuracy:

a temporarily hoarse voice caused by a cold or other sickness;

different emotional states that affect voice (i.e. a cheerful voice versus a tired voice);

different pronunciation speeds during enrollment and identification.

The aforementioned voice and user behavior changes can be managed in two ways:

separate enrollments for the altered voice, storing the records in the same person's template;

a controlled, neutral voice during enrollment and identification.

MegaMatcher voiceprint template extraction and matching algorithm is designed to run on multi-core processors allowing to reach maximum possible performance on the used hardware.

Notes:
(1) Requires to be run on iOS devices or Android devices based on at least Snapdragon S4 system-on-chip with Krait 300 processor (4 cores, 1.51 GHz).
(2) Requires to be run on PC or laptop with at least Intel Core i7-4771 quad-core processor (3.5 GHz) to reach the specified performance.
(3) Requires to be run on server hardware with at least Dual Intel Xeon Gold 6126 processors (2.6 GHz) to reach the specified performance.
(4) MegaMatcher 11.1 allows to store multiple biometric records of the same or different biometric modalities in a template; in this case the template size is the sum of all included biometric records.
(5) Requires to be run on server hardware with at least Intel Xeon Gold 6126 processor (2.6 GHz) to reach the specified performance.
(6) The specifications are provided for 5-second long voice samples; template size has linear dependence from voice sample length.