← 阅读室全部精读正在排版公式与图表…
PAPER ANALYZER · P22 · 跨场景方向

FERV39k:先读懂数据,才能研究跨场景表情识别

从场景层级、标注流程与视频采样,到可复核的跨域评价

Wang et al. · CVPR 2022 · arXiv:2203.09463

一句话总结

四粗场景、二十二细场景与七类表情构成跨场景基准;理解筛选、标签和划分比盲目换模型更重要。

为什么 FERV39k 是跨场景研究的起点

FERV39k: A Large-Scale Multi-Scene Dataset for Facial Expression Recognition in Videos 是 Wang 等人发表于 CVPR 2022 的数据集论文。它的重要性不在于提出一个复杂的新分类器,而在于把动态表情的场景差异组织成可研究的层级,并系统比较同场景与跨场景效果。想理解 EmWorld 的实验,应该先知道这个数据集怎样构建、标签代表什么、划分允许得出哪些结论。

论文正文及摘要报告三万八千九百三十五个视频片段、四个粗场景和二十二个细场景,使用七种基本表情类别。所读 arXiv 转换稿的比较表出现三万九千五百四十六这一不同计数;本页以正文报告的规模说明数据集,并保留版本差异。真正训练时应以获批下载的数据清单逐项计数,而不是硬编码文献中的总数。

作者是 Yan Wang、Yixuan Sun、Yiwen Huang、Zhongying Liu、Shuyong Gao、Wei Zhang、Weifeng Ge 和 Wenqiang Zhang。本文依据完整 arXiv 正文及附录、官方项目仓库阅读,并给出 CVF 正式论文链接;当前 CVF 抓取返回访问限制,因此没有把它当作已经逐页复核的另一版本。

粗场景、细场景、表情类是三种不同标签

四个粗场景分别是日常生活、弱交互表演、强交互活动和异常事件。日常生活包括争论、社交、学校、医疗、冲突与日常活动;弱交互表演包括动作表演、学术报告、演讲、艺术表演、现场节目和脱口秀。这些名称描述视频发生的环境与活动,不是表情本身。

强交互活动包括商务、实验、官方活动、犯罪、访谈和竞赛;异常事件包括历史、恐怖、战争和危机。不同场景中各表情出现频率与强度不同,因此场景标签能帮助分析分布变化。例如异常事件中恐惧的视觉表现可能与日常生活中的惊讶很接近,模型容易混淆。

最终基本表情类别为愤怒、厌恶、恐惧、高兴、悲伤、惊讶和中性。标注界面使用二十六种更细的词语帮助标注者理解,但这些词最终映射到七类。不能因为论文提到二十六个细粒度词,就把公开基准描述成一个二十六类细粒度识别任务;必须先确认下载标注是否保留这些细词及其可靠性。

同一片段可以同时具有一个场景标签与一个表情标签,二者是交叉维度。研究跨场景时希望类别语义保持一致,研究细粒度时可能要进一步区分同一基本类中的强度、动作或语义细节。FERV39k 的结构为前者提供直接条件,对后者则未必提供完整监督。

从网络视频到可学习片段的构建链

原文 Figure 2 给出构建流程,Figure 3 展示层级与标注安排。作者从多个平台收集原始视频,再生成候选短片。候选片段长约半秒到四秒,平均约一点五秒,强调单个人脸与较完整的短时上下文;这与任意抓取一张关键帧的静态表情数据不同。

候选筛选要求片段中主要为同一个人,并排除多脸、过小人脸、虚拟人脸、画中画等不符合规则的情况。附录说明超过百分之九十的帧需要检测到同一个人的脸。这样提高了数据处理一致性,但也定义了样本选择偏差:多人互动、重遮挡、快速镜头切换等真实困难可能被部分排除。

