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.
Important
By default, the SDK is initialized with the tfsdk.FACIALRECOGNITIONMODEL.LITE
face recognition model.
This is our fastest and most lightweight face recognition model; however, it is not the most accurate face recognition model we offer.
To use a more accurate model, refer to the tfsdk.FACIALRECOGNITIONMODEL
section below
then be sure to initialize the SDK with the desired tfsdk.ConfigurationOptions
.
-
SDK.
__init__
(*args, **kwargs)¶ Overloaded function.
__init__(self: tfsdk.SDK) -> None
Initialize the SDK using default configuration options.
__init__(self: tfsdk.SDK, configuration_options: tfsdk.ConfigurationOptions) -> None
Initialize the SDK using custom configuration options.
- Parameters
configuration_options - custom configuration options.
-
static
SDK.
get_version
() → str¶ Gets the version-build number of the SDK.
- Returns
The SDK version.
-
class
tfsdk.
FACIALRECOGNITIONMODEL
¶ Facial recognition models. To compare model performances, refer to our ROC curves. You can also find more information on our FAQ page. The current most accurate model is TFV5.
Members:
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.
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.
TFV5 : TFV5 is currently the highest accuracy model. Ideal for GPU deployments and for 1 to N use cases.
-
class
tfsdk.
OBJECTDETECTIONMODEL
¶ Object detection models
Members:
ACCURATE
FAST
-
class
tfsdk.
FACEDETECTIONMODE
¶ Face detection modes
Members:
ROBUST : The ROBUST mode is optimized for face recognition, smallestFaceHeight less than 80 pixels will be overridden.
VERSATILE : The VERSATILE mode can detect small faces (as small as 16x16 pixel) and can be faster than the ROBUST mode.
-
class
tfsdk.
FACEDETECTIONFILTER
¶ Face detection filter
Members:
HIGH_RECALL : The detected face scores are thresholded to have a low precision and a high recall rate.
HIGH_PRECISION : The detected face scores are thresholded to have a high precision and a low recall rate.
BALANCED : The detected face scores are thresholded to have a medium precision and recall rate.
UNFILTERED : The detected face scores are not thresholded.
-
class
tfsdk.
DATABASEMANAGEMENTSYSTEM
¶ Database Management System for storing Faceprints
Members:
SQLITE : Use sqlite backend. Write Faceprints to local disk. Ideal for embedded systems or use cases where only one process connects to the database.
POSTGRESQL : Use PostgreSQL backend. Ideal for distributed systems requiring synchronization.
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.
-
class
tfsdk.
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.
-
property
face_detector
¶ Enable GPU inference for face detection
-
property
face_recognizer
¶ Enable GPU inference for face recognition template generation
-
property
-
EnableGPU.
__init__
(*args, **kwargs)¶ Overloaded function.
__init__(self: tfsdk.EnableGPU) -> None
Default constructor initializes GPU inference for all modules to false
__init__(self: tfsdk.EnableGPU, val: bool) -> None
Enable or disable GPU inference for all modules.
- Parameters
val - enable GPU for all modules.
-
class
tfsdk.
ConfigurationOptions
¶ -
property
GPU_device_index
¶ GPU device index (default is 0)
-
property
dbms
¶ Database management system for storing Faceprints (default is SQLITE). See
DATABASEMANAGEMENTSYSTEM
-
property
enable_GPU
¶ 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. See
EnableGPU
-
property
fd_filter
¶ The face detection precision-recall mode (default is BALANCED). See
FACEDETECTIONFILTER
-
property
fd_mode
¶ The face detection mode (default is VERSATILE). See
FACEDETECTIONMODE
-
property
fr_model
¶ The model to be used for facial recognition (default is LITE model). See
FACIALRECOGNITIONMODEL
-
property
fr_vector_compression
¶ Improves the computation speed for 1 to 1 comparisons and 1 to N searches. Also reduces the feature vector length (default is False).
-
property
models_path
¶ The directory path containing the model files (default is ./ )
-
property
obj_model
¶ The model to be used for object detection (default is ACCURATE model). See
OBJECTDETECTIONMODEL
-
property
smallest_face_height
¶ The smallest face height that the face detector can detect (default is 40 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.
-
property
-
class
tfsdk.
ERRORCODE
¶ Members:
NO_ERROR
INVALID_LICENSE
FILE_READ_FAIL
UNSUPPORTED_IMAGE_FORMAT
UNSUPPORTED_MODEL
NO_FACE_IN_FRAME
COLLECTION_CREATION_ERROR
DATABASE_CONNECTION_ERROR
ENROLLMENT_ERROR
FAILED
NO_RECORD_FOUND
NO_COLLECTION_FOUND
MAX_COLLECTION_SIZE_EXCEEDED
COLLECTION_DELETION_ERROR