摘要:
面部表情识别需要网络能够捕捉面部关键点的扭曲,本文相信二阶统计值协方差更能够捕捉区域面部特征的扭曲.在这项工作中,我们探讨了使用流形网络结构的协方差池来改善面部表情识别的好处。特别是,我们首先将这种流形网络与传统卷积网络结合起来,以端到端的深度学习方式在单个图像特征映射中进行空间池化。实验表明在SFEW2.0的validation上达到了58.14%, 在RAF上达到了87.0%.在当时达到了SOTA.此外,我们利用协方差池来捕捉基于视频的面部表情识别中每帧特征的时间演化。我们的研究结果表明,将设计好的协方差池流形网络叠加在卷积网络层上,在时间上汇集图像集特征的优点。
原理讲解:
- 协方差池化
传统卷积神经网络的卷积层,最大/平均池化,全连接层只能捕捉一阶信息,RELU虽然引入了非线性,但只是在单个像素水平上.本文相信协方差矩阵池化可以比一阶统计值更好的提取特征.
如果是一组特征,则其协方差矩阵为
其中,
只有当{f 1,f 2,…,f n}中的线性独立分量个数大于d时,所得到的矩阵才是对称正定矩阵(SPD)。为了利用SPD流形网络的几何结构保持层[11],协方差矩阵必须是SPD。然而,即使矩阵仅为半正定,也可以通过将矩阵的trace的倍数添加到协方差矩阵的对角线项来对其进行正则化:
其中,lambda为正则参数,I为单位矩阵
1)空间池化的协方差矩阵
对于基于图像的面部表情识别,将卷积层的特征flatten为(w*h, c)个特征记为{f1, f2, ...fn},其中 fi 为c维向量,n=w*h.按照等式1计算协方差,然后利用等式2对其正则处理.
2)时间池化的协方差矩阵
对于基于视频的面部表情识别,取全连接层的输出作为特征向量,{f1, f2, ...fn}分别为每一帧的特征,同样计算协方差矩阵并且进行正则.
2.SPD流行网络层
由此得到的协方差矩阵通常位于SPD矩阵的黎曼流形上。直接展平和应用全连通层直接导致几何信息的丢失。标准方法是应用对数运算来展平黎曼流形结构,从而能够应用欧氏空间的标准损失函数[6][20]。由此得到的协方差矩阵往往很大,需要在不丢失几何结构的前提下减小其维数。在[11]中,作者引入了特殊的层来降低SPD矩阵的维数,并将黎曼流形展平以应用标准损失函数。下面我们简短的讨论一下[11]用来学习黎曼流形的层.
双线性映射层(BiMap):利用特征计算的协方差矩阵可能很大,并且在将它们展平后直接应用完全连接的层可能是不可行的。此外,在减小尺寸的同时保持几何结构也很重要。BiMap层完成了这两个条件,并且与传统的完全连接层起到相同的作用。
其中,X(K-1)为SPD矩阵输入,W(k)为全秩矩阵空间的权值矩阵,X(k)为矩阵输出.
特征值整流(ReEig):ReEig层可以被用于引入非线性类似ReLU.
其中,X(k-1)是SPD矩阵的输入,X(k)是输出,I的系数为特征值整流阈值,U(k-1)和a(k-1)由特征值分解X(k-1)=U(k-1)a(k-1)[U(k-1)]T定义, 最大运算是元素矩阵运算。
对数特征值层(LogEig):SPD矩阵依赖黎曼流形,最后的LogEig层赋予黎曼流形中的元素一个李群结构,使得矩阵可以被展平,并且可以应用标准的欧氏运算。
其中,X(k)=U(k-1)a(k-1)[U(k-1)]T是一个特征值分解,log是按位运算的矩阵操作.
BiMap and ReEig layers can be used together as a block and is abbreviated as BiRe.