本次我想给大家分享一篇我阅读的一篇论文总结,希望可以给做人脸表情识别和深度学习的同学带了帮助,谢谢!也感谢“计算机视觉战队”平台可以给我这样一个机会。
这次看的这篇paper主要提出一个基于深度卷积网络迁移学习的有效脸部表情识别模型。
在MSRA-CFW数据库中通过1580类脸部识别的任务训练深度卷积网络(ConvNets),且从训练的深度模型迁移高层特征去识别脸部表情。主要根据四个面部表情数据库(CK+,JAFFE,KDEF和Pain expressionsform PICS)建立了一个面部表情数据库含有七个基本情绪状态和2062个不平衡样本。
与基于SVM Gabor特征的50.65%识别率和基于SVM Distance特征的78.84%识别率相比较,本文达到平均80.49%的识别率。
考虑到实际情况下的遮挡情况,在遮挡情况下测试了该模型并证明了可在较小遮挡情况下可保持分类能力。为了进一步提高面部表情识别模型的能力,将改进后的模型融合高层特征,该高层特征从相同结构和不同训练集的两个训练好的深度ConvNets中迁移得到,改进后的模型明显提高了其在遮挡状态下的分类能力,并在自建面部表情数据库中达到平均81.50%的识别率。
主要工作:
设计了一个有效的面部表情识别模型,通过一个从深度ConvNets迁移学习的新想法去提取鲁棒特征用于面部表情识别,并提供了新的混合深度ConvNets去提高迁移特征的鲁棒性适用于遮挡情况。
一、深度卷积网络的面部识别
深度ConvNets由四个卷积层和最大池化层去特征提取,全连接的高层特征层和Softmax输出层预测识别类,具体如图1所示。
图1 深度ConvNets的结构用于人脸识别
输入图像是39×39灰色面部块,在MSRA-CFW数据库中其通过人脸检测算法从人脸图像中提取。每一层的特征数量在减少,最后将高层特征层固定在120个特征,其可表达丰富的人脸信息。最后一个Softmax输出层全连接的高层特征预测1580个识别类。深度模型中的卷积运算被描述为:
其中x^i和y^i表示第i个输入映射和第j个输出映射。*表示卷积,k^i,j表示第i个输入映射x^i和第j个输出映射y^i的核卷积连接。b^j表示第j个输出映射的偏置。
卷积操作的激活函数采用ReLU函数(f(x)=max(0,1)),其比Sigmoid激活函数更好。为了学习不同区域特征,每一层深度ConvNets的权重是局部共享。高层特征层全连接第四个卷基层(在ReLU函数之后),部分任务描述为:
其中x^i和y^i分别表示第四层卷基层的第i个输出值和在高层特征层中的第j个特征。x表示普通乘积。k^i,j表示第i个输出值和第j个特征之间的权值,b^j表示第j个特征的偏置。
深度ConvNets的输出是一个1580方式(1580种身份)的Softmax,其预测1580种输入面部块的概率分布,概率分布函数如下:
其中x^i线性地连接着最后隐藏层的高层特征z,y^i表示1580类的第i个概率。
二、面部表情识别
深度ConvNets充分训练后,采用多类SVM和来自训练好的深度ConvNets迁移的120维高层特征去分类7个表情状态(6个基本表情和一个自然表情)。多类SVM的训练数据包含(x1,y1),...,(xN,yN),其中xi表示120维特征向量(归一化和白化后),yi(yi∈(1,...,7))表示面部表情相对的标签。多类SVM建立7个表情函数,每一个描述为wkφ(xi)+bk去分开不同类别的训练向量。计算相当于一个优化问题,其最小目标函数:
目标的条件:
其中φ(xi)表示核函数映射训练向量xi到更高维空间,其是线性的或者接近线性可分。C表示惩罚函数,其惩罚训练误差。
表示松弛变量向量。
表示偏置向量。最后,判定函数表示为:
其中x和f(x)表示输入特征向量和输出面部表情标签。
在文章的工作中,φ核函数选择径向基函数(RBF),其已经非常广泛被用于分类。7个类别的SVM模型后已经被学习,本文训练好的模型可以用于识别面部表情。
三、模型改进用于遮挡面部
为进一步提高遮挡的鲁棒性,本文改进面部表情识别模型,改进的模型融合了两个训练好的深度ConvNets迁移的高层特征,且使用相同7个类的SVM分类器,其有240维高层组合特征去对7个表情状态分类。不同的是,其中一个在MSRA-CFW数据库中训练,另一个在MSRA-CFW有增加遮挡样本数据库中训练。
图2 用于遮挡面部的改进面部表情识别模型的结构
四、实验结果
1)模型比较结果
图3 三种表情识别模型在七种情绪状态下的表现
2)在遮挡条件下的模型评估
在遮挡条件下,该模型的性能进行评估,构建的人脸遮挡环境中,随机选择的区域方块大小M为:
5%,10%,15%,20%,25%,30%,35%,40%,45%,50%
图4 不同遮挡率的遮挡人脸
图5 在遮挡面部块的改进前后模型结果
五、总结
提出了一种有效的面部表情识别模型,其是来自训练的深度ConvNets迁移的鲁棒特征。深度ConvNets已通过面部识别任务在MSRA-CFW数据库训练,相比于基于Distance特征的78.84%识别率和基于Gabor特征的50.65%识别率,本文在自建人脸表情数据库的表情识别达到80.49%的识别率。同时本文还证明了在较小面部遮挡情况下,所提出的模型可以保持其分类能力。为了提高其分类能力,进一步改进了模型,在遮挡情况下改进后的模型分类能力有明显提高,并在自建表情数据库中实现了平均81.50%的识别率。未来的工作将探索不同的面部姿势和实时识别模型。