ECG-驾驶行为相关性四层融合疲劳分级预警:Pearson量化+自适应加权特征融合

论文信息

项目 内容
标题 A Study on the Correlation Between Driving Behavior and ECG Data in Driving Fatigue
期刊 Sensors (MDPI), Vol. 26, Issue 11, Article 3441
发表 2026年5月29日
链接 https://doi.org/10.3390/s26113441
核心方法 四层生理-行为融合 + Pearson相关量化 + 自适应加权
准确率 97.8%(重度疲劳)
响应时间 ≤0.5s

核心创新

  1. 四层融合架构:生理信号→行为信号→Pearson量化→自适应加权
  2. 分级预警:轻度→中度→重度疲劳三级,各阶段准确率>90%
  3. Pearson因果量化:量化ECG特征与驾驶行为的统计相关性
  4. 0.5s响应:实时性满足量产要求

方法详解

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import numpy as np
from dataclasses import dataclass

@dataclass
class FatigueLevel:
NORMAL = 0
MILD = 1
MODERATE = 2
SEVERE = 3

class FourLayerFatigueModel:
"""四层生理-行为融合疲劳分级"""

def __init__(self):
# Layer 1: ECG特征
self.ecg_features = [
'heart_rate', 'hrv_sdnn', 'hrv_rmssd',
'lf_hf_ratio', 'poincare_sd1', 'poincare_sd2'
]

# Layer 2: 驾驶行为特征
self.behavior_features = [
'steering_reversals', 'lane_deviation',
'speed_var', 'brake_frequency',
'accelerator_jerk', 'reaction_time'
]

# Layer 3: Pearson相关性
self.correlation_matrix = None

# Layer 4: 自适应权重
self.weights = np.ones(len(self.ecg_features) + len(self.behavior_features)) / 12

def compute_pearson(self, ecg_data, behavior_data):
"""计算Pearson相关系数矩阵"""
n_ecg = len(self.ecg_features)
n_beh = len(self.behavior_features)

corr = np.zeros((n_ecg, n_beh))
for i in range(n_ecg):
for j in range(n_beh):
if len(ecg_data[i]) > 1 and len(behavior_data[j]) > 1:
r = np.corrcoef(ecg_data[i], behavior_data[j])[0, 1]
corr[i, j] = r if not np.isnan(r) else 0

self.correlation_matrix = corr
return corr

def adaptive_weights(self, corr_matrix):
"""基于Pearson相关性计算自适应权重"""
# 相关性绝对值越大→权重越大
abs_corr = np.abs(corr_matrix)
feature_importance = abs_corr.mean(axis=1) # 每个ECG特征的平均相关性

# 归一化
total = np.concatenate([feature_importance,
abs_corr.mean(axis=0)])
self.weights = total / (total.sum() + 1e-8)
return self.weights

def classify(self, ecg_values, behavior_values):
"""分级疲劳分类"""
# 加权融合
all_values = np.concatenate([ecg_values, behavior_values])
fatigue_score = np.dot(self.weights, all_values)

# 分级
if fatigue_score < 0.3:
level = FatigueLevel.NORMAL
elif fatigue_score < 0.5:
level = FatigueLevel.MILD
elif fatigue_score < 0.7:
level = FatigueLevel.MODERATE
else:
level = FatigueLevel.SEVERE

return {
'level': level,
'score': fatigue_score,
'ecg_contribution': np.dot(self.weights[:6], ecg_values),
'behavior_contribution': np.dot(self.weights[6:], behavior_values),
}


# 测试
if __name__ == "__main__":
model = FourLayerFatigueModel()

# 模拟ECG特征
ecg = np.array([75, 45, 25, 1.8, 0.03, 0.05]) # HR, SDNN, RMSSD, LF/HF, SD1, SD2

# 模拟驾驶行为特征
beh = np.array([15, 0.3, 5.2, 8, 0.8, 0.8]) # 转向修正, 车道偏移, 速度变异, 刹车频率, 油门抖动, 反应时延

# 归一化
ecg_norm = (ecg - np.mean(ecg)) / (np.std(ecg) + 1e-8)
beh_norm = (beh - np.mean(beh)) / (np.std(beh) + 1e-8)

# 分类
result = model.classify(np.abs(ecg_norm), np.abs(beh_norm))
levels = {0: '正常', 1: '轻度疲劳', 2: '中度疲劳', 3: '重度疲劳'}
print(f"疲劳分级: {levels[result['level']]}")
print(f"疲劳分数: {result['score']:.3f}")
print(f"ECG贡献: {result['ecg_contribution']:.3f}")
print(f"行为贡献: {result['behavior_contribution']:.3f}")

实验结果

疲劳阶段 准确率 响应时间 主要特征
正常 95.2% 0.3s HR稳定+车道保持好
轻度 92.5% 0.4s HRV↑+转向修正↓
中度 90.8% 0.5s LF/HF↓+速度变异↑
重度 97.8% ≤0.5s HRV↓↓+反应时延↑↑

Pearson相关系数

ECG特征 行为特征 r值 p值
HRV-SDNN 转向修正频率 -0.72 <0.001
LF/HF比 速度变异系数 -0.68 <0.001
RMSSD 刹车频率 -0.65 <0.01
心率 反应时延 +0.58 <0.01

IMS开发启示

1. 分级预警策略

阶段 分数 ECG特征 行为特征 干预措施
正常 <0.3 HR稳定 车道保持好
轻度 0.3-0.5 HRV↑ 转向修正↓ 声音提醒
中度 0.5-0.7 LF/HF↓ 速度变异↑ 空调+音乐
重度 >0.7 HRV↓↓ 反应时延↑↑ 靠边停车

2. 与rPPG管道集成

组件 来源 角色
ECG/rPPG MS-rPPG(#14)+质量评估(#03) 心率+HRV
驾驶行为 CAN总线 转向+车道+速度
Pearson量化 本论文 因果分析
分级预警 本论文 分级干预

总结

  1. 四层融合97.8%重度疲劳:ECG+行为+Pearson+自适应权重
  2. 0.5s响应:量产级实时性
  3. Pearson因果量化:HRV-SDNN与转向修正r=-0.72
  4. 分级预警:轻度→声音,中度→空调,重度→靠边
  5. 与rPPG+CAN集成:无需额外传感器

https://dapalm.com/2026/09/22/2026-09-22-14-ecg-behavior-pearson-four-layer-graded-warning-ims/
作者
Mars
发布于
2026年9月22日
许可协议