1.一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,包括如下步骤:步骤1:将若干个公共数据集拆分成为训练集、测试集和验证集;
步骤2:构建包含特征预提取模块、多层级注意模块和多尺度注意模块的面部表情识别模型;
步骤3:对模型输入的训练集、测试集和验证集的图像进行人脸检测和对齐,并将其裁剪为固定的大小;
对模型输入的训练集随机抽取10%的图像进行图像增强;
步骤4:将经过步骤3处理好的训练集图像,输入到构建的面部表情识别模型中,利用交叉熵损失和限制中心损失对模型中的参数进行训练和优化,直至训练到面部表情识别模型的准确度不再提升为止,具体过程如下:步骤4.1:将步骤3处理好的图像输入到特征预提取模块中,其中特征预提取模块包含n个基本块,将特征预提取模块中每个基本块的输出特征图Xi作为特征预提取模块每个阶段输出的特征;
步骤4.2:通过多层级注意模块中的权重分配模块对前n‑1个基本块输出的特征图,根据重要性的不同分配不同的权重αi;
步骤4.3:通过将多维特征图展开成一维度的打平操作以及全连接层将前n‑1个基本块输出的特征图Xi映射到同一尺寸维度上得到特征图Zi;
步骤4.4:将得到的αi与对应的Zi相乘后相加,得到多层级注意模块最终的输出Yout1;
步骤4.5:采用由平均池化层、全连接层、Sigmoid激活层和ReLu激活层顺序连接构成的SEBlock,对特征预提取模块第n个基本块的输出Xn进行通道维度上的加权,得到特征图S;
步骤4.6:利用多尺度注意模块中的多尺度融合模块对特征图S进行多尺度融合,得到特征图D;
步骤4.7:通过打平操作以及全连接层将特征图D映射到与Yout1同一尺寸维度上得到多尺度注意模块最终的输出Yout2;
步骤4.8:将Yout1和Yout2相加得到最终的特征输出Y,其计算公式为:Y=β1Yout1+β2Yout2,
其中,β1和β2为超参数;
步骤4.9:构建损失函数,计算损失,对面部表情识别模型进行优化,所述计算损失的损失函数具体如下:(1)交叉熵损失Lce,其计算公式为:
其中m代表每一个小批次中的样本个数,k代表类别的个数, 代表第h个样本对应的第g个类别的标签, 代表第h个样本对应输出的第g个类别的预测分数;
(2)限制中心损失Llc,其计算公式为:
其中,Yh代表第h个样本对应输出各类别的预测分数,ch代表第h个样本对应类别的中心g向量, 表示L2范数的平方,c代表第g个类别对应的中心向量,γ1、γ2、ω1、ω2为超参数,γ1和γ2调节Llc的大小,ω1约束限制类内距离,ω2约束限制类间距离,δ表示一个极小值;
(3)将交叉熵损失Lce和限制中心损失Llc相加,得到总的损失Ltotal;
步骤5:将经过步骤3处理好的训练集和测试集图像输入到面部表情识别模型模型中,得到相应的分类结果,识别表情。
2.根据权利要求1所述的一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,在步骤1中,所述训练集、测试集和验证集中均包含7种基本表情图像若干张;
所述7种基本表情为厌恶、快乐、生气、害怕、惊讶、悲伤和中性。
3.根据权利要求1所述的一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,在步骤3中,所述图像增强的操作为:水平翻转、随机裁剪、随机去除、随机旋转。
4.根据权利要求3所述的一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,在步骤4.2所述权重分配模块中,首先利用平均池化层对前n‑1个基本块输出的特征图Xi的通道信息进行聚合,得到平均池化通道向量其次,经过全连接层和激活层对通道向量 进行降维得到权重αi。
5.根据权利要求4所述的一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,在步骤4.5中所述SEBlock中,首先利用平均池化层对第n个基本块的输出Xn的通道信息进行聚合,得到平均池化通道向量其次,利用全连接层和激活层对 进行升维后降维得到与 尺寸一致的向量W;
最后,将得到的W与Xn相乘,得到特征图S。
6.根据权利要求5所述的一种基于多层级和多尺度注意机制的面部表情识别方法,其特征在于,在步骤4.6所述多尺度融合模块中,首先将特征图S分别经过三个空洞卷积层、归一化层和激活层,得到对应的特征图Dj;
其次,将得到的特征图Dj相加融合得到特征图D。