前言
驾驶员情绪状态对驾驶安全有重大影响。传统方法检测疲劳、分心,但难以捕捉 微表情(Micro-expression) 背后的真实情绪。Nature Scientific Reports 2025 发表的研究提出了一种基于 Action Unit(AU) 的微表情识别框架,准确率达 96.38%。
一、研究背景
1.1 情绪对驾驶的影响
| 情绪 |
对驾驶的影响 |
| 愤怒 |
攻击性驾驶,路怒 |
| 悲伤 |
注意力下降,反应迟钝 |
| 恐惧 |
过度谨慎,决策困难 |
| 厌恶 |
分心,注意力转移 |
| 压力 |
判断力下降,操作失误 |
| 过度兴奋 |
风险感知降低 |
1.2 微表情 vs 宏表情
| 特征 |
宏表情 |
微表情 |
| 持续时间 |
2-3 秒 |
1/25 - 1/5 秒 |
| 可见性 |
容易观察 |
难以察觉 |
| 可控性 |
可伪装 |
自发,难控制 |
| 真实性 |
可能虚假 |
真实情绪 |
1.3 Action Unit(AU)
FACS(Facial Action Coding System)定义了面部肌肉运动的基本单元:
| AU |
肌肉运动 |
情绪关联 |
| AU6 |
颧肌(面颊抬起) |
快乐 |
| AU12 |
口角提肌(嘴角上扬) |
快乐 |
| AU1 |
内眉提升 |
悲伤 |
| AU4 |
眉毛皱起 |
愤怒 |
| AU7 |
眼睑收紧 |
愤怒 |
| AU9 |
鼻皱 |
厌恶 |
| AU20 |
嘴唇拉伸 |
恐惧 |
二、方法架构
2.1 整体流程
1 2 3 4 5 6 7
| 视频序列 → 面部检测 → 图像增强 → AU 检测 ↓ ResNet18 特征提取 ↓ BiLSTM 时序建模 ↓ 情绪分类 + AU 聚类
|
2.2 数据预处理
| 步骤 |
方法 |
目的 |
| 面部检测 |
Haar Cascade |
定位面部区域 |
| 图像增强 |
CLAHE |
改善光照不均 |
| 尺寸标准化 |
224 × 224 |
模型输入要求 |
| 归一化 |
ImageNet 统计 |
利用预训练权重 |
2.3 模型架构
ResNet18 + BiLSTM:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 输入图像 (224×224×3) ↓ Conv 7×7 (64 filters, stride 2) ↓ BatchNorm + ReLU + MaxPool ↓ BasicBlock × 4 (64→128→256→512 filters) ↓ AdaptiveAvgPool2d (512×1×1) ↓ BiLSTM (hidden size 128) ↓ Dense Layer + Softmax ↓ AU 概率输出
|
2.4 AU 聚类
使用 层次聚类(Agglomerative Clustering) 对 AU 组合进行聚类:
- 每种情绪对应多个 AU 组合
- 如厌恶有 6 个子类:
- AU9(强烈厌恶)
- AU4+AU9(厌恶 + 愤怒)
- AU10(孤立厌恶)
- AU9+AU10(中等厌恶)
- AU10+AU25+AU26(轻微厌恶)
- AU9+AU12(微妙厌恶)
聚类评估:Adjusted Rand Index(ARI)
$$ARI = \frac{RI - Expected\ RI}{max(RI) - Expected\ RI}$$
三、数据集
3.1 SAMM 数据集
| 参数 |
值 |
| 微表情数量 |
159 个 |
| 帧率 |
200 fps |
| 分辨率 |
2040 × 1088 |
| 参与者 |
32 人(16 男 16 女) |
| 族裔 |
13 个族裔 |
| 年龄 |
平均 33.24 岁 |
| 情绪类别 |
7 类(含轻蔑) |
3.2 KMU-FED 数据集
| 参数 |
值 |
| 图像序列 |
55 个 |
| 参与者 |
12 人 |
| 摄像头 |
近红外相机 |
| 分辨率 |
1600 × 1200 |
| 光照变化 |
前/左/右/后光 |
| 遮挡情况 |
头发、墨镜 |
| 情绪类别 |
6 类 |
四、实验结果
4.1 情绪分类准确率
| 数据集 |
准确率 |
Precision |
Recall |
F1-Score |
| SAMM |
96.38% |
96.86% |
96.56% |
96.58% |
| KMU-FED |
95.96% |
96.30% |
96.27% |
96.25% |
4.2 交叉验证
| 数据集 |
5-fold CV 准确率 |
95% CI |
| SAMM |
94.23% ± 0.32 |
[93.83%, 94.63%] |
| KMU-FED |
93.10% ± 0.36 |
[92.64%, 93.56%] |
4.3 与 SOTA 对比
| 方法 |
数据集 |
准确率 |
| 本文(ResNet18 + BiLSTM) |
SAMM |
96.38% |
| 本文 |
KMU-FED |
95.96% |
| FERDERnet |
On-road |
~90% |
| 传统 CNN |
多数据集 |
85-90% |
五、情绪与 AU 对应关系
5.1 AU 组合模式
| 情绪 |
AU 组合示例 |
| 快乐 |
AU6(面颊抬起)+ AU12(嘴角上扬) |
| 悲伤 |
AU1(内眉提升)+ AU4(眉皱)+ AU15(嘴角下压) |
| 愤怒 |
AU4(眉皱)+ AU5(上睑提升)+ AU7(睑收紧) |
| 恐惧 |
AU1 + AU2 + AU4 + AU5 + AU20 + AU25 |
| 惊讶 |
AU1 + AU2 + AU5 + AU25 + AU26 |
| 厌恶 |
AU9(鼻皱)+ AU10(上唇提升) |
5.2 微表情子类
每种情绪可分为多个子类(以厌恶为例):
| 子类 |
AU 组合 |
含义 |
| ME1 |
AU10 |
孤立厌恶 |
| ME2 |
AU4+AU9 |
厌恶 + 愤怒 |
| ME3 |
AU10+AU25+AU26 |
轻微厌恶 |
| ME4 |
AU9+AU10 |
中等厌恶 |
| ME5 |
AU9 |
强烈厌恶 |
| ME6 |
AU9+AU12 |
微妙厌恶 |
六、对 IMS 开发的启示
6.1 技术选型
| 功能 |
推荐方案 |
| 疲劳检测 |
PERCLOS + 眼动追踪 |
| 分心检测 |
视线追踪 + 头部姿态 |
| 情绪检测 |
AU 分析 + 微表情识别 |
| 损伤检测 |
眼动行为 + AU 变化 |
6.2 算法流程
1 2 3 4 5 6 7 8 9 10 11 12 13
| DMS 摄像头 (60fps) ↓ 面部检测 ↓ AU 提取(FACS 预训练模型) ↓ ResNet + LSTM 特征提取 ↓ 情绪分类(6 类基础情绪) ↓ 驾驶风险关联 ↓ 警报/ADAS 调整
|
6.3 开发优先级
| 优先级 |
功能 |
技术难度 |
| P0 |
疲劳检测 |
⭐⭐ |
| P0 |
分心检测 |
⭐⭐ |
| P1 |
愤怒/压力检测 |
⭐⭐⭐ |
| P2 |
完整微表情分析 |
⭐⭐⭐⭐ |
6.4 部署考量
| 因素 |
说明 |
| 帧率 |
60fps 足够捕捉微表情 |
| 光照 |
红外摄像头,CLAHE 增强 |
| 遮挡 |
墨镜、口罩影响检测 |
| 算力 |
ResNet18 可在嵌入式平台运行 |
七、局限性
| 局限性 |
说明 |
| 遮挡 |
墨镜、口罩遮挡面部特征 |
| 个体差异 |
面部特征因人而异 |
| 文化差异 |
表达方式可能不同 |
| 实时性 |
微表情时间极短,需高帧率 |
| 数据集偏差 |
现有数据集族裔/年龄覆盖不足 |
总结
这篇论文提出了一种有效的 AU 驱动微表情识别框架:
- 高准确率:SAMM 96.38%,KMU-FED 95.96%
- 创新架构:ResNet18 + BiLSTM 空间-时序融合
- AU 聚类:每种情绪细分为多个子类
- 实际应用:驾驶场景情绪检测
对于 IMS 开发,情绪检测是 高级功能,应在疲劳/分心检测基础上逐步实现。
参考来源:
发布日期: 2026-04-09