基于Self-adjust网络模型的人脸图像情感分析方法

2022-04-07 06:03邓亚萍尹甜甜郑承宇
关键词:正则人脸标签

邓亚萍,王 新,尹甜甜,王 婷,郑承宇

(云南民族大学 数学与计算机科学学院,云南 昆明 650500)

人脸表情是喜怒哀乐的一种直观表现,具有丰富的情感内涵,是情感分析的一个重要研究方向。在过去的研究中,人脸图像情感分析大多是对浅层信息如颜色、轮廓等进行分析[1]。Borth等[2]利用视觉情感本体训练得到情感库,然后利用情感库进行预测分析,为解决语义鸿沟问题提供了新思路。近几年,研究者开始利用深度学习进行情感特征提取。You等[3]利用已有的数据集训练卷积神经网络(convolutional neural network,CNN)模型,最终得到了一个更有判别力的情感模型PCNN(progressive CNN)。Xu等[4]利用大量数据集预训练模型参数,通过迁移学习将参数放入图像情感分析模型中,最终达到了减少训练时间的目的。Song等[5]首次将自注意力机制与CNN模型结合起来,利用已知的显著性区域来指导注意力机制学习,弥补了自注意力机制在情感特征提取方面的不足。Yang等[6]通过目标检测确定候选区域,再根据情感分数等择优选择情感区域,最后通过CNN融合策略确定情感倾向。Yang等[7]还提出了用弱监督耦合网络模型进行视觉情感分析。蔡国永等[8]利用对象探测器确定目标的局部区域,然后将整体特征和局部区域特征结合起来共同训练图像情感分析模型。Wu等[9]首先通过系统定位确定图像中显著的目标区域,再分别训练显著性目标和图像情感分析模型,最后根据两者的预测结果确定最终的情感特征。

本研究提出了一种基于Self-adjust网络模型的人脸图像情感分析方法,该方法能抑制人脸图像情感分析的不确定性,防止深层网络对不确定的人脸图像进行过拟合,同时对错误分类的标签进行矫正。

1 基于CNN的Self-adjust网络模型

基于CNN的Self-adjust网络模型分为4个部分:人脸对齐图像预处理、注意力机制Focal损失加权、秩正则化排序、重新分类。在该模型中,不确定样本会获得低重要性权重,从而落入低重要性组,通过重新加权来减少其负面影响,最后通过重新分类对错误标签进行矫正。这些矫正的样本可以在下一次训练中获得高重要性权重,所以不确定样本可以通过重新分类来自行矫正。

1.1 人脸对齐图像预处理

大规模的人脸数据集中存在许多无关信息,为了增强信息的有效性,自动人脸关键点检测是面部情感分析之前的重要步骤,故采用人脸对齐的方法对数据集进行预处理。人脸对齐是根据输入的人脸图像确定其面部关键点,如嘴角、眼睛、鼻尖等关键部位[10]。将人脸对齐视为级联线性回归模型,以图像x作为输入,学习一个回归函数F,输出θ为人脸形状的特征点,即θ=F(x)。

级联回归模型的框架为学习多个回归函数{f1,f2, …,fn-1,fn}来逼近函数F(x):

θ=F(x)=fn(fn-1(…,f1(θ0,x),x),x),

(1)

θi=fi(θi-1,x),i=1,2,…,n。

(2)

级联的定义就是当前的函数fi需要通过其上一级函数fi-1的输出θi-1来确定,而每一个fi的学习目标是靠近最终位置θ,式(1)中的θ0为初始位置。

预处理是对输入的图像进行旋转、裁剪、人脸对齐等操作,提取其关键特征T,然后将其放入后续的实验中,有助于增强信息的有效性和提升模型的优化能力。人脸对齐图像预处理流程如图1所示。

图1 人脸对齐图像预处理流程

1.2 注意力机制Focal损失加权

注意力机制是在海量信息中筛选出重要信息并聚焦到这些信息上,即对输入权重分配关注。其计算过程就是计算Query与Key的相似性或相关性,从而确定Key对应Value的权重系数,再对Value进行加权求和,然后得到最终的注意力数Attention[11]。其计算公式如下:

