Face SDK  1.13.0 Mozart release
Face Recognition Software Development Kit
liveness.h
1 
4 #pragma once
5 
6 #include <face_sdk_base/license.h>
7 #include <face_sdk_base/face.h>
8 
9 #include <string>
10 
11 namespace face_sdk
12 {
25  {
26  public:
27 
28  enum { SUCCESS };
29 
30  virtual ~liveness_result() = default;
31 
35  virtual int error_code() const = 0;
36 
40  virtual bool real() const = 0;
41  };
42 
49  {
50  public:
51  virtual ~liveness_config() = default;
52  };
53 
54  typedef std::vector<std::shared_ptr<liveness_result>> liveness_result_set;
55 
60  class liveness
61  {
62  public:
63  virtual ~liveness() = default;
64 
67  virtual uint32_t version() const = 0;
68 
79  virtual liveness_result_set process_faces(const face_sdk::face_set &faces) = 0;
80  };
81 
91  std::shared_ptr<liveness> FACE_SDK_EXPORT make_liveness(uint32_t version,
92  const std::shared_ptr<liveness_config> &config,
93  uint32_t batch_size,
94  int32_t compute_device);
95 
106  std::shared_ptr<liveness> FACE_SDK_EXPORT make_liveness(uint32_t version,
107  const std::shared_ptr<liveness_config> &config,
108  const std::shared_ptr<face_sdk::license> &license,
109  uint32_t batch_size,
110  int32_t compute_device);
111 
122  std::shared_ptr<liveness> FACE_SDK_EXPORT make_liveness(uint32_t version,
123  const std::shared_ptr<liveness_config> &config,
124  const std::shared_ptr<face_sdk::data_container> &container,
125  uint32_t batch_size,
126  int32_t compute_device);
127 
139  std::shared_ptr<liveness> FACE_SDK_EXPORT make_liveness(uint32_t version,
140  const std::shared_ptr<liveness_config> &config,
141  const std::shared_ptr<face_sdk::license> &license,
142  const std::shared_ptr<face_sdk::data_container> &container,
143  uint32_t batch_size,
144  int32_t compute_device);
146 }
virtual bool real() const =0
false in case of spoof Make sense only if error_code is SUCCESS
The liveness_result object. The result object can be casted to specific liveness depending on livenes...
Definition: liveness.h:24
The liveness detection algorithm. Detects spoof attacks.
Definition: liveness.h:60
virtual liveness_result_set process_faces(const face_sdk::face_set &faces)=0
Performs liveness detection on detected faces. The faces must be detected by compatible face detectio...
Definition: alignment_info.h:8
Liveness config. Each liveness version its own config. Use specific factory functions to make configu...
Definition: liveness.h:48
virtual uint32_t version() const =0
Returns liveness detection algorithm version.
std::shared_ptr< liveness > make_liveness(uint32_t version, const std::shared_ptr< liveness_config > &config, const std::shared_ptr< face_sdk::license > &license, const std::shared_ptr< face_sdk::data_container > &container, uint32_t batch_size, int32_t compute_device)
Makes liveness with specified version, config, license, data container, batch size and compute device...
The license object. A license object provides information about your limits in face_sdk. See Licensing.
Definition: license.h:26
virtual int error_code() const =0
Error code. Non-success error codes depend on liveness algoritm version.