Sertis CV API Platform: A Game-Changer for Face Recognition Integration

Sertis
5 min readDec 26, 2023

Introduction

Welcome to the age of advanced technology! Among the cutting-edge solutions capturing attention is Computer Vision, and at the forefront is our platform — Sertis CV API Platform. Allow us to present a game-changer that seamlessly integrates your system/application with computer vision capabilities, currently focusing on FaceAPI.

In response to the escalating demand for robust and efficient face recognition solutions, our CV API Platform simplifies Face Detection, Face Verification, and incorporates Liveness checking.

Overview

The CV API Platform is presently emphasizing its face recognition solutions, incorporating face quality assessments. These assessments involve checks for blur, facial features, PAD (Presentation Attack Detection), and pose. Explore this article for more information to delve deeper into the algorithms. The following are the supported endpoints:

  • Face Detection: detect all faces in an image
  • Face Verification: verify if the persons in two images are the same individual
  • Liveness PAD: verify if the image contains a real person
  • Liveness Blink: verify if a video contains a real person blinking
  • Blink Verification: verify if the person in the video blinks and is the same person in the image

Infrastructure and Technology

The components of the CV API Platform consist of APIs and model servings, implemented as asynchronous REST APIs and gRPC servings hosted within a Kubernetes cluster. The cluster is configured with auto-scaling capabilities to ensure the system’s reliability and its ability to efficiently manage varying user loads.

The API serves as a pipeline orchestrator and aggregator, particularly when dealing with multiple tasks for a single call. In the context of face verification, for instance, if the FaceAPI has to perform quality checks for both images, it will handle these tasks concurrently.

Additionally, we’ve integrated several tools for logging and metrics in order to monitor the system, ensuring that all components operate smoothly and remain operational.

Core Features

As mentioned earlier, the API will be hosted as REST API. The input and output will be JSON format. The image, and video will be transferred using base64 format

Face Detection

This endpoint provides face detection for an image.

  • Input: an image
  • Output: detected faces (each face contains a bounding box, 5 landmark points, and face pose), and message
5 faces detected in the image

Face Verification

This endpoint provides face verification between two individuals from two images.

  • Input: 2 images
  • Output: same person flag, distance, 2 faces, and message
Same person: True Distance: 0.7234

Liveness PAD

This endpoint performs a face liveness check for an image.

  • Input: an image
  • Output: liveness flag, score, and message
Liveness: True Score: 0.999
Liveness: False Message: FAILED_DIGITAL_PAD

Liveness Blink

This endpoint conducts a face liveness check for a video.

  • Input: a video
  • Output: liveness flag, score, number of blinks, best frame, and message
Liveness: True #blinks: 4 Score: 0.99
Liveness: False #blink: 0 Score: 0.1 message: NO_BLINK_DETECTED

Blink Verification

This endpoint combines Liveness Blink and Face Verification between a person in the video and the image.

  • Input: an image and a video
  • Output: same person flag, distance, number of blinks, best frame, and message
Same person: True #blinks: 4 Distance: 0.831

Real Use Cases

Liveness check for face registration

Liveness PAD and Liveness Blink can be executed using any device by simply sending an image or video to the API.

Real use case for liveness check from mobile application

Face Verification for Banking and Security service

Comparing the facial features of an image extracted from a Thai ID card with an image or video captured from a camera for face verification.

Real use case for verification

Security and Privacy

In terms of API security, all services are securely hosted within a Kubernetes cluster. The APIs and model servings are interconnected through a private network. Clients are required to possess an API key for accessing the API.

Concerning data privacy, Sertis ensures that no images or videos sent to the API are collected. All data undergoes processing within the API and model servings without any storage or reuse elsewhere.

Performance and Reliability

Sertis conducted load testing on each endpoint, employing 100 concurrent users with a spawn rate of one user per second, facilitated by the Locust tool. The spawn rate denotes the incremental addition of users, starting from one user. Consequently, the load test initiates with a single concurrent user, escalating by one user every second, reaching a total of 100 users at the 100-second mark. Following the attainment of 100 concurrent users, a minimum waiting period of 10 minutes is observed to ensure the absence of server downtime or errors, and response time is acceptable.

Example of Locust load testing report for Liveness PAD endpoint

Post the completion of load testing, a comprehensive evaluation affirms the effective functioning of our configuration, demonstrating proficiency in both horizontal and vertical scaling.

Moreover, our Site Reliability Engineering Team has implemented monitoring incident alerts to promptly address any issues. Notifications are disseminated to our Slack Channel, and through phone calls if the identified issues persist unresolved.

Example of incident alert in our slack channel (this is an alert from testing)

Future of CV API Platform

Additional APIs are almost accessible, and further APIs are planned for the future:

  • Face API (1:N): Facilitates face registration and search functionalities.
  • Thai ID API: Thai ID Card detection, and information extraction using OCR e.g. name, ID, address, birthdate, expiry date, etc. See this for more information about the pipeline
  • ALPR API: Car detection, Car type detection, License Plate detection, License Plate OCR

Stay tuned for more upcoming APIs. 😄

Conclusion

Sertis CV API Platform introduces cutting-edge Computer Vision capabilities, emphasizing face recognition solutions with robust features. The platform ensures reliability and scalability while core functionalities currently include Face Detection, Verification, and Liveness checks. Security measures prioritize client privacy, ensuring no data collection. Performance is validated through load testing, demonstrating horizontal and vertical scaling proficiency. The future holds promises of additional APIs, expanding functionalities for face registration, Thai ID detection, and ALPR capabilities. Stay tuned for upcoming developments.

Written by: Sertis Vision Lab

Originally published at https://www.sertiscorp.com/sertis-vision-lab

--

--