9 #include <fsdk/IObject.h>
10 #include <fsdk/Types.h>
87 virtual void reset() noexcept = 0;
103 virtual fsdk::ResultValue<LSDKError, bool>
update(fsdk::Image& image) noexcept = 0;
116 virtual bool getDetection(fsdk::Detection* detection) noexcept = 0;
123 virtual bool getWarp(fsdk::Image* image) noexcept = 0;
130 virtual bool getLandmarks68(fsdk::Landmarks68* landmarks68) noexcept = 0;
137 virtual bool getLandmarks5(fsdk::Landmarks5* landmarks5) noexcept = 0;
144 virtual bool getIrisLandmarks(fsdk::Landmarks<32>* irisLandmarks) noexcept = 0;
172 virtual fsdk::Result<LSDKError>
loadSettings(fsdk::ISettingsProvider* provider) noexcept = 0;
179 template <
typename T,
typename... Args>
180 uint32_t
field(T current, Args... rest) noexcept {
181 return field(rest...) | (1 << (uint32_t)current);
184 template <
typename T>
185 uint32_t
field(T last) noexcept {
186 return (uint32_t)(1 << (uint32_t)last);
210 virtual void consider(uint32_t flags) noexcept = 0;
242 virtual fsdk::ResultValue<LSDKError, bool>
update(fsdk::Image& rgb, fsdk::Image& map) noexcept = 0;
264 return "Internal error";
266 return "Liveness result is not ready.";
268 return "Liveness is not initialized";
270 return "Precondition failed";
272 return "Unknown error";
virtual bool getIrisLandmarks(fsdk::Landmarks< 32 > *irisLandmarks) noexcept=0
Get 32 iris landmarks extracted from detection from last image.
Liveness detector interface.
Definition: ILiveness.h:81
ComplexLivenessAlgorithmType
Complex liveness algorithm type enumeration.
Definition: ILiveness.h:39
virtual bool getWarp(fsdk::Image *image) noexcept=0
Get face warp retrieved from last image.
Structure for score measurements retrieval.
Definition: ILiveness.h:64
Algorithm based on infrared warp analysis.
Definition: ILiveness.h:32
virtual bool getDetection(fsdk::Detection *detection) noexcept=0
Get fsdk::Detection retrieved from last image.
Starting condition is not accomplished, liveness not started yet.
Algorithm based on depth map analysis.
Definition: ILiveness.h:40
Algorithm based on mouth opening.
Definition: ILiveness.h:29
Unified liveness detector interface. This liveness type includes previous types and performs all cal...
Definition: ILiveness.h:196
virtual fsdk::Result< LSDKError > loadSettings(fsdk::ISettingsProvider *provider) noexcept=0
Restore all appropriate settings from given provider.
Liveness not initialized.
Structure for eyeStates retrieval.
Definition: ILiveness.h:73
virtual fsdk::ResultValue< LSDKError, bool > update(fsdk::Image &rgb, fsdk::Image &map) noexcept=0
Update liveness state according to image data.
Algorithm based on upward face movement.
Definition: ILiveness.h:24
Liveness not ready, require more updates.
virtual bool getLandmarks68(fsdk::Landmarks68 *landmarks68) noexcept=0
Get 68 facial landmarks extracted from detection from last image.
Structure for angle measurements retrieval.
Definition: ILiveness.h:55
virtual bool getAngles(Angles *angles) noexcept=0
Get face angles .
virtual int getBlinkCounter() noexcept=0
Gets blink stats.
virtual void consider(uint32_t flags) noexcept=0
Sets liveness types to take into consideration.
uint32_t field(T current, Args...rest) noexcept
Auxiliary function for binary field composition.
Definition: ILiveness.h:180
virtual bool getScores(Scores *scores) noexcept=0
Get face angles .
Not a type; counts number of available types.
Definition: ILiveness.h:41
LivenessAlgorithmType
Simple liveness algorithm type enumeration.
Definition: ILiveness.h:23
Complex liveness detector interface.
Definition: ILiveness.h:224
virtual bool getLandmarks5(fsdk::Landmarks5 *landmarks5) noexcept=0
Get 5 facial landmarks extracted from detection from last image.
virtual fsdk::ResultValue< LSDKError, bool > update(fsdk::Image &image) noexcept=0
Update liveness state according to image data.
Algorithm based on rightward face movement.
Definition: ILiveness.h:27
virtual bool getEyestates(EyeStates *eyeStates) noexcept=0
Get face angles .
Algorithm based on smile.
Definition: ILiveness.h:28
Algorithm based on eye blinking.
Definition: ILiveness.h:31
LSDKError
Definition: ILiveness.h:44
Not a type; counts number of available types.
Definition: ILiveness.h:33
Algorithm based on eyebrows rising.
Definition: ILiveness.h:30
Algorithm based on leftward face movement.
Definition: ILiveness.h:26
virtual void runAfter(ILiveness *other) noexcept=0
Configure this liveness with tracking state from other liveness.
Algorithm based on downward face movement.
Definition: ILiveness.h:25
virtual void reset() noexcept=0
Reset liveness state to initial condition.