航空座舱心理疲劳评估:头戴式传感技术前沿综述
论文信息
标题: The state of the art in assessing mental fatigue in the cockpit using head-worn sensing technology
期刊: Frontiers in Neuroergonomics, Volume 6, 2025
链接: https://doi.org/10.3389/fnrgo.2025.1673268
发表日期: 2026年1月12日
核心方法: EEG + fNIRS + 眼动 + 头戴式多传感器综述
核心创新 这是航空座舱心理疲劳头戴式传感技术 的最新全面综述,系统评估了EEG、fNIRS、眼动追踪等头戴式传感器在飞行模拟器和真实飞行中的有效性。关键贡献是明确了SSVEP(稳态视觉诱发电位)可在注意力衰减前5秒预测错误 ——这是航空安全领域首个秒级预测指标。
与汽车DMS的差异:
航空:高工作负荷→主动疲劳(overload),低工作负荷→被动疲劳(underload)
汽车:以被动疲劳为主(高速公路单调)
航空:仪表扫描模式是核心指标,汽车:PERCLOS是核心指标
方法详解 1. 头戴式传感器技术矩阵
传感器
测量指标
模拟器验证
真实飞行验证
侵入性
EEG
theta/alpha/beta, SSVEP
✅ 充分
⚠️ 有限
高
fNIRS
前额叶氧合血红蛋白
✅ 充分
⚠️ 初步
中
眼动追踪
注视, 眨眼, 瞳孔直径
✅ 充分
✅ 充分
低
头姿
头部运动, 点头
✅ 充分
✅ 充分
低
ECG
HRV
✅ 充分
✅ 充分
中
2. 核心发现:SSVEP预测注意力衰减 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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 import numpy as npfrom scipy import signalfrom scipy.fft import fftfrom typing import Tuple class SSVEPFatiguePredictor : """ SSVEP(稳态视觉诱发电位)疲劳预测器 论文发现: SSVEP可在注意力衰减前5秒预测错误 方法: 对仪表盘特定频率闪烁 stimulus → EEG检测同频率响应 航空应用: 飞行员仪表扫描质量实时评估 汽车迁移: 可用于HUD闪烁标记→驾驶员注意力检测 """ def __init__ (self, fs=500 , target_freqs=[10 , 15 , 20 ] ): """ Args: fs: EEG采样率 (Hz) target_freqs: 目标闪烁频率(仪表盘stimulus频率) """ self .fs = fs self .target_freqs = target_freqs self .prediction_window_s = 5 self .window_samples = int (self .prediction_window_s * fs) def extract_ssvep (self, eeg_signal: np.ndarray, channel_idx: int = 0 ) -> dict : """ 提取SSVEP响应 Args: eeg_signal: EEG信号, shape=(channels, samples) channel_idx: 分析的通道索引 Returns: dict: 各目标频率的SSVEP信噪比 """ if eeg_signal.ndim == 1 : eeg_signal = eeg_signal[np.newaxis, :] signal_data = eeg_signal[channel_idx] freqs = np.fft.rfftfreq(len (signal_data), 1 /self .fs) spectrum = np.abs (np.fft.rfft(signal_data)) results = {} for target in self .target_freqs: target_bin = np.argmin(np.abs (freqs - target)) signal_mask = (freqs >= target - 0.5 ) & (freqs <= target + 0.5 ) signal_power = np.sum (spectrum[signal_mask]**2 ) noise_mask = ((freqs >= target - 3 ) & (freqs < target - 1 )) | \ ((freqs > target + 1 ) & (freqs <= target + 3 )) noise_power = np.mean(spectrum[noise_mask]**2 ) snr = 10 * np.log10(signal_power / (noise_power + 1e-10 )) results[f'{target} Hz' ] = { 'snr_db' : snr, 'signal_power' : signal_power, 'noise_power' : noise_power, 'amplitude' : np.sqrt(signal_power) } return results def predict_attention_lapse (self, eeg_window: np.ndarray ) -> dict : """ 预测5秒内是否会发生注意力衰减 论文发现: SSVEP响应在注意力衰减前5秒显著降低 Args: eeg_window: 5秒EEG窗口, shape=(channels, samples) Returns: dict: 预测结果 """ ssvep = self .extract_ssvep(eeg_window) avg_snr = np.mean([v['snr_db' ] for v in ssvep.values()]) SNR_THRESHOLD = 3.0 risk_score = max (0 , min (1 , (SNR_THRESHOLD - avg_snr) / SNR_THRESHOLD)) return { 'avg_snr_db' : avg_snr, 'risk_score' : risk_score, 'prediction' : 'high_risk' if risk_score > 0.6 else 'moderate' if risk_score > 0.3 else 'low' , 'time_to_lapse_s' : self .prediction_window_s if risk_score > 0.6 else None , 'ssvep_details' : ssvep } if __name__ == "__main__" : np.random.seed(42 ) predictor = SSVEPFatiguePredictor(fs=500 ) t = np.arange(2500 ) / 500 normal_eeg = (5 * np.sin(2 *np.pi*10 *t) + 3 * np.sin(2 *np.pi*15 *t) + np.random.normal(0 , 1 , 2500 )) fatigued_eeg = (1.5 * np.sin(2 *np.pi*10 *t) + 0.8 * np.sin(2 *np.pi*15 *t) + np.random.normal(0 , 1.5 , 2500 )) print ("=== 正常状态 ===" ) result_normal = predictor.predict_attention_lapse(normal_eeg[np.newaxis, :]) print (f"平均SNR: {result_normal['avg_snr_db' ]:.2 f} dB" ) print (f"风险评分: {result_normal['risk_score' ]:.2 f} " ) print (f"预测: {result_normal['prediction' ]} " ) print ("\n=== 疲劳状态 ===" ) result_fatigued = predictor.predict_attention_lapse(fatigued_eeg[np.newaxis, :]) print (f"平均SNR: {result_fatigued['avg_snr_db' ]:.2 f} dB" ) print (f"风险评分: {result_fatigued['risk_score' ]:.2 f} " ) print (f"预测: {result_fatigued['prediction' ]} " ) if result_fatigued.get('time_to_lapse_s' ): print (f"预计{result_fatigued['time_to_lapse_s' ]} 秒内注意力衰减" )
3. 飞行员眼动追踪7大指标 基于Somareality和Smart Eye的航空实践:
指标
含义
疲劳/负荷指示
航空应用
仪表注视时长
决策效率和认知负荷
时长↑→负荷↑
区分经验水平
眼动距离
扫描效率
距离↓→熟练↑
优化仪表布局
视觉搜索模式
结构化vs非结构化
非结构化→负荷↑
训练评估
瞳孔直径变化
认知负荷和压力
扩张→负荷↑
紧急情况评估
眨眼模式
疲劳和紧张
频率↓/时长↑→疲劳
实时疲劳监测
注意力分布
跨仪表的注意力
集中→负荷↑
设计评估
扫视速度
多任务和态势感知
速度↓→疲劳↑
性能基线
4. 经验水平vs眼动模式 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 EXPERIENCE_DATA = { 'novice' : { 'flight_hours' : '40-70h' , 'aoi_dwell_ms' : 274 , 'scan_transitions' : 'few, repetitive' , 'pattern' : 'unstructured' , 'pupil_change' : 'high variance' }, 'experienced' : { 'flight_hours' : '1500-2150h' , 'aoi_dwell_ms' : 200 , 'scan_transitions' : 'moderate, varied' , 'pattern' : 'semi-structured' , 'pupil_change' : 'moderate variance' }, 'expert' : { 'flight_hours' : '3000-10300h' , 'aoi_dwell_ms' : 167 , 'scan_transitions' : 'many, comprehensive' , 'pattern' : 'structured + adaptive' , 'pupil_change' : 'low variance (stable)' } }
IMS开发启示 1. 航空→汽车技术迁移矩阵
航空指标
汽车DMS对应
迁移难度
价值
仪表注视时长
视线落点(ROI)
✅ 直接
⭐⭐⭐
眼动距离
扫视范围
✅ 直接
⭐⭐
视觉搜索模式
注视序列分析
⚠️ 需适配
⭐⭐⭐
瞳孔直径
认知负荷估计
⚠️ 光照敏感
⭐⭐
眨眼模式
PERCLOS
✅ 直接
⭐⭐⭐
扫视速度
反应时间估计
✅ 直接
⭐⭐
SSVEP预测
HUD闪烁标记
⚠️ 需EEG
⭐(远期)
2. 航空安全数据对汽车DMS的警示
航空数据
汽车对应
启示
84%事故涉及监控不足
DMS覆盖率不足
必须全场景覆盖
新手AOI停留39%更长
新手驾驶员注视模式
需差异化阈值
SSVEP提前5秒预测
DMS预警时间窗
5秒是关键窗口
仪表扫描模式区分经验
驾驶经验评估
可用于驾驶员分级
瞳孔直径→认知负荷
瞳孔监测需控光照
红外瞳孔测量更稳定
3. 飞行模拟器→驾驶模拟器
维度
飞行模拟器
驾驶模拟器
IMS建议
场景复杂度
高(多仪表+外部)
中(道路+后视)
简化仪表集
工作负荷
可调(紧急→巡航)
可调(城市→高速)
标准化负荷协议
疲劳诱导
监控任务1h+
自动驾驶30min+
GoA2/L3场景
数据采集
EEG+眼动+ECG
摄像头+方向盘ECG
Phase1精简
评估指标
SSVEP+扫描模式+HRV
PERCLOS+视线+HRV
核心3指标
4. 三运输方式疲劳检测对比
维度
航空
铁路
汽车
主要疲劳类型
主动疲劳(过载)
被动疲劳(监控)
混合
核心检测技术
眼动+EEG
HRV+呼吸+视觉
PERCLOS+视线
预测窗口
5秒(SSVEP)
60秒(PERCLOS)
3秒(闭眼)
仪表依赖
高(多仪表)
低(监控为主)
中(HUD+道路)
部署环境
模拟器为主
真实运营验证
量产部署
侵入性约束
高(飞行员接受度)
中
低(非接触)
法规要求
CRM制度
GoA2研究阶段
Euro NCAP强制
5. SSVEP在汽车中的应用设想
flowchart LR
A[HUD显示闪烁标记<br/>10Hz/15Hz] --> B[驾驶员视觉皮层<br/>产生SSVEP响应]
B --> C[EEG传感器检测<br/>响应强度]
C --> D{SNR > 阈值?}
D --> |是| E[注意力正常]
D --> |否| F[5秒内注意力衰减风险]
F --> G[触发DMS警告]
H[红外摄像头<br/>PERCLOS] --> G
I[方向盘ECG<br/>HRV] --> G
远期方案(2029+): HUD闪烁标记 + 干电极EEG → SSVEP预测 → 与PERCLOS+HRV融合 → 三级疲劳预测
性能对比
系统
指标
准确率
预测窗口
部署状态
SSVEP+EEG
注意力衰减预测
85%
5秒
实验室
眼动扫描模式
经验水平分类
90%
-
模拟器
PERCLOS(汽车)
闭眼比例
88%
60秒
量产
HRV(铁路)
心率变异
82%
60秒
真实运营
眨眼时长
单次闭眼
85%
3秒
量产
总结 航空座舱疲劳研究的核心价值在于预测而非检测 ——SSVEP提前5秒预测注意力衰减是突破性发现,汽车DMS目前只能”检测已发生的疲劳”,航空技术指明了”预测即将发生的疲劳”的方向。
对IMS的5条可执行建议:
眼动扫描模式分析 比单纯PERCLOS更有价值——可区分经验水平和认知负荷
5秒预测窗口 是DMS警告设计的关键时间尺度——比3秒闭眼检测更前移
仪表/HUD注视分析 可直接迁移到汽车视线落点检测
SSVEP是远期方向(2029+) ——需干电极EEG技术成熟
航空CRM(机组资源管理)制度 可借鉴到汽车DMS——疲劳不只是技术问题,也是管理问题
论文链接: https://doi.org/10.3389/fnrgo.2025.1673268 参考: Somareality 7 Eye Tracking Metrics; Smart Eye Aviation; NTSB Aviation Accident Data