(3)

式中:Lx=‖Source‖,代表Source的长度。

通常,实验中某些图像样本具有高权重,某些不确定样本具有低权重,而注意力机制具有从海量信息中筛选出重要信息的优点,故可利用注意力机制来获取样本对训练的重要性权重。考虑到训练数据集存在类别样本不平衡问题,受文献[12]的启发,利用改进的Focal损失函数进行加权以提升情感分类模型的训练效率,具体计算公式为

FL=-α(1-p)γlnp,

(4)

式中:聚焦参数γ是一个大于0的超参数,最优值通过实验获得,其作用是通过(1-p)γ项来放大低置信样本损失在总损失中的权重,缩小高置信度样本损失在总损失中的权重。这是因为对于置信度越高的样本,调制因子(1-p)γ越小;反之,调制因子(1-p)γ越大。这样,在训练中困难样本的损失被放大,模型会更加关注困难样本。平衡参数α同样是一个超参数,由网格搜索方法得到最优值,其作用是控制正、负样本在总损失中的权重,平衡不同类别样本的数量。

1.3 秩正则化排序

为了明确约束不确定样本的重要性,设计了秩正则化模块来正则化注意力权重。在秩正则化模块中,首先按降序对学习到的注意力权重进行排序,然后用比率β将它们分成两组。秩正则化模块保证了高重要性组的平均注意权重高于低重要性组,并有一个余量。为此,在形式上定义了一个秩正则化损失:

LRR=max{0,δ1-(αH-αL) },

(5)

(6)

式中:δ1可以是一个固定超参数或一个可学习的参数;αH和αL分别是具有β*N=M的高重要性群组和N-M的低重要性群组的平均值。

1.4 重新分类

在秩正则化排序模块中,样本会被分为高重要性组和低重要性组,而不确定样本通常具有较低的重要性权重,故可以通过重新分类对因标注者的主观错误而给错标签的样本进行矫正。具体来说,重新分类模块针对的是由于不确定性而具有低重要性权重的样本,对其中每个图片都进行最大预测概率与原始标签概率的比较,若其最大预测概率高于原始标签概率,则样本被重新分类。重新分类模块可以定义为

(7)

式中:y′表示新标签;δ2是阈值;Pmax是最大预测概率;Pinitial是给定标签的预测概率;l0和lmax分别是原始标签和最大预测的索引。

2 基于Self-adjust网络模型的人脸情感分析

2.1 Self-adjust网络模型算法流程

Self-adjust网络框架主要包括输入层、图像预处理层、Self-adjust网络层、Dropout层和输出层等。Self-adjust网络算法流程如下:

(1)获取数据集,输入数据集中的人脸图像X,其中Xi表示该张人脸图像的第i个特征:

X=[X1,X2,…,Xn]。

(8)

(2)对输入层的图像进行人脸对齐、裁剪、旋转等预处理,提取关键特征T,其中Ti表示图像经过人脸对齐处理后得到的特征向量:

T=[T1,T2,…,Tn]。

(9)

(3)将预处理后得到的特征向量T作为输入矩阵,在Self-adjust网络中进行训练,经过注意力机制Focal损失加权、秩正则化排序和重新分类等操作后,得到图像向量F。

(4)在输出结果之前,为了减少过拟合现象,加入Dropout层让某个神经元的激活值以一定的概率P停止工作,剔除部分多余神经元,使模型泛化性更强。

(5)输出图像X对应的情感分析结果。

人脸图像情感分析流程如图2所示。

图2 人脸图像情感分析流程

2.2 Self-adjust网络模型损失函数

Self-adjust网络基于PyTorch环境进行模型参数训练和调优。为了缓解训练数据集的类别样本不平衡问题,提升情感分类模型的训练效率,前向传播时采用Focal损失函数,具体如公式(10)所示:

FL=-α(1-p)γlnp,

(10)

