2026‐10‐15‐Meeting‐3 - Sajeev-D/driver-monitoring-team2026280 GitHub Wiki

Present: [Names] | Absent: [Names or "None"] | Scribe: [Name]

1. Member Outline

1.1 Sally — PERCLOS Extraction & Data Collection Methodology

  • Did: Developed and tested a Python script for extracting EAR, PERCLOS, blink statistics, and prolonged eye-closure events from facial landmarks. Researched experimental data collection methods, including participant recruitment, session duration, drowsiness labeling, and research ethics requirements.
  • Found: PERCLOS can be calculated using personalized EAR thresholds and timestamp-based eye-closure measurements over a 60-second window. Initial synthetic tests verified blink and prolonged-closure detection. Literature review supports using KSS ratings alongside video-based observations for drowsiness labeling. A proposed data collection protocol uses sessions of up to 60 minutes with KSS assessments from two independent observers every 5 minutes. There are many considerations for ethics, such as am early stopping criteria and written out procedures on what to do with the data. Data Collection Methodology Research
  • Next: Validate the PERCLOS extraction script using real video data and refine the experimental protocol for ethics approval. Finalize participant requirements, data labeling procedures, and collection conditions.
  • Needs: Input on the proposed data collection methodology, particularly participant count, session duration, and validation conditions. Confirmation of the experimental protocol before proceeding with ethics submission and participant recruitment.

1.2 Christopher — Hardware: IR Illumination Design, Power Budget

  • Did: Ordered the main hardware (camera, lens, IR LEDs, Pi 5). Wrote up the IR LED design calculations and drew the schematic for the LED illuminator. Schematic
  • Found: Running the LEDs steadily at ~60 mA keeps them within spec up to ~50 °C cab temperature. Worst-case IR exposure is ~9× under the IEC 62471 eye-safety limit. The LEDs' beam is narrow (20°), so face coverage needs checking on the bench.
  • Next: Purchase the resistors, capacitor, and MOSFET; build the LED circuit on a breadboard; set up the Raspberry Pi and get the camera running.
  • Needs: Guidance on whether the truck temperature/power requirement stays a hard Constraint or becomes an Objective, since we’re not deploying in a cab.

1.3 Sajeev — Drowsiness Detection & Prediction ML pipeline & Simulator Data Acquisition

  • Did:
    • Built XGBoost and Random Forest models for KSS-based drowsiness detection and 5-minute prediction using synthetic driver-session data, with train/test splits grouped by driver.
    • Contacted KITE-University Health Network (UHN) to request access to their DriverLab simulation environment to collect real driver-session data for model validation.
  • Found: On synthetic data, Random Forest outperformed XGBoost in precision (0.565 vs. 0.490 for detection; 0.692 vs. 0.669 for 5-min prediction) and F1 (0.604 vs. 0.558; 0.742 vs. 0.725), while both achieved ~0.92–0.93 ROC-AUC. In both models, detection relied most on rebased EAR change and slow-blink frequency, whereas prediction relied most on TPMA alertness and drive time; moderate detection precision confirms the need for real-data validation.
  • Next: Validate and refine the models using real driver-session data.
  • Needs: Access to labeled real driving session data for model training and evaluation.

1.4 Apurva — Knowledge Distillation & MediaPipe Validation

  • Did: Researched whether knowledge distillation (KD) can help run our models on the Raspberry Pi, and how to validate MediaPipe's head pose and EAR outputs. Research Brief
  • Found: KD only helps models we train ourselves, not MediaPipe. The best use is a teacher trained with lab-only signals (e.g., PVT) teaching a camera-only student; INT8 quantization is the easier first step. MediaPipe is built for AR selfies, not safety decisions, and head pitch can distort EAR, so it needs validation. Proposed plan: test on public datasets (AutoPOSE, DMD), on our own setup, and with live per-frame checks, with solvePnP, blendshape blink scores, and a "degraded mode" as fallbacks.
  • Next: Measure MediaPipe FPS on the Pi, run the dataset benchmarks, and add live quality checks to the extraction module.
  • Needs: Feedback on the proposed accuracy targets (≤ 6° head pose error, blink F1 ≥ 0.90) and whether KD is in scope or a stretch goal.

2. Decisions

  • N/A

3. Action Items

# Item Owner Due
1 Christopher
2 Sally
3 Sajeev
4 Apurva