Face Detection

Face detection finds and identifies a face within provided the image and returns its parameters.

The face detection component is provided by Mobile libraries:

The Core Server provides the face detection API call:

The detect functions both on server and in mobile library provide equivalent functionality.

Face Detection Result

When face is detected various operations can be performed and more detailed info about the face can be obtained. This includes:

  • Image - Image from the video stream on which all data is computed.
  • Confidence - Face detection confidence score.
  • Full frontal image - Straightened image, cropped from the original that contains ICAO defined margin around the face.
  • Template - Compact representation of the face generated by a neural network. This template can be used for matching. Templates are not compatible across major product upgrades.
  • Face aspects - Aspects (eye distance).
  • Face quality - Quality attributes (e.g. brightness, shadow, etc.).
  • Passive liveness - Passive liveness score.

Image

All attributes are calculated from the original image.

Image

Full Frontal Image

Full frontal image can be used for storing face images in a standard aspect and can be later used for template creation or matching.

If you need to evaluate passive liveness on the server, cropped images cannot be used because more context around the face is needed for evaluation. For this purpose you should use the original image.

Full frontal image

Face aspects

  • Eye distance - Distance between eyes in pixels.

Face quality

  • Image quality
    • Sharpness - A face attribute for evaluating whether an area of the face image is blurred. Values near 0.0 indicate ‘very blurred’, values near 1.0 indicate ‘very sharp’. The decision threshold is around 0.5.
    • Brightness - A face attribute for evaluating whether an area of the face is correctly exposed. Values near 0.0 indicate ‘very dark’, values near 1.0 indicate ‘very light’, values around 0.5 indicate OK. The decision thresholds are around 0.25 and 0.75.
    • Contrast - A face attribute for evaluating whether an area of the face has sufficient contrast. Values near 0.0 indicate ‘very low contrast’, values near 1.0 indicate ‘very high contrast’, values around 0.5 indicate OK. The decision thresholds are around 0.25 and 0.75.
    • Unique intensity levels - A face attribute for evaluating whether an area of the face has an appropriate number of unique intensity levels. Values near 0.0 indicate ‘very few unique intensity levels’, values near 1.0 indicate ‘enough unique intensity levels’. The decision threshold is around 0.5.
    • Shadow - A face attribute for evaluating whether an area of the face is overshadowed. Values near 0.0 indicate ‘very strong global shadows present’, values near 1.0 indicate ‘no global shadows present’. The decision threshold is around 0.5.
    • Specularity - A face attribute for evaluating whether spotlights are present on the face. Values near 0.0 indicate ‘very strong specularity present’, values near 1.0 indicate ‘no specularity present’. The decision threshold is around 0.5.
    • Background uniformity - A face attribute for evaluating whether the background is uniform. Values near 0.0 indicate ‘non-uniform background present’, values near 1.0 indicate ‘uniform background present’. The decision threshold is around 0.5.
  • Head pose
    • Roll - A face attribute representing the rotation angle of the head towards the camera reference frame around Z-axis as per DIN9300.
    • Yaw - A face attribute representing the rotation angle of the head towards the camera reference frame around Y-axis as per DIN9300.
    • Pitch - A face attribute representing the rotation angle of the head towards the camera reference frame around X-axis as per DIN9300.
  • Wearables
    • Glasses - A face attribute for evaluating glasses presence. Values near 0.0 indicate ‘no glasses present’, values near 1.0 indicate ‘glasses present’. The decision threshold is around 0.5. This attribute can be also taken as an ICAO feature.
    • Mask
  • Expression
    • Eyes
      • Right eye - A face attribute for evaluating the right eye status. Values near 0.0 indicate ‘closed, narrowed or bulged eye’, values near 1.0 indicate ‘normally opened eye’. The decision threshold is around 0.5.
      • Left eye - A face attribute for evaluating the left eye status. Values near 0.0 indicate ‘closed, narrowed or bulged eye’, values near 1.0 indicate ‘normally opened eye’. The decision threshold is around 0.5.
    • Mouth - A face attribute for evaluating the mouth status. Values near 0.0 indicate ‘open mouth, smile showing teeth or round lips present’, values near 1.0 indicate ‘mouth with no expression’. The decision threshold is around 0.5.

Passive liveness

A face attribute for evaluating the passive liveness score of a face. Values near 0.0 indicate ‘face not live’, values near 1.0 indicate ‘face live’. You can use the Passive Liveness Quality Provider for the Face Auto Capture UI component to ensure all preconditions are met for evaluating the passive liveness score.


NOTE

If you need to detect a face on an already captured image, you can use the Face Detector component. Subsequently, you can perform all face related operations. Face Detector can detect multiple faces, if you need just one face, you can use eye distance to select the biggest face or if your workflow does not allow multiple faces, you can raise an error requiring a new image.