式中:聚焦参数γ为大于0的超参数,可通过实验得到最优值;平衡参数α也是一个超参数,可由网格搜索得到最优值。

在重新分类模块中,采用L2正则化进行模型优化,计算方法如公式(11)所示:

(11)

先计算导数:

(12)

(13)

从上述公式发现,L2正则化对b的更新没有影响,但对ω的更新有影响,更新规则变为

(14)

L2正则化是希望得到更小的权值,从某种意义上说,ω越小表示网络的复杂度越低,则数据拟合更好。

2.3 Self-adjust网络模型评估

使用混淆矩阵统计分类结果,结果如表1所示。表1中TP表示预测为正例的正例样本数量,FN表示预测为负例的正例样本数量,FP表示预测为正例的负例样本数量,TN表示预测为负例的负例样本数量。

表1 分类结果的混淆矩阵

为了对Self-adjust网络模型进行评估,拟采用准确率作为评价指标。准确率表示的是预测标签与真实标签的贴近程度,值越高说明模型分类效果越好。

准确率的计算方法如式(15)所示:

(15)

3 实验与结果分析

3.1 实验与环境数据集

本研究的实验平台与环境配置如表2所示。为了评估本研究Self-adjust网络模型情感分析的效果,采用网络上公开CK+的人脸图像数据集[13]对模型的有效性进行验证,该数据集共包含5 876张人脸图像。将人脸图像数据集按照4∶1划分为训练集和测试集,标签分为生气、轻蔑、厌恶、害怕、开心、伤心、惊喜共7个大类。数据样本情感类别分布如表3所示。

表2 实验平台与环境

表3 情感类别分布

3.2 实验参数设置

实验的关键参数有学习率、Batch_size、epoch、损失函数、Dropout、优化器等。学习率能通过损失函数的梯度调整网络权重的参数,而Batch_size和epoch参数能反映出样本的迭代情况。损失函数用来衡量模型输出与真实值之间的差距,给模型的优化指明方向。Dropout参数按照一定概率将神经单元暂时从网络中丢弃,能达到防止模型过拟合的目的,而优化器的选择关系到如何利用合适的算法进行参数学习。

在综合考虑损失率和收敛速度等因素后,通过多次调试确定学习率、Batch_size、epoch等的参数值。考虑到数据集存在分布不均衡的情况,引入Focal损失函数来缓解训练数据集分布不平衡问题。此外,为了实现更快的收敛速度,应用L2正则化的限制约束。由于Adam结合了Adagrad和Mometum的优点,所以在Self-adjust网络模型中选择Adam梯度更新策略作为优化器。在模型全连接层后添加Dropout参数,防止模型过拟合,通过反复调试得到Dropout参数为0.000 1时效果最佳。Self-adjust网络模型的相关参数如表4所示。

表4 Self-adjust网络模型参数

3.3 结果分析

为了验证本方法的有效性与优越性,将本方法与另外3个经典的图像情感分析方法进行对比,结果如表5所示。

表5 情感分析各方法性能对比

为了公平比较,本实验没有使用其他数据集,也没有进行人工标注。由表5可知,本方法准确率比Resnet-18提高了约8个百分点,比Resnet-34提高了约6个百分点,比VGG-16提高了约1个百分点。本方法相比Resnet-18、Resnet-34和VGG-16方法,在准确率这个评价指标上提高显著,充分验证了本方法的有效性与优越性。

4 结语

针对现有人脸图像、标签分类者的主观性不同及标签样本不均衡所带来的不确定性问题,本研究提出了一种基于CNN的Self-adjust网络模型,并用该模型进行了人脸图像情感分析。本方法可以有效减少人脸情感分析的不确定性带来的影响,缓解深层网络对不确定人脸图像的过拟合,并最终用实验验证了本方法的有效性与优越性。

猜你喜欢
正则人脸标签
J-正则模与J-正则环
有特点的人脸
一起学画人脸
π-正则半群的全π-正则子半群格
Virtually正则模
剩余有限Minimax可解群的4阶正则自同构
三国漫——人脸解锁
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
标签化伤害了谁