视觉疲劳 GBDT-LR 评估:眼控交互中瞳孔反应的机器学习分析
MDPI Sensors 2026 发表基于 GBDT-LR 的视觉疲劳评估方法,利用任务表现和瞳孔反应数据。传统主观方法过于主观,侵入式设备成本高。机器学习方案提供了客观、低成本的视觉疲劳检测路径。
1 研究概况
| 项目 |
内容 |
| 标题 |
Assessment of Visual Fatigue Caused by Eye-Controlled Interaction Based on Task Performance and Pupillary Response with GBDT-LR |
| 期刊 |
Sensors, 2026, 26(17):5507 |
| 方法 |
GBDT + Logistic Regression |
| 输入 |
任务表现 + 瞳孔反应 |
| 目标 |
客观视觉疲劳评估 |
2 技术方案
2.1 GBDT-LR 架构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| from sklearn.ensemble import GradientBoostingClassifier from sklearn.linear_model import LogisticRegression import numpy as np
class VisualFatigueAssessor: """ GBDT-LR 视觉疲劳评估 1. GBDT 提取非线性特征 2. LR 输出疲劳概率 3. 瞳孔反应 + 任务表现融合 """ def __init__(self): self.gbdt = GradientBoostingClassifier( n_estimators=100, max_depth=5, learning_rate=0.1 ) self.lr = LogisticRegression(max_iter=1000) def extract_features(self, pupil_data: dict, task_data: dict) -> np.ndarray: """提取瞳孔+任务特征""" features = [ pupil_data['diameter_mean'], pupil_data['diameter_std'], pupil_data['diameter_trend'], pupil_data['latency_mean'], task_data['accuracy'], task_data['reaction_time'], task_data['error_rate'], ] return np.array(features).reshape(1, -1) def fit(self, X, y): self.gbdt.fit(X, y) leaves = self.gbdt.apply(X)[:, :, 0] self.lr.fit(leaves, y) def predict(self, X): leaves = self.gbdt.apply(X)[:, :, 0] return self.lr.predict_proba(leaves)[:, 1]
|
3 DMS 迁移价值
| 原始用途 |
DMS 迁移 |
| 眼控交互疲劳 |
驾驶视觉疲劳 |
| 瞳孔反应 |
DMS 摄像头瞳孔检测 |
| 任务表现 |
驾驶行为指标 |
| 离线评估 |
实时监测 |
4 对 IMS 的启示
| 优先级 |
任务 |
周期 |
| P1 |
瞳孔直径精确检测 |
3 月 |
| P1 |
GBDT-LR 模型集成 |
1 月 |
| P2 |
驾驶行为任务指标定义 |
2 月 |
5 总结
GBDT-LR 方案为 DMS 视觉疲劳检测提供了轻量级机器学习路径。瞳孔反应是视觉疲劳的客观生理指标,结合驾驶行为数据可构建可靠的疲劳评估模型。
参考来源: