Skip to content

Latest commit

 

History

History

This application is used as reference code for developers to show how to use the C++ API and could be used to easily check the accuracy. The application accepts path to a JPEG/PNG/BMP file as input.

If you don't want to build this sample and is looking for a quick way to check the accuracy, then try our cloud-based solution at https://www.doubango.org/webapps/face-liveness/.

This sample is open source and doesn't require registration or license key.

Dependencies

The SDK is developed in C++11 and you'll need glibc 2.27+ on Linux and Microsoft Visual C++ 2015 Redistributable(x64) - 14.0.24123 (any later version is ok) on Windows. You most likely already have these dependencies on you machine as almost every program require it.

If you're planning to use OpenVINO, then you'll need Intel C++ Compiler Redistributable (choose newest). Please note that OpenVINO is packaged in the SDK as plugin and loaded (dlopen) at runtime. The engine will fail to load the plugin if Intel C++ Compiler Redistributable is missing on your machine but the program will work as expected with Tensorflow as fallback. We highly recommend using OpenVINO to speedup the inference time. See benchmark numbers with/without OpenVINO at https://www.doubango.org/SDKs/face-liveness/docs/Benchmark.html#core-i7-windows.

Debugging missing dependencies

To check if all dependencies are present:

GPGPU acceleration

  • On x86-64, GPGPU acceleration is disabled by default. Check here for more information on how to enable it.

Pre-built binaries

If you don't want to build this sample by yourself, then use the pre-built C++ versions:

On Windows, the easiest way to try this sample is to navigate to binaries/windows/x86_64 and run binaries/windows/x86_64/liveness.bat. You can edit these files to use your own images and configuration options.

Building

You'll need CMake to build this sample.

  • Create build folder and move into it: mkdir build && cd build

To generate the build files:

  • Windows (Visual Studio files): cmake .. -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_BUILD_TYPE=Release
  • Linux (Makefile): cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release

To build the project:

  • Windows: Open the VS solution and build the projet
  • Linux: Run make to build the project

Testing

After building the application you can test it on your local machine.

Usage

recognizer is a command line application with the following usage:

liveness \
      --image <path-to-image-to-process> \
      --assets <path-to-assets-folder> \
      [--tokenfile <path-to-license-token-file>] \
      [--tokendata <base64-license-token-data>]

Options surrounded with [] are optional.

  • --image Path to the image(JPEG/PNG/BMP) to process. You can use default image at ../../../assets/images/disguise.jpg.
  • --assets Path to the assets folder containing the configuration files and models.
  • --parallel Whether to enabled the parallel mode. More info about the parallel mode at https://www.doubango.org/SDKs/face-liveness/docs/Parallel_versus_sequential_processing.html. Default: false.
  • --tokenfile Path to the file containing the base64 license token if you have one. If not provided, then the application will act like a trial version. Default: null.
  • --tokendata Base64 license token if you have one. If not provided, then the application will act like a trial version. Default: null.

Examples

  • On Linux x86_64, you may use the next command:
LD_LIBRARY_PATH=../../../binaries/linux/x86_64:$LD_LIBRARY_PATH ./liveness \
    --image ../../../assets/images/disguise.jpg \
    --assets ../../../assets \
    --parallel false
  • On Windows x86_64, you may use the next command:
liveness.exe ^
    --image ../../../assets/images/disguise.jpg ^
    --assets ../../../assets ^
    --parallel false

The test image looks like this: Test image