Self-supervised Representation Learning from Videos for Facial Action Unit Detection(CVPR 2019)
Paper PDF
Introduction
Facial Action -> Functional -> usual methods -> problem -> proposed method
人脸作为人类之间交流所面对的人体器官,可以显示出无数种信息。为了全面的研究面部的运动模式,Ekman和Friesen开发了面部动作编码系统(FACS),它定义了一套独特的约40个原子级别的面部肌肉动作,称为动作单元(Action Units, AUs)。通过对人脸面部运动单元的检测,我们可以从中获取大量与人内心活动有关的信息,并具有广泛的应用场景。比如,表情识别、健康评估、人机交互等等。通常对AUs的检测算法按照类型可以分为以下三种:
- Descriptor:
- Supervised:
- Self-supervised:
由于给视频中人脸打面部运动单元标签的任务困难,导致在AUs检测方面的数据集极为缺乏,小样本的监督学习也容易造成过拟合。对此,本篇论文提出基于检测运动信号的自监督学习方式。考虑到不同帧中人物头部的差异由面部的AUs变化和头部姿势的改变两者共同造成,本文提出一种Twin-Cycle Autoencoder(ACAE)来同时学习头部姿势相关和面部运动单元相关的运动信息,并以此来解耦两者,达到提取discriminative的AUs表征。具体来讲,TCAE通过预测AUs相关和头部姿势相关的运动,将源帧的AUs和头姿态转换为目标帧的AUs和头部姿态。
Innovation
- 用像素移动来表示AU以及头部姿态的运动,并以这种运用信号,来进行自监督的学习。具体见##Cycle with AU/pose changed
- 对AU和头部的运动进行解耦,获得更加‘纯粹’的AU表征。
Method
整个网络架构如上图所示,可以大致分为以下三个模块:
Feature disentangling
TCAE首先对源人脸图像和目标人脸图像使用编码器分别获得各自的AU特征(ϕs,ϕt)和头部姿势特征(ψs,ψt)。TCAE将ϕs,ϕt级联在一起输入AU-related解码器DA,DA用来解码AUs是如何从源脸变换为目标脸。同理,将ψs,ψt级联在一起输入pose-related解码器DP,DP用来解码头部姿势是如何从源脸变换为目标脸。
论文中将这种变换定义为像素的移动。比如AUs造成的变换可以定义为一个矩阵τA∈RW×H×2,其中W,H分别代表图像的宽和高。τxyA=(δx,δy),其中δx,δy分别表示在位置(x,y)上的像素在x方向和y方向的位移量。因此,τA作为一种变换,将原始人脸改变为AU-changed的人脸,即Is↦IA。
与之相似,我们从pose-related解码器DP从获得与头部姿态相关的像素的移动τP。τP作为一种变换,将原始人脸改变为pose-changed的人脸,即Is↦IP。
为了区分AU和位姿变化引起的位移,我们在τA上加入L1正则化,以保持AU-related运动的稀疏性和精微性,如式所示:
L1A=x,y∑∥τxyA∥1(1)
Target reconstruction
TCAE通过线性组合的方式来整合由τA和τP造成的帧间差异。
s.t.τxy=αxyAτxyA+αxyPτxyAαxyA+αxyP=1
τ作为变换,将源人脸映射为预测的目标人脸。因此,我们需要限制变换后的人脸与目标人脸的相似度,如式2所示:
Lrec=∥τ(Is)−It∥1(2)
其中,Is,It分别为源人脸图片和目标人脸图片。
Cycle with AU/pose changed
在 AU-changed 的循环中:
给定输入(ϕsϕt),DA解码到由Is到IA的变换τA。这个变换具体为一个(W×H×3)矩阵,包含每个像素点的mask和偏移量。基于变换τA,我们可以得到AU-changed人脸IA=τA(Is)。并定义IA经过编码器得到AU相关特征ϕsA,头部姿态相关特征ψsA。
那么,给定输入(ϕsϕsA),DA可以解码为到由IA到Is的变换τ−A。如果我们在AU-changed人脸IA上使用变换τ−A,得到的人脸图像τ−A(IA)=τ−A(τA(Is))一定和源人脸Is相似。因此,得到另一约束条件,如公式3所示:
LcycA=∥τ−A(τA(Is))−Is∥1(3)
除此之外,我们还要考虑特征级别的一致性。考虑到图像Is经历AU相关的变换得到图像IA,因此Is和IA在头部姿态特征上应该具有相似性,It和IA在AU特征上应该具有相似性,因此我们得到公式5:
LembA=∥ψsA−ψs∥2+∥ϕsA−ϕt∥2(5)
pose-changed的循环中:
给定输入(ψsψt),DP解码到由Is到IP的变换τP。基于变换τP,我们可以得到pose-changed人脸IP=τP(Is)。并定义IP经过编码器得到AU相关特征ϕsP,头部姿态相关特征ψsP。
那么,给定输入(ψsψsA),DP可以解码为到由IP到Is的变换τ−P。如果我们在pose-changed人脸IP上使用变换τ−P,得到的人脸图像τ−P(IP)=τ−P(τP(Is))一定和源人脸Is相似。因此,得到另一约束条件,如公式4所示:
LcycP=∥τ−P(τP(Is))−Is∥1(4)
除此之外,我们还要考虑特征级别的一致性。考虑到图像Is经历头部姿态相关的变换得到图像IP,因此Is和IP在AU特征上应该具有相似性,It和IP在头部姿态特征上应该具有相似性,因此我们得到公式6:
LembP=∥ϕsP−ϕs∥2+∥ψsP−ψt∥2(6)
Experiment
Implementation details Detailed
编解码器的设计如下图所示:
Loss 函数如公式7所示
L=W×H×31Lrec+W×H×2λ1L1A+W×H×3λ2(LcycA+LcycP)+256λ3(LembA+LembP)(7)
训练的过程中采用了Curriculum Learning的方式,即难度递增的策略进行训练。
Comparisons with other methods
表中数值均为F1-score:
Analysis