Skip to main content

Settings

There are different types of settings on MegaMatcher ID Server. This section will talk about biometric operation settings. There are two ways to set biometric operation settings:

  • on Management Web - this is the preferred way and advised on production environment
  • from Web Demo - used for debug purposes while determining most suitable parameters for users application. Can be used when Allow settings override is enabled

Capturing

KeyRangeDefault valueNotes
Timeout[0; max_int]0Determines operation timeout in milliseconds
Quality[0; 100]50Face quality threshold
Frames to skip[0; 1000]100Skips first X frames before starting detection
Strict Quality Timeout[0; max_int]30000Indicates how many milliseconds to wait for the image to reach Strict Quality Image size
Strict Quality Image size[0; max_int]960x540Minimal frame pixel size
Selected image typeBest/LastBestSets mode to regulate what type of image will be returned during successful capture
Remove background[false; true]falseEnables or disables ICAO token image background removal
Background color[0; 255]209Background color of removed background

Timeout

Determines the time during which operation as to be finished. If 0 is specified - time is unlimited. If the timeout is reached, operation ends in Timeout status.

Note: When this setting is changed, it's advised to also update the timeouts in the configuration script.

Frames to skip

Due to encoding some first frames of the stream are poor quality. This setting automatically skips X first frames in order to start face extraction and liveness detection with good frames. Here are some examples how first frames look like until server side encoder gets enough frames to produce good quality images.

Detection

KeyRangeDefault valueNotes
Detection confidence[0; 100]50Determines if the detection of a face is confident enough
Inter ocular distance[32; 4000]32Determines value of inter ocular distance
Maximal roll[0; 180]30Determines if to reject faces that have higher roll value
Maximal yaw[0; 90]90Determines if to reject faces that have higher yaw value
Maximal pitch[0; 90]90Determines if to reject faces that have higher pitch value

Tracking

The MegaMatcher ID App incorporates a dedicated Face Tracking module that operates after successful face detection to ensure efficient and stable real-time processing.

Once a face is detected and validated, the Face Tracking model takes control of the processing pipeline. The tracker continuously monitors facial position and movement across frames, including subtle changes in pose and expression. This approach provides improved performance (full-frame detection is no longer required for each frame) and reduced CPU utilization, enabling efficient real-time operation even on constrained devices.

The tracking process maintains temporal continuity and ensures consistent face alignment, which is critical for ICAO compliance checks and subsequent biometric processing.

The Face Tracking module supports multiple model configurations optimized for different speed vs. accuracy trade-offs. All tracking models follow the standardized iBUG 68 facial landmark scheme, ensuring consistent facial feature localization and compatibility with downstream processing components.

KeyRangeDefault valueNotes
Disallow multiple faces[false; true]trueFails the operation if multiple faces are detected
Allow face to disappear[false; true]falseDuring stream operation allows face to leave image frame without stopping same stream session
Token face background[0; 100]60Regulates the minimum and maximum face distance thus forcing face to position in frame at the right distance
Stream minimal inter ocular distance[32; 1000]60Minimum distance required for faces to be suitable for attributes, liveness, quality etc checks
Tracker redetect period[0; 1000]0Frame count value after which face detection algorithm will be called forcefully
Tracking maximal roll[0; 180]10Used during face tracking stage and sets a threshold to reject faces that have higher roll value
Tracking maximal yaw[0; 180]10Used during face tracking stage and sets a threshold to reject faces that have higher yaw value
Tracking maximal pitch[0; 180]10Used during face tracking stage and sets a threshold to reject faces that have higher pitch value

Face Quality

The MegaMatcher ID App includes an advanced Face Quality Assessment module based on internationally recognized evaluation principles, including guidance from the National Institute of Standards and Technology (NIST).

The quality score represents the expected reliability of a face image for biometric matching — specifically, the likelihood that the image will successfully match with its genuine counterpart. Unlike subjective visual quality, this metric is performance-driven (directly linked to recognition accuracy) and statistically grounded (based on probabilistic estimation).

The quality assessment is used to automatically filter out low-quality samples (e.g., blurred, underexposed, or poorly captured images), maintain a clean and reliable biometric database, and improve overall matching accuracy and system consistency.

KeyRangeDefault valueNotes
Warnings filtercustom string""A list of positional warnings to ignore
Head movement[0; 100]50Determines whether subject's head is currently moving
Image resolution[0; 100]50Prioritizes frames that meet or exceed this threshold
Resolution[0; 100]70Determines how accurately an image captures fine details
Occlusion[0; 100]7Determines the area of the face that is occluded
Motion blur[0; 100]10Determines the extent to which motion blur affects the face
Compression artifacts[0; 100]10Determines the presence of lossy compression artifacts
Noise[0; 100]20Determines random variation of brightness or color information
Overexposure[0; 100]25Determines the score representing proportion of face that is overexposed
Underexposure[0; 100]20Determines the score representing proportion of face that is underexposed
Sharpness[0; 100]50Determines the amount of detail an imaging system can reproduce
Saturation[0; 100]50Determines the intensity or purity of a color
Grayscale density[0; 100]50Determines the density of black and white pixels
Contrast[0; 100]50Determines the contradiction in luminance or colour

