Liveness

Determine if the eyes of the specified face are open or closed. The default thresholds for this function have been selected to minimize False Positives (an open eye classified as a blink) at the expensive of increased False Negatives (a closed eye classified as an open eye). However, you can also choose your own thresholds based on the members of tfsdk.BlinkState. Note, this function does not work well with eyeglasses, which can be detected using tfsdk.SDK.detect_glasses().

Parameters

  • target_face - the face on which to run blink detection.

Returns

The ERRORCODE and tfsdk.BlinkState. Note, if the face is not frontal facing, an error will be returned.

class tfsdk.BlinkState
property is_left_eye_closed

Predicted result for the left eye being closed. Computed as tfsdk.BlinkState.left_eye_score < 0.3 and tfsdk.BlinkState.left_eye_aspect_ratio < 0.22.

property is_right_eye_closed

Predicted result for the right eye being closed. Computed as tfsdk.BlinkState.right_eye_aspect_ratio < 0.3 and tfsdk.BlinkState.right_eye_aspect_ratio < 0.22.

property left_eye_aspect_ratio

The aspect ratio of the left eye, computed as height / width.

property left_eye_score

Score indicating if the left eye is open or closed. 0 indicates closed, 1 indicates open.

property right_eye_aspect_ratio

The aspect ratio of the right eye, computed as height / width.

property right_eye_score

Score indicating if the right eye is open or closed. 0 indicates closed, 1 indicates open.

To reduce False Positives, blink detection must be run with several constraints:

  • Ensure the face is frontal facing

  • The face should be 1 - 3 ft from the camera

  • Recommended 640 x 480 resolution or better

  • Ensure there is good lighting illuminating the eyes

_images/blink_detection_distance.png _images/blink_detection_lighting.png