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

Public Types | Public Member Functions | List of all members
fsdk::IHumanDetector Struct Referenceabstract
Human and Face detectors

human body detector interface. More...

`#include <IHumanDetector.h>`

Inheritance diagram for fsdk::IHumanDetector:

## Public Types
using | HumanBatchFuture = vlc::future< IHumanDetectionBatchPtr >
| Common alias for IHumanDetector asynchronous interface.

## Public Member Functions
virtual ResultValue< FSDKError, IHumanDetectionBatchPtr > | detect (Span< const Image > images, Span< const Rect > rects, uint32_t detectionPerImageNum, HumanDetectionType type=HDT_BOX) const noexcept=0
| Batched detect of human bodies. More...
virtual ResultValue< FSDKError, Human > | detectOne (const Image &image, const Rect &rect, HumanDetectionType type=HDT_BOX) const noexcept=0
| Detect one person on input image. More...
virtual ResultValue< FSDKError, Human > | redetectOne (const Image &image, const Detection &detection, HumanDetectionType type=HDT_BOX) const noexcept=0
| redetect one person from input image. More...
virtual ResultValue< FSDKError, IHumanDetectionBatchPtr > | redetect (Span< const Image > images, Ref< IHumanDetectionBatch > detectionBatch, HumanDetectionType type=HDT_BOX) const noexcept=0
| Batched redetect humans on multiple images based on the detection results for the previous frames. More...
virtual ResultValue< FSDKError, IHumanDetectionBatchPtr > | redetect (Span< const Image > images, Span< Span< const Detection >> detections, HumanDetectionType type=HDT_BOX) const noexcept=0
| Batched redetect humans on multiple images based on the detection results for the previous frames. More...
virtual Result< FSDKError > | validate (Span< const Image > images, Span< const Rect > rects, uint32_t detectionPerImageNum, 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, Ref< IHumanDetectionBatch > detectionBatch, 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< Span< const Detection >> detections, Span< Span< Result< FSDKError >>> errors) const noexcept=0
| Validate input of multiple frames in a single function call. More...
virtual HumanBatchFuture | detectAsync (Span< const Image > images, Span< const Rect > rectangles, uint32_t detectionPerImageNum, HumanDetectionType type=HDT_BOX) const =0
| Asynchronously detects human bodies on multiple images. More...
virtual HumanBatchFuture | redetectAsync (Span< const Image > images, Ref< IHumanDetectionBatch > detectionBatch, HumanDetectionType type=HDT_BOX) const =0
| Asynchronously redetects human bodies on multiple images based on the detection results for the previous frames. More...
virtual HumanBatchFuture | redetectAsync (Span< const Image > images, Span< Span< const Detection >> detections, HumanDetectionType type=HDT_BOX) const =0
| Asynchronously redetects human bodies on multiple images based on the detection results for the previous frames. 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

human body detector interface.

## Member Function Documentation

## ◆ detect()

