The quality of a face biometric is a key factor in the reliability and accuracy of people identification. Some of the main factors affecting the quality of facial biometrics include lighting, pose, resolution, sharpness, distortion, and face coverage.
To ensure high quality, it is important to evaluate each of these factors and select a face recognition system that meets the quality standards set by the International Civil Aviation Organization (ICAO).
A specialized agency of the United Nations, ICAO is responsible for developing principles and techniques of international air navigation, organization and progress of air transport in order to promote the safety and efficiency of international civil aviation.
Let's understand better how it works?
Facial biometrics pattern check
The ICAO standard check is an international specification (ISO/IEC 19794-5) for the capture, storage, and transmission of facial images on identification documents such as passports, and it is recognized in all member countries of the organization. The aim of this specification is to ensure that the captured images are consistent and high quality, allowing reliable verification of the identity of the document holders.
When evaluating the quality of a face biometric, it is essential to consider the false positive and false negative rate.
A high false positive rate can result in false identifications, while a high false negative rate can jeopardize the identification of authentic individuals. Therefore, it is critical to choose a facial recognition system that offers an acceptable false positive and false negative rate, as well as reliable face matching accuracy.
Once we understand what ICAO standard checking is about and its purpose, let's now learn how to check the compliance of a facial picture according to this standard, using features available in the BioPass ID Quality API package and Postman as a test platform.
Follow the tutorial below to verify a facial biometrics.
1. Get the biometric API access key
Before performing any operation on the biometric API, you need to obtain the access key that will identify and grant permission for the system's features, and for this you need to create an account.
With BioPass ID, you can register without any payment method, and you can also use the free plan to test all available features. You can access the page through the
link: https://panel.biopassid.com/pricing?menu=quality&lang=en_us
In this step by step we will choose the Quality Free package:
Once you have completed the enrollment step, check if the status is active in the "Subscriptions" tab.
1.1 Create the project
As we saw before, to access the biometric API you must have an active subscription and create a new project. For that, go to "Projects" tab, click on "New project" and fill in all the required fields.
1.2 Create the application
After creating the project, you need to create an application, which will provide the access key to the API.
In order to do this, go to the "Applications" tab in the side menu and click on "New Application". Fill in all the information required and select the project you have previously created. The new application will appear on the screen, as shown below:
After completing the previous steps, simply select the icon key button so that the API access key can be visualized and copied.
Once you have done that, all the actions required to continue with the tutorial are complete.
2. Evaluate a facial image according to the ICAO standard
The operation that checks the quality of the facial image analyzes 23 essential requirements, as well as the positioning of the subject's face in the photo, and returns a code corresponding to each situation evaluated.
Learn about all the quality requirements and positioning situations in the biometric API documentation.
2.1 Set up the authorization header
Now that we know the requirements for a face image to meet ICAO standards and have obtained the API access key, let's set up the authorization header.
According to the Biometric API documentation, the request must use the URL https://api.biopassid.com/quality/check_icao and the "POST" method.
To set up the authorization, select the "API Key" type, fill in the "Key" and "Value" fields with "Ocp-Apim-Subscription-Key" and the value of the access key, respectively. The "Header" option must be selected in the "Add to" field.
All these fields are highlighted in red in the image below:
2.2 Configure the body of the request
Next, let's fill in the parameters for the body of the request.
To do so, go to the "Body" section, click on "raw" and select the JSON format from the drop-down list. This format, which stands for "JavaScript Object Notation", is widely used in the transmission of data between server and client on the web, due to its lightness and ease of reading and writing.
In the body of the request, the framework presents an object called "Check", which denotes the analysis of all necessary requirements in the submitted image. In this object, there is the "Image" field, which should contain the image converted to a base64 string.
If you want to dig deeper into base64 and learn how to perform the encoding, see step 5 in the tutorial on how to register an individual's facial biometrics through Postman.
Next, we provide the partially populated code. To finish, just modify the content present in the "Image" field:
{
"Check": {
"Image": "{{base64}}"
}
}
2.3 Analyze the response of the request
Once the request is made, an immediate response will be provided, indicating whether the operation was successful or not.
If the operation is successful, the status "200 OK" will be displayed and the body of the response will contain the "ICAO" object, with the fields: "FaceImageConformed", which contains a numerical code referring to the face positioning in the photo, "IsAllConformed", a boolean indicating whether or not the photo is compliant with all the requirements imposed by the ICAO standard. And finally, the "Requirements" object indicates for each requirement whether it has been met (through the Boolean variable "IsConformed") and the level of certainty (from 0 to 100, through the variable "Confidence").
You can see the description of each code and the requirement in the Biometric API documentation.
Now, check out the structure of a successful response below, where the field "FaceImageConformed" returned code 3, which according to the API documentation means that the face is offset to the left, and the field "IsAllConformed" returned false, and the other responses for the 23 requirements analyzed:
Results of the Facial Biometrics check
As we have seen in this tutorial, ICAO standard checking and the quality of facial biometrics are essential to ensure the reliability and accuracy of identifying individuals using this technology.
By choosing a facial recognition system like BioPass ID, we can rely on this important functionality to assess compliance with ICAO standards and factors affecting the quality of face biometrics to ensure a better user experience and security for your applications.
Also read how to test a biometric API using Postman.