3DiVi Face SDK is a set of software components (code libraries) for building face recognition solutions of any complexity – from a simple app to portals like Azure Face API or AWS Rekognition.
Face SDK supports the following features:
- Face detection and tracking on images and videos
- Face recognition on images and videos
- Face estimation (gender, age, emotions, liveness) on images and videos
- Video stream processing – face detection, tracking and recognition in video streams
Currently, the following platforms and architectures are supported:
- Windows (x86 32-bit, x86 64-bit)
- Linux (x86 32-bit, x86 64-bit, ARM 32-bit, ARM 64-bit)
- Android (ARM 32-bit, ARM 64-bit)
- iOS (ARM 64-bit)
Face SDK provides the following APIs:
- C++ API (for Windows, Linux, Android, iOS)
- Java wrapper (for Windows, Linux, Android)
- C# wrapper (for Windows, Linux)
- Python wrapper (for Windows, Linux)
- Components – essential information about the components included in Face SDK
- Use Cases – diagrams that show possible use cases and connection between the components
- Samples – sample programs in C++/C#/Java/Python that show you the features of Face SDK
- Tutorials – step-by-step tutorials on face detection, recognition, and estimation of age, gender, and emotions
- Licenses – information about different types of licenses, activation and locking of a license
- Performance Parameters – CPU and memory usage, identification quality (FAR/FRR)
To get started with Face SDK, download free Face SDK Trial license.
Note: The Trial license is not supported on iOS. Please contact us to get the free trial for iOS._
To remove trial limitations, you need to purchase Face SDK license.
Contact us at [email protected] if you have any questions.
- Get free Face SDK Trial license or purchase the Face SDK license.
- Clone this repository or download the distribution package from http://download.3divi.com/facesdk/archives/latest.html (here you can find the complete distribution packages for the most popular operating systems). If you download the distribution package from http://download.3divi.com/facesdk/archives/latest.html, go to Step 5. If you clone the repository, run the commands below (please note that it's important to clone this repository instead of downloading it):
$ git clone https://github.com/3DiVi/face-sdk.git
$ cd face-sdk
- Download the Face SDK runtime using Git LFS:
$ git lfs install
$ git lfs pull
- Extract one of the archives with the runtime depending on your platform:
windows_x86_64.zip
,windows_x86_32.zip
,linux_x86_64.tar.xz
,linux_x86_32.tar.xz
,linux_armhf_32.tar.xz
,linux_aarch64.tar.xz
,android_arm_32.tar.xz
,android_arm_64.tar.xz
,ios_arm_64.tar.xz
.
When extracting the archive, specify the path to the Face SDK root – the folders bin and lib should be located at the same level with the folders conf, docs, examples, include, and share.
Extraction path – root folder of the Face SDK distribution
- Copy the Face SDK License (
3divi_face_sdk.lic
) to thelicense
folder - To explore the features of Face SDK, check out our samples that will show you how to work with C++, Java, C#, and Python API.
- Connecting Face SDK to Your Project – learn how to add and use the libfacerec library in your project
- Video Stream Processing – face tracking, creation of templates, face recognition, estimation of age, gender, and emotions, short-time identification
- Face Capturing – custom face tracking, getting information about faces, anthropometric points, face cropping
- Face Estimation – custom estimation of age, gender, emotion, and liveness (2D/3D)
- Face Identification – custom face identification, identification methods
- GPU Usage – instructions on GPU usage for acceleration of Face SDK modules on Linux x86 64-bit and Android
- Error Handling – error handling in C++/C#/Java/Python
- Memory Management – memory management in C++/C#/Java/Python
- Guidelines for Cameras – camera positioning and shooting, recommended cameras
- Face SDK Cross-Platform API. Latest Doxygen Output
If you've noticed a bug in our software or you'd like to propose a new feature to Face SDK, you can create an issue and our developers will take a look at your request. To do this:
- Go to the Issues tab and click New issue.
- Name your issue and describe it in detail.
- When you're finished, click Submit new issue.
We're always looking forward to your feedback!
Learn more about issues on GitHub.
- Fork this repository by clicking Fork in the top right corner of the page.
- In a forked repository, make changes to a file and click Commit changes.
- After making all changes, you'll see the message "This branch is ... commits ahead of 3DiVi:master." at the top of the forked repository. Click Compare to view the changes (don't forget to select the repositories and branches).
- If everything is correct and you're ready to propose changes, click Create pull request.
- Name your pull request and describe your changes. Then, click Create Pull Request once again.
Learn more about pull requests on GitHub.
- OpenSSL (https://www.openssl.org)
- Crypto++ (https://www.cryptopp.com)
- Boost (http://www.boost.org)
- OpenCV (http://opencv.org)
- Tensorflow (https://www.tensorflow.org/)