Verification

KeyRangeDefault valueNotes
Matching[36; X]48Minimum score when Verify functions determines that compared faces are a match

Matching threshold

Biometric features matching algorithm provides similarity score as a result. The higher is score, the higher is probability that features collections are obtained from the same person.

The higher the threshold value, the more similar feature collections will have to be to yield positive result during matching.

Matching threshold - the minimum score that verification and identification functions accept to assume that the compared faces belong to the same person.

Matching threshold is linked to false acceptance rate (FAR, different subjects erroneously accepted as of the same) of matching algorithm. The higher is threshold, the lower is FAR and higher FRR (false rejection rate, same subjects erroneously accepted as different) and vice a versa.

Matching threshold for MegaMatcher ID should be determined from this table:

FAR (false acceptance rate)Matching threshold (score)
100%0
10%12
1%24
0.1%36
0.01%48
0.001%60
0.0001%72

or using this formula:

Threshold = -12 * log10(FAR); where FAR is NOT percentage value (e.g. 0.1% FAR is 0.001)

Matching threshold/FAR should be selected according to the system's development requirements and taking into account mentioned identification false acceptance accumulation.

Liveness

The MegaMatcher ID App includes a comprehensive Liveness Detection module designed to protect against presentation attacks and ensure that the captured subject is a real, live person.

The module supports stream-based liveness (real-time capture) and single image liveness. Within stream-based processing, multiple configurations are available, including passive mode (default and recommended) and passive with additional signals (e.g., blink detection).

Internally, multiple domain-specific liveness models operate within a parallel inference framework, enabling robust detection across a wide range of attack types and scenarios. Liveness performance is closely linked to input quality — the system integrates real-time feedback mechanisms to guide users to achieve proper positioning, lighting, and framing.

KeyRangeDefault valueNotes
Liveness modePassive / Active / Simple / Custom / Passive with blinkPassiveDetermines what liveness algorithm to use
Liveness Custom Action Sequencecustom string""Action sequence to be used in Custom liveness
Liveness threshold[0; 100]30Threshold which determines if liveness prediction is confident enough
Liveness blink timeout[1000; 30000]2000Maximum time in ms when user has to blink when asked
Image Liveness input typeType SelectionType0, Type1, Type2, Type12, Type17Specifies which passive liveness model types are applied
Image Liveness output typeMinimal / Maximal / Average / WeightedMinimalDetermines how the liveness output is calculated
Passive liveness required detection count[0; 36]5Total number of successful passive liveness detections required

Liveness mode

Liveness mode determines which Liveness checking algorithm to use. Currently these liveness modes are supported:

Passive

PassiveNoBlink liveness mode relies on LivenessThreshold. Checks whether the user is live or not in a passive way. User is only required to position his face according to the provided system status.

Passive liveness mode relies on LivenessThreshold. The same as Passive mode, but when the user manages to pass the liveness check, the system waits for some random amount of time and then asks the user to blink once in a set time window. If the blink requirement is not satisfied, liveness fails.

Simple

Easier version of Passive. Can be used where there is quite a low chance that system users will use hard spoofing attacks.

Active

Active liveness mode does not use LivenessThreshold. User has to perform specified head turning and blink when asked.

Custom

Custom liveness mode does not use LivenessThreshold. User has to perform specified head turning and blink when asked. LivenessCustomActionSequence can be set to use pre-defined liveness actions. If not set or left empty - random actions are chosen by the liveness algorithm.

LivenessCustomActionSequence

When Custom liveness mode is set, pre-defined liveness actions can be used. It is possible to combine a liveness action sequence from these actions:

ActionNotes
blinkUser is asked to blink
turnLeftUser is asked to turn his head left
turnRightUser is asked to turn his head right
turnUpUser is asked to turn his head up
turnDownUser is asked to turn his head down
turnWithTargetsUser is asked to turn his head to a specified angle (as on Active liveness mode)
keepStillUser is asked to keep still for a short period of time (up to 1 second). This may act as a pause between liveness actions

When constructing liveness action sequence, actions must be separated by commas ,. For example, action sequence for turning head left, right and blinking would look like this:

turnLeft,turnRight,blink

Attributes

The Face Attributes module provides additional metadata describing key visual and behavioral aspects of the detected face. These attributes are primarily used to enforce capture requirements and restrictions, ensuring the final image is clear, neutral, and compliant with common standards. While attributes can have an indirect impact on matching performance, their main purpose is to produce images suitable for identity documents, border control, and biometric systems.

