Face recognition configuration

How to customize the face recognition flow.

The face recognition is a background process that runs automatically after a source and target image have been collected. The process will send the data to the face recognition providing service to establish if it's the same person in both images.

There are three face recognition providers available as of currently:

ProviderWEBSDKDevice
AWS
Sensetime
Facetec

You can find more information about these providers in the Liveness and Face Recognition providers guide

These are the face recognition configuration options:

  • faceRecognitionSource
    string - default frontIdCard
    Configuration option to set the source image that has to be compared in face comparison.
    Options: verification, frontIdCard, passport, liveness, deviceDipChip, deviceLiveness
  • faceRecognitionTarget
    string - default liveness
    Configuration option to set the target image that has to be compared in face comparison.
    Options: verification, frontIdCard, passport, liveness, deviceDipChip, deviceLiveness
  • minFacetecMatchLevel
    number - default 4 - value between 1 - 7
    Specific configuration for Facetec liveness to match a certain level, replaces threshold. (applies only to FaceTec provider)
  • threshold
    number - default 0.8
    Minimum score to pass the verifying process in decimal format. (0.8 = 80% match)
    If there are multiple scores calculated, all scores must be greater than the threshold.
  • useUnverifiedDependencies
    boolean - default false
    If set to true, always attempt the verifying process even if the result cannot be verified due to the data from dependencies not being trustable. If set to false, the verifying process will only be attempted if it can be verified.

Example

{
  "faceRecognitionConfig": {
    "required": true,
    "attempts": 2,
    "faceRecognitionSource": "verification",
    "faceRecognitionTarget": "liveness",
    "minFacetecMatchLevel": 2,
    "threshHold": 0.8,
    "endFlowOnFailure": false,
    "useUnverifiedDependencies": true
  }
}

Device Face Recognition

After the "Dip Chip Point" flow, it is possible to combine this flow with additional face recognition verification. Unlike with liveness, there is no difference with the regular face recognition process. It is just a second key within the verification object to provide the option to do FR with a different configuration.

The configuration options for device face recognition are identical as above. The recommended/intended configuration is for deviceLivenessConfig to be different in the source and target values:

{
  "deviceFaceRecognitionConfig": {
    "faceRecognitionSource": "deviceDipChip",
    "faceRecognitionTarget": "deviceLiveness"
  }
}