量化表情
- 表情由6中基本表情组合而成,分别是:生气、害怕、厌恶、开心、悲伤和吃惊,随后又加入藐视
- 虽然上述结论和文化有关并不通用,但因其创性的工作和直观的定义,使该模型在自动人脸表情识别中依然很流行
表情识别分类
图片表情识别
动态序列表情识别
概述
只需要对单张图片的空间信息进行编码表示
概述
需要考虑脸部表情序列连续帧的时间相关性
概述
根据两种视觉基本方法,还能假如声音和生理信号组成联合模型
深度表情识别的问题
- 存在的表情数据库无法满足深度学习关于目标识别的需求
- 由于不同的个人属性(例如年龄,性别,种族背景和表达水平),存在较高的主体间差异
步骤
预处理
深度特征学习
深度特征分类
作用
将不同的背景、光照和头部姿势等与表情无关的信息去掉,再进行对齐和归一化,让深度神经网络学习有意义的特征
分类
脸部对齐
步骤
1. 脸部检测
检测脸部,移除与人脸不相关的背景和非人脸区域
2. 脸部对齐
通过界标减少脸部大小和旋转的影响,从而大大增强FER的表现
数据增强
方式
离线方式
在线方式
包含在训练时,裁剪图片,水平翻转。主要是通过随机扰动训练模型
方式
- 随机扰动
- 图像变换(旋转、评议、翻转、缩放和对齐)
- 添加噪声(椒盐噪声和斑点噪声)
- 调整亮度和饱和度
- 在眼睛之间添加2维高斯分布的噪声
- 使用神经网络生成图像训练
脸部归一化
亮度归一化
概述
即使同一个人的同样标签再不同的图片中,光照和对比度会有大差别,这会导致很大的类内差异
姿势归一化
概述
在不做限制的情况下,姿势差异是一个普遍且棘手的问题,需要使用姿势归一化去得出额正脸图片
静态图片深度FER网络
训练
多阶段微调
解释
- 有两个表情识别的数据集FER2013和EmotiW
- FER2013又分成了FER28和FER32
- 组合4个实验得出两个数据集进行两个阶段微调效果最好
实验
- 两个阶段微调:先FER28,后EmotiW进行微调
- 两个阶段微调:先FER32,后EmotiW进行微调
- 一个阶段微调:组合FER32+EmotiW两个数据集然后微调
- 一个阶段微调:只是用EmotiW进行微调
两阶段训练算法
问题
FR和FER数据集存在巨大差异,人脸似乎别模型弱化了人脸表情的差异
详情
FaceNet2ExpNet
解释
- 先用FR的图片训练训练CNN的参数
- 固定上一步训练好的CNN,在用FER训练CNN的全连接分类网络
辅助块与层改进
辅助块
Supervised Scoring Ensemble (SSE)
概述
在卷积层的前端、中间层和最后层加入三个block然后用这三个block合并到最后的全连接计算预测和损失
Softmax改进
方法
Island Loss
概述
在特征提取层计算island loss,在决策层计算softmax loss,然后两个结合起来训练
LP Loss
原因
Softmax在表情识别领域的表现不太理想。这是由于表情的类间区分度较低,类内的差异又比较大
概述
根据triplet loss的理念,更新困难样本时给予更多的权重,同类和异类对的聚类损失有助于降低anchor的选择难度,以及阈值化triplet不等式
网络集成
概述
研究表明多网络组合要比单个独立网络有更好的表现
关键点
- 有效的网络多样性确保互补性
- 合适的融合方法能够有效地聚合committee网络
实现
网络多样性
- 训练数据增强
- 随机不同网络参数
- 不同网络结构
集成算法
分类
特征集成
决策集成
分类
- Majority Voting
- Simple Average
- Weighted Average
背景
- 表情识别数据过少,直接用来训练会导致过拟合
- 使用合适的大量的人脸识别数据要比使用普通数据好
- 是用人脸识别数据预训练,再使用表情识别数据微调效果更好
多任务网络
原因
许多FER网络都是只对表情敏感而忽视其他隐藏因素的单任务网络。但在现实中,往往需要考虑其他多种因素的作用
网络级联
概述
不同任务的各种模块以序列形式组合成一个更深的网络,上层模块输出被下一层所使用
原因
结合不同的结构去学习层次特征能把无关的表示逐渐过滤掉
动态图片序列的深度FER网络
帧聚合
原因
因为在剪辑视频中的帧的表情强度可能会有所不同,所以直接计算每个帧的误差可能无法得出令人满意的结果。所以需要对帧进行聚合
方法
决策级帧聚合
特征级帧聚合
概述
序列中每帧的n类结果会被整合,最方便的方法就是之别把每帧的输出拼接起来。
问题
每个序列帧的数量可能是不一样的
方法
生成固定长度特征向量
帧平均
概述
通过平均帧的向量压缩帧的数量
帧扩展
概述
通过复制帧的向量扩展帧的数量
使用统计算
概述
通过使用统计函数总结序列里每帧的概率
概述
将序列中每帧学习到的特征进行聚合
表情强度网络
原因
大部分的方法都关注高峰强度表情的识别,而忽视轻微的低强度表情
概述
用不同强度的表情作为输入分析序列中有固定联系不同强度的表情
深度时空FER网络
原因
虽然帧聚合能够整合视频序列里的帧,但重要的时间依赖没有被明确利用
概述
使用FER网络使用时间窗口里一系列的帧作为输入,利用上下文和时间信息编码更细节的表情
方法
RNN
C3D
在通常图像上的2D空间卷积的基础上,沿着时间轴加了一个时间维度,就形成了3D时空卷积
脸部landmark运动轨迹
通过研究五官的变化轨迹,进而分析表情的变化
级联网络
CNN提取特征,级联RNN做序列特征分类
网络集成
两路CNN网络模型用于行为识别,一路用多帧数据的稠密光流训练获取时间信息,一路用于单帧图像特征学习,最后融合两路CNN的输出