Technical info¶
The deep learning models are developed using Pytorch and Tensorflow. All models are exported to ONNX format and we use ONNX Runtime as inference engine. The initial version (v0.1) is shipped with 32-bit float models to be used on server-side apps on Windows and Linux x64. Next versions will use QINT8 models for ARM devices (Android, iOS…) when the SDK is ran directly on the mobile.
The common use case is to have the SDK on a server (Linux or Windows) and query the features (recognition, liveness…) from a mobile client (Android, iOS…) via REST API. The initial version (v0.1) uses ONNX RT 1.21.0 and requires CUDA 12.x and cuDNN 9.x for GPU acceleration. The SDK is optimized for CPUs and doesn’t require a GPU.
The stream injection (virtual camera) detection is the only module that depends on a hardware and operating system. It was trained and tested on a variety of cameras/machines: iMac, MacBook, iPhone, iPad, Samsung, Motorola, Xiaomi, Logitech, UGREEN, NewEye… There is no known security issue or restriction at this stage, wide deployment will confirm or infirm such affirmation.
The SDK is fully developed using C++11 and has a public API for C++, C#, java and Python. Multiple samples are provided on Github for each supported language.