Liveness¶
- SDK.detect_blink(self: tfsdk.SDK, target_face: tfsdk.FaceBoxAndLandmarks) → Tuple[tfsdk.ERRORCODE, tfsdk.BlinkState]¶
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 usingtfsdk.SDK.detect_glasses()
.- Parameters
target_face - the face on which to run blink detection.
- Returns
The
ERRORCODE
andtfsdk.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 andtfsdk.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 andtfsdk.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