![]()  | 
  
    Face Engine SDK
    5.8.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.  More... | |
| virtual Result< FSDKError > | match (const IDescriptor *reference, const IDescriptorBatch *candidates, Span< MatchingResult > results) noexcept=0 | 
| Match descriptors 1:M.  More... | |
| virtual uint32_t | getModelVersion () const noexcept=0 | 
| Get algorithm model version this matcher works with.  More... | |
| virtual Result< FSDKError > | calcSimilarity (Span< MatchingResult > distances) const noexcept=0 | 
| Calculates similarity based on distance.  More... | |
| virtual Result< FSDKError > | calcDistance (Span< MatchingResult > similarities) const noexcept=0 | 
| Calculates distance from similarity.  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... | |
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.