Binocular Face Tracking

Binocular Face Tracking

Windows/Linux/Arm_Linux interface is described here, for Android interface please refer to Android Interface Description.

stid_facepro_binocular_tracking_create_handle

Function: Create a handle by loading a model file.

Note:

  • Binocular face tracking can only track one person at a time.

Declaration:

STID_SDK_API
stid_result_t
stid_facepro_binocular_tracking_create_handle(
    stid_handle_t* out_handle,
    const char *rgb_alignment_model_filename,
    const char *infrared_alignment_model_filename,
    unsigned int config
);

Parameters:

  • [out] out_handle: Return the initialized handle, when not in use, call destroy_handle to release resource.

  • [in] rgb_alignment_model_filename: Pass the location of the alignment model file.

  • [in] infrared_alignment_model_filename: Pass the location of the alignment model file.

  • [in] config: Setup the configuration options for detector. Set to 0 to use default configuration.

Return:

  • [return] Return STID_OK if successful, otherwise return error code.

Note: The RGB and IR cameras use the same key point model, therefore the same value can be passed in for rgb_alignment_model_filename and infrared_alignment_model_filename.

stid_facepro_binocular_tracking_destroy_handle

Function: Release handle.

Declaration:

STID_SDK_API
void
stid_facepro_binocular_tracking_destroy_handle(
    stid_handle_t handle
);

Parameters:

  • [in] handle: Handle to be released.

Return: None.

stid_facepro_binocular_tracking_reset

Function: Restart handle.

Declaration:

STID_SDK_API
stid_result_t
stid_facepro_binocular_tracking_reset(
    stid_handle_t handle
);

Parameters:

  • [in] handle: Handle to be restarted.

Return: None.

stid_facepro_binocular_tracking_track

Function: Input one frame of image for face tracking. Call this interface continuously to implement face tracking for continuous frames.

Note:

  • Binocular face tracking can only track one person at a time.

Declaration:

STID_SDK_API
stid_result_t
stid_facepro_binocular_tracking_track(
    stid_handle_t handle,
    const stid_image_t* rgb_input_image,
    const stid_image_t* infrared_input_image,
    stid_orientation_t face_orientation,
    double time_stamp_s,
    stid_target_t **out_rgb_targets_array,
    int *out_rgb_targets_array_count,
    stid_target_t **out_infrared_targets_array,
    int *out_infrared_targets_array_count
);

Parameters:

  • [in] handle: Initialized handle.

  • [in] rgb_input_image: Pass in a frame of visible light image.

  • [in] infrared_input_image: Pass in a frame of infrared image.

  • [in] face_orientation: Specify face orientation.

  • [in] time_stamp_s: Time stamp information of the frame, in seconds, floating point (decimal point represents the precision in seconds).

  • [out] out_rgb_targets_array: Return the face information array detected from the visible light image. API is responsible for allocating memory, need to call stid_facepro_tracking_release_targets_array to release.

  • [out] out_rgb_targets_array_count Return the number of faces detected from the visible light image.

  • [out] out_infrared_targets_array: Returns the face information array detected from the infrared image. API is responsible for allocating memory, need to call stid_facepro_tracking_release_targets_array to release.

  • [out] out_infrared_targets_array_count Return the number of faces detected from the infrared image.

Return:

  • [return] Return STID_OK if successful, otherwise return error code.

Note: The interface for releasing binocular tracking detection result is the same as the one for monocular tracking detection.

Last updated