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
106
# 示意代码,不可直接运行(仅演示四层融合+分级判定思路,非论文实现;论文未开源)
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)

# 分级(阈值取自原文:F≤0.25 / 0.25<F≤0.5 / 0.5<F≤0.75 / F>0.75)
if fatigue_score <= 0.25:
level = FatigueLevel.NORMAL
elif fatigue_score <= 0.5:
level = FatigueLevel.MILD
elif fatigue_score <= 0.75:
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}")

实验结果

总体表现(摘要核对)

原文摘要报告:四层生理-行为融合模型对所有疲劳阶段的分级准确率均超过 90%,其中重度疲劳检测达 97.8%,响应时间 ≤0.5 s;与 Zeng et al.、Zambrano et al. 等单模态方法相比,准确率与实时性均有提升。分级阈值为模型训练后确定的 F≤0.25 / 0.25<F≤0.5 / 0.5<F≤0.75 / F>0.75。

(原文未提供正常/轻度/中度各阶段单独准确率及分期响应时间数字。)

Pearson相关(原文核对)

原文将生理-行为相关归纳为:

方向 ECG-HRV 指标 行为指标 相关强度
负相关 PNS指数、SDNN、RMSSD、SampEn 振荡密度、波动幅度、转向/制动峰值 r ≤ −0.75
正相关 SNS指数、平均心率、压力指数 振荡密度、波动幅度 r ≥ +0.78

即生理指标越低(或交应激活越高),驾驶行为异常程度越高——这构成融合模型中行为指标与生理指标互相印证、按相关性分配权重的依据。原文未提供逐对指标的具体 r 值与 p 值明细。

IMS开发启示

1. 分级预警策略

阶段 分数(原文阈值) ECG特征 行为特征 干预措施
正常 F≤0.25 HR/HRV基线 车道保持好 无
轻度 0.25<F≤0.5 HRV↑、PNS↑ 转向修正↓ 声音提醒
中度 0.5<F≤0.75 PNS↓、SNS↑ 速度变异↑ 空调+音乐
重度 F>0.75 SDNN↓↓、SNS↑↑ 行为异常峰值↑ 靠边停车

2. 与rPPG管道集成

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

总结

  1. 四层融合97.8%重度疲劳:ECG+行为+Pearson+自适应权重
  2. 0.5s响应:量产级实时性
  3. Pearson量化:PNS/SDNN/RMSSD/SampEn 与行为指标显著负相关(r≤−0.75),SNS/心率/压力指数显著正相关(r≥0.78)
  4. 分级预警:轻度→声音,中度→空调,重度→靠边
  5. 与rPPG+CAN集成:无需额外传感器