3DiVi Face SDK  3.21.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Groups
VDT.FaceRecognition.SDK.Recognizer Class Reference

Interface object for creating and matching templates. More...

Classes

class  MatchResult
 Result of template matching. More...
 
class  SearchResult
 Result of searching the Template query in the TemplatesIndex. More...
 

Public Types

enum  SearchAccelerationType { SearchAccelerationType.NO_SEARCH_ACCELERATION = 0, SearchAccelerationType.SEARCH_ACCELERATION_1 = 1 }
 Types of search acceleration. More...
 

Public Member Functions

String getMethodName ()
 Get a method name. Thread-safe. More...
 
MatchResult getROCCurvePointByDistanceThreshold (double distance_threshold)
 Get a point on the ROC curve with a given distance threshold. Thread-safe. More...
 
MatchResult getROCCurvePointByFAR (double desired_far)
 Get a point on the ROC curve with a given false acceptance rate (FAR). Thread-safe. More...
 
MatchResult getROCCurvePointByFRR (double desired_frr)
 Get a point on the ROC curve with a given false rejection rate (FRR). Thread-safe. More...
 
MatchResult getROCCurvePointByScoreThreshold (double score_threshold)
 Get a point on the ROC curve with a given similarity score threshold. Thread-safe. More...
 
Template processing (RawSample sample)
 Create a template. More...
 
Template loadTemplate (Stream binary_stream)
 Load the template. The format is platform-independent. Only the templates that were created with the same method (i.e. with the same ini_file) can be loaded. More...
 
MatchResult verifyMatch (Template template1, Template template2)
 Compare two templates. The order of templates does not matter. Only the templates that were created with the same method (i.e. with the same ini_file) can be loaded. More...
 
TemplatesIndex createIndex (List< Template > templates, int search_threads_count, int reserve_queries_count=0)
 Create the TemplatesIndex for quick search. The total size of all indexes is limited by the license. More...
 
List< SearchResultsearch (Template query_template, TemplatesIndex templates_index, int k, SearchAccelerationType acceleration)
 Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex. More...
 
List< List< SearchResult > > search (List< Template > queries_templates, TemplatesIndex templates_index, long k, SearchAccelerationType acceleration)
 Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex. More...
 
List< int > chooseRepresentativeTemplatesSet (int set_size, List< Template > templates, List< int > inviolable_templates_indexes=null)
 Choose templates set that best represent original templates. More...
 
- Public Member Functions inherited from VDT.FaceRecognition.SDK.IDisposableObject
virtual void Dispose ()
 Release internal object.
 

Additional Inherited Members

- Properties inherited from VDT.FaceRecognition.SDK.IDisposableObject
bool isDisposed [get]
 True if internal object already disposed.
 

Detailed Description

Interface object for creating and matching templates.

Member Enumeration Documentation

Types of search acceleration.

Enumerator
NO_SEARCH_ACCELERATION 

No acceleration, a standard line search. The result is identical to N calls of Recognizer.verifyMatch.

SEARCH_ACCELERATION_1 

Heuristically accelerated linear search. Heuristics reduces TAR (true acceptance rate) on the 1:N test by no more than 0.1%.

Member Function Documentation

List<int> VDT.FaceRecognition.SDK.Recognizer.chooseRepresentativeTemplatesSet ( int  set_size,
List< Template templates,
List< int >  inviolable_templates_indexes = null 
)
inline

Choose templates set that best represent original templates.

Parameters
[in]set_sizeRequired set size.
[in]templatesOriginal templates.
[in]inviolable_templates_indexesIndexes of templates, required to be included in the result set. Can be null.
Returns
Indexes of templates that make up the result set.
TemplatesIndex VDT.FaceRecognition.SDK.Recognizer.createIndex ( List< Template templates,
int  search_threads_count,
int  reserve_queries_count = 0 
)
inline

Create the TemplatesIndex for quick search. The total size of all indexes is limited by the license.

Parameters
[in]templatesList of templates for creating an index.
[in]search_threads_countCount of threads that will be used while searching in this index.
[in]reserve_queries_countInteger passed to TemplatesIndex::reserveSearchMemory, which is called with the created index.
Returns
Created index.
String VDT.FaceRecognition.SDK.Recognizer.getMethodName ( )
inline

Get a method name. Thread-safe.

Returns
The name of the method.
MatchResult VDT.FaceRecognition.SDK.Recognizer.getROCCurvePointByDistanceThreshold ( double  distance_threshold)
inline

Get a point on the ROC curve with a given distance threshold. Thread-safe.

Returns
Point on the ROC curve in the form of a MatchResult struct.
MatchResult VDT.FaceRecognition.SDK.Recognizer.getROCCurvePointByFAR ( double  desired_far)
inline

Get a point on the ROC curve with a given false acceptance rate (FAR). Thread-safe.

Returns
Point on the ROC curve in the form of a MatchResult struct.
MatchResult VDT.FaceRecognition.SDK.Recognizer.getROCCurvePointByFRR ( double  desired_frr)
inline

Get a point on the ROC curve with a given false rejection rate (FRR). Thread-safe.

Returns
Point on the ROC curve in the form of a MatchResult struct.
MatchResult VDT.FaceRecognition.SDK.Recognizer.getROCCurvePointByScoreThreshold ( double  score_threshold)
inline

Get a point on the ROC curve with a given similarity score threshold. Thread-safe.

Returns
Point on the ROC curve in the form of a MatchResult struct.
Template VDT.FaceRecognition.SDK.Recognizer.loadTemplate ( Stream  binary_stream)
inline

Load the template. The format is platform-independent. Only the templates that were created with the same method (i.e. with the same ini_file) can be loaded.

Parameters
[in]binary_streamInput stream object.
Returns
Loaded template.
Template VDT.FaceRecognition.SDK.Recognizer.processing ( RawSample  sample)
inline

Create a template.

Parameters
[in]sampleFace sample. At the moment, all methods can only be used with frontal samples.
Returns
Created template.
List<SearchResult> VDT.FaceRecognition.SDK.Recognizer.search ( Template  query_template,
TemplatesIndex  templates_index,
int  k,
SearchAccelerationType  acceleration 
)
inline

Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex.

Parameters
[in]query_templateThe Template query.
[in]templates_indexTemplatesIndex for search.
[in]kCount of the nearest templates for search.
[in]accelerationAcceleration type.
Returns
List with min(k, templates_index.size()) elements in ascending order of distance to the query_template.
List<List<SearchResult> > VDT.FaceRecognition.SDK.Recognizer.search ( List< Template queries_templates,
TemplatesIndex  templates_index,
long  k,
SearchAccelerationType  acceleration 
)
inline

Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex.

Parameters
[in]queries_templatesVector of queries.
[in]templates_indexTemplatesIndex for search.
[in]kCount of the nearest templates for search.
[in]accelerationAcceleration type.
Returns
List with queries_templates.size() elements, each is a list with min(k, templates_index.size()) elements in ascending order of distance to the query_template.
MatchResult VDT.FaceRecognition.SDK.Recognizer.verifyMatch ( Template  template1,
Template  template2 
)
inline

Compare two templates. The order of templates does not matter. Only the templates that were created with the same method (i.e. with the same ini_file) can be loaded.

Parameters
[in]template1Template created by the same method.
[in]template2Template created by the same method.
Returns
Result of the matching.