3DiVi Face SDK
3.24.1
|
Interface object for creating and matching templates. More...
#include <Recognizer.h>
Classes | |
struct | MatchResult |
Result of template matching. More... | |
struct | SearchResult |
Result of searching the Template query in the TemplatesIndex. More... | |
Public Types | |
enum | SearchAccelerationType { NO_SEARCH_ACCELERATION = 0, SEARCH_ACCELERATION_1 = 1 } |
Types of search acceleration. More... | |
typedef LightSmartPtr < Recognizer >::tPtr | Ptr |
Alias for the type of a smart pointer to Recognizer. | |
Public Member Functions | |
std::string | getMethodName () const |
Get a method name. Thread-safe. More... | |
MatchResult | getROCCurvePointByDistanceThreshold (const double distance_threshold) const |
Get a point on the ROC curve with a given distance threshold. Thread-safe. More... | |
MatchResult | getROCCurvePointByFAR (const double desired_far) const |
Get a point on the ROC curve with a given false acceptance rate (FAR). Thread-safe. More... | |
MatchResult | getROCCurvePointByFRR (const double desired_frr) const |
Get a point on the ROC curve with a given false rejection rate (FRR). Thread-safe. More... | |
MatchResult | getROCCurvePointByScoreThreshold (const double score_threshold) const |
Get a point on the ROC curve with a given similarity score threshold. Thread-safe. More... | |
Template::Ptr | processing (const RawSample &sample) const |
Create a template. More... | |
Template::Ptr | loadTemplate (std::istream &binary_stream) const |
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... | |
Template::Ptr | loadTemplate (pbio::stl_wraps::WrapIStream &binary_stream) const |
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... | |
Template::Ptr | loadTemplate (const void *const data, const int size) const |
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 (const Template &template1, const Template &template2) const |
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::Ptr | createIndex (const std::vector< pbio::Template::Ptr > &templates, const int search_threads_count=1, const int reserve_queries_count=0) const |
Create the TemplatesIndex for quick search. The total size of all indexes is limited by the license. More... | |
std::vector< SearchResult > | search (const pbio::Template &query_template, const pbio::TemplatesIndex &templates_index, const size_t k, const SearchAccelerationType acceleration=SEARCH_ACCELERATION_1) const |
Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex. More... | |
std::vector< std::vector < SearchResult > > | search (const std::vector< pbio::Template::Ptr > &queries_templates, const pbio::TemplatesIndex &templates_index, const size_t k, const SearchAccelerationType acceleration=SEARCH_ACCELERATION_1) const |
Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex. More... | |
std::vector< size_t > | chooseRepresentativeTemplatesSet (const size_t set_size, const std::vector< pbio::Template::Ptr > &templates, const std::vector< size_t > &inviolable_templates_indexes=std::vector< size_t >()) |
Choose templates set that best represent original templates. More... | |
Interface object for creating and matching templates.
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%. |
|
inline |
Choose templates set that best represent original templates.
[in] | set_size | Required set size. |
[in] | templates | Original templates. |
[in] | inviolable_templates_indexes | Indexes of templates, required to be included in the result set. |
|
inline |
Create the TemplatesIndex for quick search. The total size of all indexes is limited by the license.
[in] | templates | Vector of templates for creating an index. |
[in] | search_threads_count | Count of threads that will be used while searching in this index. |
[in] | reserve_queries_count | Integer passed to TemplatesIndex::reserveSearchMemory, which is called with the created index. |
|
inline |
Get a method name. Thread-safe.
|
inline |
Get a point on the ROC curve with a given distance threshold. Thread-safe.
|
inline |
Get a point on the ROC curve with a given false acceptance rate (FAR). Thread-safe.
|
inline |
Get a point on the ROC curve with a given false rejection rate (FRR). Thread-safe.
|
inline |
Get a point on the ROC curve with a given similarity score threshold. Thread-safe.
|
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.
[in] | binary_stream | Input stream object. The file stream (std::ifstream) must be opened with the std::ios_base::binary flag. |
|
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.
[in] | binary_stream | Input stream object. The file stream (std::ifstream) must be opened with the std::ios_base::binary flag. |
|
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.
[in] | data | Data buffer. |
[in] | size | Number of bytes in the data buffer. |
|
inline |
Create a template.
[in] | sample | Face sample. At the moment, all methods can only be used with frontal samples. |
|
inline |
Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex.
[in] | query_template | The Template query. |
[in] | templates_index | TemplatesIndex for search. |
[in] | k | Count of the nearest templates for search. |
[in] | acceleration | Acceleration type. |
|
inline |
Search for the k nearest Templates in the TemplatesIndex. The search time depends on k and the size of the TemplatesIndex.
[in] | queries_templates | Vector of queries. |
[in] | templates_index | TemplatesIndex for search. |
[in] | k | Count of the nearest templates for search. |
[in] | acceleration | Acceleration type. |
|
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.
[in] | template1 | Template created by the same method. |
[in] | template2 | Template created by the same method. |