Skip to Content

Why eyebrows?

The plan was a long blink to select. The measurements said otherwise.

Glint was designed around a long blink. It uses eyebrows because of what one recorded session showed.

How it was measured

The free SDK tier is 50 minutes in total, so trial and error was not affordable. A prototype showed on-screen cues and wrote each one into the recording with a timestamp on the SDK's own clock. One session of about 2.5 minutes gave labelled examples of every gesture.

What it showed

GestureSDK signalFace landmarksOutcome
Close eyes for 1 s, ×5blinking true in 1 of 4,096 framesEye openness never fell below 75% of normalNot detected
Quick blink, ×5NoneNo dipNot detected
Raise eyebrows, ×3surprise peaked at 76–84, only brieflySmoothed ratio rose 31.6–33.5%Clear from landmarks
Slow exhale, ×3Trace rose 2.4–7.9, then fell 6–15—Clear
Talk for 10 stalking in 81% of frames—Usable with averaging
Sit silent for 10 stalking in 20% of frames—Too noisy to trust per frame

The eyebrow signal itself separates the gestures cleanly. Blinks barely moved it, and raises went past the fire line.

0%10%20%30%40%Fire line +28%Close eyes, 1 s ×5Close eyes, 1 s, cue 1: +4.7%Close eyes, 1 s, cue 2: +4.0%Close eyes, 1 s, cue 3: +5.9%Close eyes, 1 s, cue 4: +6.6%Close eyes, 1 s, cue 5: +3.8%0 of 5 firedQuick blink ×5Quick blink, cue 1: +6.6%Quick blink, cue 2: +3.2%Quick blink, cue 3: +4.4%Quick blink, cue 4: +3.8%Quick blink, cue 5: +4.3%0 of 5 firedRaise eyebrows ×3Raise eyebrows, cue 1: +33.5%Raise eyebrows, cue 2: +31.8%Raise eyebrows, cue 3: +31.6%2 of 3 firedPeak smoothed brow ratio above baseline
One recorded session of one person. Each dot is one cue: the highest smoothed brow ratio, relative to the detector's baseline, from the cue's start to 1.5 s after its end for blinks and during the cue for raises. Blink cues moved it by at most +6.6%; raises reached +31.6% to +33.5%. The recording kept no eye-openness samples, so the blink result itself is only in the table above.

The person wore thick-framed glasses, which sit over the upper eyelid line, in a dim room with their face in shadow. That is the most likely reason the face model never saw a closed eye. An earlier session did record about 70 short blinks, none longer than 268 ms, so the blink signal does work in some conditions.

We cannot say that blinks never work. We can say they did not work in an ordinary setting, for a person wearing glasses, which is reason enough not to depend on them.

What this does not prove

This is one person, one session, three examples of each gesture. The thresholds were then tuned on that same data, so the results are optimistic. Expect different numbers for different faces. Per-person calibration is the proper answer, and it is not built yet.

On this page