Skip to content

Overview#

LUNA ID is a set of development tools that includes libraries and neural networks for face recognition and analysis in a mobile app. It also supports OCR (Optical Character Recognition) for document scanning and recognition.

Document scanning and recognition by means of OCR is provided by Regula. Regula is a third-party vendor and using the feature requires a license. For details, please refer to the Regula documentation.

Embedding LUNA ID in your mobile app allows you to use LUNA ID key features, as well as take advantage of LUNA PLATFORM 5 functionality to perform OneShotLiveness estimation and descriptor matching. For details, see Interaction of LUNA ID with LUNA PLATFORM 5.

Supported operating systems and programming languages#

LUNA ID is compatible with the Android and iOS operating systems. For details, see System and hardware requirements.

The supported programming languages are:

  • Kotlin for Android app development
  • Swift for iOS app development

Use cases#

Embedding LUNA ID in your mobile app allows you to implement the following use cases:

  • Client enrollment
    Flow: Registration
    The process of creating a new user account, which includes face recognition and, optionally, document recognition.
  • User authentication
    Flow: Verification (1:1)
    The process of verifying a user when logging into an app account against the authorized biometry for the specified login. Available after registration.
    The use case does not involve the use of OCR.
  • User recognition
    Flow: Identification (1:N)
    The process of user identification when a user's face is compared with all the faces in the database to recognize the user among the existing ones and to match the detected face with an existing user account.
    You can use OCR in this use case.

Key features#

LUNA ID provides the following features:

  • Getting the best shot:
    • Estimating the best shot by the following criteria:
      • Number of faces in the frame
      • Face detection bounding box size
      • Frame edges offset
      • Eyes state (open, closed, or occluded)
      • Head pose (pitch, yaw, and roll)
      • Average garbage score (AGS)
      • Image quality (lightness, darkness, and blurriness)
      • Face occlusion
        For details, see Best shot estimations.
    • Performing OneShotLiveness estimations. The estimations enable you to confirm whether a person in the image is "real" or a fraudster using a fake ID (printed face photo, video, paper, or 3D mask). The following types of OneShotLiveness estimations are available:
    • Dynamic Liveness estimation to determine whether a person is alive by interacting with a camera. The estimation is performed on your device without processing it on the backend. For details, see About Dynamic Liveness
  • Video stream recording and face detection in the video stream. For details, see Information about a recorded video stream. You can record either full video sessions or only video sessions in which a face was detected in at least one frame.
  • Optional document scanning and recognition by means of OCR.

    The feature is provided by Regula. For details, please refer to the Regula documentation.

  • Sending source images to LUNA PLATFORM 5 for descriptor matching on the backend. It allows you to perform the following tasks:

    • Verify that the face in an image belongs to a person from a client list (1:N identification).
    • Match the detected face with the face that corresponds to the client ID in a global database (1:1 verification).

Usage scenarios#

This section describes sample LUNA ID usage scenarios.

These are only examples. You need to change them according to your business logic.

Scenario 1: Getting images#

Scenario description#

You want to get a photo with a person's face, and then implement your own business logic for processing the image.

Scenario realization stages#

Applying this scenario in your mobile app proceeds in stages:

  • Getting the best shot with the detected face for best shot estimation.
  • Getting a warp or source image with the face on a mobile device to transfer it to an external system.

Scenario realization steps#

The scenario has the following steps:

1․ Video stream processing and face detection.

2․ Getting the best shot based on standard best shot estimations. In some cases, the best shot is an image that also successfully passed OneShotLiveness estimation.

3․ Getting a warp.

4․ Saving the warp on the device. You can then send it to a middleware for further processing.

The diagram below shows the steps of this scenario:

Scenario realization steps

Scenario 2: Complete face recognition cycle#

Scenario description#

You want to run a full face recognition cycle using frontend and backend. This scenarios involves interaction of LUNA ID with LUNA PLATFORM 5.

Scenario realization stages#

Applying a full face recognition cycle in your mobile app proceeds in stages:

  • Getting the best shot with the detected face for best shot and OneShotLiveness estimation.
  • Identifying that the face in the image belongs to a person from a client list (1:N identification).
  • Matching the detected face with the face corresponding to the client ID in a global database (1:1 verification).

Scenario realization steps#

For details on the scenario implementation and scenario realization steps, see Usage scenario.