一种改进型Dense-HRNet和基尼指数动态加权决策的表情识别算法*
2022-12-07蓝峥杰
蓝峥杰,王 烈,黄 莹
(广西大学 计算机与电子信息学院,南宁 530004)
0 引 言
人脸表情包含了丰富的情感信息,真实而自然地展现了人们心理活动和思想状态,深刻地影响着人们的日常交流。心理学研究者 Mehrabian 的成果显示,在人类沟通的过程中,人脸表情、声音、语言各占总信息量的 55%、38%和 7%[1]。由此可见,人脸表情传递的信息量非常丰富,超过了声音和语言携带信息量的总合。
人脸表情识别属于细粒度图像分类范畴,具有类内差异性大、类间差异性小的特征。表情识别是一项具有挑战性的工作,在多个数据集中表情识别的准确率并不高。当前人脸表情识别方法通常可分为基于传统手工特征分类方法和基于深度学习方法两类。随着卷积神经网络在计算机视觉领域取得的巨大成功,该技术逐渐被用于人脸表情识别任务[2]。
在基于深度学习的方法中,较多的研究均聚焦于数据处理[3-4]、特征提取[5-7]、损失函数优化[8-9]这三大主体,对其进行改进,不足之处在于:一是忽略了表情在不同分辨率特征图中存在的细微差异,同时表情特征在不同层级的特征图中缺乏传递与融合,降低了特征图中的信息含量;二是多支路网络Softmax输出进行分类时多采用硬投票方式判定输出类别,容易造成决策阶段的不稳定性。
针对以上问题,本文对现有方法进行了改进与优化,主要工作和贡献如下:一是改进HRNet网络结构。引入HRNet高分辨率网络对人脸表情进行多分辨率特征提取,加入 Dense连接机制改进HRNet中的基础stage,在获得更清晰特征图的同时保留了更为丰富的细微表情细节特征。二是提出一种动态加权融合决策方法。在使用HRNet高中低三种分辨率支路分别进行Softmax分类后,根据输出概率矩阵的基尼指数高低动态地分配输出权重,自动提高分类确定性高、性能好的卷积神经网络(Convolutional Neural Network,CNN)支路的融合权重值,降低分类性能差、确定性低的CNN支路的权重值,提高网络分类准确率和鲁棒性。
1 改进型Dense-HRNet
1.1 HRNet结构
高分辨率网络[10](High-Resoultion Net,HRNet)由微软亚洲研究院和中科大共同提出,其通过在高分辨率特征图主网络逐渐并行加入低分辨率特征图子网络,让不同分辨率特征进行多尺度融合,使得特征图具有在整个过程中始终保持高分辨率的特点。该模型在图像分类、语义分割和人体姿态估计等领域均取得了领先的性能。HRNet将传统的特征提取网络中高分辨率到低分辨率的输出由串行连接改为并行连接,不同分辨率特征图之间的融合采用上采样和下采样操作,通过此操作聚合了不同分辨率特征信息,过程如图1所示。
图1 HRNet中不同分辨率特征的融合方式
1.2 DenseBlock
DenseBlock是DenseNet[11]的核心,其在网络各层之间建立了前层与后面所有层的密集连接,使得每一层都会收到在它之前所有层的特征输入。Dense连接方式如图2所示,图中虚线连接表示特征的传递,前后层之间的连接以Concat方式进行,此种连接方式通过特征的重复复用使得深层网络中依然保留浅层网络中的细微表情信息。
图2 Denses连接方式示意图
1.3 Dense-HRNet的实现
由于表情分类类间的差异微小,需要更加关注图像中微小但不可忽视的细微特征,以便获取更加高清的局部细节信息,从而有助于网络进行细粒度分类。本文选取 HRNet高分辨率网络作为特征提取的基础结构,实现对特征图的高分辨率提取。
在HRNet高分辨基础上,引入了Dense连接对HRNet中的stage模块进行改进。这是由于浅层特征图包含丰富的细节信息,但缺乏语义信息,而深层特征图则相反。Dense连接方式有助于将浅层、深层特征间的优势互补。稠密连接机制重复加强提取了各层特征,将多个层次的信息融合传递,使得网络具有更加丰富的特征图表示。
1.3.1 单一分辨率的Dense-HRNet实现方式
改进的单一分辨率支路的Dense-HRNet连接如图3所示。
图3 改进的单分辨率Dense-HRNet连接方式
若某分辨率支路的深度为l层,DenseBlock共建立l(l+1)/2 个连接,若第l层的非线性变换为Hl(x),输出为xl,可以表示为
xl=Hl([x0,x1,x2,…,xl-1]) 。
(1)
式中:[x0,x1,x2,…,xl-1]为通过通道拼接方式进行,使得网络l层输入中包含了(1,2,3,…,l-1) 层的所有输出;Hl(x)代表的是非线性变换函数集合操作,包换批标准化、非线性激活函数PReLU、池化和卷积操作。
1.3.2 多分辨率的Dense-HRNet实现方式
依照Dense-HRNet单一分辨率分支实现方法,本文对高分辨率支路进行一次下采样得到中分辨率支路;再对中分辨率支路进行一次下采样,产生低分辨率支路;最后以并行连接的方式,构建3个不同分辨率的CNN支路,提取3种不同分辨率的表情特征。网络如图4所示。
图4 多分辨率的Dense-HRNet实现方式
图4网络中,DenseBlock增长率(Grouth_rate)为12,压缩率(reduction)取0.5。DenseBlock间以过渡层(Transition Layer)相连,在过渡层中首先进行批归一化操作,而后进行ReLU激活,再使用1×1卷积调整输入输出维度。
以上为特征提取网络的改进方法,结合了HRNet和DenseNet的主要思想。总体而言,改进的Dense-HRNet方式能带来更清晰的表情特征表示,并且能保留足够多的局部细节信息。
图4所述的Dense-HRNet多分辨率的网络主要参数配置可通过扫描本文OSID码查看。
2 基尼指数动态加权决策
2.1 传统硬投票式融合决策中不确定性成因
在多路信息决策分类中,通常综合考虑各支路输出的最大概率来判定所属类别。若各支路计算得到的最大输出概率指向同一类别且概率分值远高于其他类别,此时融合决策置确定性高。然而,随着识别难度变化,若某支路输出概率值中多个类别的分值接近,则此支路分类区分度模糊,其分类结果确定性低,在融合决策时对其赋予过高的权重系数将影响分类结果。图5为同一样本输入时,各CNN支路的输出概率以及其确定性分析。
图5 某样本CNN预测值与确定性示意图
图5中,输入图片为FER2013数据集中类别为“中性”的表情图,经过3个不同的CNN支路Softmax输出后得到的概率值标注在表情卡通图上方。将以上CNN支路预测值表示为柱形图,如图6所示。
图6 当输入某图片时各支路输出概率值对比
由图6可见,CNN1(绿色柱形图)将样本判定为“中性”的概率很高并且远大于判定为其他类别的概率,此时CNN1判定结果与样本标签匹配,该CNN支路分类准确且确定性高;而CNN3(黄色柱形图)中,“中性”“惊讶”“厌恶”三种类别的概率值都较低并且概率分值接近,导致CNN3对这些类别分类模糊且确定性不高,此时CNN3对样本的分类性能较差。在图5中各CNN支路的确定性排序为CNN1 > CNN2 > CNN3。
2.2 多路融合决策常用的策略
在多路融合决策中,较常用的是以多数投票(Majority Vote) 为代表的硬融合决策和以对数意见池(Logarithmic Opinion Pool) 为代表的软决策融合策略。
传统的融合决策策略中,在计算投票策略时,采用平均分配多路分类器权重系数的原则,使得不同子分类器的输出在最终决策中都具有相同的影响力,这种做法未能根据各分类支路的确定性进行区分,导致分类效果好的子分类器权重不足或分类效果差的分类器融合权重过高。融合权重,指在输出概率矩阵中让参与融合决策的各支路分配不同的重要性加权系数值,能使得网络更加关注于某些分支的输出结果。
针对以上问题,Ren等人[12]通过在多路分类器融合决策中计算多尺度网络的交叉熵,使用自适应熵决定加权值,再进行融合决策,获得了更优的分类性能。本文在此基础上,提出一种基于基尼指数的动态权重分配算法,能对不同确定性程度的CNN支路中施加不同的侧重程度,自动提高分类性能好、确定性高的CNN支路的融合权重值,降低分类性能差、确定性低的CNN支路的权重值。
2.3 基尼指数动态权重系数分配原理
本文的特征提取网络由HRNet的3路不同分辨率的CNN 组成,对于每张表情图像由3路特征提取网络和Softmax函数后得到输出概率值,将其整合到一个矩阵中,可以得到输出概率矩阵
(2)
在式(2)中,Pij(x)表示第i个子网络的Softmax函数将输入样本判为属于j类的概率。P(x)矩阵的p11(x)表示第一个支路的Softmax函数在所有分类类别中判定为第一类的概率,概率最大的列标即为某一支路的Softmax函数对该样本的预测类别。在式(2)的矩阵每一行中,
p11(x)+p12(x)+p13(x)…+p17(x)=1 。
(3)
若判定的最大类别i的概率p1i(x)远大于其他任意类别的概率,此时网络的确定性高;若与其他类别差距不大,则网络确定性低,分类模糊。
在信息论中,随机变量不确定性度量可以用基尼指数来表示。在分类问题中,假设有K个类别,样本点属于第K类的概率为PK,则概率分布的基尼指数定义为
(4)
在人脸表情识别中,表情类别为7个,故公式(4)中取k=7。上式中,若某一子支路Softmax输出的基尼指数值越大,其分类的不确定性就越高,则该CNN支路对输入样本的分类可信度较差,若其融合权重过高将会影响多路决策结果。
2.4 权重系数分配过程
本步骤根据网络输出的基尼指数,自动为各支路分配权重。在分类任务中,使用Softmax分类可以将实数输出映射到(0,1)区间内,并使得所有概率之和为1,其函数表达式为
(5)
Softmax函数加入了自然对数底数e的幂函数,使其函数曲线呈指数函数特点。经过Softmax处理后输出的数值拉开距离,正样本的结果将趋近于1,而负样本的结果趋近于0,这有利于拉开样本的分类差距。
根据上述特性,本步骤借鉴Softmax的表达形式进行权重分配,根据式(4)的基尼指数输出结果,将各支路的输出两极化:使得确定程度高的支路结果趋近于1,而确定性程度低的支路权重更趋近于0方向。权重计算方法具体如下:
(6)
式(6)实现了根据基尼指数的变化计算融合决策时的动态权重值。把该权重值乘以式(2)中的概率输出,得到融合加权后的概率矩阵
(7)
式(7)为最终的概率输出矩阵。最后借助argmax函数可求出输出各个支路中Softmax得分最高的所属分类。argmax函数的作用在于,在函数y=argmaxf(x)中,当函数值y取得最大值时,求出对应的自变量参数x。由此函数可得最终融合决策所判定的输出类别,函数表示为
(8)
式中:i为参与融合决策的单个CNN分类器支路;j为7种具体的表情类别;out输出为融合决策判定的输出表情类别。
以上即为基尼指数动态加权融合算法的计算过程,本文根据输出分类概率的基尼指数的不同,为各CNN支路分配更为合理的融合权重,缓解了由于概率值接近而造成的分类模糊问题。
3 总体架构
本文提出的基于基尼指数动态加权(Gini-index Dynamic Weighted,GDW)决策的改进型Dense-HRNet网络(简写为GDW Dense-HRNet)总体架构如图7所示,将图像输入大小设定为48×48,以减小HRNet网络的计算代价。在特征提取部分,网络主要用DenseBlock稠密连接的思想改进了HRNet中stage的连接方式;在输出部分,将网络的输出方式改进为基尼指数动态加权,三个不同分辨率的子网络经基尼指数动态加权融合决策后输出最终分类结果。
图7 基尼指数动态加权决策的Dense-HRNet(GDW Dense-HRNet)总体架构
4 实验与分析
4.1 实验环境
实验配置:处理器Intel Xeon Gold 6230,显卡为NVIDIA Tesla P100,内存为16 GB,操作系统为Ubuntu 16.04;深度学习框架为Pytorch,编程实验均在Python 3.7环境下进行。
训练设置:batch_size为32,初始学习效率为0.01,30个epoch后每10个epoch衰减0.9倍。使用SGD模型优化器,动量为0.9,权重衰减设置为0.001。
4.2 实验数据
4.2.1 数据集
CK+数据集[13]是人脸表情识别研究中较为常用的数据集,包含了来自123 名参与者的图像序列593个,其中带有标签的表情序列327个,从每个序列中提取最后三个帧,共981 张。CK+实验中除去了中性表情,最终的实验数据包含高兴、厌恶、害怕、生气、伤心、惊讶、蔑视7种类别,数据分布如图8所示。
图8 CK+数据集中各类别数据分布
FER2013[14]数据集共包含35 888张人脸表情图像。该数据集在互联网上收集获得,是Kaggle面部表情识别比赛提供的一个数据集。数据集中训练样本28 708张,公开测试样本和隐私测试样本各3 589张,图像大小为48×48。共7种表情,分别与数字标签0~6相对应:0代表生气;1代表厌恶;2代表恐惧;3代表高兴;4代表伤心;5代表惊讶;6代表中性。Fer2013数据集中存在较多的侧脸人像、漫画人像和复杂噪声背景,是一个具有挑战性的表情识别数据集。
4.2.2 数据增强方式
数据增强对于深度卷积神经网络训练过程意义重大。为了提高模型在复杂背景下的泛化能力,本文在传统的数据增强方法基础上引入Gamma变换。Gamma变换是图像灰度变化领域的一种非线性变化方法,能有效调整图像灰度对比度,适用于调整CK+和FER2013数据集中表情的灰度值分布,其变换数学表达式为
s=crγ。
(9)
式中:r为原始灰度图像的输入值,其取值范围为[0,1];s为Gamma变换后的灰度输出值;c为灰度系数,通常为1;γ为调节因子。Gamma变换增强图像中较暗区域的灰度,降低图像中灰度值过大区域的灰度,经过变换之后,表情图像的细节特征将会增强。
为了提高模型泛化能力,在训练开始前,对CK+和FER2013数据集进行数据增强,先进行图像水平翻转、Gamma变换和随机遮挡,使得数据量扩充至原始数据集的8倍。数据集的扩充有效地支持了模型的训练。如图9为对FER2013数据集的数据增强,在CK+数据集中的操作类似。
图9 在FER2013数据集进行数据增强
4.3 实验结果
4.3.1 实验1:改进的Dense连接方式有效性实验
实验1对比3种特征提取网络的分类效果:一是HRNet中不同分辨率的CNN支路输出效果;二是用HRNet V2进行分类输出;三是用稠密连接方式改进的Dense-HRNet融合输出。实验结果如表1所示。
表1 改进的Dense连接方式有效性实验结果
表1中,“CNN1高分辨率”“CNN2中分辨率”为使用单一分辨率的支路直接进行Softmax输出的结果,此时网络分类性能较差,这是由于单支路网络没有融合其他分辨率支路的特征。在使用HRNet V2网络进行分类时,由于输出端融合了3种分辨率的输出,网络分类性能得到优化,在FER2013中较单一分辨率支路有1.32%~2.25%的提升。表中最后一栏为引入DenseBlock稠密连接后的结果,可见Dense-HRNet较未经改进的HRNet V2网络有显著而稳定的提升,在CK+和FER2013中分别提升了2.04%和2.88%。这表明引入的密集连接方式有助于加强特征提取过程,使得分类效果更好。
4.3.2 实验2:基于基尼指数的动态加权决策有效性实验
在本组实验中,对比传统固定比例系数加权融合和本文动态加权决策(GDW)的实验结果。在FER2013和CK+上分别设置5组对比实验,Weight_CNN表示某一路CNN的权重系数,按照权重系数的不同比例设置对照组,如Weight_CNN1∶Weight_CNN2∶Weight_CNN3=1∶1∶1表示平均权重系数分配,各支路权重各占1/3,其他对比组别按7∶2∶1等固定比例融合。实验结果如表2所示。
表2 基于基尼指数的动态加权决策有效性实验结果
从表2中可见,在固定比例的融合权重中,Weight_CNN1∶Weight_CNN2∶Weight_CNN3=1∶2∶7得到的结果最好,融合比例为7∶2∶1的实验组融合结果最差;在FER2013数据集中,两组准确率相差0.17%,而1∶1∶1的权重分组得到的结果较为均衡,这体现了对不同CNN分类器施加不同的权重值,将对结果产生直接影响。在使用GDW算法组中,输出结果相对于固定比例融合中的最优比例(1∶2∶7)上升了0.11%,比平均权重分配(1∶1∶1)实验组上升了0.16%。由此可分析出,GDW算法有助于找到适合网络权重分配的比例,将分类效果好的分类器施以某一具体的大权重,将分类性能不佳的网络施以某个小的权重值,使得融合决策更加合理和稳定。
4.3.3 实验3:本文各模块的有效性实验
表3为本文各模块在CK+和FER2013数据集中的表现。在总体的识别率上,使用稠密连接的Dense-HRNet比HRNet V2在CK+数据集上提升了1.02%,在FER2013上提升了2.88%;加入基尼指数动态加权后的 GDW-Dense-HRNet识别准确率比另外两种方法有一定的提高,相对于Dense-HRNet,分别提升了1.68%(CK+)和1.25%(FER2013)。
表3 在CK+数据集上本文各模块的有效性实验
4.3.4 实验4:本文方法与当前较新算法的对比
为便于观察本文方法的有效性,选取了最近发表的较新的算法,在上述两个数据集进行最终结果对比,如表4所示。
表4 本文方法与当前较新的算法对比
如表4所示,本文算法识别率与当前较新的算法相比具有较好的竞争力。本文与Liu等人[19]提出的算法结果较为类似,取该算法进行对比分析可以发现,在CK+数据集上本文算法准确率略低,但在FER2013数据集上本文取得了更好的识别准确率。出现这种情况的原因在于,FER2013数据集相对于CK+含有较多嘈杂样本,容易在类间产生分类模糊现象。本文所使用的高分辨率特征图和多路融合决策能综合3个支路的决策信息,在出现分类模糊的问题时能通过动态融合决策找到确定性高、分类效果好的支路做出网络的重点输出,降低了单一CNN网络分类结果的不稳定性,从而能在样本嘈杂、噪声干扰大的环境中,展现出比文献[19]算法更好的识别效果。
本文提出的DGW-Dense-HRNet在FER2013上的混淆矩阵如图10(a)所示,在CK+数据集的混淆矩阵如图10(b)所示。
(a)本文方法在FER2013上的混淆矩阵
(b)本文方法在CK+上的混淆矩阵图10 混淆矩阵
由图10(a)可见,“害怕”“生气”“厌恶”识别准确率仅60%左右,分类较为困难。这是由于数据集含有较多嘈杂样本,存在侧脸表情及模糊卡通表情,且上述3个类别间有较高的相似度,导致网络出现分类混淆的现象。
由图10(b)可见,本文算法对于CK+中的“高兴”“厌恶”“惊讶”3类表情的识别准确率高,均达到了100%。观察数据集图像可以发现此3种表情类间差异较大,且从数据分布图可发现此3类样本占比大,识别效果较为理想。由此可见在数据驱动的深度学习技术中,高质量、数量大、标记准确的训练样本对于提高模型的训练效果尤为重要。
5 结束语
本文针对人脸表情识别任务提出了一种改进型的特征提取网络和加权融合决策算法。在特征提取阶段,使用Dense连接机制加强HRNet高分辨率网络的特征复用和传递过程,获取了更高分辨率和更丰富的表情特征。在决策阶段,根据各输出支路的确定性,动态地赋予融合权重,解决了传统的固定权重系数决策融合策略中分类效果好的子分类器权重不足而分类效果差的分类器权重过高的问题。通过增强高确定性支路的决策权重,抑制了不确定性,增强了多路决策的稳定性。
下一步将考虑对网络进行轻量化设计,使用新型注意力机制加强对表情关键区域的识别,力求减少运算量的同时,在识别精度速率和识别速度上均有更大提升。