In the Blink of an Eye: Event-based Emotion Recognition
Dalian University of Technology; Princeton University; College of William & Mary
一句话总结
用一台戴在单只眼睛前的事件相机(event camera)配合轻量脉冲神经网络 SEEN,在各种复杂光照下实时(30 FPS)识别人的情绪。
研究背景
- 领域现状:实时情绪识别是众多”以人为中心”交互体验(自适应叙事、情绪感知虚拟化身)的基石。现有面部情绪识别大多依赖 ResNet、Transformer、Inception 等重型 CNN,从完整人脸的 RGB 视频里提取时空线索。
- 核心痛点:RGB 视频流的情绪线索容易被头部姿态、遮挡、剧烈运动和光照变化破坏;已有针对眼部的方法(Eyemotion、EMO)要么依赖主动红外光源,要么需要为每个人做个性化初始化(减去中性图或参考特征),既侵入又有隐私顾虑,而且几乎不利用时间线索。
- 本文 idea:换一种传感器。事件相机具有更高动态范围(约 140 dB vs. 80 dB)和更高时间分辨率(微秒级 vs. 十毫秒级),能在恶劣光照下稳定编码时间线索。但事件流稀疏、缺纹理,难以直接解码。作者用脉冲神经网络(SNN)擅长处理时序脉冲的能力来解码事件,并从对应的强度帧里补上空间纹理线索,二者融合完成情绪分类,且无需任何个性化步骤。
方法
整体框架:SEEN(Spiking Eye Emotion Network)由一个空间特征提取器 \(S\) 和一个时间特征提取器 \(T\) 构成,二者部分共享卷积结构。给定一段序列,取首帧 \(I_1\) 与末帧 \(I_n\) 两张强度帧交给 \(S\) 提取空间纹理线索;把两帧之间异步事件聚合成 \(n\) 个同步事件帧 \(E_1 \dots E_n\),按时间顺序逐帧送入基于 CNN-SNN 的 \(T\)。最后把空间线索与时间特征融合,得到 \(n\) 个情绪打分,取平均作为最终预测。
flowchart LR
A["首/末强度帧 I1, In"] --> S["空间提取器 S<br/>多尺度自注意力"]
B["n 个事件帧 E1..En"] --> T["时间提取器 T<br/>CNN-SNN 层"]
S -- "权重复制 + 空间线索 Js" --> T
T --> R["逐帧情绪打分取平均 → 情绪类别"]
关键设计:
-
空间特征提取器 \(S\):只用首末两帧,让输入尺寸与序列长度解耦。核心是多尺度自注意力感知模块 \(\Omega\),在 3/5/7 三种邻域尺度上提取判别性特征,再经卷积转成脉冲格式 \(J_s\)。形式上 \(J_s = \Phi_1(F_s)\),其中 \(F_s = C_3(C_3(\Omega_{(3,5,7)}(l_s)))\),\(l_s\) 由首末帧拼接卷积得到。
-
基于 CNN-SNN 的时间特征提取器 \(T\):以 LIF(leaky integrate-and-fire)脉冲神经元为基础。由于脉冲触发本身不可微,用时空反向传播(STBP)配合 CNN-SNN 层训练——CNN 层负责多样化的膜电位累积策略,SNN 神经元负责电位衰减与复位。SNN 神经元通过膜电位的累积、衰减、复位记住跨帧的时序趋势,其脉冲机制天然还起到时间记忆和噪声过滤的作用。膜电位更新遵循 \(V_t = \alpha V_{t-1}(1 - P_{t-1}) + X_t\),当电位超过阈值 \(\Theta\)(实验取 0.3)时触发脉冲并复位。
-
权重复制方案(weight-copy):这是核心创新。事件帧缺纹理,直接训练 \(T\) 里位于脉冲加法算子之前的卷积块会失败。作者要求 \(S\) 与 \(T\) 在该算子前的卷积块结构完全一致,训练时只在 \(S\) 中更新这些卷积权重,然后复制到 \(T\);\(T\) 中只训练全连接层。由于监督损失经脉冲加法同时受空间与时间域影响,而 \(T\) 复制来的权重被冻结,空间特征的训练必须同时兼顾时间线索,从而隐式弥合了强度帧与事件帧之间的域差异。推理时自注意力权重也直接从 \(S\) 复制到 \(T\),进一步加速。
-
输出与损失:把 \(n\) 个膜电位取平均后经 Softmax 得到情绪概率 \(R = \sigma(\frac{1}{n}\sum_{t=1}^{n} O_t)\),用标准七类交叉熵损失监督。用膜电位(浮点)而非脉冲(二值)做输出,能保留更高精度的判别特征。
实验结果
作者自采并公开了 SEE(Single-eye Event-based Emotion)数据集:111 名志愿者、DAVIS346 相机置于右眼前、7 类情绪、4 种光照(正常/过曝/低光/HDR),共 2405 段序列(128712 帧),无需主动光源。测试时随机选取起点,用 UAR(非加权平均召回)和 WAR(加权平均召回)评估;E\(x\)-S\(y\) 表示累积 \(x\) 帧、每两帧间跳过 \(y\) 的窗口设置。
下表为主实验:SEEN 与代表性基线在 SEE 上的整体对比(全部在 SEE 上重训重测)。
| 方法 | 类型 | WAR↑ | UAR↑ | FLOPS(G)↓ | Time(ms)↓ |
|---|---|---|---|---|---|
| Former DFER | Face | 65.8 | 67.2 | 8.3 | 7.7 |
| Eyemotion | Eye | 78.8 | 79.5 | 5.7 | 17.5 |
| EMO | Eye | 63.1 | 63.3 | 0.3 | 7.1 |
| Ours (E4-S3) | Eye | 83.6 | 84.1 | 0.9 | 7.2 |
| Ours (E13-S0) | Eye | 82.3 | 82.5 | 2.6 | 19.0 |
E4-S3 设置下 SEEN 比亚军 Eyemotion 在 WAR/UAR 上分别高 4.8% 和 4.6%,且计算量仅 0.9 GFLOPS、推理 7.2 ms,是第二快的方法,却比最快的 EMO 准确率高 20% 以上。序列越长精度越高(尤其 HDR 下);仅在低光下 Eyemotion 略优,作者归因于其 ImageNet 预训练(去掉预训练后 Eyemotion 反而更低)。
消融实验(Table 2)进一步表明:首末两帧的空间差异对时间线索提取至关重要;权重复制与自注意力复制均有正贡献;把 CNN-SNN 换成 CNN/LSTM/Transformer/3D CNN 都明显掉点(SNN 的脉冲记忆与降噪最有效);用 \(n\) 个膜电位取平均比用最后一帧电位、脉冲或平均脉冲都更准。
亮点与局限
- 亮点:
- 首个把事件相机 + 脉冲神经网络用于单眼情绪识别的工作,思路新颖;
- 权重复制方案巧妙地让缺纹理的事件分支借用强度帧学到的空间注意力,弥合域差异;
- 轻量、实时(Jetson TX2 上 30 FPS)、无需主动光源和个性化,适合野外部署;
- 贡献了首个含强度帧与原始事件、覆盖四种光照的公开单眼情绪数据集 SEE。
- 局限:
- 方法仍部分依赖强度帧的空间特征,在极端退化光照(如严重低光)下性能明显下滑;
- 单只右眼观测终究丢失了大量面部动作单元信息,情绪类别间(如恐惧/惊讶)易混淆;
- 数据集在 111 名受试者上采集,跨人群、跨文化的泛化性有待验证。
延伸思考
- 作者点明的未来方向是”仅靠事件流”实现鲁棒识别,摆脱对强度帧的依赖——这需要更强的事件去噪与自监督时序表征。
- 权重复制本质是一种跨模态知识迁移/蒸馏思路,可能推广到其他”一路信息丰富、一路稀疏噪声”的多模态任务(如事件相机做手势、注视、微表情识别)。
- SNN 在神经形态芯片上有低功耗优势,配合事件相机的异步稀疏特性,这条”事件 + SNN”路线在可穿戴/边缘 AR 设备上的能效潜力值得深挖。
- 单眼情绪识别与眼动追踪、注视估计天然同源,或可与 VR/AR 头显里的眼球追踪管线共用传感器,做统一的情绪-注意力感知。