认知分心检测:眼动时序分析的最新进展

引言:分心的本质是认知状态

视觉分心 ≠ 认知分心

分心类型 定义 检测方法
视觉分心 视线偏离前方 视线估计、头位追踪
认知分心 视线在前方但注意力分散 眼动模式、反应时间、任务切换

Euro NCAP 2026新增:认知分心检测——这是最具挑战性的任务。


一、认知分心的特征

1.1 眼动模式分析

Saccade特征

特征 正常驾驶 认知分心
扫视频率 8-12次/分 <4次/分
扫视时长 200-300ms >500ms
凝视时长 200-400ms <100ms(短促凝视)
扫视幅度 均匀 杂乱跳跃
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import numpy as np
from scipy import signal

class SaccadeAnalyzer:
def __init__(self):
self.history = []

def detect_saccades(self, gaze_sequence):
"""
检测扫视
"""
saccades = []

for i in range(1, len(gaze_sequence)):
# 速度计算
velocity = gaze_sequence[i] - gaze_sequence[i-1]
speed = np.linalg.norm(velocity)

# 阈值检测(需要根据场景调整)
if speed > 100: # deg/s
saccades.append({
'start_idx': i-1,
'end_idx': i,
'velocity': speed,
'duration': gaze_sequence[i]['timestamp'] - gaze_sequence[i-1]['timestamp']
})

return saccades

def analyze_pattern(self, saccades):
"""
分析扫视模式
"""
if not saccades:
return None

# 扫视频率
saccade_rate = len(saccades) / (saccades[-1]['end_idx'] - saccades[0]['start_idx'])

# 平均速度
avg_velocity = np.mean([s['velocity'] for s in saccades])

# 时长分布
durations = [s['duration'] for s in saccades]

# 模式识别
if saccade_rate < 4 and avg_velocity > 150:
return "slow_deliberate" # 慢速扫视(思考)
elif saccade_rate > 15:
return "rapid_irregular" # 快速杂乱(紧张)
else:
return "normal" # 正常

return {
'rate': saccade_rate,
'avg_velocity': avg_velocity,
'pattern': self.analyze_pattern(saccades)
}

1.2 凝视分析

Fixation Duration Distribution

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
class FixationAnalyzer:
def __init__(self):
self.fixations = []

def analyze_fixations(self, saccades):
"""
分析凝视分布
"""
fixations = []

# 扫视之间的间隔视为凝视
for i in range(len(saccades) - 1):
duration = saccades[i+1]['start_idx'] - saccades[i]['end_idx']
fixations.append(duration)

if not fixations:
return None

# 统计分析
mean_duration = np.mean(fixations)
std_duration = np.std(fixations)
median_duration = np.median(fixations)

# 凝视短促判断
short_fixation_ratio = np.sum([d < 150 for d in fixations]) / len(fixations)

return {
'mean': mean_duration,
'std': std_duration,
'median': median_duration,
'short_ratio': short_fixation_ratio,
'is_distraction': short_fixation_ratio > 0.6 # 短凝视>60%
}

二、Euro NCAP 2026要求

2.1 认知分心检测指标

指标 要求 说明
检测延迟 ≤2秒 分心持续2秒必须报警
误报率 <5% 正常驾驶误报率<5%
真阳性率 >90% 真分心检出率>90%
计算负荷 <30ms 单帧推理<30ms

2.2 测试场景

场景一:手机使用

1
2
3
4
5
6
7
特征组合:
- 视线:频繁扫视(短凝视)
- 头位:低头
- 手部:触摸屏幕
- 上下文:静止车辆

→ 认知分心:高

场景二:与乘客交谈

1
2
3
4
5
6
7
特征组合:
- 视线:看向副驾驶
- 头位:转向乘客
- 声音:对话模式
- 上下文:动态环境

→ 认知分心:中

场景三:道路前方但发呆

1
2
3
4
5
6
7
特征组合:
- 视线:直视前方
- 头位:稳定
- 眼动:正常
- 但:反应时间长(>3秒)

→ 认知分心:高(内部注意力分散)

三、总结

3.1 核心结论

技术点 关键发现
眼动模式 扫视频率、速度、时长是关键特征
多模态融合 单一模态无法准确判断认知分心
Transformer优势 时序建模能力强,适合长期依赖分析

3.2 实施建议

  1. 短期(1-2个月):使用眼动模式识别
  2. 中期(3-6个月):引入Transformer时序建模
  3. 长期(6-12个月):端到端认知分心检测系统

参考文献

  1. Qiao, Y., et al. “Driver Cognitive Distraction Detection Based on Eye Movement Behavior.” ICONIP, 2024.
  2. Euro NCAP. “Driver Monitoring Test Protocol.” Technical Bulletin SD 202, 2025.

本文是IMS分心检测系列文章之一


认知分心检测:眼动时序分析的最新进展
https://dapalm.com/2026/03/13/2026-03-13-认知分心检测-眼动时序分析的最新进展/
作者
Mars
发布于
2026年3月13日
许可协议