Camera-based analysis for ophthalmologists
Oculum uses a camera connected to the computer to capture a face video stream and overlay landmarks in real time. The interface shows facial contours and key regions (face outline, eyes, irises, eyebrows, nose, lips, and related points/lines), plus a stable “Eye Zoom” panel with the left and right eye presented side-by-side.
Demo interface
Workflow
The live view displays the camera feed with an overlay of facial landmarks and guide lines: face outline, eyes, iris rings, eyebrows, nose, lips, and related points.
A dedicated “Eye Zoom” panel provides a stable zoom of each eye: left eye and right eye shown in two halves for quick comparison.
When “Generate Report” is triggered, the app enters sampling mode for 30 seconds at roughly 10 samples/second. At the end, the report is compiled and displayed within the application.
Sampling window: 30s • Target rate: ~10 Hz • Output: in-app report
Report contents
Tracking quality
- Tracking quality: percentage of time the face is detected during the sampling window.
Visual summaries
- Per-metric visual bars: Low / Moderate / High.
- Summary statistics (mean / standard deviation / min / max) for multiple measures.
- A list of Recommendations (non-diagnostic) based on internal thresholds.
Blink metrics (EAR-based)
- Blink detection via EAR open/close signal and blinks per minute.
- Blink duration (ms).
- Blink “speed” (proxy).
- Lagophthalmos proxy: incomplete closure blinks based on an internal rule.
Ocular alignment (strabismus proxy)
- Compares the relative iris position within each eye.
- Generates a strabismus_score from that relative positioning.
Upper eyelid (ptosis proxy)
- Estimates upper eyelid droop versus the session baseline.
Eyebrows
- Brow drop versus baseline.
- Brow arch (curvature proxy).
- Inter-brow distance (spacing).
- Variability of brow lift (standard deviation over time).
Gaze
- Horizontal and vertical gaze ratios per eye.
- Saccade rate (rapid gaze jumps, proxy).
- Reported gaze stability.
Tremor / jitter
- Instability score derived from iris position variability over time.
Scleral show (proxy)
- Estimates “how much white of the eye” appears above/below the iris.
- Normalized using the tracked eye geometry.
Global facial asymmetry (proxy)
- Combines asymmetry in ocular opening, brows, and gaze into a single 0..1 score.
Iris color (coarse label)
- Computes a median HSV value over an iris region and assigns a coarse label:
- Very dark / Gray / Brown-Hazel / Green / Blue