表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》

研究背景

1. 大多数FER(Facial Expression Recognition)方法在学习期间独立地考虑每个样本,忽略每对样本之间的内在相关,这限制了模型的辨别能力。

2. 大多数FER方法专注于识别明显可区分的peak expressions 并忽略最常见non-peak  expression样本。

 下图展示了从non-peak  expression到peak  expression的演变过程。

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第1张图片

研究方法

本文设计了一个新的模型——preak-piloted deep network(PPDN),该模型使用peak expression的中间层特征监督non-peak expression的中间层特征的变化,并将SGD更改为peak gradient suppression (PGS),从而实现了non-peak expression向peak expression转换,并且不允许peak expression向non-peak expression转换。改模型提高了non-peak expression的识别率。具体过程如下:

  1. 将peak expression、non-peak expression和相应的标签输入到CNN模型中(本文使用GoogleNet),提取相应的特征;
  2. 使用L2正则化最小化peak expressio特征和non-peak expression特征之间的距离(可以使用在任意的网络层中)
  3. 对于这两种图像(peak expression和non-peak expression),均使用交叉熵损失来获取各自可能的分类标签。

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第2张图片

1.网络设置

由于分类模型在几个与脸部相关的识别任务中的出色表现,该网络使用GoogLeNet作为基本的网络架构,即特征提取部分。

GoogLeNet中过滤器的初始化身仅限于1 * 1,3 * 3和5 * 5。 总的来说,GoogLeNet在两个卷积层和两个最大池层之后实现了九个初始结构。

之后,第一个全连接层生成1024维度的中间特征,第二个全连接层生成6个标签的预测概率。

2.损失函数

对于输入的训练数据集S=x_{i}^{p}表示peak expression,x_{i}^{n}表示相应的non-peak expression,y_{i}^{p}y_{i}^{n}为相应的标签),PPDN模型主要由三个损失函数构成,分别包括peak expression和non-peak expression在任意网络层中对应的特征图的L2损失函数J_{1}和各自分类的交叉熵损失函数J_{2}J_{3},具体损失函数设计如下:

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第3张图片

其中\Omega需要进行特征转换的网络层,f_{j}表示第j层的特征图,L表示真实标签和预测标签的交叉熵损失函数,W表示网络参数,最后的正则项\lambda \left \| W \right \|^{2}被用来惩罚网络参数W的复杂性。

针对PPDN网络,作者提出一个peak gradient suppression(PGS)替代SGD来实现反向传播过程。对于上述的损失函数,若使用SGD,网络参数应使用以下公式进行更新:

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第4张图片

但是为了实现non-peak expression向peak expression转换,并且不允许peak expression向non-peak expression转换,PGS使用如下公式更新网络参数:

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第5张图片

PGS去除了SGD中peak expression的特征相应,即,作者证明了这种方法并不会阻碍模型的学习,因为PGS参数的更新方向是整体损失的下降方向,尽管不是最陡的下降方向。

3.模型训练

本文使用表情识别CK+和Oulu-CASIA数据集上进行训练和测试。

预训练

在大规模的人脸识别数据集CASIA Webface数据集上预训练GoogleNet,然后在表情识别FER数据集上微调。

测试

在测试期间,PPDN将一个静止图像作为输入,输出所有6个标签的预测概率。

实验结果

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第6张图片

表情识别入门:ECCV2016《Peak-Piloted Deep Network for Facial Expression Recognition》_第7张图片

你可能感兴趣的:(论文,表情识别)