Recent developments for the facial expression recognition problem consider processing the entire image regardless of the face crop location within the image. Such developments bring in extraneous artifacts, including noise,which might be harmful for classification as well as incur in unnecessary additional computational cost. This is problematic as the minutiae that characterizes facial expressions can be affected by elements such as hair, jewelry, and other environmental objects not defining the actual face and as part of the image background.
Four ResBlocks were used to extract high-dimensional features for image attention and to maintain spatial information; no pooling or strided convolutional layers were used.
使用4个ResBlocks来提取高维度特征,保留空间信息。如图所示。
Reconstruction Module
The reconstruction layer adjusts the attention map to create an enhanced input to the representation module. This module has two convolutional layers, a Relu layer, and an Average Pooling layer which, by design choice, resizes the input image of 128 × 128 to 32 × 32.
Representation and classification module
the network function, builds a representation for a sample image $x \\in R^D$ 主要是建立一个网络,对图片进行再表示,它的分类结果要与原图的分类结果足够接近。 详细过程参照论文,比较复杂。
损失函数
expriments
实验部分主要进行Rep模块的对照实验,数据集上的性能比较及算法对噪声的鲁棒性实验。
Datasets
Our image renderer R creates a synthetic larger dataset using real face datasets by making background changes and geometric transformations of face images.
现在的大部分研究关注的都是光照,姿态,遮挡等对表情识别的影响。作者关注的是个体差异像年龄,性别,种族背景等因素对表情识别的影响(the current main challenge comes from the large variations of individuals in attributes such as: age, gender, ethnic background and personality.)
Inspriation
people are capable of recognizing facial expressions by comparing a subject’s expression with a reference expression (i.e., neutral expression) of the same subject[1].
a facial expression can be decomposed to an expressive component and neutral component[2] 人们可以通过一个参考表情来识别其它表情(这里参考表情用的是中性表情);一个人脸表情可以分为中性部分和表情部分。如图所示。
cGAN[3]被用来从一个给定的图片生成一个中性人脸表情。 cGAN训练的输入是一个图像对$$,而生成器的输出为$I_{output}$。其中$I_{target}$是图片的中性表情的ground truth。$I_{output}$输出的是GAN生成的中性表情 The discriminator tries to distinguish the $< I_{input}, I_{target} >$ from the $< I_{input}, I_{output} >$ 判别器是为了尽力区分输出表情与ground truth之间的差别 the generator tries to not only maximally confuse the discriminator but also generate an image as close to the target image as possible. 而生成器则是尽可能使输出与ground truth足够接近,进而混淆视听。 Generator的目标函数 Discriminator的目标函数 cGAN的目标函数
拥有尽可能多的复杂环境的带标签的训练数据庥对于深度人脸表情识别系统的设计量至关重要的。在这一章,我们主要讨论那些包含基本表情,并广泛应用于深度学习算法评估的公共数据集。表X提供了这些数据集的概览。包含人的数量,图片或视频用例的数量,数据集收集的环境,表情的分布和其它信息。 表X 人脸表情数据集概览 CK+:CK+数据集是评估FER系统中应用最广泛的采集于实验室的数据集。CK+数据集包含来自123个人的593个视频序列,这些序列从10帧到60帧数量不等,并且展示出表情从中性到峰值的变化。这些视频序列都标有基于FACS的七个基本的表情标签(愤怒,蔑视,厌恶,害怕,高兴,悲伤,惊讶)。因为CK+并不提供特定的训练集,验证集和测试集,所有算法在这个数据集的评估方式存在差异,基于静态图片的最觉见的数据选取方法是提取每一个视频序列的第一帧,带有峰值信息的三帧及最后一帧。然后,将这些受试者被分成n组来进行n重交叉验证实验,通常选取的n值为5, 8, 10。 JAFFE:日本女性表情数集(JAFFE)是一个在实验室采集的图像数据集,其中包含来自10名日本女性的213张姿态表情。每一个人都有3-4张基本表情(愤怒,厌恶,害怕,高兴,悲伤和惊讶),有一张中性的表情。由于该数据集拥有较少的图片,导致它具有一定的挑战性。 FER2013:FER2013数据集首次在ICML2013特征学习挑战赛中提出的。FER2013是使用谷歌图片搜索引擎自动收集的大规模,不受约束的数据集。所有的图片大小被调整到$48\times48$的。FER2013中包含28709张训练数据集,3589张验证数据集和3589张测试数据集,每张图片标注有七种标签(愤怒,厌恶,害怕,高兴,悲伤,惊讶和中性)之一。 AFEW:AFEW(Acted Facial Expression in the Wild)数据集自2013年起开始作为每年的EmotiW(Emotion Recognition in the Wild Challenge)的评测平台。AFEW包含来自不同的电影带有连续表情的电影片段,其中涉及姿态,遮挡和光照等复杂环境。每个样例标记有七个表情:愤怒,厌恶,恐惧,高兴,悲伤,惊讶和中性。表情的标签在持续更新,并有现实中的真人秀节目的数据不断增加进来。 EmotiW2017的AFEW 7.0数据集按照来自电影或真人秀的受试者将数据集分成三部分:训练集(773个),验证集(383个),测试集(653个)。 SFEW:SFEW(The Static Facial Expressions in the Wild)是基于脸部关键点计算关键帧从AFEW数据集中选取静态帧组成的。最常用的版本是SFEW2.0,其是EmotiW2015中SReco子挑战的基准数据集。SFEW2.0被分成三个数据集:训练数据集(958个),验证数据集(436个)和测试数据集(372个)。每张图片都被标记为七种表情种类(愤怒,厌恶,害怕,中性,高兴,悲伤和惊讶)的一种。 BU-3DFE:BU-3DFE(Binghamton University 3D Facial Expression)包含来自100个人的606个人脸表情序列。对于每张图片,都显式的标出6种基本表情(愤怒,厌恶,害怕,高兴,悲伤和惊讶)的强度。和Multi-PIE相似,这个数据集通常被用于3D人脸表情分析。 Oulu-CASIA:Oulu-CASIA数据集包含来自80个个体共2880个视频序列,都标有六种基本表情标签:愤怒,厌恶,害怕,高兴,悲伤和惊讶等。环境为近红外光,可见光,三种不同的光照条件。同CK+数据集类似,它的第一帧是中性表情,最后一帧有峰值表情。特别是来自480个视频的最后三帧峰值表情和第一帧用来做10重交叉验证实验。 EmotionNet:EmotionNet是一个大型的数据集,它拥有100万张收自网络的人脸表情图片。其中的95万张图片用AU检测模型(action unit)来自动标注,剩下的25万张图片则是用11AUs去手动标注。在EmotinNet挑战赛上,提供了带有6种基本表情和10种综合表情标签的2478张图片。 RAF-DB:RAF-DB(Real-world Affective Face Database)是包含下载自互联网的29672张表情图片的真实世界的数据集。借助手动标注和可靠的估算,每个样例标有7个基本表情和11个综合表情标签。基本表情数据集中15339张图片被分成两组(12271个训练样例和3068个测试用例)用来评估算法性能。 AffectNet:AffectNet数据集包含来自网络的100多万张图片,每张图片使用不同的搜索引擎用与表情相关的关键字查询所获得。其中的45张图片已经被手式标注了8个基本表情标签。 ExpW:ExpW(Expression in-the-Wild Database)包含91793张使用google图片搜索引擎下载的人脸图片,每一张人脸的图片都被手动标注为7种基本表情的一种,无人脸的图片将在标注过程中移除掉。
由于 FER 研究将其主要关注点转移到具有挑战性的真实场景条件下,许多研究人员利用深度学习技术来解决这些困难,如光照变化、遮挡、非正面头部姿势、身份偏差和低强度表情识别。考虑到 FER 是一个数据驱动的任务,并且训练一个足够深的网络需要大量的训练数据,深度 FER 系统面临的主要挑战是在质量和数量方面都缺乏训练数据。由于不同年龄、文化和性别的人以不同的方式做出面部表情,因此理想的面部表情数据集应该包括丰富的具有精确面部属性标签的样本图像,不仅仅是表情,还有其他属性,例如年龄、性别、种族,这将有助于跨年龄、跨性别和跨文化的深度 FER 相关研究。另一方面,对大量复杂的自然场景图像进行精准标注是构建表情数据库一个明显的障碍。
#define MAX (1 << 30) intcal(string s, int beg, int end){//计算变成回文串的步数 int len = end - beg + 1, res = 0; if(len <= 0){ return0; } else{ for(int i = beg, j = end; i < beg + (end - beg + 1) / 2; ++i, --j){ if(s[i] != s[j]){ ++res; } } return res; } }
classSolution { public: intpalindromePartition(string s, int k){ int dp[105][105];//dp[i][j]表示将长为j的字符串分成i段 int len = s.size(); for(int i = 0; i <= 100; ++i){//初始化 for(int j = 0; j <= 100; ++j){ if(i >= j){ dp[i][j] = 0; } else{ dp[i][j] = MAX; } } } for(int i = 1; i <= k; ++i){//分段 for(int j = i; j <= len; ++j){//j的长度 for(int k = i - 1; k <= j; ++k){ dp[i][j] = min(dp[i][j], dp[i - 1][k] + cal(s, k, j - 1)); } } } return dp[k][len]; } };