virtual ResultValue<FSDKError, IHumanDetectionBatchPtr> fsdk::IHumanDetector::detect | ( | Span< const Image > | images,
|  | Span< const Rect > | rects,
|  | uint32_t | detectionPerImageNum,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtualnoexcept

Batched detect of human bodies.

Parameters

  [in] | images | span of source images.
  [in] | rects | span of input rectangles of interest.
  [in] | detectionPerImageNum | max number of detections per input image.
  [in] | type | Human detection type.

Returns
  ResultValue with error code and IHumanDetectionBatch object.

See also
  Ref, Span, Image, Rect, IHumanDetectionBatch, HumanDetectionType, ResultValue and FSDKError for details.

Note
  images format must be R8G8B8,

See also
  Format.

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

## ◆ detectAsync()

virtual HumanBatchFuture fsdk::IHumanDetector::detectAsync | ( | Span< const Image > | images,
|  | Span< const Rect > | rectangles,
|  | uint32_t | detectionPerImageNum,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtual

Asynchronously detects human bodies on multiple images.

Parameters

  [in] | images | span of source images.
  [in] | rectangles | input rectangles of interest (ROI) span.
  [in] | detectionPerImageNum | the max number of detections per input image.
  [in] | type | Human detection type.

Returns
  Future with IHumanDetectionBatch object.

See also
  Ref, Span, Image, Rect, HumanDetectionType, IHumanDetectionBatch and vlc::future for details.

Note
  images format must be R8G8B8,

See also
  Format.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.
  this method is experimental and interface may be changed in the future.
  this method is not marked as noexcept and may throw an exception.

## ◆ detectOne()

virtual ResultValue<FSDKError, Human> fsdk::IHumanDetector::detectOne | ( | const Image & | image,
|  | const Rect & | rect,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtualnoexcept

Detect one person on input image.

Parameters

  [in] | image | source image.
  [in] | rect | rectangle of interest in the image.
  [in] | type | Human detection type.

Returns
  ResultValue with ErrorCode and Human (invalid - if detection not found).

See also
  Image, Rect, Human, HumanDetectionType, ResultValue and FSDKError for details.

Note
  image format must be R8G8B8,

See also
  Format.

## ◆ redetect() [1/2]

virtual ResultValue<FSDKError, IHumanDetectionBatchPtr> fsdk::IHumanDetector::redetect | ( | Span< const Image > | images,
|  | Ref< IHumanDetectionBatch > | detectionBatch,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtualnoexcept

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

Parameters

  [in] | images | span of source images.
  [in] | detectionBatch | result of detection on the previous frames - Ref with an IHumanDetectionBatch object.
  [in] | type | type of redetection.

Returns
  ResultValue with error code and IHumanDetectionBatch object.

See also
  Ref, Span, Image, IHumanDetectionBatch, HumanDetectionType, ResultValue and FSDKError for details.

Note
  images format must be R8G8B8,

See also
  Format.

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

## ◆ redetect() [2/2]

virtual ResultValue<FSDKError, IHumanDetectionBatchPtr> fsdk::IHumanDetector::redetect | ( | Span< const Image > | images,
|  | Span< Span< const Detection >> | detections,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtualnoexcept

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

Parameters

  [in] | images | span of source images.
  [in] | detections | span of detection coordinates in corresponding source images space from the previous frames. It is a two dimensional Span. There is one Span of the rectangles for each image.
  [in] | type | type of redetection.

Returns
  ResultValue with error code and IHumanDetectionBatch object.

See also
  Span, Image, Detection, IHumanDetectionBatch, HumanDetectionType, ResultValue and FSDKError for details.

Note
  images format must be R8G8B8,

See also
  Format.

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 human will not be found the appropriate detection in the IHumanDetectionBatch object will be invalid.

## ◆ redetectAsync() [1/2]

virtual HumanBatchFuture fsdk::IHumanDetector::redetectAsync | ( | Span< const Image > | images,
|  | Ref< IHumanDetectionBatch > | detectionBatch,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtual

Asynchronously redetects human bodies on multiple images based on the detection results for the previous frames.

Parameters

  [in] | images | span of source images.
  [in] | detectionBatch | result of detection on the previous frames - Ref with an IHumanDetectionBatch object.
  [in] | type | Human detection type.

Returns
  Future with IHumanDetectionBatch object.

See also
  Ref, Span, Image, HumanDetectionType, IHumanDetectionBatch and vlc::future for details.

Note
  images format must be R8G8B8,

See also
  Format.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.
  this method is experimental and interface may be changed in the future.
  this method is not marked as noexcept and may throw an exception.

## ◆ redetectAsync() [2/2]

virtual HumanBatchFuture fsdk::IHumanDetector::redetectAsync | ( | Span< const Image > | images,
|  | Span< Span< const Detection >> | detections,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtual

Asynchronously redetects human bodies on multiple images based on the detection results for the previous frames.

Parameters

  [in] | images | span of source images.
  [in] | detections | span of detection coordinates in corresponding source images space from the previous frames. It is a two dimensional Span. There is one Span of the rectangles for each image.
  [in] | type | Human detection type.

Returns
  Future with IHumanDetectionBatch object.

See also
  Ref, Span, Image, HumanDetectionType, IHumanDetectionBatch and vlc::future for details.

Note
  images format must be R8G8B8,

See also
  Format.

Note
  all spans should be based on user owned continuous collections.
  all spans should be equal size.
  this method is experimental and interface may be changed in the future.
  this method is not marked as noexcept and may throw an exception.

## ◆ redetectOne()

virtual ResultValue<FSDKError, Human> fsdk::IHumanDetector::redetectOne | ( | const Image & | image,
|  | const Detection & | detection,
|  | HumanDetectionType | type = `HDT_BOX`
| ) |  | const
| pure virtualnoexcept

redetect one person from input image.

Parameters

  [in] | image | source image.
  [in] | detection | span of detection coordinates in corresponding source images space to make a redetect.
  [in] | type | Human detection type.

Returns
  ResultValue with ErrorCode and Human (invalid - if detection not found).

See also
  Image, Detection, Human, HumanDetectionType, ResultValue and FSDKError for details.

Note
  image format must be R8G8B8,

See also
  Format.

## ◆ validate() [1/3]

virtual Result<FSDKError> fsdk::IHumanDetector::validate | ( | Span< const Image > | images,
|  | Span< const Rect > | rects,
|  | uint32_t | detectionPerImageNum,
|  | Span< Result< FSDKError >> | errors
| ) |  | const
| pure virtualnoexcept

Validate input of multiple frames in a single function call.

Parameters

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

Returns
  Result with error code.

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

Note
  images format must be R8G8B8,

See also
  Format.

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

## ◆ validate() [2/3]

virtual Result<FSDKError> fsdk::IHumanDetector::validate | ( | Span< const Image > | images,
|  | Ref< IHumanDetectionBatch > | detectionBatch,
|  | Span< Result< FSDKError >> | errors
| ) |  | const
| pure virtualnoexcept

Validate input of multiple frames in a single function call.

Parameters

  [in] | images | span of source images.
  [in] | detectionBatch | result of detection on the previous frames - Ref with an IHumanDetectionBatch object.
  [out] | errors | output span of errors for each image.

Returns
  Result with error code.

See also
  Ref, Span, Image, IHumanDetectionBatch, Result and FSDKError for details.

Note
  images format must be R8G8B8,

See also
  Format.

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

## ◆ validate() [3/3]

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

Validate input of multiple frames in a single function call.

Parameters

  [in] | images | span of source images.
  [in] | detections | span of detection coordinates in corresponding source images space from the previous frames. It is a two dimensional Span. There is one Span of the Detections for each image.
  [out] | errors | output span of errors for each image. It is a two dimensional Span. There is one Span of the errors for each image.

Returns
  Result with error code.

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

Note
  images format must be R8G8B8,

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/IHumanDetector.h