Face Engine SDK  5.21.0
A face detection, recognition and tracking engine.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fsdk::IHumanDetector Struct Referenceabstract

human body detector interface. More...

#include <IHumanDetector.h>

Inheritance diagram for fsdk::IHumanDetector:
fsdk::IRefCounted

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< FSDKErrorvalidate (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< FSDKErrorvalidate (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< FSDKErrorvalidate (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

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]imagesspan of source images.
[in]rectsspan of input rectangles of interest.
[in]detectionPerImageNummax number of detections per input image.
[in]typeHuman 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.
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]imagesspan of source images.
[in]rectanglesinput rectangles of interest (ROI) span.
[in]detectionPerImageNumthe max number of detections per input image.
[in]typeHuman 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.
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]imagesource image.
[in]rectrectangle of interest in the image.
[in]typeHuman 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.
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]imagesspan of source images.
[in]detectionBatchresult of detection on the previous frames - Ref with an IHumanDetectionBatch object.
[in]typetype 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.
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]imagesspan of source images.
[in]detectionsspan 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]typetype 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.
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]imagesspan of source images.
[in]detectionBatchresult of detection on the previous frames - Ref with an IHumanDetectionBatch object.
[in]typeHuman 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.
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]imagesspan of source images.
[in]detectionsspan 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]typeHuman 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.
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]imagesource image.
[in]detectionspan of detection coordinates in corresponding source images space to make a redetect.
[in]typeHuman 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.
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]imagesspan of source images.
[in]rectsspan of rectangle coordinates of corresponding source images.
[in]detectionPerImageNummax number of detections per input image.
[out]errorsoutput 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.
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]imagesspan of source images.
[in]detectionBatchresult of detection on the previous frames - Ref with an IHumanDetectionBatch object.
[out]errorsoutput 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.
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]imagesspan of source images.
[in]detectionsspan 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]errorsoutput 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: