分享一篇《Deep Multi-task Learning for Facial Expression Recognition and Synthesis Based on Selective Feature Sharing》,作者提出了一种带有卷积特征泄露单元的多任务网络结构,可以在面部表情识别任务和面部表情合成任务之间通过ConvFLU过滤掉无用和导致损害的特征的方式有选择地传递有益特征。并且使用面部表情合成分支来扩大和平衡训练数据集来提升网络的泛化能力。实验表明所提出的多任务网络在人脸表情图像的识别与合成方面取得了良好的效果。
Multi-task network:
多任务网络中有两个分支,分别是FER(面部表情识别)分支和FES(面部表情合成)分支。在两个分支中前四个卷积块都由ConvFLUs(Convolutional Feature Leaky Units)相连,分别针对FER和FES任务提取判别特征。fcls 根据FER分支提出的特征对输入图片的表情进行预测输出概率分布Pz
。在FES分支中,变量z
控制合成图片的表情,ftra
对输入的信息进行编码,产生与FES分支提取的同样尺寸的feature maps,再将这两种feature maps进行通道融合,最后解码器fdec
对合并后的feature maps进行重建,误导patch-based判别器。
Convolutional Feature Leaky Unit:
ConvFLU灵感来自于GRU,通过修改GRU的结构,使得在不同任务间交换信息的时候可以过滤掉无用的和对任务不利的特征。Laeky gate rxyi-1 控制从任务y到任务x的信息泄漏。rxyi-1
定义如下:
在图中zxyi-1 表示一个memory gate,它决定了保留之前feature maps多少信息,zxyi-1
定义如下:
通过leaky gate 和 memory gate,ConvFLU可以选择出对任务有用的特征。最终,Fxyi 可表达为:
Learning for FER and FES:
论文用所提出的FERSNet同时解决了FER和FES任务。在FER任务中,使用了标准的交叉熵损失进行训练,记为:
对于FES任务,为了合成更符合真实视觉感官的面部图像,使用了标准的GAN损失,同时使用目标图片和合成面目图片的均方误差作为重建损失。最后利用循环一致性损失保证源图像与循环重建图像的一致性,以及使用保恒等性损失减小原始图片中提取出的特征与用pretrained light CNN提取的合成人脸图像的特征间的距离,进一步提高了合成精度。总的损失和部分损失定义如下:
Loss for training FERSNet:
patch-based discriminator loss定义为:
Reconstruction loss 定义为:
Cycle consistency loss 定义为:
Identity preserving loss 定义为:
Experiments
Data:
本文所提的FERSNet使用的是Single image,从Image sequence提取图片的策略如下:
CK+: 选择最后三个峰值帧加入数据集
Oulu-CASIA: 选择最后三个峰值帧加入数据集
MMI: 选择每个序列中间的三个帧
Evaluation on CK+:
Evaluation on Oulu-CASIA:
Evaluation on MMI:
作者认为LBVCNN使用的是Image sequence,额外使用了时间信息,而FERSNet仅仅使用了来自一张静态图片的空间信息,就能获得与LBVCNN相近的能力。
Evaluation on FES:
将FES与其他生成模型生成的面部表情数据分别加入到CK+、Oulu-CASIA中,表现结果如下:
Ablation Study
其中w/o表示without,w/表示with,FES-DA表示加入FES生成的面部表情图片。