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

Public Member Functions | List of all members
fsdk::IDetector Struct Referenceabstract
Face detector.

face detector interface. More...

`#include <IDetector.h>`

Inheritance diagram for fsdk::IDetector:

## Public Member Functions
virtual ResultValue< FSDKError, Ref< IFaceDetectionBatch > > | detect (Span< const Image > images, Span< const Rect > ROIs, uint32_t perImageNum, DetectionType type=DT_BBOX) noexcept=0
| Detect faces and their parameters on multiple images. More...
virtual ResultValue< FSDKError, Face > | detectOne (const Image &image, const Rect &rect, DetectionType type=DT_BBOX) noexcept=0
| Light function to get just one best detection from single input image. More...
virtual ResultValue< FSDKError, Ref< IFaceDetectionBatch > > | redetect (Span< const Image > images, Ref< IFaceDetectionBatch > detectionBatch, DetectionType type=DT_BBOX) noexcept=0
| Batched redetect faces on multiple images based on the detection results for the previous frames. More...
virtual ResultValue< FSDKError, Ref< IFaceDetectionBatch > > | redetect (Span< const Image > images, Span< Span< const Detection >> detections, DetectionType type=DT_BBOX) noexcept=0
| Batched redetect faces on multiple images based on the detection results for the previous frames. More...
virtual ResultValue< FSDKError, Face > | redetectOne (const Image &image, const Detection &detection, DetectionType type=DT_BBOX) noexcept=0
| Redetect face. More...
virtual void | setDetectionComparer (DetectionComparerType comparerType) noexcept=0
| Set detection comparer from SDK defined list. More...
virtual void | setCustomDetectionComparer (const IDetectionComparer *comparer) noexcept=0
| Set custom detection comparer object. More...
virtual Result< FSDKError > | validate (Span< const Image > images, Span< Span< const Detection >> detections, Span< Span< Result< FSDKError >>> errors) const noexcept=0
| Validate input of multiple frames in a single function call. More...
virtual Result< FSDKError > | validate (Span< const Image > images, Span< const Rect > rects, uint32_t detectionPerImageNum, Span< Result< FSDKError >> outErrors) const noexcept=0
| Validate input of multiple frames in a single function call. More...
virtual Result< FSDKError > | validate (Span< const Image > images, Ref< IFaceDetectionBatch > detectionBatch, Span< Result< FSDKError >> outErrors) const noexcept=0
| Validate input of multiple frames in a single function call. More...
Public Member Functions inherited from fsdk::IRefCounted
virtual int32_t | retain () noexcept=0
| Increase strong reference count. 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

face detector interface.

## Member Function Documentation

## ◆ detect()

virtual ResultValue<FSDKError, Ref<IFaceDetectionBatch> > fsdk::IDetector::detect | ( | Span< const Image > | images,
|  | Span< const Rect > | ROIs,
|  | uint32_t | perImageNum,
|  | DetectionType | type = `DT_BBOX`
| ) |  |
| pure virtual noexcept

Detect faces and their parameters on multiple images.

Parameters

  [in] | images | input images span; format must be R8G8B8.
  [in] | rectangles | input rectangles of interest (ROI) span.
  [in] | perImageNum | the max number of detections per input image.
  [in] | type | type of the detection.

Returns
  ResultValue with error code and IFaceDetectionBatch object.

See also
  Span, Image, Rect, DetectionType, ResultValue, FSDKError and IFaceDetectionBatch for details.

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

## ◆ detectOne()

virtual ResultValue<FSDKError, Face> fsdk::IDetector::detectOne | ( | const Image & | image,
|  | const Rect & | rect,
|  | DetectionType | type = `DT_BBOX`
| ) |  |
| pure virtual noexcept

Light function to get just one best detection from single input image.

Parameters

  image | input image
  rect | rectangle of interest on image
  type | type of detection: BBox, 5landmarks or 68landmarks

Returns
  ResultValue with error code and a Face object (detection bbox, landmarks, etc)

## ◆ redetect() [1/2]

virtual ResultValue<FSDKError, Ref<IFaceDetectionBatch> > fsdk::IDetector::redetect | ( | Span< const Image > | images,
|  | Ref< IFaceDetectionBatch > | detectionBatch,
|  | DetectionType | type = `DT_BBOX`
| ) |  |
| pure virtual noexcept

Batched redetect faces on multiple images based on the detection results for the previous frames.

