Auther Embedded Kit is designed for verifying the liveness of persons who are subject to subsequent biometric authentication using face recognition technology.
The main Kit element is an Intel RealSense depth camera, which allows you to determine the volume of a face before checking its biometric data. This way allows you to prevent illegal use of biometric identity data by third parties and to fights fraud and stop spoofing attacks involving photos, cut-outs, and videos.
The device has a flexible API right out of the box and is highly customizable for different business cases.
This Kit can be used in real cases where there is a need to perform a liveness check in order to open an e-gates or identify an identity in a mobile kiosk, self-checkout, POS or ATM.
Demonstration of the integration of Auther Embedded liveness with NeoFace Watch - a face recognition engine from the world leader NEC. The speed of checking the liveliness and identification in the amount of about half a second.
System requirements
During the launch, the device has to be connected to the internet to check its license.
Auther Live software is only compatible with several Intel RealSense cameras and AAEON single-board computers. What you need to install our software:
Face requirements
The device will successfully capture the face and check it for liveness if the following requirements are met:
Software designed to check the liveness of a person's face using the Intel RealSense camera. Running on the AAEON Up-board computer. Follow the step-by-step instructions to activate the license and get the installation script:
1. Register Account on the https://app.auther.ai website.
2. Log into your Account.
3. Go to the License section and press "Add license" button.
4. Choose "I have activation code" and provide your activation code if required; if your account already includes licenses, proceed.
5. Setup license grants.
Depending on the grants which were added to the license on License tab, single-board computer may fulfill the following requests in Auther Check API:
6. Special [installation command] is generated now. Copy software installation command from the license line, which will be later used for software installation on the Up-Board single-board computer.
To install the software, you must first install the Ubuntu server on the Up-board computer. Follow the step by step instructions below to successfully complete the licensing process for your single-board computer:
After you have completed the installation, you can make additional configuration of the application by going to the config file /etc/riddleboard/config.ini
The default settings of functions that are available for configuration:
Auther Embedded has a local API and already contains integration with the Auther Check API to work with biometric authentication functions directly through the device.
This page describes the technical requirements that must be met to start using facial recognition technology in your applications and products. Please read all the sections in detail and strictly follow the requirements specified in the documentation and your integration will go quickly and smoothly. Sign-up and get a free plan for testing!
To send your first request, follow the steps below. For faster and more convenient testing, we recommend using Postman. Sign-up and get the API Key to authorize your requests.
Glossary
List of terms that are used in requests and responses:
Image requirements
The input image as base64-encoded bytes is required. For successful preparation of the Bade64-encoded image, before you sent requests, follow to the next criteria:
Image verification criteria
To successfully create a person_id, the image of the person you submit for enrollment will be verified for compliance with the following criteria:
Requests
All API requests must be sent in JSON format with the header:
{
"code": "F_001",
"type": "string",
"message": "string"
}
Every request sent must be authenticated using the API Key. It should be sent in an HTTP header. You can create and manage your API Keys in the back-office. To get the API Key, you need to Sign-up and get a free plan for testing.
Required credentials
Base URL
Request headers
Response headers
Get a face that is in front of the camera or was less than 1 second ago. As a result, you will receive liveness verified Base64 encoded image with 120x120 pixels resolution that meets the requirements above.
Request headers
Go to request headersRequest Body
Response headers
Go to response headersStatus code 200
{
"faceKey":"string",
"faceImage": "string”
}
Status code 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
To register a person in the system, please submit a Base64-encoded image of a a person on where the person looks straight ahead and also prepare the person_id you want to assign to this person in advance. When preparing the reference image, follow the requirements described above in the Image requirements section. Download "faceImage" sample.
Request headers
Go to request headersRequest Body
{
"faceImage": "string"
}
Response headers
Go to response headersStatus code 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
Status code 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
To update the data of a person in the system, please submit a Base64-encoded image of a a person on where the person looks straight ahead and also indicate the person_id of the person you want to assign new data to.
For preparing the reference image, follow the requirements described above in the Image requirements section.
Request headers
Go to request headersRequest Body
{
"faceImage": "base64format_string"
}
Response headers
Go to response headersStatus code 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
Status code 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
HTTP Status code: 404
{
"code": "NF_001",
"message": "Face not found in collection"
}
Codes and messages for response 404
HTTP Status code: 401, 403, 500
To remove a person's data from the system, just send the person_id parameter. The person's data will be deleted and the person_id will also be deleted.
Request headers
Go to request headersRequest Body
Response headers
Go to response headersHTTP Status code: 200
HTTP Status code: 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
HTTP Status code: 404
{
"code": "NF_001",
"message": "Face not found in collection"
Codes and messages for response 404
HTTP Status codes: 401, 403, 500
To check if the person_id already exist in the system, just specify the path with person_id . If the person_id exist in response you will get the same person_id and information when person was created and updated.
Request headers
Go to request headersRequest Body
Response headers
Go to response headersHTTP Status code: 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
HTTP Status code: 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
HTTP Status code: 404
{
"code": "NF_001",
"message": "Face not found in collection"
Codes and messages for response 404
HTTP Status codes: 401, 403, 500
Submit the Base64-encoded image. With this request, we start 1:N searching for the most similar enrolled person in our system. The search result will be person_id, which matches the searched one by 98%.
To improve the quality and speed of recognition, follow the image requirements for the submitted images. Download "faceImage" sample.
Request headers
Go to request headersRequest Body
{
"faceImage": "string"
}
Response headers
Go to response headersHTTP Status code: 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
HTTP Status code: 400
{
"code": "string",
"message": "string"
}
Codes and messages for response 400
HTTP Status code: 410
{
"code": "string",
"message": "string"
}
Codes and messages for response 410
HTTP Status codes: 401, 403, 500
Comparison of the face of a person who declares that his face belongs to the known person_id. With this request, we start 1:1 matching for the enrolled person in our system. If the submitted person's face matches to 80% with the person's image that belongs to the declared person_id, then the verification result is successful.
Request headers
Go to request headersRequest Body
{
"faceImage": "string"
}
Response headers
Go to response headersHTTP Status code: 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
HTTP Status code: 400
{
"code": "R_002",
"message": "Request body exception"
}
Codes and messages for response 400
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
HTTP Status code: 404
{
"code": "R_002",
"message": "Request body exception"
}
Codes and messages for response 404
HTTP Status codes: 401, 403, 500
Compares the face on the sourceImage with the largest face detected on the targetImage.
By default, the submitted sourceImage will be compared the targetImage with the 80% of similarity threshold. If you want to compare images with a custom similarity threshold (for example, 98%), specify this number in the request body [option]. In response, you get the value of the similarity images.
Request headers
Go to request headersRequest Body
{
"targetImage": "string",
"sourceImage": "string"
}
Request Body [option]
{
"targetImage": "string",
"sourceImage": "string",
"similarityThreshold": number
}
Response headers
Go to response headersHTTP Status code: 200
{
"similarity": value
}
HTTP Status code: 400
{
"code": "R_002",
"message": "Request body exception"
}
Codes and messages for response 400
The custom 200 and 400 response codes are listed in the description for each request. Common server response codes are listed below.
HTTP Status code: 200
{
"personId": "string",
"created": "2020-09-03T16:05:08.938Z",
"updated": "2020-09-04T16:05:08.938Z"
}
HTTP Status code: 400
{
"code": "string",
"message": "string"
}
HTTP Status code: 401
{
"code": "string",
"message": "string"
}
HTTP Status code: 403
{
"code": "string",
"message": "string"
}
HTTP Status code: 404
{
"code": "string",
"message": "string"
}
HTTP Status code: 500
{
"code": "string",
"message": "string"
}