FaceGesturesModule

hasEyebrowsFrowned

hasEyebrowsFrowned(face: Face): BoolSignal hasEyebrowsFrowned(face: Face, config: { observationPeriod: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has frowned eyebrows. When specified:

  • config.threshold overrides the default threshold; the default value is 1.0.

  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the eyebrow position is close to threshold.

  • config.observationPeriod sets the period over which median eyebrow positions are tracked, in milliseconds.

There is no explicit underlying driver signal for this face gesture.

hasEyebrowsRaised

hasEyebrowsRaised(face: Face): BoolSignal hasEyebrowsRaised(face: Face, config: { observationPeriod: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has raised eyebrows. When specified:

  • config.threshold overrides the default threshold; the default value is 1.0.

  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the eyebrow position is close to threshold.

  • config.observationPeriod sets the period over which median eyebrow positions are tracked, in milliseconds.

There is no explicit underlying driver signal for this face gesture.

hasLeftEyeClosed

hasLeftEyeClosed(face: Face): BoolSignal hasLeftEyeClosed(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has its left eye open. When specified:

  • config.threshold overrides the default threshold for eye openness.

  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.

A signal goes ON when Face.leftEye.openness reaches config.threshold and goes OFF at config.threshold + config.backlash.

hasMouthOpen

hasMouthOpen(face: Face): BoolSignal hasMouthOpen(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has an open mouth. When specified:

  • config.threshold overrides the default threshold for mouth openness.

  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the mouth openness is close to threshold.

A signal goes ON when Face.mouth.openness reaches config.threshold and goes OFF at config.threshold - config.backlash.

hasRightEyeClosed

hasRightEyeClosed(face: Face): BoolSignal hasRightEyeClosed(face: Face, config: { threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object has its right eye open. When specified:

  • config.threshold overrides the default threshold for eye openness.

  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.

A signal goes ON when Face.rightEye.openness reaches config.threshold and goes OFF at config.threshold + config.backlash.

isHappy

isHappy(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a happy face.

isKissing

isKissing(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a kissing face.

isLeanedBack

isLeanedBack(face: Face): BoolSignal isLeanedBack(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning back. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

isLeanedForward

isLeanedForward(face: Face): BoolSignal isLeanedForward(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning forward. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

isLeanedLeft

isLeanedLeft(face: Face): BoolSignal isLeanedLeft(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning to the left. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

isLeanedRight

isLeanedRight(face: Face): BoolSignal isLeanedRight(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is leaning to the right. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

isSmiling

isSmiling(face: Face): BoolSignal isSmiling(face: Face, config: { lipMix: ?number, threshold: ?number, backlash: ?number }): BoolSignal Returns a BoolSignal that indicates whether the specified face is smiling. A smile is detected when a weighted sum of lip curvatures (mouth.upperLipCurvature and mouth.lowerLipCurvature) reaches a threshold. When specified:

  • config.lipMix sets the proportion of the upper and lower lip curvatures in the sum. 0.0 is lower lip only, 1.0 is upper lip only.

  • config.threshold overrides the default threshold value for the curvature mix.

  • config.backlash overrides the default backlash. Backlash is used to suppress unstable behavior when the mixed curvature value is close to threshold.

A signal goes ON when mouth.upperLipCurvature * config.lipMix + mouth.lowerLipCurvature * (1 - config.lipMix) reaches config.threshold and goes OFF at config.threshold - config.backlash.

isSurprised

isSurprised(face: Face): BoolSignal Returns a BoolSignal that indicates whether the specified Face object is a surprised face.

isTurnedLeft

isTurnedLeft(face: Face): BoolSignal isTurnedLeft(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal

Returns a BoolSignal that indicates whether the specified Face object is turned to the left. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

isTurnedRight

isTurnedRight(face: Face): BoolSignal isTurnedRight(face: Face, config: { angle: ?number, backlash: ?number }): BoolSignal

Returns a BoolSignal that indicates whether the specified Face object is turned to the right. When specified:

  • config.angle overrides the default angular threshold, in radians.

  • config.backlash overrides the default angular backlash, in radians. Backlash is used to suppress unstable behavior when the face rotation is close to threshold.

A signal goes ON when angle reaches config.angle and goes OFF at config.angle - config.backlash.

onBlink

onBlink(face: Face): EventSource onBlink(face: Face, config: { threshold: ?number, backlash: ?number }): EventSource

Returns an EventSource that fires when both eyes are closed. An eye is considered closed when its openness falls below a certain configurable threshold. When specified:

  • config.threshold overrides the default threshold for determining eye openness.

  • config.backlash sets the default backlash. Backlash is used to minimize state jitter while the openness is near the threshold value.

onNod

onNod(face: Face): EventSource onNod(face: Face, config: { angle: ?number, period: ?number, swings: ?number }): EventSource

Returns an EventSource that fires immediately after a face nod is detected. A face nod is a series of consecutive head swing down and up, the first movement is downwards. A swing is detected if the head rotates around the X axis by the specified threshold angle within the specified period of time. The threshold, the period and the number of swings can be configured. When specified:

  • config.angle sets the minimum rotation for one swing, in radians.

  • config.period sets the maximum time limit for one swing, in milliseconds.

  • config.swings sets the count of consecutive alternating swings after which the gesture is detected.

onShake

onShake(face: Face): EventSource onShake(face: Face, config: { angle: ?number, period: ?number, swings: ?number }): EventSource

Returns an EventSource that fires immediately after a face shake is detected. A face shake is a series of consecutive head swings right and left. A swing is detected if the head rotates around the Y axis by the specified threshold angle within the specified period of time. The threshold, the period and the number of swings can be configured. When specified:

  • config.angle sets the minimum rotation for one swing, in radians.

  • config.period sets the maximum time limit for one swing, in milliseconds.

  • config.swings sets the count of consecutive alternating swings after which the gesture is detected.

Last updated