Parameters

  [in] | images | input images span; format must be R8G8B8.
  [in] | detectionBatch | result of detection on the previous frames - Ref with an IFaceDetectionBatch object.

See also
  IFaceDetectionBatch for details.

Parameters

  [in] | type | type of redetection.

See also
  DetectionType for details.

Returns
  ResultValue with error code and IFaceDetectionBatch object

Note
  images span should be based on user owned continuous collections.
  images span should be the same size with detectionBatch size.
  In case if some face from the input detectionBatch was not found the corresponding detection in the output IFaceDetectionBatch object will be invalid.

## ◆ redetect() [2/2]

virtual ResultValue<FSDKError, Ref<IFaceDetectionBatch> > fsdk::IDetector::redetect | ( | Span< const Image > | images,
|  | Span< Span< const Detection >> | detections,
|  | DetectionType | type = `DT_BBOX`
| ) |  |
| pure virtual noexcept

Batched redetect faces on multiple images based on the detection results for the previous frames.

Parameters

  [in] | images | input images span; format must be R8G8B8.
  [in] | detections | input detections from the previous frames. It is a two dimentional Span. There is one Span of the rectangles for each image.
  [in] | type | type of redetection.

See also
  DetectionType for details.

Returns
  ResultValue with error code and IFaceDetectionBatch object

See also
  IFaceDetectionBatch for details.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.
  If for some of the input detections the redetected face will not be found the appropriate detection in the IFaceDetectionBatch object will be invalid.

## ◆ redetectOne()

virtual ResultValue<FSDKError, Face> fsdk::IDetector::redetectOne | ( | const Image & | image,
|  | const Detection & | detection,
|  | DetectionType | type = `DT_BBOX`
| ) |  |
| pure virtual noexcept

Redetect face.

Parameters

  image | input image. Format must be R8G8B8.
  detection | detection from the previous frame to make redetect.
  type | type of detection: BBox, 5landmarks or 68landmarks

Returns
  ResultValue with ErrorCode and Face

## ◆ setCustomDetectionComparer()

virtual void fsdk::IDetector::setCustomDetectionComparer | ( | const IDetectionComparer * | comparer | ) |
| pure virtual noexcept

Set custom detection comparer object.

Parameters

  pointer | to user defined comparer object

Note
  Client code still owns comparer object

## ◆ setDetectionComparer()

virtual void fsdk::IDetector::setDetectionComparer | ( | DetectionComparerType | comparerType | ) |
| pure virtual noexcept

Set detection comparer from SDK defined list.

Parameters

  comparerType |

## ◆ validate() [1/3]

virtual Result<FSDKError> fsdk::IDetector::validate | ( | Span< const Image > | images,
|  | Ref< IFaceDetectionBatch > | detectionBatch,
|  | Span< Result< FSDKError >> | outErrors
| ) |  | const
| pure virtual noexcept

Validate input of multiple frames in a single function call.

Parameters

  [in] | images | input images span.
  [in] | detectionBatch | result of detection on the previous frames - Ref with an IFaceDetectionBatch object.

See also
  IFaceDetectionBatch for details.

Parameters

  [out] | errors | output span of errors for each image.

Returns
  Error code;

See also
  FSDKError for details.

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

## ◆ validate() [2/3]

virtual Result<FSDKError> fsdk::IDetector::validate | ( | Span< const Image > | images,
|  | Span< const Rect > | rects,
|  | uint32_t | detectionPerImageNum,
|  | Span< Result< FSDKError >> | outErrors
| ) |  | const
| pure virtual noexcept

Validate input of multiple frames in a single function call.

Parameters

  [in] | images | span of input images.
  [in] | rects | span of rect coords of corresponding source images.
  | detectionPerImageNum | max number of detections per input image.
  [out] | errors | output span of errors for each image.

Returns
  Error code;

See also
  FSDKError for details.

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

## ◆ validate() [3/3]

virtual Result<FSDKError> fsdk::IDetector::validate | ( | Span< const Image > | images,
|  | Span< Span< const Detection >> | detections,
|  | Span< Span< Result< FSDKError >>> | errors
| ) |  | const
| pure virtual noexcept

Validate input of multiple frames in a single function call.

Parameters

  [in] | images | input images span.
  [in] | detections | input detections from the previous frames. It is a two dimentional Span. There is one Span of the Detections for each image.
  [out] | errors | output span of errors for each image. It is a two dimentional Span. There is one Span of the errors for each image.

Returns
  Error code;

See also
  FSDKError for details.

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

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

- fsdk.framework/Headers/IDetector.h