规则筛选后,中性和高兴仍然很多,因此作者训练一个基于 RAF-DB 的 ResNet50 表情检测器进一步筛选候选。附录报告该检测器在相应设置下准确率为百分之八十七点五三。这个数字是候选筛选器的实验表现,不是 FERV39k 上的最终动态识别结果,不能放进后续方法比较表冒充基准准确率。

预先训练的检测器参与数据构建,会让候选集更偏向它容易发现的表情。人工复核能改善标签质量,却不一定恢复所有被算法过滤掉的难例。因此把数据集称为自然场景,并不意味着采样没有人为规则;研究报告应理解它所覆盖和未覆盖的条件。

标注质量怎样控制

标注流程使用二十名众包标注者与十名专业研究人员。数据分组后,每组混入百分之五的专家参考标注,普通标注者不知道哪些是检查样本;同组复制三份交给不同标注流程,以便判断一致性。这样不仅生成类别标签,也对标注者的可靠性进行估计。

原文采用两级质量阈值:正确率低于百分之四十的组退回,百分之四十到八十之间需要警示与专业检查,更高的组也继续接受专业判断。最终使用带权多数决,专业补充标注权重更高,但并非永远能够压过大量一致意见。理解这些步骤比简单写“人工标注高质量”更具体。

标签仍然有主观与上下文依赖。可见面部动作、演员表演、情境暗示与人物真实心理状态并不相同;论文的任务是根据视频识别标注体系中的表情类别。把预测结果直接解释为真实情绪、诊断或心理意图,超出了该数据集能支持的结论。

五个评价公式:均为教学整理,不冒充原文编号

这是一篇数据集与基准论文,原文没有五个核心模型公式。为帮助你自己写评价脚本,下面明确给出教学定义。先把每类正确数和总数数清,再计算指标;不要为了满足形式要求,把这些式子伪装成作者提出的新算法。

$$R_c=\frac{TP_c}{N_c}$$

教学定义:第 c 类召回率,分母是真实属于该类的样本数。若某个评价子集没有该类,必须预先规定忽略、记为未定义或其他处理方式,不能默默除以零。

$$\operatorname{WAR}=\sum_c\frac{N_c}{N}R_c=\frac{\sum_cTP_c}{N}$$

教学定义:单标签分类下加权平均召回率等于总体准确率。样本多的类贡献更大,因此多数高兴和中性类别可能主导总体数值。

$$\operatorname{UAR}=\frac1C\sum_{c=1}^CR_c$$

教学定义:每类同等权重的平均召回率。它能突出少数类别问题,但仍需要逐类结果才能知道具体是哪一类变差。

$$\widehat P(y=c\mid s)=\frac{N_{s,c}}{\sum_jN_{s,j}}$$

教学统计:给定场景 s 的类别比例。比较这些比例可发现标签分布差异,帮助解释跨场景准确率变化并不全来自视觉风格。

$$A_{s\to t}=\frac1{N_t}\sum_{i\in D_t}\mathbf1[\widehat y_s(x_i)=y_i]$$

教学定义:在场景 s 训练、在场景 t 测试的准确率矩阵。行表示训练来源,列表示测试目标;固定目标列比较,更容易避免不同测试集难度的混淆。

$$\Delta_t=A_{t\to t}-A_{s\to t}$$

教学对照:同一目标测试集上,同域训练与跨域训练的差值。即便如此,训练数据规模和类别比例仍应控制,因此它不是已经剥离所有混杂因素的纯领域因果效应。

flowchart TD
V[Raw online videos] --> R[Rule based clip filtering]
R --> D[FER detector filtering]
D --> A[Crowd annotation]
A --> Q[Quality checks and expert review]
Q --> S[Scenario and expression labels]
S --> B[Within scenario benchmarks]
S --> C[Cross scenario matrix]

原文基准告诉我们什么

论文比较二维卷积、二维卷积加 LSTM、三维卷积和双流结构。这里双流主要结合人脸与场景上下文,不应按习惯写成人脸 RGB 加光流。网络输入尺寸与原始裁剪尺寸也不同:保存的人脸裁剪为二百二十四见方,基准预处理常用更小尺寸;复现需要核对实际进入模型的张量。

