1. 引言
近年来,人脸表情识别已成为一个重要的研究领域,在人机交互、生物识别、临床医学和公共安全等方面具有较为广泛的应用 [1]。面部表情的复杂性和微变化性使面部表情识别更具挑战性 [2]。因此,提高人脸表情识别的准确率显得尤为重要。
先前的许多研究仅使用单个分类器来识别面部表情,由于单个模型的鲁棒性较弱,识别变得较为困难。而研究表明,组合多个分类器比单个分类器可以取得更好的分类效果,因为多个分类器的组合可以获得更合理的分类边界,降低整体错误率 [3]。虽然这种基于集成的方法可以提高表情识别效果,但它存在以下缺点:1) 随着分类器数量的增加,需要更多的存储空间和计算时间 [4];2) 分类器数量增加导致的分类器冗余影响人脸表情的最终识别效果 [3]。因此,需要进行选择性集成以移除原始集成中质量较差的分类器,消除冗余并保持或提高最终识别性能。
一般来说,选择性集成方法可分为静态选择与动态选择 [5],静态选择性集成根据指定标准从基学习器池中选择一个固定的子集对未知样本进行预测。Li提出了基于最大相关最小冗余的集成选择方法,提升了分类器集成的效果 [6],Zhang等人提出了一种贪婪排序策略来重新选取分类器成员的融合顺序,衡量了集成的准确性和多样性 [7]。不同于静态选择,动态选择性集成是基于每个给定未知样本从集成中选择不同的子集对其进行预测。Elmi首先提出了通过多层选择器结合动态选择方法的思想,提升了算法性能 [8]。饶川等人选取对测试样本最近邻的K个训练样本分类效果好的SVM分类器进行融合,以提高集成分类准确率 [9]。Jan提出一种叫做误分类多样性的多样性测度方法和增量分层分类器选择算法 [10],实验证明了该方法提升了分类器集成的准确率。理论上,动态选择比静态选择更加的灵活,研究也表明,动态选择性集成的性能往往好于静态选择性集成,这些优点使动态选择得到了越来越多研究者的关注。
为了提升分类器集成系统的性能,在应对真实的分类环境依然具有较好的稳定性,本文提出一种多标签随机游走和选择性集成算法。首先基于验证集样本评估分类器的能力,为每个验证集样本选择出能正确对其分类的分类器序列组合,每个样本可对应多个分类器序列组合,从而构建了关于样本–分类器序列之间的多标签训练集;然后引入基于随机游走的多标签方法,当输入一个测试样本,然后寻找到它的近邻样本,将该测试样本与它的近邻样本构建多标签随机游走图,并执行随机游走过程;最后根据随机游走过程结束得到的概率分布,计算测试样本属于每个标签的概率值,从而确定测试样本的标签集,将该标签集所对应的分类器序列进行集成预测,最终得到该测试样本的类别。
本文的主要贡献如下:
1) 提出了一种新的分类器选择性集成模型,将分类器选择问题建模为多标签分类问题,并创新性地引入随机游走算法加以解决,通过实验结果证明了该模型的有效性。
2) 在构建多标签随机游走图时,为特定测试样本的K个近邻样本而不是所有训练集样本来构造点集,降低了随机游走图的复杂度,从而大大减少了时间和空间开销。
3) 根据训练集间的标签分布,构建训练样本标签间的关联边集。在随机游走模型中通过点与点之间的连通性表征标签之间的相关性,即考虑了每个分类器序列之间的相关性,能够更准确评价未分类数据对于每个标签的概率分布情况,弥补了其他选择性集成方法忽略分类器间相关性的缺点。
4) 将提出的基于多标签随机游走的选择性集成算法运用人脸表情识别领域,并提升了人脸表情的识别率。
2. 本文方法与理论
本文提出的基于随机游走的选择性集成方法的整体思想是将动态选择性集成建模为一个多标签学习任务。首先进行多标签训练集的构建,根据分类器在训练集的识别结果,为每个训练样本选择能对其正确分类的分类器序列;然后给定一个测试样本,在训练集中寻找其K近邻样本,根据测试样本与训练样本的关系生成随机游走图系列,执行随机游走过程,得到游走概率;接着通过测试样本游走到其邻域样本的概率来得到最有可能正确分类该测试样本的分类器序列,最后将这些分类器序列的结果进行融合,输出该测试样本的预测类别。本文提出方法的流程图如图1所示。
![](//html.hanspub.org/file/20-2690755x8_hanspub.png?20230119085515587)
Figure 1. Selective ensemble method based on multi-label random walk
图1. 多标签随机游走的选择性集成方法
2.1. 多标签训练集的构建
设训练集数据为
,对应的数据标签为
,且有分类器池
。利用基于准确率排序的选择性集成方法,首先基于全部训练集选择出的分类器序列为
,其中
,
,如果分类器
被选入该分类器序列,则
,否则
。然后利用此次得到的分类器序列
对所有训练样本进行分类,如果能正确识别该样本,那么将
视为该训练样本的标签,即将样本从数据–标签空间映射到数据–分类器序列组合空间。接着进行下一轮轮迭代,将未正确分类的训练数据重新集合起来形成第二轮训练样本,依然利用上一阶段的集成方法得到新的分类器序列
,同样将
视为所有能被其正确分类样本的标签。重复该过程,直到所有样本都打上相应标签。多标签训练集构建的完整过程如算法一所示。
算法一多标签训练集构建
输入:训练集
,标签
,分类器池
。
输出:多标签训练集
。
a) for i = 1 to n do
b) CL中的每个分类器
对D进行预测,根据Y 计算每个分类器准确率降序排列,选择对D的识别准确率最高的前K个分类器序列
;
c) for j = 1 to n do
d) 如果
,
,并令
;
e) end for
f) if
g) 结束循环;
h) else继续执行步骤b);
i) end if
j) end for
2.2. 随机游走图生成
为了描述多标签随机游走图的生成,首先介绍关于多标签学习的基本概念。假定
表示多标签样本,
是该样本对应的标签集,则总体标签集定义为
。
为D维特征向量,
为该特征向量的第d个分量,
为y对应的标签向量,
可描述为:如果
,即表示样本具有标签
,则
,否则
。因此多标签分类器可定义为:
(1)
随机游走是一种基于图形表示的算法,它通过迭代搜索图网络的结构来估计两个节点之间的接近度。而多标签随机游走是为解决多标签问题而设计,利用随机游走图上顶点之间的连接来精确地描述标签之间的相关性 [11]。
多标签随机游走图的基本思路为:将测试样本及其它在多标签训练集中的K近邻样本映射为图中的顶点。对于一个特定测试实例
,多标签随机游走算法为每个标签都构造一个随机游走图;如果K近邻样本
具有相同的标签,则将它们通过无向边连接,对于测试实例
在标签
上的随机游走图,将
与具有标签
的样本相连。最终为测试实例
构建Q个游走图,记作
,
,如图2所示。本文将多标签随机游走图的详细构建过程描述如下:
基于标签
,
表示根据测试实例
的K近邻样本构建的图,定义如下:
(2)
(3)
(4)
点集
定义为:
(5)
其中,
表示测试实例
在多标签随机游走图中所对应的顶点,边集
表示将顶点
与
中具有标签
的顶点相连;
为关于点集
所构建的边集,定义为:
(6)
![](//html.hanspub.org/file/20-2690755x70_hanspub.png?20230119085515587)
Figure 2. Construction of multi-label random walk graph
图2. 多标签随机游走图的构建
2.3. 机游走过程
基于上一小节构建的随机游走图
,其对应的迭代模式描述如下:
(7)
其中,
为经过k次随机游走后的概率分布,
的第i个元素
表示图
第i个顶点的概率;
为
的转移概率矩阵,
的元素
表示顶点
游走到顶点
的概率,定义如下:
(8)
其中,
。
为一个常量,
为跳跃概率向量,假设从任意顶点开始,一个游走者以相同概率(1/K)从一个顶点跳跃到其他顶点,
为K维的全1向量,则将d定义如下:
(9)
本文采用高斯核函数来计算样本之间的相似性,定义如下:
(10)
其中,
为高斯核中的扩散因子,
表示两个样本点之间的欧式距离,计算方法如下:
(11)
根据公式(7),收敛的概率分布向量必须满足:
(12)
当随机游走过程结束时,将得到稳定的概率分布向量
,
表示将测试样本
对应的顶点
与具有标签
的样本相连时(记作
),从
游走到图
中每个顶点的条件概率:
(13)
其中
为概率分布向量
的第i个元素,将每个标签对应的点的概率取均值,于是可得到遍历图
时,随机游走到每个标签的平均条件概率为:
(14)
然后根据文献 [12] 中的条件概率模型,计算测试样本
具有标签
的概率值:
(15)
其中,测试样本
与具有标签
的点相连的概率
通过
与具有标签
的顶点的平均距离来表示,可通过公式(10)计算得到。本文算法的详细过程可见算法二。
2.4. 分类器融合
假定所得分类器序列为
,该分类器序列所组成的分类器为
,利用C中所有个体分类器对输入测试样本进行预测,使用多数投票法融合所得分类器的预测标签,将最终融合的标签值作为测试样本的预测结果,该过程表示为:
(16)
其中,
,对应7个不同的表情类别,如果分类器
对测试样本i的预测标签
等于e,则
,否则
。
算法二基于多标签随机游走的选择性集成算法
输入:训练集
,对应标签
,分类器池
,测试样本
。
输出:测试样本
的预测标签
。
a) 根据算法1构建关于训练集D—分类器序列之间的多标签训练集
;
b) 根据欧式距离
寻找
的K近邻样本
,根据图2构建过程建立关于
的Q个随机游走图;
c) 根据公式(12)计算
;
d) 根据公式(15)计算
属于每个标签的概率
;
e) 选择概率最大的前S 标签,即得到对应的前s个分类器序列
;
f)
分类器序列
融合;
g)
的预测标签
;
3. 实验
本文将提出的基于随机游走的选择性集成方法运用于人脸表情识别,在本节将分别介绍使用的数据集,实验设置和实验结果与分析。
3.1. 实验环境
本文实验硬件环境:处理器为Intel Core(TM) i7-10750H CPU @2.60GHz,显卡为NVIDIA GeForce RTX2060,内存为16G。
本文实验软件环境:操作系统环境为Windows10,基分类器生成环境为Python3.7,tensorflow-gpu2.4,Keras2.4;算法实现环境是MATLAB R2018a。
3.2. 实验数据集
Fer2013 [13]:该数据集来源于2013年机器学习竞赛——ICML2013FER,总共包含35,887张表情图片,其中28,709张训练图片,3589张验证图片和3589张测试图片。每张图像由固定尺寸为48 × 48的灰度图像组成,表情分为愤怒、厌恶、恐惧、快乐、悲伤、惊讶和正常七种。在该数据集中,人类的识别准确率为65% ± 5%。该表情数据库样例如图3所示。
![](//html.hanspub.org/file/20-2690755x142_hanspub.png?20230119085515587)
Figure 3. Example of Fer2013 expression dataset
图3. Fer2013表情数据集示例
CK+ [14]:CK+数据集在Cohn-Kanade Dataset的基础上扩展而来,且于2010年发布。由123位参与者在实验室条件下摆拍指定表情获得,一共包含593个视频序列,分辨率为640 × 490 ,共有开心、悲伤、惊讶、害怕、厌恶、生气、中立、轻蔑共8种表情类别,为了保持实验数据集之间的一致性,本实验从视频中截取数量为1520张的共7种类别的表情图片,图片分辨率统一设置为48 × 48。该表情数据库图片如图4所示。
![](//html.hanspub.org/file/20-2690755x143_hanspub.png?20230119085515587)
Figure 4. Example of CK+ expression dataset
图4. CK+表情数据集示例
JAFFE [15]:该数据集为日本女性面部表情数据集,它选择了10名日本女学生作为实验对象,每人做出七种表情:正常、厌恶、愤怒、快乐、恐惧、悲伤和惊讶。共获得213张大小为640 × 490像素的图像。该表情数据集与Fer2013,CK+保持同样的数据处理方式,将每张人脸图像转换为48 × 48大小的灰度图。处理后的图片如图5所示。
![](//html.hanspub.org/file/20-2690755x144_hanspub.png?20230119085515587)
Figure 5. Example of JAFFE expression dataset
图5. JAFFE表情数据集示例
3.3. 实验设置
3.3.1. 数据预处理
所有图像尺寸统一调整为48 × 48像素,使用OpenCV人脸识别算法去除背景区域,人脸区域高亮显示,所有图像转灰度图。另外,使用Keras工具包对人脸表情图像进行ZCA白化、均值归一化、全局对比度归一化处理 [16],以适应深度学习模型的训练和对训练样本达到更好的拟合效果。
3.3.2. 基分类生成
本文使用的基分类器都是基于卷积神经网络,构建的子网络模型来源于ALexNet [17]、FER-Net [18] 和Keras工具包(https://github.com/fchollet/keras)。在Keras中,除了一些传统的CNN模型外,还有结合多层的网络的模型,它们结合两到四个CNN模型的最后一层并使用两到三个全连接层来学习输入图片的特征,Keras模型中的参数设置如表1所示。
![](Images/Table_Tmp.jpg)
Table 1. The model parameters in Keras toolkit
表1. 使用Keras工具包中的模型参数
本文利用这些深度模型一共生成了231个不同结构和参数的模型作为基分类器,在FER2013中,分类器的准确率在0.2到0.7之间,但大多集中在0.6到0.7之间。在CK+中,准确率分布广泛,从0.2到0.7不等,而在JAFFE数据集中,准确率主要集中在0.3到0.4之间,基分类器池的准确率分布情况如图6所示。
![](//html.hanspub.org/file/20-2690755x145_hanspub.png?20230119085515587)
Figure 6. The accuracy distribution of the classifier
图6. 基分类器准确率分布
3.4. 实验结果
3.4.1. 关键参数敏感度分析
为了探索所提出算法的参数对最终分类器集成效果的影响,本文对随机游走跳跃概率
参数进行实验,分析算法对该参数的敏感程度。从文献 [12] 中得知该参数一般设为0.15,在本文中
值的取值分别为
,实验结果如图7所示,可以看到,在Fer2013、CK+和Jaffe数据集上,随机游走跳跃概率
对三个数据集的分类效果都产生一定的影响,在Fer2013、CK+上随着
的逐渐增大,算法的准确率逐渐提升,当
的值达到0.4后,分类效果逐渐达到平稳。值得注意的是,在CK+数据集上情况恰好相反。随着
的增加,分类的准确率逐渐下降。实验结果说明算法对参数
敏感。
![](//html.hanspub.org/file/20-2690755x154_hanspub.png?20230119085515587)
Figure 7. The influence of the walk-jump probability
on the ensemble effect
图7. 游走跳跃概率
对集成效果的影响
3.4.2. 不同表情类别的识别效果
为了测试本文算法对每个表情类别的识别效果,本小节给出了算法对数据集Fer2013、CK+和JAFFE分类的混淆矩阵,结果如图8所示。从图中可以看出,颜色越深的色块表示在对应的表情类别识别的准确率越高。
(a) Fer2013
(b) CK+
(c) JAFFE
Figure 8. Recognition effect of different expression categories
图8. 不同表情类别的识别效果
在(a)图中,即在Fer2013上,“开心”类别的识别准确率最高,达到了91%,而在恐惧类别的识别率最低,为50%,产生这种结果的原因是“开心”类别的特征明显,易于识别,而“恐惧”类别容易与“厌恶”或者“惊讶”类别产生混淆,导致该类别识别率偏低。在(b)图和(c)图中关于CK+和JAFFE的识别结果,也出现类似的情况,CK+数据集上,“厌恶”类表情的81%被误分类为“生气”类别,主要是这两类表情极易混淆。值得注意的是,在JAFFE数据集上,“生气”、“厌恶”和“恐惧”类别的表情识别率低的原因除了表情本身的难以区分外,还与分类器有关,本文的基分类器都在Fer2013上进行训练,然后将所有CK+和JAFFE作为测试集,从而在这几类表情上的识别效果欠佳。
3.4.3. 本文方法与其他方法对比结果
本节将提出的算法与其他经典的静态选择性集成算法ComEP [19]、DREP [20]、KappaEP [21]、QSEP [22] 和动态选择性算法MLKNN [23]、KNORA-UNION [24]、CLAG [25]、DCS-OLA [16],DCS-LCA [16] 进行对比,表2给出了在人脸表情数据集FER2013、CK+和JAFFE上本文算法与静态选择性集成算法分类准确率的比较结果。本文采用多数投票作为基准方法,在Fer2013、CK+和JAFFE数据集上的准确率分别为0.7035、0.7586和0.4225。在Fer2013上,本文方法准确率达到0.7325,好于其他所有的静态集成方法,在CK+数据集以及JAFFE上,本文的方法优于大多其他的对比方法,识别准确率分别为0.7633、0.4836。
表3给出了在人脸表情数据集FER2013、CK+和JAFFE上本文算法与动态选择性集成算法分类准确率的比较结果。
![](Images/Table_Tmp.jpg)
Table 2. The comparison between the method in this paper and the static selective ensemble method
表2. 本文方法与静态选择性集成方法对比结果
![](Images/Table_Tmp.jpg)
Table 3. The comparison between the method in this paper and the dynamic selective ensemble method
表3. 本文方法与动态选择性集成方法对比结果
可以发现,在Fer2013上,本文方法的识别效果优于其他动态选择性算法,为0.7325,相比较于基准方法,准确率提升了2.90%,相比较于DCS-LCA,本文方法的实验结果提升了16.54%。在CK+和JAFFE数据集上,本文的方法也优于其他大多对比算法。
4. 结论与展望
本文提出了一种基于多标签随机游走的选择性集成方法,通过将分类器选择问题建模为多标签学习问题,灵活有效地执行分类器选择;首先根据分类器池中每个成员的能力,为每个训练样本选择出能对其正确分类的分类器序列组合,从而构建关于数据—分类器序列之间的多标签训练集。当输入一个测试样本并寻找它的近邻样本,据此构建多标签随机游走图,通过选择近邻样本而不是所有样本,降低了游走图的复杂性,增加了灵活性。通过多标签学习算法进行分类器选择是一个有趣的研究方向,并且能将其应用到各个领域。然而,本文的算法模型的稳健性并非令人满意,在未来的工作中调整算法结构或引入其他多标签算法进一步提升算法准确率和稳定性。
参考文献
NOTES
*通讯作者。