Face SDK  1.13.0 Mozart release
Face Recognition Software Development Kit
builder.h
1 
4 #ifndef FACE_SDK_BUILDER_H
5 #define FACE_SDK_BUILDER_H
6 
7 #include <face_sdk_base/export.h>
8 #include <face_sdk_base/fir.h>
9 #include <face_sdk_base/face.h>
10 #include <face_sdk_base/alignment_info.h>
11 #include <face_sdk_base/data_container.h>
12 #include <face_sdk_base/license.h>
13 
14 #include <memory>
15 
16 namespace face_sdk
17 {
32  class builder
33  {
34  public:
35  virtual ~builder() = default;
36 
40  virtual face_sdk::fir_set build(const face_sdk::alignment_info_set &alignment_info) = 0;
41 
48  virtual face_sdk::fir_set build(const face_sdk::face_set &faces) = 0;
49 
52  virtual uint32_t version() const = 0;
53 
56  virtual bool is_compatible(uint32_t alignment_version) const = 0;
57 
60  virtual bool is_compatible_with_detector(uint32_t detector_version) const = 0;
61 
64  virtual bool is_compatible_with_alignment(uint32_t alignment_version) const = 0;
65 
68  virtual bool produces_short_firs() const = 0;
69  };
70 
81  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
82  uint32_t version,
83  const std::shared_ptr<face_sdk::license> &license,
84  const std::shared_ptr<face_sdk::data_container> &container,
85  uint32_t batch_size,
86  int32_t compute_device);
87 
99  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
100  uint32_t version,
101  const std::shared_ptr<face_sdk::license> &license,
102  const std::shared_ptr<face_sdk::data_container> &container,
103  uint32_t batch_size,
104  int32_t compute_device,
105  bool produce_short_firs);
106 
116  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
117  uint32_t version,
118  const std::shared_ptr<face_sdk::license> &license,
119  uint32_t batch_size,
120  int32_t compute_device);
121 
122  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
123  uint32_t version,
124  const std::shared_ptr<face_sdk::license> &license,
125  uint32_t batch_size,
126  int32_t compute_device,
127  bool produce_short_firs);
128 
138  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
139  uint32_t version,
140  const std::shared_ptr<face_sdk::data_container> &container,
141  uint32_t batch_size,
142  int32_t compute_device);
143 
144  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
145  uint32_t version,
146  const std::shared_ptr<face_sdk::data_container> &container,
147  uint32_t batch_size,
148  int32_t compute_device,
149  bool produce_short_firs);
150 
159  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
160  uint32_t version,
161  uint32_t batch_size,
162  int32_t compute_device);
163 
164  std::shared_ptr<face_sdk::builder> FACE_SDK_EXPORT make_builder(
165  uint32_t version,
166  uint32_t batch_size,
167  int32_t compute_device,
168  bool produce_short_firs);
169 
171 }
172 
173 
174 #endif //FACE_SDK_BUILDER_H
Alignment info. Contains results of alignment.
Definition: alignment_info.h:48
virtual bool is_compatible_with_alignment(uint32_t alignment_version) const =0
Function helps you to determine Alignment and Builder algorithms versions compatibility. See versions_compatibility.
Builder algorithm. The Builder algorithm builds FIR for specified aligned faces.
Definition: builder.h:32
virtual bool produces_short_firs() const =0
Function helps you to determine version of produced firs. See Matcher. {produces_short_firs}.
Definition: alignment_info.h:8
virtual bool is_compatible_with_detector(uint32_t detector_version) const =0
Function helps you to determine Face Detector and Builder algorithms versions compatibility. See versions_compatibility.
virtual face_sdk::fir_set build(const face_sdk::alignment_info_set &alignment_info)=0
Build FIRs for specified aligned faces.
virtual bool is_compatible(uint32_t alignment_version) const =0
Deprecated, use builder::is_compatible_with_alignment().
The license object. A license object provides information about your limits in face_sdk. See Licensing.
Definition: license.h:26
virtual uint32_t version() const =0
Algorithm version. See Builder versions.
std::shared_ptr< face_sdk::builder > make_builder(uint32_t version, 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 the face_sdk::builder object with specified version, license, data container, batch size and compute_device.