1 to 1 Face Recognition

SDK.get_face_feature_vector(*args, **kwargs)

Overloaded function.

  1. get_face_feature_vector(self: tfsdk.SDK, aligned_face_image: tfsdk.TFFacechip) -> Tuple[tfsdk.ERRORCODE, tfsdk.Faceprint]

    Return the corresponding feature vector for the given aligned face image.

    Parameters

    tf_facechip - the tfsdk.TFFacechip representing the aligned face chip. Face chip must have size of 112x112 pixels, therefore use the default margin and scale parameters when calling tfsdk.SDK.extract_aligned_face().

    Returns

    The ERRORCODE and tfsdk.Faceprint, in that order.

  2. get_face_feature_vector(self: tfsdk.SDK, face_box_and_landmarks: tfsdk.TFImage, tf_image: tfsdk.FaceBoxAndLandmarks) -> Tuple[tfsdk.ERRORCODE, tfsdk.Faceprint]

    Extract the face feature vector from the face box.

    Parameters
    Returns

    The ERRORCODE and tfsdk.Faceprint, in that order.

SDK.get_face_feature_vectors(self: tfsdk.SDK, aligned_face_images: List[tfsdk.TFFacechip])Tuple[tfsdk.ERRORCODE, List[tfsdk.Faceprint]]

Extract the face feature vectors from the aligned face images. This batch processing method increases throughput when using GPU inference.

Parameters

tf_facechips - a list of tfsdk.TFFacechips.

Returns

The ERRORCODE and a list of tfsdk.Faceprint, in that order.

SDK.get_largest_face_feature_vector(self: tfsdk.SDK, tf_image: tfsdk.TFImage)Tuple[tfsdk.ERRORCODE, tfsdk.Faceprint, bool]

Detect the largest face in the image and return the corresponding feature vector.

Parameters

tf_image - the input tfsdk.TFImage, returned by tfsdk.SDK.preprocess_image(). :Returns:

The ERRORCODE, tfsdk.Faceprint, and a bool indicating if a face was detected, in that order. If not face was detected in the image, the Faceprint will be empty.

static SDK.faceprint_to_json(faceprint: tfsdk.Faceprint)str

Convert a tfsdk.Faceprint into a json string.

Parameters

faceprint – the tfsdk.Faceprint to convert to a string.

Returns

The string representation of the tfsdk.Faceprint.

static SDK.json_to_faceprint(json_string: str)Tuple[tfsdk.ERRORCODE, tfsdk.Faceprint]

Create a tfsdk.Faceprint from a json string.

Parameters

json_string – the json string representation of a tfsdk.Faceprint, generated from the tfsdk.SDK.json_to_faceprint() function.

Returns

The tfsdk.Faceprint generated from the json string.

SDK.get_similarity(self: tfsdk.SDK, feature_vector_1: tfsdk.Faceprint, feature_vector_2: tfsdk.Faceprint)Tuple[tfsdk.ERRORCODE, float, float]

Compute the similarity of the given feature vectors.

param feature_vector_1

the first Faceprint to be compared.

param feature_vector_2

the second Faceprint to be compared.

return

The ERRORCODE, match probability and similairty score, in that order. The match probability is the probability that the two faces feature vectors are a match, while the similairty is the computed similairty score.

SDK.estimate_face_image_quality(self: tfsdk.SDK, aligned_face_image: tfsdk.TFFacechip)Tuple[tfsdk.ERRORCODE, float]

Estimate the image quality for face recognition.

Parameters

tf_facechip - the tfsdk.TFFacechip returned by tfsdk.SDK.extract_aligned_face().

Returns

The ERRORCODE and face quality score, in that order. The quality score is between 0 and 1, 1 being perfect quality. We suggest using a threshold of 0.999 as a filter for enrollment images.

SDK.check_face_image_exposure(self: tfsdk.SDK, tf_image: tfsdk.TFImage, face_box_and_landmarks: tfsdk.FaceBoxAndLandmarks)tfsdk.ERRORCODE

Determine if the image is over or under exposed, indicating suboptimal lighting conditions for face recognition.

Parameters
  • tf_image – the input image.

  • face_box_and_landmarks – the face to analyze.

Returns

The ERRORCODE. If the image has correct exposure, will return ERRORCODE.NO_ERROR.

class tfsdk.Faceprint
compare(self: tfsdk.Faceprint, fp: tfsdk.Faceprint)Tuple[tfsdk.ERRORCODE, float, float]

Compare the similarity between two tfsdk.Faceprint. The same as tfsdk.SDK.get_similairty().

Parameters

fp - the tfsdk.Faceprint to compare against.

Returns

The ERRORCODE, match probability, and similarity score, in that order.

property feature_vector

Vector of floats which describe the face.

get_quantized_vector(self: tfsdk.Faceprint)numpy.ndarray[numpy.int16]

Return the feature vector as a list of 16-bit integers. This is useful for when the tfsdk.ModelOptions.fr_vector_compression option is enabled and you require an integer representation of the quantized feature vector.

Returns

A 16-bit numpy array representation of the tfsdk.Faceprint.feature_vector.

property model_name

Name of model used to generate feature vector.

property model_options

Additional options used for generating the feature vector.

property sdk_version

SDK version used to generate feature vector.

set_quantized_vector(self: tfsdk.Faceprint, quantized_feature_vector: numpy.ndarray[numpy.int16])None

Populate the tfsdk.Faceprint.feature_vector() from a quantized 16-bit numpy array generated by tfsdk.Faceprint.get_quanitzed_vector()

Parameters

quantized_feature_vector - the 16-bit numpy array feature vector.

class tfsdk.ModelOptions
property fr_vector_compression

Indicates if the tfsdk.ConfigurationOptions.fr_vector_compression option was enabled when generating the feature vector.