Face Engine SDK  5.34.0
A face detection, recognition and tracking engine.
IEyeEstimator.h
1 #pragma once
2 
3 #include <fsdk/IObject.h>
4 #include <fsdk/FSDKError.h>
5 #include <fsdk/Optional.h>
6 #include <fsdk/Types.h>
7 #include <fsdk/Types/SensorType.h>
8 
9 namespace fsdk {
10 
11 #ifndef DOXYGEN_SHOULD_SKIP_THIS
12  DECLARE_SMARTPTR(IEyeEstimator);
13 #endif
14 
24  struct EyesEstimation {
28  struct EyeAttributes {
32  enum class State : uint8_t {
33  Closed,
34  Open,
35  Occluded
36  };
37 
38  static constexpr uint64_t irisLandmarksCount = 32;
39  static constexpr uint64_t eyelidLandmarksCount = 6;
40 
43 
46 
48 
51  };
52 
55  };
56 
62  struct EyesRects {
63  Rect leftEyeRect;
64  Rect rightEyeRect;
65  };
66 
67  EyesRects cropByLandmarks5(const Image& warp, const Landmarks5& landmarks5);
68 
69  EyeCropper::EyesRects cropByLandmarks68(const Image& warp, const Landmarks68& landmarks68);
70  };
71 
98  const Image& warp,
99  const EyeCropper::EyesRects& eyeRects,
100  EyesEstimation& eyesEstimation) const noexcept = 0;
101 
117  virtual Result<FSDKError> estimate(
118  Span<const Image> warps,
120  Span<EyesEstimation> eyesEstimations) const noexcept = 0;
121 
134  virtual Result<FSDKError> validate(
135  Span<const Image> warps,
137  Span<Result<FSDKError>> errors) const noexcept = 0;
138  };
139 
141 } // namespace fsdk
#define FSDK_API
Dummy.
Definition: Def.h:27
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition: Def.h:70
SDK namespace.
Definition: IAGSEstimator.h:8
A structure that encapsulates an action result enumeration.
Definition: Result.h:27
Common data types and structures.
Object system types and interfaces.
EyeAttributes leftEye
Left eye attributes.
Definition: IEyeEstimator.h:53
Common SDK error codes.
Eyes estimation output.
Definition: IEyeEstimator.h:24
Definition: IEyeEstimator.h:62
Base strong reference counted object interface.
Definition: IRefCounted.h:37
State
Enumeration of possible eye states.
Definition: IEyeEstimator.h:32
Eyes attribute structure.
Definition: IEyeEstimator.h:28
static constexpr uint64_t irisLandmarksCount
Iris landmarks amount.
Definition: IEyeEstimator.h:38
Eye estimator interface.
Definition: IEyeEstimator.h:82
Image.
Definition: Image.h:38
EyelidLandmarks eyelid
Eyelid landmarks.
Definition: IEyeEstimator.h:50
Eye is concealed, or landmark passed to estimator doesn&#39;t point to an eye.
EyeCropper is a helper structure for IEyeEstimator interface Methods of this structure crop an input ...
Definition: IEyeEstimator.h:61
IrisLandmarks iris
Iris landmarks.
Definition: IEyeEstimator.h:49
State state
State of an eye.
Definition: IEyeEstimator.h:47
virtual Result< FSDKError > validate(Span< const Image > warps, Span< const EyeCropper::EyesRects > eyeRects, Span< Result< FSDKError >> errors) const noexcept=0
Validate input of multiple frames in a single function call.
Span. Not owning data view. It incapsulated pointer to the continuous array with one or more T objec...
Definition: Span.h:14
EyeAttributes rightEye
Right eye attributes.
Definition: IEyeEstimator.h:54
static constexpr uint64_t eyelidLandmarksCount
Eyelid landmarks amount.
Definition: IEyeEstimator.h:39
virtual Result< FSDKError > estimate(const Image &warp, const EyeCropper::EyesRects &eyeRects, EyesEstimation &eyesEstimation) const noexcept=0
Estimate the attributes.