Face SDK  1.13.0 Mozart release
Face Recognition Software Development Kit
age_gender.h
1 
3 #ifndef FACE_SDK_AGE_GENDER_H
4 #define FACE_SDK_AGE_GENDER_H
5 
6 #include <face_sdk_base/export.h>
7 
8 #include <face_sdk_alignment/alignment.h>
9 #include <face_sdk_base/license.h>
10 #include <face_sdk_base/data_container.h>
11 
12 namespace face_sdk
13 {
24  {
25  float age;
26 
29  float gender;
30  };
31 
32  typedef std::vector< face_sdk::age_gender_info > age_gender_info_set;
33 
38  class age_gender
39  {
40  public:
41 
42  virtual ~age_gender() = default;
43 
47  virtual face_sdk::age_gender_info_set calc_age_gender(const face_sdk::alignment_info_set &alignment_info) = 0;
48 
51  virtual uint32_t version() const noexcept = 0;
52 
55  virtual bool is_compatible(uint32_t alignment_version) const noexcept = 0;
56  };
57 
68  std::shared_ptr<face_sdk::age_gender> FACE_SDK_EXPORT make_age_gender(
69  uint32_t version,
70  const std::shared_ptr<face_sdk::license> &license,
71  const std::shared_ptr<face_sdk::data_container> &container,
72  uint32_t batch_size,
73  int32_t compute_device);
74 
84  std::shared_ptr<face_sdk::age_gender> FACE_SDK_EXPORT make_age_gender(
85  uint32_t version,
86  const std::shared_ptr<face_sdk::data_container> &container,
87  uint32_t batch_size,
88  int32_t compute_device);
89 
99  std::shared_ptr<face_sdk::age_gender> FACE_SDK_EXPORT make_age_gender(
100  uint32_t version,
101  const std::shared_ptr<face_sdk::license> &license,
102  uint32_t batch_size,
103  int32_t compute_device);
104 
105 
114  std::shared_ptr<face_sdk::age_gender> FACE_SDK_EXPORT make_age_gender(
115  uint32_t version,
116  uint32_t batch_size,
117  int32_t compute_device);
118 
120 }
121 
122 
123 #endif
Alignment info. Contains results of alignment.
Definition: alignment_info.h:48
virtual bool is_compatible(uint32_t alignment_version) const noexcept=0
Function helps to determine Alignment and Age&Gender algorithms versions compatibility. See versions_compatibility.
float gender
Indicates gender. Value less than 0 indicates female gender otherwise male gender.
Definition: age_gender.h:29
Age&Gender classification algorithm. Classify age and gender of the face based on face_sdk::alignment...
Definition: age_gender.h:38
virtual uint32_t version() const noexcept=0
Algorithm`s version. See Age&Gender versions.
std::shared_ptr< face_sdk::age_gender > make_age_gender(uint32_t version, uint32_t batch_size, int32_t compute_device)
Makes the face_sdk::age_gender object with needed version, batch size and compute device...
Contains information about age and gender for the specified face.
Definition: age_gender.h:23
Definition: alignment_info.h:8
virtual face_sdk::age_gender_info_set calc_age_gender(const face_sdk::alignment_info_set &alignment_info)=0
Classifies age and gender for the aligned faces.
The license object. A license object provides information about your limits in face_sdk. See Licensing.
Definition: license.h:26