Face Engine SDK  4.7.0
A face detection, recognition and tracking engine.
IBestShotQualityEstimator.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 
8 #include "IHeadPoseEstimator.h" // for HeadPoseEstimation
9 
10 namespace fsdk {
11 
12 #ifndef DOXYGEN_SHOULD_SKIP_THIS
13  DECLARE_SMARTPTR(IBestShotQualityEstimator);
14 #endif
15 
21 
27  estimateAGS = 1 << 0,
28  estimateHeadPose = 1 << 1,
29  estimateAll = 0xffff
30  };
31 
38  };
39 
49  const fsdk::Image& image,
50  const fsdk::Detection& detection,
52  fsdk::IBestShotQualityEstimator::EstimationResult& result) const noexcept = 0;
53 
66  const fsdk::Span<const fsdk::Image> images,
67  const fsdk::Span<const fsdk::Detection> detections,
68  const EstimationRequest request,
70  };
71 
72  /*
73  Implementation details.
74  */
76  operator|(
79  ) {
81  static_cast<int>(first) | static_cast<int>(second)
82  );
83  }
84 
85 } // namespace fsdk
fsdk::Span
Span. @detail Not owning data view. It incapsulated pointer to the continuous array with one or more ...
Definition: Span.h:14
DECLARE_SMARTPTR
#define DECLARE_SMARTPTR(X)
Smart ptr declaration helper macro.
Definition: Def.h:59
fsdk::IBestShotQualityEstimator::estimateAll
@ estimateAll
Make full estimation (all attributes)
Definition: IBestShotQualityEstimator.h:29
fsdk
SDK namespace.
Definition: IAGSEstimator.h:8
fsdk::IBestShotQualityEstimator
BestShot and Quality estimator interface.
Definition: IBestShotQualityEstimator.h:20
fsdk::IBestShotQualityEstimator::estimateHeadPose
@ estimateHeadPose
Estimate HeadPose.
Definition: IBestShotQualityEstimator.h:28
fsdk::IBestShotQualityEstimator::EstimationRequest
EstimationRequest
EstimationRequest lists all possible estimation attributes that BestShotQuality estimator is able to ...
Definition: IBestShotQualityEstimator.h:26
fsdk::Optional
Definition: Optional.h:14
fsdk::IBestShotQualityEstimator::estimateAGS
@ estimateAGS
Estimate AGS.
Definition: IBestShotQualityEstimator.h:27
fsdk::IBestShotQualityEstimator::EstimationResult
BestShotQualityEstimator output structure.
Definition: IBestShotQualityEstimator.h:35
fsdk::Result< FSDKError >
fsdk::IBestShotQualityEstimator::estimate
virtual Result< FSDKError > estimate(const fsdk::Image &image, const fsdk::Detection &detection, const fsdk::IBestShotQualityEstimator::EstimationRequest request, fsdk::IBestShotQualityEstimator::EstimationResult &result) const noexcept=0
Estimate unified AGS and HeadPose attributes.
fsdk::IBestShotQualityEstimator::EstimationResult::headPose
Optional< HeadPoseEstimation > headPose
HeadPose estimation if was requested, empty otherwise.
Definition: IBestShotQualityEstimator.h:36
fsdk::IBestShotQualityEstimator::estimate
virtual Result< FSDKError > estimate(const fsdk::Span< const fsdk::Image > images, const fsdk::Span< const fsdk::Detection > detections, const EstimationRequest request, fsdk::Span< fsdk::IBestShotQualityEstimator::EstimationResult > results) const noexcept=0
Estimate unified AGS and HeadPose attributes of multiple frames in a single estimate function call.
fsdk::IBestShotQualityEstimator::EstimationResult::ags
Optional< float > ags
AGS estimation if was requested, empty otherwise.
Definition: IBestShotQualityEstimator.h:37
fsdk::Image
Image.
Definition: Image.h:38
fsdk::IRefCounted
Base strong reference counted object interface.
Definition: IRefCounted.h:36
fsdk::BaseDetection
Face detection. @detail Stores a detected face bounding box within a source image frame as well as de...
Definition: Detection.h:10