这是ACM MM2019的一篇文章,主要解决遮挡情况下的表情识别,与相关工作相比,主要贡献可以总结如下:(1)是第一个引入非遮挡面部图像作为隐藏信息来指导遮挡分类器的学习过程; (2) 提出在标签和特征空间中指导遮挡分类器的学习过程,并在遮挡面部表情识别方面实现最先进的性能。
一、网络结构
1、2个backbone(图中深蓝色、橘黄色)分别对遮挡、非遮挡的表情分类,文中backbone选用ImageNet预训练过的ResNet50,将最后的1000个输出改为7个;
2、在两个backbone中的28x28x512这一层特征图后,加一个5层的CNN(图中绿色)作为鉴别器D;
3、在遮挡的28x28x512特征图后加一个3个反卷积层,作为解码器网络(图中浅蓝色);
4、测试时只用到遮挡的backbone,直接输出7个结果中的一个。
二、各种损失
文中提出的非遮挡对遮挡的“标签空间”和“特征空间”的指导都具体体现在各种损失上。
1、backbone的损失
2个backbone都用多类别交叉熵。此处注意,文中先用遮挡和非遮挡的图片预训练了那2个backbone,然后固定非遮挡backbone的参数,后面的训练都是改变遮挡的backbone的参数;
2、标签空间指导
2.1、Similarity Constraint
相似性约束首先在名为 SVM2K [3] 的多模态方法中引入。它迫使两种模态的输出相似,它们之间的大差异将受到惩罚。
yo是遮挡网络的输出,yc是非遮挡网络的输出。
个人理解:因为遮挡和非遮挡是同一个表情,所以这俩输出应该相同,所以不同时应该受到惩罚。
2.2、Loss Inequality Regularization
一种正则化方法, 在[13]中提出, LIR 的前提是特权信息比主要特征更具辨别力。 对于面部表情识别,非遮挡图像显然比遮挡图像更具辨别力。所以遮挡的损失要高于非遮挡的损失。lsup表示backbone的多分类交叉熵。优化一下(2)得到(3),[x]+表示max(0,x)。
3、特征空间的指导
3.1、Adversarial Loss
考虑GAN的思想,ho和hc分别表示遮挡和非遮挡的2828512的特征图,将ho看做假,hc看做真。引入鉴别器D(网络结构图中的绿色),判断输入的h是真的概率,D的损失为(5),根据GAN的思想,优化损失为(6)。
3.2、Reconstructed Loss
构建解码器(网络结构图中的浅蓝色)根据遮挡图片恢复为未遮挡的图片,从而有个重建损失(7)。x^是解码器的输出,xc是真正的未遮挡图片。
4、总损失
这里的lsup应该单指遮挡网络的loss,因为预训练后,非遮挡网络的参数固定了。
三、训练过程
[3] Jason Farquhar, David Hardoon, Hongying Meng, John S Shawe-taylor, and Sandor Szedmak. 2006. Two view learning: SVM-2K, theory and practice. In Advances in neural information processing systems. 355–362.
[13] Ziheng Wang and Qiang Ji. 2015. Classifier learning with hidden information. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.4969–4977.