Overview
Tech5 Face recognition SDK is designed for integration of face recognition technology in third-party applications and systems and allows to detect, track and recognize faces on images of any source and quality. Additional features provide: image quality assessment, age and gender estimation, smart image compression.
Tech5 Face recognition SDK provides fast speed and very accurate recognition regardless race or nation, age, face expressions, partial occlusions and even face morphing.
The SDK is written on C++ and includes C++ headers and samples.
The SDK also has C#, Java and Swift interfaces.
Supported OS: Linux (Ubuntu 18.04, 20.04 x86_x64, Centos 7 x86_x64, Ubuntu 16.04 aarch64), Windows 7 or later (x86_x64), Android Lollipop or later (ARMv7, ARMv8), iOS 13 armv64
CPU and GPU are supported.
Features
- Face detection with landmarks
- Face tracking
- Face alignment
- Biometric template extraction
- 1:1, 1:N, M:N matching
- Age and gender recognition
- Image quality assessment
- Passive liveness detection
- Serialization
- Image smart compression
HW requirements
- Supported NVIDIA GPU architectures (Compute Capability 5.3, 6.1, 7.2, 7.5 and 8.8):
- Pascal (GeForce GTX 1080Ti, 1080, 1070, 1060, Tesla P40, P4, etc),
- Turing (GeForce RTX 2080Ti, 2080, 2070, 2060, Tesla T4, TITAN RTX)
- Ampere (GeForce RTX 3060Ti, 3060, 3090, 3080, 3070, 3050, 3050Ti, Quadro RTX A6000, RTX A5000, RTX A4000)
- Jetson TX2, Jetson AGX Xavier
- Supported CPU: SkyLake generation or later, ARMv7 (32-bit), ARMv8 (64-bit)
- Min RAM: For Server applications - 6 Gb, for Mobile applications and devices - 1 GB
- Recommended RAM: 16 Gb
Image requirements
- GIF, PNG, JPEG, TIFF RGB24 bpp
- Face size: at least 20 pixels between eyes
Important: Different versions of the engine (the builder module) extract not compatible biometric templates (FIRs), even if the SDK versions are compatible. The interfaces can be the same, but the system itself won't work after upgrade without re-extracting the biometric templates.
Face SDK Modules
Face Detector
Module detects faces on the image and returns array of objects, where every object is coordinates of the boundary, face landmarks and confidence parameter.
Confidence parameter is the internal assessment of the detection error possibility (where 0 - definitely detection error, 1 - definitely a face).
In case of finding several faces on the image, Face detector returns several objects.
Following use case scenarios are up to SDK user: user can send all detected objects for following recognition, or choose one of them.
See more
Face Selector
Module selects one face from all input faces based on one of three user selected algorithm:
- Widest face on image
- Biggest face confidence
- Face closest to the image's center
See more
Alignment
Module aligns an input image after detection stage for the following template extraction on Builder module.
Be aware that Alignment module may work incorrectly if you send an image with several faces on it.
See more
Builder
Module extracts biometric templates (FIRs) from images, received after alignment.
Builder module requires using of the same version of Fir Matcher!
Builder 100 requires Fir Matcher 100, Builder 101 requires Fir Matcher 101, etc.
Pay attention: Builder module has no internal assessment and extract template from any input, even if there is not face on the image.
Builder is supposed to be used after Detector or Detector&Alignment modules.
See more
Matcher
Module compares FIRs and returns the result, which is the coefficient equivalent -logFAR.
See more
Age&Gender
Module classifies age and gender based on the image received from alignment module.
See more
Quality checker
Module assesses image quality parametes (blur, exposure, hot spots, rotations, background evenness) and facial attributes (glasses, open and closed eyes, smile, occlusions, unnatural skin tone, red eyes, mask).
See more
Liveness detection
Module detects spoof attacks (Passive liveness detection using one image).
See more
Face tracking
Module tracks faces in the video stream, grouping faces of the same person in one track.
Module notifies that a new face had appeared in the frame and has left the scene.
See more
Image compressor
Module for compressing and decompressing images to the minumum size with different compression levels.
See more
Pure Fir extraction
Module extracts pure biometric template data. The module can be used for manual biometric template serialization, encryption, etc.
See more
Getting started
Getting started with C++
Getting started with .NET
Getting started with Java
Getting started with Swift
Release Notes. 1.14.1 Mozart
- Fixed SSL issue occuring in remote licensing (Licensing)
Release Notes. 1.14.0 Mozart
Release Notes. 1.13.1 Mozart
- Added NVIDIA Ampere architecture support.
Release Notes. 1.13.0 Mozart
Release Notes. 1.12.0 Mozart
- Added Ubuntu 20.04 support
- Added embedded linux support (toolchain linaro 7.5-2019.12 arm-linux-gnueabihf)
- CUDA 10.1 and cuDNN 7 are upgraded to CUDA 11.3 and cuDNN 8.2 (except Jetson)
- Swift wrapper is updated to Swift5 version
Release Notes. 1.11.0 Mozart
- Added Jetson TX2, Jetson AGX Xavier support
- Dropped NVIDIA Volta architecture support (Compute Capability 6.0 and 7.0)
- Performance optimization for Android API 29+
- License obtaining procedure is changed for Android due to restrictions.
- Dropped face_sdk_utils support for Android due to restrictions
Release Notes. 1.10.0 Mozart
- Added Pure Fir extraction module
Release Notes. 1.9.0 Mozart
- Added Liveness detection algorithm version 102
- face_sdk_utils is updated:
Release Notes. 1.8.2 Mozart
- face_sdk_utils is updated:
- Bug fix
Release Notes. 1.8.1 Mozart
- Improved C# support
- Added Linux x86-64 support (ubuntu 18.04 and centos7 runtimes)
- Added RemoteLicense wrapper
- Added Linux arm64 support (ubuntu 16.04)
- Added mask detector to the Quality checker module
Release Notes. 1.8 Mozart
- Added C# support (.Net Standard 1.3). Getting started with dotnet
- Added C-interface
- Added new type of automated licensing - Server of licenses
- Added new detectors to the Quality checker module:
- hot spots detector
- red eye detector
- background evenness detector
- unnatural skin tone detector
- face_sdk_utils is updated:
- Changed distribution to DEB and RPM repositories (Getting started with C++)
Release Notes. 1.7 Mozart
- Added iOS 13 armv64 support
- Added new modules:
- Added new algorithms:
- Matching module updates:
- added function of score conversion from (-logFAR) to persentage
- added 1:1 match using ID within template list
- Base module updates:
- size of serialized objects is significantly reduced
- face_sdk_utils updates:
- Removed algorithms:
- builder 102
- face_detector 100, 102
- liveness passive 100
- liveness cooperative
- tracker 100
- Others:
- size of binary files for Android is significantly reduced
- removed deb and rpm packages dependency on boost package
Release Notes. 1.6 Mozart
- Added new nns:
- builder 105, 106, 200,
- face_detectors 200, 201
- alignment 103
- Added new modules:
- Base module updates:
- reduced size of biometric templates
Release Notes. 1.5 XUXU
- Added support NUMA architecture for Fir Matcher
- Added Face Detector version 103.
- Added Alignment version 103.
Release Notes. 1.4 XUXU
- Added M:N matching where M can be 1,2 and 4 images of the same person.
- Added Face Detector version 102 (With landmarks prediction).
- Added Builder version 104 (XUXU NN).
- Added Liveness detection
- Added Face tracking
- Added support of NVIDIA Volta and Turing architectures
- Improved alignment
- All modules in one library now
Release Notes. 1.3 IrishCream beta4
- Added Face Detector version 101 (Improved accuracy).
- Added Builder version 102 (Irish Cream mobile NN) and 103 (Irish Cream Indonesian NN).
- Added RPM packages for Centos 7.
- Added DEB packages for Ubuntu 18.04.
Release Notes. 1.2 IrishCream beta3
- Added Windows 7 or later (64-bit only).
- Added Face Detector.
- Added new Builder version 101 (Irish Cream NN).
- Added new Alignment 102 with quality assessement feature.
- Updated face_sdk_utils. Added alignment, resizing, quality assessement, building and matching features.
- Updated fir_matcher, added support of multithread processing.
Thanks for choosing our SDK! If you have any questions, don't hesitate to contact us suppo.nosp@m.rt@t.nosp@m.ech5-.nosp@m.sa.c.nosp@m.om
Disclaimer
Disclaimer