论文全名叫:Deep multi-path convolutional neural network joint with salient region attention for facial expression recognition
解释下论文的题目:使用了一个深度的多路径卷积神经网络结合一个显著区域注意机制来进行人脸表情识别,所以对应的贡献点就离不开深度多路径卷积神经网络和显著区域注意力机制。这个论文有代码哦,是表情识别为数不多有代码的,不容易。
1、Contribution(文中提出来的)
①提出了一个网络架构DAM-CNN,能够自动的定位表情图像钟的表情敏感区域,也就是那些嘴角、眼睛之类的区域,并生成要给高等级的特征表示,对诸多变化类似于姿态、光照都有很好的鲁棒性,并且该网络架构能够用于其他类似的分类任务。
②提出的SERD能够自动的量化每个图像区域多表情识别任务的重要性,能够自动过滤掉冗余特征并保留对表情识别起作用的显著特征。
③设计了一个新的编码解码网络,称为MPVS-Net,这个网络的作用是为了抑制像姿态变化、性别差异带来的多种变化。通过对编码器和解码器的联合训练,可以从多种变化钟提取到表情相关信息。
④提出的DAM-CNN在六种数据集上去的了很好的效果(套话忽视)。
2、Method
这是这个网络的结构,整体上分为三部分:
①特征提取模块:就是一个VGG-Face,这个用的很多,用作提取体征。
②SERD:这个模块通俗的来讲,就是对前面VGG-Face提取的特征做个筛选,保留其中与表情有关的区域特征。
③MPVS-Net:这个名字叫多路径变化抑制网络,字面上的理解就是抑制光照、姿态这种变化对表情识别带来的影响。
VGG-Face
对VGG-Face进行了微调,也就是把最后一个池化层改了,把特征表示改成了77512。
SERD:量化每个图像区域的重要性,过滤冗余特征 ,保留有用的显著特征
流程:
①将提取的特征馈入到注意力网络。
②生成一个注意力掩码来量化每个区域的重要性。(我也不知道叫注意力掩码正不正确,先这么叫着,这个注意力掩码是通过一个一层的卷积模型来获得的)
③提取的特征通过注意力掩码来加权,并在传送到下个模块前进行加权。
M表示得到的attentive Mask,fa是一个非线性函数,也就是tanh激活函数,把整个mask的值限制在(-1,1)之间,Wa是卷积层中卷积层的大小,设置为115121,hc就是前面的VGG-Face提取到的特征map,大小为77512,Ba就是bias,公式中的就是卷积操作,这样得到的M就是一个7*7的mask。
mask的每个元素都与通道中相同位置的特征有关,而特征对应与输入的图像区域,所以每个注意权重能反映对应区域的重要程度,达到保留输入的空间信息的目的。将图像中具有较高注意权重的区域视为显著表情区域。
为了区分对表情识别有用的特征,通过attentive mask对提取的特征进行加权,随后用ReLu函数进行激活:
g表示relu函数,中间的符号就是乘,得到的hs就是需要的显著特征,这样就过滤掉冗余特征,为有用的特征附加了一个正的注意力权重。
为了获得mask的最优解,还引入了一个正则化项:
这个公式分成两坨,第一坨是为了防止attentive Mask饱和,让他保持稀疏,第二坨则是给注意力权重要给较大的值。
再后面把VGG-Face与SERD做个嵌合,得到VGG-SERD,为了提高分类的性能,还设计了一个交叉熵损失,这个损失就是把预测标签和真实标签来做损失。
我现在主要关注前面这坨,后面的MPVS-Net看倒是看了,但最近事比较多,以后有空了再补上。