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: numpy.ndarray[numpy.uint8]) -> Tuple[tfsdk.ERRORCODE, tfsdk.Faceprint]

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

    Parameters

    aligned_face_image - aligned face chip as numpy array. 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(*args, **kwargs)

Overloaded function.

  1. get_face_feature_vectors(self: tfsdk.SDK, aligned_face_images: List[numpy.ndarray[numpy.uint8]]) -> Tuple[tfsdk.ERRORCODE, List[tfsdk.Faceprint]]

    Extract the face feature vectors from the aligned face images.

    Parameters

    aligned_face_images - a list of numpy array aligned face image buffers.

    Returns

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

  2. get_face_feature_vectors(self: tfsdk.SDK, aligned_face_images: List[int]) -> Tuple[tfsdk.ERRORCODE, List[tfsdk.Faceprint]]

    Extract the face feature vectors from the aligned face images.

    Parameters

    aligned_face_images - a pointer to a list of aligned face image buffers.

    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.

Parameters
  • feature_vector_1 – the first Faceprint to be compared.

  • feature_vector_2 – the second Faceprint to be compared.

Returns

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: numpy.ndarray[numpy.uint8])Tuple[tfsdk.ERRORCODE, float]

Estimate the image quality for face recognition.

Parameters

aligned_face_image - the numpy aligned face chip image 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.

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.