Face SDK 5.1 — March 3, 2023
- In this release, we introduce the new Liveness assessment version. It seeks to find a balance between a simple UX and high reliability. The previous version of the liveness check is no longer supported. Please try our new liveness on the demo site.
- The Liveness assessment implementation has undergone major changes. To use the feature, you need to install and configure two additional components: PostgreSQL and S3-compatible storage. Learn more
- Redesigned the Face Identification functionality and introduced a new Web API. Now, it supports infinite horizontal scaling. No matter how intensive the stream of incoming requests or how many records are in a database, you can fulfill high performance and a response within fraction of a second.
- Introduced the Face Image Quality Assessment feature which validates whether the applicant's photo meets certain conditions, for example ICAO requirements, Schengen or US visa application demand.
- Updated Milvus vector database to 2.2.2. Data created with previous Face SDK releases are no longer compatible with this version. Image descriptors have to be re-calculated. To upgrade a database, install a new instance of Milvus and re-upload all person's images again.
The key features:
- Redesigned UI and user experience.
- Added an animated guide before the start and visual prompts during the process that explain the procedure and make it familiar to a user. You can disable the guide to start the procedure instantaneously.
- Added the possibility to assign a custom ID to a session before starting it.
- Implemented a zero-trust concept so that liveness check results are calculated and stored for obtaining on the backend. A video of the process can also be stored at a backend for audit trail purposes. More info
- Added Web API methods to download the liveness transaction data. Please find the OpenAPI specification here.
- Improved the performance. Receive liveness check results within a second when using GPU.
- Redesigned the UX of the selfie capture in Web Components and Mobile SDK. Please find a demo on our web site and in the mobile apps for Android and iOS.
Android and iOS mobile SDKs were updated correspondingly, here is the exhaustive documentation.
The updated Web Components with new liveness are available on the demo site. Here is the npm package.
In this version, we redesigned the Face Identification (aka Face Search) functionality. Now, it supports infinite horizontal scaling. No matter how intensive the stream of incoming requests or how many records are in a database, you can assure high performance and a rapid response.
The new features:
- Support of additional attributes to bind a photo with the person's name or other information.
- Setting a threshold by the distance between face descriptors in a database and the one being searched by. This allows more precise identification.
- Organizing photos in groups to make the search more targeted.
Learn more about Face Identification
The version of Milvus vector database we use under the hood is updated to 2.2.2. Improved the performance and added the capability to backup a database. Please find the complete release notes here: https://github.com/milvus-io/milvus/releases/tag/v2.2.0
Face image quality assessment
This is the first release of the face image quality assessment feature. The functionality validates whether the applicant's photo meets certain conditions.
The demo site is available here: https://faceapi.regulaforensics.com/.
- 45 parameters to check the image quality, head size and position, pose and expression, head occlusion, and inappropriate objects.
- Predefined scenarios to check compliance with the ICAO standard, Schengen and US Visa requirements.
- Customization of the list of controlled parameters and allowed value ranges for each parameter.
Now, you can crop a face image from an original photo, align the face vertically on this image, resize and change the background. You can simply download the resulting image or pass it for further processing. Please find more details in the Face Image Quality Assessment help article.
Face attributes evaluation
With the help of the face attributes evaluation, you can find out the estimated age range of a person; whether the eyes are occluded, closed, or open; the neutral or emotional facial expression; the presence of a smile, glasses, sunglasses, head coverage, medical mask, headphones, etc. Please find more details in the Attributes Evaluation help article.
- The number of required attributes to be evaluated can be specified in the request.
- The age range of a person is predicted by the new neural network. The previous one returned simply a binary value "adult" or "child".
- Improved the quality of the neural networks for face occlusion detection.
- Optimized the loading speed of the service.
- Updated onnxruntime from 1.7.2 to 1.13.1. and observed better performance of the service in some scenarios.
RFSLivenessRetryContentViewfor user interface customization purposes.
- Added configuration properties to
- Renamed the
- Fixed multithreading issues with the video recorder. Rare app crashes when closing liveness are fixed now.
- Fixed crashes in the
RFSCopyCVPixelBuffermethod. In some cases, row by rows copying was used.
- Added the
LivenessConfigurationto set a custom processing fragment.
- Added the
setTorchButtonEnabledmethods to Configuration.
- Added setRequestHeaders method to change headers in cross-platform frameworks.
Web Service API
- Added the
X-RequestIDrequest header to label all requests related to the same context. This value will be included into the log file for all labeled requests. Learn more
- Added the possibility to match a document ghost image with other images in a single request. Please see OpenAPI help for more details.
- Added the possibility to process two actions in a single request: comparison of faces and identification (search) in the database. It increases performance and reduces resource consumption as there is no need to calculate image descriptors twice. Learn more.
SQLAlchemydependency was upgraded as the previous version contained security breaches.
- Added the possibility to configure the default processing parameters of a service when it starts, see Configuration File.
- Fixed the issue where
MethodNotAllowedwas returned when
Content-Type: application/jsonwas missing in the request.
- Added the Face image quality tab to demonstrate the capabilities whether the applicant's photo meets the predefined ICAO standards, Schengen, or US Visa requirements.
- Added the Face attribute capabilities display on the Face detection tab of the demo site. This evaluates whether the person in a photo is wearing a medical mask, glasses, head coverage, etc.
- Updated dependencies for the python demo client to fix security breaches.
- Updated the Open API specification on GitHub: https://github.com/regulaforensics/FaceSDK-web-openapi.
- Updated clients and packages.
The demo version is always available here: https://storybook-face.regulaforensics.com/
The npm package: https://www.npmjs.com/package/@regulaforensics/vp-frontend-face-components
The main features:
- Validating face size, head position and other faces presence around to capture high-quality photos. Showing prompts to a user to correct detected issues on the fly.
- Works in any modern browser, both desktop and mobile.
- Flipping camera functionality in case of using on mobile devices.
- Customization of Font and Theme color.
- Localization support for 32 languages.
Face SDK web components documentation
- The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Docker Helm chart for Kubernetes deployment provided. Learn more
[all] Environment variables. Changes in behavior:
FACEAPI_HTTPS- if enabled, serves web service via HTTPS using default cert and key file paths (Defaults
FACEAPI_KEY_FILE- won't work if
FACEAPI_HTTPSis set to
FACEAPI_KEY_FILE- defaults were changed to
FACEAPI_LOGS_ACCESS_CONSOLE- default changed to
FACEAPI_SQL_URL- defaults were changed to
FACEAPI_SQL_URLis the recommended way to use the 1:N (Identification/Search) module.
- The service will no longer return system info if
- Environment variables
FACEAPI_LOGS_APP_CONSOLEwere removed from the container image, i.e. reverted back to defaults.
- Environment variables
FACEAPI_LOGS_ACCESS_CONSOLE="true"were removed from the container image, i.e. reverted back to defaults.
- Migrate to
entrypoint.sh- DB migration mechanism updated.
- GPU. CUDA and CUDNN were updated to support onnxruntime 1.13.1. See details
- Environment variables for configuring the 1:N Identification module, see Identification Settings.
PIPENV_DONT_LOAD_ENV=1environment variable has been added.
- The environment variable
FACEAPI_LIVENESS_GEN_2to enable the Liveness module.
- Docker Compose files to support new functionalities. Learn more
entrypoint.sh- added section to read .env file before app start, to fix specific cases with