Apple app developer news Android app developer news

KeyLemon Launches Cloud based Face and Speaker Recognition APIs for Development

Enterprise 14,050 views
Posted Tuesday, October 21, 2014 by STUART PARKERSON, Publisher Emeritus

KeyLemon Launches Cloud based Face and Speaker Recognition APIs for Development
KeyLemon, a creator of biometric ID and motion analysis technologies, has released access to its security recognition via a web service. KeyLemon’s biometric ID provides an alternative to passcodes, key fobs or secret information to facilitate authentication and access control for online assets. Through its Okta Application Network (OAN), Okta provides the ability for users to access their applications through a single dashboard., 

KeyLemon’s biometric technology eliminates the impact of password theft or phishing by supplementing legacy username-and-password logins using unique facial data and anti-spoofing techniques. KeyLemon’s multi-factor authentication delivers security for sensitive user data while biometric verification prevents multiple users from sharing one ID. 

The solution requires no unique hardware and works across computers, tablets and smartphones. KeyLemon’s face and speaker recognition also ensures security in a bring-your-own-device (BYOD) environment. KeyLemon can also be used for two-factor biometric user authentication, delivering security and aiding with compliance requirements in specialized enterprise environments.

The KeyLemon service is available through a REST API. KeyLemon provides a ready to use web based library named KeyLemonJS to help developers integrate face and speaker authentication in less than 30 minutes. 

When signing for the service, the user gets a username and a key to authenticate against the service and access it. Access to the REST API can be implemented using HTTP requests from any language.

Web Service Features

- Face detection: KeyLemon can localizes one or more faces in an image

- Requirements for face detection: Rotation - yaw/pitch/roll ±20 degrees. Size - face must be at least 30px width to be detected

- Age and gender estimation: Working together with face detection, the age and gender estimator will give more information about the face detected in an image. The age estimator requires a face of 49px and will give an integer as estimation of the age of the person. The gender requires a face of 33px and will return female, male or unknown.

- Face recognition: The KeyLemon web service provides a way to check a claimed face against a biometric model and tells if it is the expected person or an impostor. Biometric model adaptation is possible with new images. Also, multiple models for the same person can be created and associated in a group.

The technology is robust to low resolution, slight light variation and face occlusion. It is also robust to beard variations, glasses changing, skin tone change (Heavy side face lighting can compromise recognition). The background has no influence for face recognition.

- Face recognition can be split in two parts depending of the use case: Face verification (1:1) - check one model against an image. Face identification (1:n) - KeyLemon can access a list of biometric models to find which one corresponds to an image

Large database: In situations where it is needed to identify a person in a large database (which can be more time consuming), KeyLemon provides asynchronous identification.

- Requirements for face recognition: At least 30 pixels between eyes - subject at about a maximum of 1m from a standard webcam with a 320x240px stream (6 m for a fullHD stream with same FOV). Rotation - yaw/pitch/roll ±20° (although frontal face is required).

- Speaker recognition: It is possible to verify the identity of a person using KeyLemon’s voice recognition technology. It is recommended to present the user with a short text to read while the application uses the recorded audio for enrollment and verification. Face recognition and speaker recognition can be combined for enhanced security.

KeyLemon API

The KeyLemon API includes the following objects:

- Images: The image from which to detect faces or against which to verify.

- Face: A face extracted from an image. One image can contains multiple faces.

- Model: The biometric model created from faces. Generally created from a set of faces.

- Identity: A set of models of the same person. The identity object allows you to group multiple Models together.

- Group: A group that represents a set of Models or Identities.

When sending an image to the face detect entry point, presented is the position of the detected face(s) in the image. Each face detected gets a unique identifier.

A biometric model can be created from either a list of images or by giving specific faces identifiers. In the first case, the biggest face detected on each image will be used to create the model. In the second case, it uses the face identifiers of faces that were found on images already processed.

Once a biometric model is trained, developers can perform face recognition by sending images to test against the model. The result is an authentication score which allows a developer to take a decision about the identity of the user. Face identification (one against many) is also possible by sending one or more images against a list of models or groups.

When creating a face model, it will be optimized for the current conditions (luminosity, position, intensity, isotropy or background). The face recognition can fail if there are too many differences between the face model and the current conditions. This could happen when the lighting conditions are changing or if the subject  is moving with a device. In that case, there are two solutions:

- Improve a face model: If the recognition works sporadically, developers can improve an existing model to adapt it to the current conditions. The model will be modified to take the two situations into account. This is done by adding new images to the model.

- Add a new face model: If the new lighting conditions are very different between the first model, KeyLemon suggests creating a new model.

To make multi-model management easier, KeyLemon has introduced the identity concept which allows developers to group different models of the same person. Developers can perform face verification/identification using identities instead of models and this is how KeyLemon recommends developing an application.

In addition to enterprise access control, KeyLemon has purpose built solutions for the automotive, mobile device, web service and medical industries. In each case, KeyLemon’s methods protect sensitive information as well as allow new and unique use cases that require enhanced security, rapid access and continuous verification with a convenient, hands-free interface.


Subscribe to App Developer Daily

Latest headlines delivered to you daily.