| Face Engine SDK 5.12.0 A face detection, recognition and tracking engine.

Public Member Functions | List of all members
fsdk::IGazeEstimator Struct Referenceabstract

Gaze estimator interface. More...

`#include <IGazeEstimator.h>`

Inheritance diagram for fsdk::IGazeEstimator:

## Public Member Functions
virtual Result< FSDKError > | estimate (const Image &warp, const Landmarks5 &landmarks5Transformed, GazeEstimation &eyeAngles) const noexcept=0
| Estimates the eye angles. More...
virtual Result< FSDKError > | estimate (Span< const Image > warps, Span< const Landmarks5 > landmarks5Transformed, Span< GazeEstimation > eyeAngles) const noexcept=0
| Estimates eye angles of multiple frames in a single estimate function call. More...
virtual Result< FSDKError > | validate (Span< const Image > warps, Span< const Landmarks5 > landmarks5Transformed, Span< Result< FSDKError >> errors) const noexcept=0
| Validate input of multiple frames in a single function call. More...
virtual Point2i | getFaceCenter (const Landmarks5 &landmarks5) const noexcept=0
| Returns the special center of face for calculating of gaze projection. More...
Public Member Functions inherited from fsdk::IRefCounted
virtual int32_t | retain () noexcept=0
| Increase strong reference count. More...
virtual int32_t | retainLocked () noexcept=0
| Increase strong reference count thread safely. More...
virtual int32_t | release () noexcept=0
| Decrease strong reference count. More...
virtual int32_t | getRefCount () const noexcept=0
| Get actual strong reference count. More...
virtual int32_t | retainWeak () noexcept=0
| Increase weak reference count. More...
virtual int32_t | releaseWeak () noexcept=0
| Decrease weak reference count. More...
virtual int32_t | getWeakRefCount () const noexcept=0
| Get actual weak reference count. More...

## Detailed Description

Gaze estimator interface.

Note
  This estimator is designed to work with 68 facial landmarks, HeadPoseEstimation (

See also
  IHeadPoseEstimator) and EyesEstimations of both eyes (
  IEyeEstimator).
  GazeEstimation structure for details about how exactly the estimations are reported.

Note
  Input points should be relative to the same coordinate system. Best results are achieved if coordinate system is tied to image on which input data was retrieved.

## Member Function Documentation

## ◆ estimate() [1/2]

virtual Result<FSDKError> fsdk::IGazeEstimator::estimate | ( | const Image & | warp,
|  | const Landmarks5 & | landmarks5Transformed,
|  | GazeEstimation & | eyeAngles
| ) |  | const
| pure virtual noexcept

Estimates the eye angles.

Parameters

  [in] | warp | image with warped face.
  [in] | landmarks5Transformed | transformed landmarks.
  [out] | eyeAngles | output estimation.

Returns
  Result with error code.

See also
  GazeEstimation, Landmarks, Image, Result and FSDKError for details.

Note
  warp format must be R8G8B8 or IR_X8X8X8,

See also
  Format.

## ◆ estimate() [2/2]

virtual Result<FSDKError> fsdk::IGazeEstimator::estimate | ( | Span< const Image > | warps,
|  | Span< const Landmarks5 > | landmarks5Transformed,
|  | Span< GazeEstimation > | eyeAngles
| ) |  | const
| pure virtual noexcept

Estimates eye angles of multiple frames in a single estimate function call.

Parameters

  [in] | warps | span of images with warped faces.
  [in] | landmarks5Transformed | span of transformed landmarks of size 5,

See also
  IWarper.

Parameters

  [out] | eyeAngles | output span of gaze estimations.

Returns
  Result with error code.

See also
  Span, GazeEstimation, Landmarks, Image, Result and FSDKError for details.

Note
  warps format must be R8G8B8 or IR_X8X8X8,

See also
  Format.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.

## ◆ getFaceCenter()

virtual Point2i fsdk::IGazeEstimator::getFaceCenter | ( | const Landmarks5 & | landmarks5 | ) | const
| pure virtual noexcept

Returns the special center of face for calculating of gaze projection.

Parameters

  [in] | landmarks5 | landmarks of size 5.

Returns
  Point of face center of type Vector2<int>.

See also
  Vector2 and Landmarks for details.

## ◆ validate()

virtual Result<FSDKError> fsdk::IGazeEstimator::validate | ( | Span< const Image > | warps,
|  | Span< const Landmarks5 > | landmarks5Transformed,
|  | Span< Result< FSDKError >> | errors
| ) |  | const
| pure virtual noexcept

Validate input of multiple frames in a single function call.

Parameters

  [in] | warps | span of images with warped faces.
  [in] | landmarks5Transformed | span of transformed landmarks, only for Validation.
  [out] | errors | output span of errors for each image.

Returns
  Result with error code.

See also
  Span, Landmarks, Image, Result and FSDKError for details.

Note
  warps format must be R8G8B8 or IR_X8X8X8,

See also
  Format.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.

The documentation for this struct was generated from the following file:

- include/fsdk/Estimators/IGazeEstimator.h