Face SDK 4.1
Face Identification
In this version, we redesigned the Face Identification 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 fulfill high performance and a response within a second.
The new features:
- Supporting attributes to bind a photo with the person's name or other parameters.
- Scoring results by the similarity level: The more a person in a database photo looks similar to the person who is being looked for, the higher the similarity score is.
- Controlling strictness of the search with similarity threshold: Similarity can be set in the search parameters to cut off obviously dissimilar results. Or vice versa, expanding the search area.
- Organizing photos in groups to make the search more targeted.
Learn more about Face Identification
Face Detection
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, etc. Please find more details in the Attributes Evaluation help article.
- The age range of a person is detected 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.11.1. and observed better performance of the service in some scenarios.
Mobile API
iOS
- Added
RFSLivenessProcessingContentView
andRFSLivenessRetryContentView
for user interface customization purposes. - Added configuration properties to
LivenessConfiguration
andFaceCaptureConfiguration
:torchButtonEnabled
andcloseButtonEnabled
. - Renamed the
LivenessConfiguration
andFaceCaptureConfiguration
properties fromcameraSwitchEnabled
tocameraSwitchButtonEnabled
. - Fixed the
MatchFaces
crash whereMatchFacesRequest
was given an emptyUIImage
object. The request does not supportnil
images, however it was possible to passUIImage()
with empty image data. - Fixed multithreading issues with the video recorder. Rare app crashes when closing liveness are fixed now.
- Fixed crashes in the
RFSCopyCVPixelBuffer
method. In some cases, row by rows copying was used.
Android
- Added the
registerProcessingFragment
method inLivenessConfiguration
to set a custom processing fragment. - Added the
setCloseButtonEnabled
andsetTorchButtonEnabled
methods to Configuration. - Added the
setForceToUseHuaweiVision
method inMatchFaceConfiguration
andLivenessConfiguration
to force using the Huawei Vision library.
Web Service API
- Added the possibility to configure the service when it starts, see Configuration File.
Demo site
- Added the Face image quality capabilities to ensure whether the applicant's photo meets the predefined ICAO standards, Schengen, or US Visa requirements.
- Removed the person’s storage. Instead, added the capabilities to work with persons, see below.
- Added capabilities to work with persons: add a photo, assign attributes, download the person’s photo, organize them in groups.
- Added capabilities to look up a person in a list by one’s image, customizing this look-up with similarity scores.
- Updated the Open API specification on GitHub: https://github.com/regulaforensics/FaceSDK-web-openapi.
- Updated clients and packages.
Web components
This is the first release of the web components for client-side in-browser automatic capture of a user's selfie and liveness validation.
The web components are based on WebAssembly (.wasm module) that is our core C++ code compiled for use in browsers, wrapped with a JS layer. It is exactly the same code as built for all the other platform SDK 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, direct look and other face presence to capture high-quality photos. Showing prompts to a user to fix 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, Font size, Theme color.
- Localization support for 32 languages.
Face SDK web components documentation
Installation packages
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Changed
- [all] Environment variables. Changes in behavior:
- FACEAPI_HTTPS if enabled, serves web service via HTTPS using default cert and key file paths (Defaults certs/tls.crt; certs/tls.key).
- FACEAPI_CERT_FILE / FACEAPI_KEY_FILE won't work if FACEAPI_HTTPS is set to "false".
- FACEAPI_CERT_FILE / FACEAPI_KEY_FILE defaults were changed to certs/tls.crt; certs/tls.key respectively.
- FACEAPI_LOGS_ACCESS_CONSOLE default changed to "true".
- FACEAPI_SQL_URL defaults were changed to postgresql://regula:Regulapasswd#1@127.0.0.1:5432/regula_db. FACEAPI_SQL_URL is the recommended way to use the 1:N (Identification) module.
- [containers] Environment variables "FACEAPI_BIND", "FACEAPI_WORKERS", "FACEAPI_LOGS_APP_CONSOLE" were removed from the container image, i.e. reverted back to defaults.
- [containers] Environment variables FACEAPI_BACKLOG="20", FACEAPI_TIMEOUT="120", FACEAPI_LOGS_ACCESS_CONSOLE="true" were removed from the container image, i.e. reverted back to defaults
- [containers] PIPENV_DONT_LOAD_ENV=1 Environment variable has been added
- [containers] Migrate to ubi9-minimal base image
- [containers] entrypoint.sh - DB migration mechanism updated
- [containers] GPU. Was updated to CUDA 11.4 and CUDNN 8.2.4 to support onnxruntime 1.11.1
Added
- Environment variables for configuring the 1:N Identification module, see Identification Settings.
Fixed
- [containers] entrypoint.sh - added section to read .env file before app start, to fix specific case with FACEAPI_ENABLE_IDENTIFICATION env variable.