CVPR:Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estima
Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estimation
Abstract
AU强度检测在情感计算和人机交互中有着重要的作用,实际上以及有很多工作利用CNN来进行AU强度的检测,但是都需要大量的标注数据。因此本文提出一个“基于知识的半监督的深度卷积神经网络”来进行AU强度的检测,只需要少量的标注数据(在训练序列中只需要有AU强度标注的peak和valley frames)。
Introduction
我们知道表情可以通过面部肌肉的运动来衡量,Ekman和Friesen创造了Facial Action Coding System(FACS)来描述面部肌肉的运动,定义了AU来表示肌肉的运动。FACS将AU强度划分为6个离散的等级(0~6):
Neural(0)<Trace(A)<Slight(B)<Pronounced(C)<Extreme(D)<Maximum(E)Neural(0)<Trace(A)<Slight(B)<Pronounced(C)<Extreme(D)<Maximum(E)Neural(0)。
所谓的AU强度检测就是:给定一副未见过的图片,来预测AU的强度。
本文的“基于知识的半监督的深度卷积神经网络”模型使用先验知识来促进模型的学习,减少数据间的依赖性。该模型只需要少量的标注数据:有AU强度标注的peak和valley frames。为了利用未标记的帧(unlabeled frames),作者还尝试挖掘AU强度中的领域知识(domain knowledge),包括:appearance similarity,temporal intensity ordering,facial symmetry以及contrastive appearance difference,为模型的训练提供了额外的约束。
上面所谓的domain knowledge来源于对AU强度在表情序列(emotional sequence)中的观察。
1. 上图-(b)展示了AU12的强度随时间的变化。一开始,由于肌肉的变化比较平滑(smooth),所以AU变化的比较平滑,接下来AU强度逐渐上升,从valley frame变为临近的peak frame(这个过程称为rising duration),然后逐渐从peak frame下降到临近的valley frame(这个过程称为decaying duration)本文的网络在进行AU强度预测时会保留这种关系。
2. 在rising以及decaying duration中,两个帧越相近,则他们的外表看起来会越相似(appearance similarity),在学习中促使提取的特征保持这种特性
3. 人脸是对称的。因此AU的出现和强度对于人脸的左右两侧是几乎一致的。因此面部左右的特征表示应该相近。尽管图片中存在不同的头部角度,但是学习的特征应该对于不同的角度应具有不变性(invariant to head pose)。
4. 一个具有表情的面部肯定是和中性的面部(neural face)在表现上是不同的,因此两者的特征也应该是容易被区分的。
这些领域知识为弱监督(weak supervision)提供了可行的手段,且有利于挖掘无标记帧所蕴含的信息。
本文的贡献:
- 提出“基于知识的半监督的深度卷积神经网络”模型,只需要少量的标注数据:有AU强度标注的peak和valley frames。降低了对大量标注数据的依赖。
- 挖掘了四种领域知识:appearance similarity,temporal intensity ordering,facial symmetry以及contrastive appearance difference,为有标记数据和无标记数据建立了联系。
- 提出在模型训练中使用五元组(5-elements tuples),而不是单个的帧(individual frame)或者帧对(frame pairs),可以有效的利用多帧(multiple frames)之间的高阶关系。
Proposed Method
如图-1(b)所示,给定了有标注的peak和valley frames,这个帧序列就可以划分为不同的segment。根据AU强度的趋势,segments可以分为三组:
- 由valley frame到peak frame
- 由peak frame到valley frame
- AU强度保持不变
为了使趋势一致,作者反转了从peak frame到valley frame的顺序,由此每个训练segment或是由valley frame到peak frame,或是AU强度保持不变。
符号标记:
对某个AU,训练集定义为D={Xm,y1m,yNmm}Mm=1D={Xm,ym1,ymNm}m=1MD=\left \{ \textbf{X}_m,y_m^1,y_m^{N_m} \right \}_{m=1}^M,其中Xm={Xnm}Nmn=1Xm={Xmn}n=1Nm\textbf{X}_m=\left \{ X_m^n \right \}_{n=1}^{N_m},其中XnmXmnX_m^n表示训练集中第m个segment中的第n个帧。NmNmN_m表示第m个序列的长度。在每个segment中,只有第一帧和最后一帧拥有AU强度的标记,所以y1mym1y_m^1表示X1mXm1X_m^1的强度,yNmmymNmy_m^{N_m}表示XNmmXmNmX_m^{N_m}。又定义ΘΘ\Theta 表示CNN的参数,y~nm=f(Xnm;Θ)y~mn=f(Xmn;Θ) \tilde{y}_m^n=f(X_m^n;\Theta)表示对XnmXmnX_m^n的预测强度,fnmfmnf_m^n表示对XnmXmnX_m^n抽取的特征,换言之,CNN的最后一层全连接层。另外,定义d(a,b)d(a,b)d(a,b)表示两者之间距离d(a,b)=|a−b|2d(a,b)=|a−b|2d(a,b)=\left | a-b \right |^2。
我们的目标是学习参数ΘΘ\Theta,由于对每一个AU,peak和valley的frames的位置是不同的,因此训练CNN每次用于识别一个AU的强度。
Domain Knowledge
Relative appearance similarity:
因为面部容貌变化平滑,在一个segment中,两帧越近,看起来越像。所以对于相近的两幅图,我们使CNN提取的图片的特征也相近。
d(f_m^i,f_m^j)\leq d(f_m^i,f_m^k),1\leq i
其中 d(fim,fjm)=∥∥fim−fjm∥∥2d(fmi,fmj)=‖fmi−fmj‖2d(f_m^i,f_m^j)=\left \| f_m^i-f_m^j \right \|^2。当i,j,k包含第一帧和最后一帧时,上式就将有标记的帧和无标记的帧联系了起来。
Teporal intensity ordering:
前面说过,在面部运动中,当肌肉变化平滑时,面部容貌(facial appearance)的变化也是平滑的。对于AU强度也是如此。相邻的帧有着相似的面部容貌和AU强度。对于整个序列,根据peak和valley可以划分为一系列的segment,对每一个segment,AU强度单调的变化(注意前面所说的反转操作)。为了利用AU强度的顺序来监督模型的训练过程,对预测的一个segment中的AU强度进行如下的限制:
\tilde{y}_m^1\leq \tilde{y}_m^2\leq \dots \leq\tilde{y}_m^{N_m},m=1,2,\dots,M \tag{2}
Facial symmetry:
人脸具有对称的特性,对于一张根据两眼中心归一化后的人脸,从中间进行反转后(horizontally flipped face)需要与原有的特征相近,即:
d(f_m^n,\hat{f}_m^n)=\left \| f_m^n-\hat{f}_m^n \right \|^2 \tag{3}
应该具有很小的值。其中 f^nmf^mn\hat{f}_m^n表示翻转后的面部。
Contrastive appearance difference:
对每一个人(subject),一个具有表情的面部是不同于中性的面部的(neutral faces)。因此对于本文的CNN,使其能够区分有表情的面部和中性的面部。即定义两者之间的距离满足:
d(f_m^n,f_m^N)=\left \| f_m^n-f_m^N \right \|\geq \eta \tag{4}
其中, ηη\eta是阈值, fNmfmNf_m^N是有标记的中性面部的特征,且属于第m个segment的某个人(subject)。
Encoding knowledge
Trainging tuples:
本文没有直接利用公式2-4来构造目标函数,而是基于训练的元组,对知识进行编码。如图3所示。对一个segment的元组定义为:T={S,A,B,E,N}T={S,A,B,E,N}T=\left \{ S,A,B,E,N \right \}。其中S<A<B<ES<A<B<ES以及N表示帧的index。整个元组包含这个segment中的初始帧(S)和最终帧(E),S与E之间的两帧(A和B),以及中性帧(N)。S,E和N是有标签的,而A和B是无标签的。给定一个训练segment,我们可以生成大量的这样的元组。对来自同一个segment中的元组,有着共同的S和E,有标记的中性帧N可以来自同一个人(subject)的其它的segment。
\ell_{lb}(T)=d(\tilde{y}^S,y^S)+d(\tilde{y}^E,y^E)\tag{5}
Encoding relative appearance similarity:
同理,对于公式1,作者基于元组设计了一个损失以充分利用有标记的初始帧和最终帧。这个损失有以下特性:
- 能够捕捉一个segment中面部的变化,换言之,从初始帧到最终帧,特征越来越与初始帧不同,越来越接近于最终帧;
- 充分利用有标记的帧;
- 能够考虑多种帧之间的高阶的关系;
给定元组T,损失定义为:
\ell_{rel}(T)=max(d(f^S,f^A)-d(f^S,f^B)+\alpha,0)\\ +max(d(f^E,f^B)-d(f^E,f^A)+\alpha,0)\\ +max(d(f^B,f^A)-d(f^B,f^S),0)\\ +max(d(f^A,f^B)-d(f^A,f^E),0) \tag{6}
其中, α≥0α≥0\alpha\geq 0是边界。每一项是一个triplet loss。
如图4所示,为了确保只有(b)这种情况出现,引入另外的项来确保,这个很简单,比如对图中的情况,只需要添加一个约束,认为A到B的距离要小于S到B的距离即可。上图只给出了对于起始帧的情况,对于终止帧也是一样的。这就有了公式(6)中的后两项。对于图3中两类不同的元组,使用不同的边界,即:α=0α=0\alpha=0 如果 yS=yEyS=yEy^S=y^E,否则,α>0α>0\alpha>0。
Encoding temporal intensity ordering:
这里考虑对公式(2)进行转化,给定一个元组T,预测的AU强度应满足y~S≤y~A≤y~B≤y~Ey~S≤y~A≤y~B≤y~E\tilde{y}^S\leq \tilde{y}^A \leq \tilde{y}^B \leq \tilde{y}^E,
可以编码为:
\ell=max(\tilde{y}^S-\tilde{y}^A,0)+max(\tilde{y}^A-\tilde{y}^B,0)\\ +max(\tilde{y}^B-\tilde{y}^E,0) \tag{7}
但是这样有个问题,它只考虑了两对之间的关系,忽略了与其它帧的关系。比如,当预测值为 y~S≤y~B≤y~A≤y~Ey~S≤y~B≤y~A≤y~E\tilde{y}^S\leq \tilde{y}^B \leq \tilde{y}^A \leq \tilde{y}^E时,只有第二项的梯度,S和E没用用到。为了充分利用高阶的信息。
同前面一样,我们还需要另外两项约束,以及考虑两种元组,此时损失为:
\ell_{ord}(T)=max(d(\tilde{y}^S,\tilde{y}^A)-d(\tilde{y}^S,\tilde{y}^B)+\beta,0)\\ +max(d(\tilde{y}^E,\tilde{y}^B)-d(\tilde{y}^E,\tilde{y}^A)+\beta,0)\\ +max(d(\tilde{y}^B,\tilde{y}^A)-d(\tilde{y}^B,\tilde{y}^S)+\beta,0)\\ +max(d(\tilde{y}^A,\tilde{y}^B)-d(\tilde{y}^A,\tilde{y}^E)+\beta,0)\\ \tag{8}
Encoding facial symmetry:
这个比较简单,直接定义为:
\ell_{sym}(T)=d(f^A,\hat{f}^A)+d(f^B,\hat{f}^B) \tag{9}
这里只考虑到了A和B,因为S和E对于同一segment中的元组是相同的。此外,在某些元组中,A和B可以很接近S和E,因为它们也可以覆盖S和E中的相似的信息。又因为S可以是中性帧,因此N也没有被考虑。
Encoding contrastive appearance difference:
给定元组T,loss是:
\ell_{con}(T)=max(\eta -d(f^A,f^N),0)\\ +max(\eta-d(f^B,f^N),0) \tag{10}
其中 η≥0η≥0\eta\geq 0是阈值。如果 yS=yE=0yS=yE=0y^S=y^E=0,则 η=0η=0\eta=0,否则 η>0η>0\eta>0。
Learning
对于一个训练元组的整个损失是:
\ell(T)=\ell_{lb}(T)+\lambda_1\ell_{rel}(T)+\lambda_2\ell_{ord}(T)\\ +\lambda_3\ell_{sym}(T)+\lambda_4\ell_{con}(T)\tag{11}
对所有的训练元组上的损失是:
L(D_T)=\frac{1}{G}\sum_{m=1}^{M}\sum_{k=1}^{K_m}\ell(T_m^k) \tag{12}
其中 G=∑Mm=1KmG=∑m=1MKmG=\sum_{m=1}^{M}K_m。
Inference:
尽管CNN是使用元组来训练的,但是可以对某张图片进行AU强度的预测。给定一张测试图片,预测的结果为y=f(X;Θ)y=f(X;Θ)y=f(X;\Theta),换言之,将预测值转换为离散结果:0(y<0.5),1(0.5≤y≤1.5),2(1.5≤y≤2.5),3(2.5≤y≤3.5),4(3.5≤y≤4.5),5(4.5≤y)0(y<0.5),1(0.5≤y≤1.5),2(1.5≤y≤2.5),3(2.5≤y≤3.5),4(3.5≤y≤4.5),5(4.5≤y)0(y。
CVPR:Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estima相关推荐
- PRN(20200816):A Hierarchical Deep Convolutional Neural Network for Incremental Learning [Tree-CNN]
Roy D , Panda P , Roy K . Tree-CNN: A Hierarchical Deep Convolutional Neural Network for Incremental ...
- A Deep Convolutional Neural Network for segmenting and classifying epithelial and stromal regions
文章全名:<A Deep Convolutional Neural Network for segmenting and classifying epithelial and stromal ...
- 【医学+深度论文:F16】2015 EMBC Glaucoma detection based on deep convolutional neural network
16 2015 EMBC Glaucoma detection based on deep convolutional neural network Method : 分类 Dataset :ORIG ...
- 二值网络--Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy
Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy IEEE Winter Con ...
- 目标检测--A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection ECCV2016 https://g ...
- Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》
论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...
- [Paper]Application of deep convolutional neural network for automated detection of myocardial...
*侵删 *限于博主英语水平,若翻译不当之处恳请批评指正~3Q Application of deep convolutional neural network for automated detect ...
- 【转】ASPLOS'17论文导读——SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Comput
今年去参加了ASPLOS 2017大会,这个会议总体来说我感觉偏系统和偏软一点,涉及硬件的相对少一些,对我这个喜欢算法以及硬件架构的菜鸟来说并不算非常契合.中间记录了几篇相对比较有趣的paper,今天 ...
- HD-CNN: HIERARCHICAL DEEP CONVOLUTIONAL NEURAL NETWORK FOR IMAGE CLASSIFICATION(泛读)
一.文献名字和作者 HD-CNN: HIERARCHICAL DEEP CONVOLUTIONAL NEURAL NETWORK FOR IMAGE CLASSIFICATION, 2014 二 ...
最新文章
- sourcetree和git同步分支
- Java API —— BigInteger类
- [POJ 3270]Cow Sorting
- esp32 蓝牙启动流程_TWS真无线蓝牙耳机多功能测试设备
- 远程控制软件 TeamViewer | Windoes和Linux下teamviewer软件互连
- Py:递归求解汉诺塔,简单的几行编程可以搞定很高层的三柱汉诺塔游戏
- zz 标 题: 求weka JVM outofMemory问题的解决方案【已解决】
- 使用eclipse以及Juint进行测试
- 编码规范 | Java函数优雅之道(下)
- html编辑器后怎么使用,html在线编辑器怎么用
- 「小程序JAVA实战」微信小程序工程结构了解(五)
- html+css做圆角表格
- 期刊的中科院分区和JCR分区以及影响因子查询方法
- Ubuntu桌面卡死、You are in emergency mode
- 如何在twitter上看片_我在Twitter上一年学到的东西
- 转载 | 上汽集团云计算中心的开源之路
- 工业设计公司常对设计有什么要求?
- 五面阿里拿下飞猪事业部offer,统统给你解决!
- itext操作word,设置页眉页脚,html转word
- 恋人日记服务器维护中,知乐日记:恋人不会在最终相遇 因为他们本来就一直在一起...