第一张表来自主文 Table 2,所有数值都是原文报告的 WAR 与 UAR 百分比。VGG13 加 LSTM 比单纯 VGG13 的整体结果更好,表明时序建模在这个设置中有用;但更深的 ResNet50 不一定更好。参数更多不等于在有限、长尾、噪声视频数据上必然有效。

第二张表摘录主文 Table 3 的跨场景比较,使用同一网络。这里固定测试目标为 AI,便于比较同域训练与其他场景训练。主文与附录重复实验表中的某些数值不同,本页没有跨表拼接,所有行都取主文对应表。

原文 Table 2:全部场景基准,百分比
方法WARUAR
ResNet1839.3330.3
ResNet5030.5722.47
VGG1341.0231.19
VGG13-LSTM43.3732.41
C3D31.6922.68
双流 VGG13-LSTM44.5432.79
原文 Table 3:RS50-LSTM,固定目标 AI,百分比
训练场景测试 AI WAR测试 AI UAR
DL24.2718.54
WIS24.6219.24
SIA27.7520.28
AI31.6224.16

图表背后的误差解释

原文 Figure 4 展示数据分布,Figure 5 及附录 Figure 13—16 提供混淆矩阵,Figure 6 分析采样与时序设置。阅读混淆矩阵时先看行归一化是否正确,再看厌恶、恐惧、惊讶等难类被误分到哪里;不能只凭颜色深浅猜测,因为不同图可能使用不同显示范围。

原文观察到高兴通常较容易,而厌恶、恐惧和惊讶受到数据量与表达强度变化的共同影响。上下文分支能提供额外线索,但也可能学习场景与类别之间的捷径。一个模型利用战争背景提高恐惧预测,不等于它更准确地识别了脸部动作;跨场景检验正是区分这些情况的重要工具。

视频帧数并非越多越好。冗余帧增加计算,稀疏采样又可能漏掉短暂表情峰值;固定间隔采样与均匀分段采样也不是同一个策略。你应记录帧数、帧率、间隔、短视频补帧方式及时间顺序,才能解释 LSTM 与三维卷积的比较是否公平。

仓库检查与数据访问边界

本次克隆官方 wangyanckxx/FERV39k,固定提交为 2395ffffa3dd62cdb31ab51da394c50c4d9c5cbc。当前树中可核验内容主要是 README 与介绍图片,没有训练器、数据加载器或完整配置脚本。README 的模型表有多个占位链接及未完成数值,所以不能把它当成可直接下载所有模型的代码发行版。

因此本页不伪造两段官方训练源码。实际实现入口应先从你已获得授权的数据清单与自己的基线脚本开始,后续若作者公开完整代码,再逐项对照输入预处理、划分和优化器。官方 README 声明研究用途和禁止再分发;学习网站只展示分析与公开来源链接,不上传视频或裁剪人脸数据。

论文基准使用训练与测试片段不重叠的划分,并报告整体、四粗场景和二十二细场景的实验方案。但片段不重叠不能自动证明人物或原始视频不重叠。若同一电影或同一人物出现在两边,模型可能利用相关线索;做强泛化声明前,应检查可用身份和视频来源字段。

具体落地:先完成数据审计,再训练模型

第一天的任务是创建 manifest.csv,包含 clip_id、video_id、scenario、scene、label、split、frame_count 与可用文件路径。输出每场景每类计数表,检查标签范围、重复样本、缺失帧和训练测试交集。没有来源字段时明确记为未知,不能通过文件名看起来不同就断言无泄漏。

第二天只实现读取一个批次。统一采样八帧作为教学起点,打印张量形状,保存一个仅在本地查看的时间顺序网格,人工确认没有把同一帧重复八次或把人脸与上下文错配。短片补帧规则必须固定;验收时同一个样本在评价模式下重复读取应得到相同帧索引。

