← Kaden SudermanBlink Rate MonitorSource ↗

Project 03

Blink Rate Monitor

A real-time vision tool that estimates eye openness, detects blink events, and tracks blinks per minute. The original desktop application used YOLOv8 and MediaPipe; this port runs facial landmarks directly in the browser.

Completed
2025
Original
Python desktop app
Signal
Eye aspect ratio
Browser
MediaPipe + webcam

Live browser demo

Measure your blink rate locally.

The camera feed and landmark processing stay in your browser. No frames are uploaded by this page.

Detection logic

Six landmarks per eye become one useful signal.

  1. Locate the faceMediaPipe tracks 478 facial landmarks.
  2. Measure each eyeVertical opening is divided by horizontal width.
  3. Detect a closureEAR falls below a calibrated threshold.
  4. Count the reopeningA blink is recorded when the eye opens again.

Original build

The desktop version paired YOLOv8 person detection with MediaPipe Face Mesh, OpenCV video, a 60-second blink window, and optional Matplotlib plots.

Browser adaptation

The port removes the redundant person detector and uses MediaPipe Face Landmarker directly. It calibrates the threshold from the visitor’s open-eye baseline.

Tradeoff

Lighting, glasses, camera angle, and deliberate squinting can affect EAR. This is an engineering demonstration, not a medical measurement.

Read the source ↗