KeyRangeDefault valueNotes
Blink[0; 100]10Determines whether eyes are closed or opened
Glasses[0; 100]55Determines whether glasses are present or not
Dark glasses[0; 100]27Determines whether glasses are transparent or dark
Expression[0; 100]54Determines if the face exhibits a neutral expression
Mouth open[0; 100]45Determines whether mouth is opened or not
Hat (headwear)[0; 100]21Determines whether hat is present or not

ICAO

The MegaMatcher ID App integrates ICAO-based compliance checks aligned with international standards. The system evaluates facial images against established ICAO requirements including proper face positioning and centering, neutral expression and visibility of facial features, and adequate lighting and exposure conditions. Face cropping and alignment are implemented as part of a standardized processing pipeline, ensuring consistent face positioning across all capture scenarios and compatibility with passport, ID, and border control systems.

OptionRangeDefault valueGlossary
Check ICAO[false; true]falseEnables or disables ICAO compliance checking during image capturing
TokenFaceBackgroundPercentage[0; 100]60The ratio of the face to the token image

Check ICAO

Enables or disables ICAO compliance checking. If enabled and capture is successful Token image is returned on Enroll and CheckLiveness operations.

On Verify operation Check ICAO can only be used with Liveness combination. Verify operation does not return a Token image even in Check ICAO is enabled.

To achieve ICAO compliant image, user is instructed to position its face according ICAO standard. If the face does not met ICAO requirements operation will not end the capture until Timeout is reached.

TokenFaceBackgroundPercentage

Regulates the ratio of the face to the token image. Its default value is set to 60, which represents the ideal image ratio in accordance with token image standards. When the value is set lower than 60, the crop radius increases, causing the face to appear smaller in the final token image. Conversely, values higher than 60 decrease the crop radius, making the face appear larger relative to the final token image.

Combining Liveness and ICAO

Check ICAO can be used in combination with face liveness checking. When both settings are enabled, face liveness is calculated during capture and at the end user is asked to position its face to get ICAO compliant image, if such was not retrieved during face liveness calculations.

ICAO Thresholds

KeyRangeDefault value
Background uniformity[0; 100]0
Looking away[0; 100]30
Red eye[0; 100]50
Face darkness[0; 100]50
Unnatural skin tone[0; 100]20
Washed out[0; 100]50
Pixelation[0; 100]50
Skin reflection[0; 100]70
Glasses reflection[0; 100]50

Note: Face Quality and Attributes thresholds have been separated into their own tabs in the Web UI, but they function similarly to remaining ICAO thresholds in checking image compliance.

How ICAO warnings look graphically can be found here.

Icao warnings can also be ignored by using the Warnings filter parameter found in the Face Quality settings. It's suggested to only use this to ignore the ICAO warnings which do not have a threshold. For example, to ignore position warnings, you can set Warnings filter to TooNorth,TooSouth,TooEast,TooWest.

Adjudication

KeyRangeDefault valueNotes
Live adjudication[false; true]falseEnables or disables live adjudication
Age adjudication[false; true]falseEnables or disables age adjudication
Age adjudication range[0; 100]5-25Age range that will trigger adjudication
Liveness adjudication[false; true]falseEnables or disables liveness adjudication
Liveness adjudication range[0; 100]30-70Liveness range that will trigger adjudication
Adjudicator decisions needed[1; 9]3Decisions from adjudicators that are needed for the final decision
Accepted decisions needed[1; 9]2Accepted decisions from adjudicators that are required

Accounts

To learn more about the different roles and their permissions, see here. Passwords are securely encoded in the backend. By default, two accounts are created: User and Admin.

Management

OptionGlossary
Management settingsDisplays current read-only configuration settings that can only be changed via server configuration files (e.g. Allow setting override, Allow clear db, Prefix mode enabled).
Exception filter settingsAllows to filter out irrelevant exceptions so they do not clutter the exceptions log. You can filter by Exception name, HTTP response code, or HTTP call path.
Database cluster statusShows whether the database cluster is on and its current status.
Download current settingsAllows you to download the current configuration settings as a .json file for backup or analysis.

ISO 30107-3 Level 2 certification

Liveness algorithm for Mobile and PC is ISO 30107-3 Level 2 certified. By default, the MegaMatcher ID product does not use the certified parameter set. Lower values are used that are still reliant for spoof prevention, yet make the capturing process easier for the user. To use ISO 30107-3 certified parameter set some thresholds need to be changed:

  • PC:
    • Image resolution: 1280×720.
    • Liveness mode: Passive.
    • Liveness threshold: 40 (default 30).
    • Image liveness input type: type0, type1, type2, type12, type17, type18, type19, type20 (default type0, type1, type12, type17).
    • Image liveness output type: Minimal.
    • Passive liveness required detection count: 8 (default 5).
    • Only front camera can be used. If PC uses external camera, the camera should be positioned in such way, that it is on top/bottom of the monitor and user could clearly see him/her self.

PC values may also used for MegaMatcher ID Web service, yet it is strongly advised to stick to default configuration. Due to WebRTC protocol limitations it is hard to achieve good user experience with high thresholds.P