第三天使用冻结二维编码器,对帧特征取均值后训练分类头,作为成本较低的基础对照。先让很小的训练子集过拟合,确认标签和损失通路正确,再跑正式划分。这个基线不等于原文从头训练的 VGG/LSTM 复现,应标为自己的兼容性学习基线。

第四天加入一个简单时序模块,保持同样帧数、编码器与训练预算,比较时序平均与 LSTM。接着选择两个粗场景做交叉测试,输出二乘二矩阵,并固定目标测试列解释差异。只有数据和评价稳定后,再接 DANN 或持续学习机制,避免把数据错误误判为算法失效。

最终验收包括数据统计、帧索引示例、总体与逐类指标、混淆矩阵和跨场景矩阵。能够解释二十六种标注词为什么不等于二十六分类、WAR 为什么可能掩盖难类、片段独立为什么不等于来源独立,就具备了阅读后续跨场景论文的基本判断能力。

作者局限与独立判断

作者强调了长尾、表达强度差异、复杂场景以及有效时序建模的挑战,并把更精细的帧级标注视为后续方向。其基准证明现有模型在这些设置下仍然困难,但没有证明某种单一模块已经解决了问题。研究起点应是找出具体失败条件,再决定是否需要新机制。

独立判断是:这个数据集的场景层级非常适合做可解释的跨场景切分,但粗场景还混合了拍摄来源、人物身份、类别比例和表演风格。把所有下降都称为域偏移会掩盖具体原因。可以先通过类比例匹配、来源分组和人脸/背景消融逐项缩小解释范围,再提出更有针对性的研究问题。

正式论文入口:CVF 开放论文;作者项目仓库。

可执行研究记录与评价纪律

把阅读成果变成可检查的实验记录。先建立一张样本清单,每行至少包括样本标识、原始视频或说话人标识、类别、场景、训练验证测试角色。先检查这些标识的交集,再开始训练。视频切成不同短片,并不意味着它们在语义、人物或拍摄来源上相互独立;随机划分得到的高分也不能自动证明跨场景泛化。

所有比较都应固定输入帧数、预训练权重、数据增强、优化步数和评价脚本。先用一个种子验证数据流、梯度和保存恢复,再用预先约定的多个种子做正式比较。记录每个种子的结果,报告均值和波动,而不是只保留最高一次。若为了显存缩小模型或批量,把它写入兼容性实验说明,不把改动后的结果称为原论文的严格复现。

检查分类效果时,同时保存逐样本预测和混淆矩阵。总体准确率上升可能只是多数类别变好;逐类召回率能揭示少数表情被牺牲的问题。跨场景实验还要报告每个场景的指标,防止样本量大的场景掩盖小场景退化。一个漂亮的特征可视化只能辅助观察,不能替代独立测试集、明确指标和误差分析。

模型选择必须与最终测试分开。用验证集选择学习率、训练轮数和新增模块的强度,先写清选择规则,再运行最终测试;不要根据测试集反复挑选超参数。若研究设定禁止访问旧数据,就不能为了选择防遗忘系数反复查看旧任务测试结果。可以预先固定系数,或另行声明验证数据的可访问范围,让比较遵循同一规则。

每次改动只回答一个问题,保存配置文件、代码提交、随机种子、数据清单哈希和检查点路径。最后交付一页实验说明,按“问题、对照、改动、结果、解释、失败案例”组织。若结果没有提高,先确认机制是否确实生效,再判断假设是否错误;未运行的实验只能写成计划,不能填上看似合理的数字。本文表格均为原文报告或明确注明的教学计算,并非本机复现实测。

原文短引与证据入口

原论文与完整上下文。以下三个短引仅定位作者用语,解释与判断见上文:“multi-scene”;“weighted winner-takes-all”;“cross-domain”。

自己的解释与验收记录

写出一条输入到输出的链路、一个关键公式的含义,以及你完成的最小检查。笔记仅保存在当前浏览器,可从主站「我的学习笔记」导出。