Face Engine SDK 5.25.0
A face detection, recognition and tracking engine.
|
Descriptor matcher interface. More...
#include <IDescriptor.h>
Public Member Functions | |
virtual ResultValue< FSDKError, MatchingResult > | match (const IDescriptor *first, const IDescriptor *second) noexcept=0 |
Match descriptors 1:1. | |
virtual Result< FSDKError > | match (const IDescriptor *reference, const IDescriptorBatch *candidates, Span< MatchingResult > results) noexcept=0 |
Match descriptors 1:M. | |
virtual uint32_t | getModelVersion () const noexcept=0 |
Get algorithm model version this matcher works with. | |
virtual Result< FSDKError > | calcSimilarity (Span< MatchingResult > distances) const noexcept=0 |
Calculates similarity based on distance. | |
virtual Result< FSDKError > | calcDistance (Span< MatchingResult > similarities) const noexcept=0 |
Calculates distance from similarity. | |
Public Member Functions inherited from fsdk::IRefCounted | |
virtual int32_t | retain () noexcept=0 |
Increase strong reference count. | |
virtual int32_t | retainLocked () noexcept=0 |
Increase strong reference count thread safely. | |
virtual int32_t | release () noexcept=0 |
Decrease strong reference count. | |
virtual int32_t | getRefCount () const noexcept=0 |
Get actual strong reference count. | |
virtual int32_t | retainWeak () noexcept=0 |
Increase weak reference count. | |
virtual int32_t | releaseWeak () noexcept=0 |
Decrease weak reference count. | |
virtual int32_t | getWeakRefCount () const noexcept=0 |
Get actual weak reference count. | |
Descriptor matcher interface.
Matches descriptors 1:1 and 1:M (
As a result of the matching process the calling site gets a MatchingResult (or several of them in case of 1:M matching). The MatchingResult structure contains distance and similarity metrics.
Distance is measured in abstract units and tends to 0 for similar descriptors and to infinity for different ones. Similarity is the opposite metric and shows probability of two descriptors belonging to the same person; therfore it is normalized to [0..1] range.
|
pure virtualnoexcept |
Calculates distance from similarity.
The method gets similarity from similarities
[i].similarity and assigns the result to similarities
[i].distance.
[in] | similarities | is a mutable span of matching results with calculated similarity. |
|
pure virtualnoexcept |
Calculates similarity based on distance.
The method gets distance from distances
[i].distances. and assigns the result to distances
[i].similarity.
[in] | dinstances | is a mutable span of matching results with calculated distances. |
|
pure virtualnoexcept |
Get algorithm model version this matcher works with.
|
pure virtualnoexcept |
Match descriptors 1:1.
[in] | first | first descriptor. |
[in] | second | second descriptor. |
|
pure virtualnoexcept |
Match descriptors 1:M.
Matches a reference descriptor to a batch of candidate descriptors. The results are layed out in the same order as the candidate descriptors in the batch.
[in] | reference | the reference descriptor. |
[in] | candidates | the candidate descriptor batch to match with the reference. |
[out] | results | span of matching results. |
results
must be at least the same as the length of the candidates batch.