Application Workflow

Interaction with the Knomi S Face SDK

In order to integrate and interact with the Knomi S Face SDK we recommend the following high level design. See the section Detailed Integration for more details.

  1. Set the Knomi Face SDK Face Finding Model through the static API provided. Applications will need to decide if they are using the Light-weight or High-accuracy face model as a design choice. The Face Finding Model cannot be switched at run time once one has been chosen. Some workflows do not support the High-accuracy face model and must use the Light-weight. This is required for Knomi development.

  2. Instantiate a new Knomi Face SDK object.

  3. Set any Knomi related options or parameters. A Workflow must be selected before data collection can occur. Any of the optional properties such as the Username and Time-out are independent of the Workflow selected.

  4. Hook up the callbacks for the Knomi Face SDK. Data received from these callbacks should be translated into a UI message for the end-user to act upon.

  5. Start the Knomi Face SDK data collection. This will automatically start the camera, accelerometer, and on-device analysis.

  6. Once the Workflow is done, the library will signal completion by calling onCaptureEnd. The application should call the getServerPackage method to get the Face Liveness Server request package.

  7. The application is responsible for any encryption, security, and transportation to ensure the package is sent to the back-end for analysis. The Face Liveness Server will provide a liveness decision along with any other requested data as a response. The application can either interpret the JSON response directly or act on any intermediate server result sent to it.

The System Overview diagram (System Overview) shows the sequence of events for an application integrating against the Knomi S Face SDK. Specific details for communicating with the Face Liveness Service are based on integrator design and not a part of this diagram.

alternate text

Fig. 1 System Overview

Face Liveness Server Communication

The Knomi S Face SDK does not directly communicate with the Face Liveness Server back-end. Instead, the Knomi S Face SDK provides a request package to be delivered to the back-end. It is up to the application to appropriately forward the request package to the correct Face Liveness endpoint. It is up to the integrator to decide how to encrypt or package the Knomi request with any additional data for their own back-end services.

The request package contents are based on some of the properties set in the Knomi S Face SDK. The Knomi S Face SDK does not parse or interpret results from the Face Liveness Server. This is wholly left to the integrator and how they have delegated responsibilities between their application and their back-end.