General¶
Before you can call the SDK functions, you must first initialize the SDK with your desired configuration options. These configuration options will ultimately impact the behaviour of the SDK, so be sure to read through what each one does carefully.
Once you have initialized the SDK, then proceed to the the License section.
-
Trueface::SDK
::
SDK
()¶ Initialize the SDK using default configuration options.
-
Trueface::SDK
::
SDK
(const ConfigurationOptions &options)¶ Initialize the SDK using custom configuration options.
- Parameters
options
: custom configuration options.
-
std::string
Trueface::SDK
::
getVersion
()¶ Gets the version-build number of the SDK.
- Return
Version Number as a std::string.
-
enum
Trueface
::
FacialRecognitionModel
¶ Facial recognition models. To compare model performances, refer to http://performance.trueface.ai/. You can also find more information on our FAQ page found here: https://reference.trueface.ai/cpp/dev/latest/usage/faq.html#what-are-the-differences-between-the-face-recognition-models. The current most accurate model is TFv5.
Values:
-
enumerator
LITE
¶ Lightweight model with faster inference time but reduced accuracy, ideal for embedded systems or lightweight CPU only deployments, and for 1 to 1 matching use cases.
-
enumerator
FULL
¶ Full TFv4 model which has better accuracy than the LITE model, but also has greater inference time. Ideal for GPU deployments and for 1 to N use cases. Note, TFv4 has now been deprecated and replaced by TFv5 which has better performance. Despite this, we will continue providing support for TFv4 for clients with existing collections.
-
enumerator
TFV5
¶ TFv5 is currently the highest accuracy model. Ideal for GPU deployments and for 1 to N use cases.
-
enumerator
-
enum
Trueface
::
ObjectDetectionModel
¶ Object detection models
Values:
-
enumerator
ACCURATE
¶
-
enumerator
FAST
¶
-
enumerator
-
enum
Trueface
::
FaceDetectionMode
¶ Face detection modes
Values:
-
enumerator
ROBUST
¶ The ROBUST mode is optimized for face recognition, smallestFaceHeight less than 80 pixels will be overridden.
-
enumerator
VERSATILE
¶ The VERSATILE mode can detect small faces (as small as 16x16 pixel) and can be faster than the ROBUST mode.
-
enumerator
-
enum
Trueface
::
FaceDetectionFilter
¶ Face detection filter
Values:
-
enumerator
HIGH_RECALL
¶ The detected face scores are thresholded to have a low precision and a high recall rate.
-
enumerator
HIGH_PRECISION
¶ The detected face scores are thresholded to have a high precision and a low recall rate.
-
enumerator
BALANCED
¶ The detected face scores are thresholded to have a medium precision and recall rate.
-
enumerator
UNFILTERED
¶ The detected face scores are not thresholded.
-
enumerator
-
enum
Trueface
::
DatabaseManagementSystem
¶ Database Management System for storing Faceprints
Values:
-
enumerator
SQLITE
¶ Use sqlite backend. Write Faceprints to local disk. Ideal for embedded systems or use cases where only one process connects to the database.
-
enumerator
POSTGRESQL
¶ Use a PostgreSQL backend. Ideal for distributed systems requiring synchronization. Not available in Windows SDK.
-
enumerator
NONE
¶ Do not write Faceprints to disk, only store in ram. Warning, enrolled Faceprints will not be saved after the program terminates. Switching to a new collections will also delete all enrolled templates.
-
enumerator
-
struct
Trueface
::
EnableGPU
¶ Enable GPU support (default is false). Note, GPU support requires a different version of the SDK. You are able to enable GPU for all modules or only specific modules.
Public Functions
-
EnableGPU
(bool val)¶ Enable or disable GPU inference for all modules
-
-
Trueface::EnableGPU
::
EnableGPU
(bool val) Enable or disable GPU inference for all modules
-
struct
Trueface
::
ConfigurationOptions
¶ SDK configuration options
Public Members
-
FacialRecognitionModel
frModel
= FacialRecognitionModel::LITE¶ The model to be used for facial recognition (default is LITE model)
-
ObjectDetectionModel
objModel
= ObjectDetectionModel::ACCURATE¶ The model to be used for object detection (default is ACCURATE model)
-
int
smallestFaceHeight
= 40¶ The smallest face height that the face detector can detect. (default is 40 pixels, min value is 16 pixels). The face detector has a detection scale range of about 5 octaves. Ex. 40 pixels yields the detection scale range of ~40 pixels to 1280 (=40x2^5) pixels. If set to -1, will dynamically adjusts the face detection scale range from image-height/32 to image-height to ensure that large faces are detected in high resolution images.
-
FaceDetectionMode
fdMode
= FaceDetectionMode::VERSATILE¶ The face detection mode (default is VERSATILE)
-
FaceDetectionFilter
fdFilter
= FaceDetectionFilter::BALANCED¶ The face detection precision-recall mode (default is BALANCED)
-
DatabaseManagementSystem
dbms
= DatabaseManagementSystem::SQLITE¶ Database management system for storing Faceprints (default is SQLITE)
-
std::string
modelsPath
= "./"¶ The directory path containing the model files
-
bool
frVectorCompression
= false¶ Improves the computation speed for 1 to 1 comparisons and 1 to N searches by compressing the feature vector and enabling additional optimizations.
-
EnableGPU
enableGPU
= {}¶ Enable GPU support (default is false). Note, GPU support requires a different version of the SDK. You are able to enable GPU for all modules or only specific modules.
-
unsigned int
deviceIndex
= 0¶ GPU device index
-
FacialRecognitionModel
-
struct
Trueface
::
CollectionMetadata
¶ Collection metadata
Public Members
-
std::string
collectionName
= ""¶ The name of the collection
-
uint64_t
numIdentities
= 0¶ The number of unique identities in the collection
-
uint64_t
numFaceprints
= 0¶ The total number of Faceprints enrolled in the collection
-
std::string
modelName
= ""¶ The name of the face recognition model used to generate the Faceprints enrolled in the collection
-
ModelOptions
modelOptions
= {}¶ Additional options which were used to generate Faceprints enrolled in the collection
-
std::string
-
enum
Trueface
::
ErrorCode
¶ Error codes returned by methods
Values:
-
enumerator
NO_ERROR
¶
-
enumerator
INVALID_LICENSE
¶
-
enumerator
FILE_READ_FAIL
¶
-
enumerator
UNSUPPORTED_IMAGE_FORMAT
¶
-
enumerator
UNSUPPORTED_MODEL
¶
-
enumerator
NO_FACE_IN_FRAME
¶
-
enumerator
FAILED
¶
-
enumerator
COLLECTION_CREATION_ERROR
¶
-
enumerator
DATABASE_CONNECTION_ERROR
¶
-
enumerator
ENROLLMENT_ERROR
¶
-
enumerator
MAX_COLLECTION_SIZE_EXCEEDED
¶
-
enumerator
NO_RECORD_FOUND
¶
-
enumerator
NO_COLLECTION_FOUND
¶
-
enumerator
COLLECTION_DELETION_ERROR
¶
-
enumerator