近年来,科学、社会、技术领域已经见证了图数据应用的激增。在这些领域当中,表情识别是令人感兴趣的一个领域,其在实际生活中产生了许多应用,如:人机交互、驾驶安全、疼痛监测等等。在这篇论文中提出了一种新的基于图挖掘的人脸表情识别方法,跳脱了人脸区域表征的定式,改用由节点和边组成的图来表征人脸区域,并且采用gSpan频繁子图挖掘算法来发现表情图数据中的频繁子结构。通过采用重叠率公式来减少子图的数量。在所有选中的子图被编码完成后,用二分类的分类器对输入图片进行表情分类,其中表情类别为六类。在SAVEE数据集上应用该方法,将准确率在当前90%的基础上提高了2%。
在模式识别和人工智能领域表情识别是非常热门的话题,表情识别在这些领域有各种各样的应用,如:智能系统和人机交互。一般来说,表情识别分为两步:特征提取、分类。特征提取定义了一组能够描述人脸表情的独立属性。分类是将特征分为表情类别中的一种,如开心、悲伤、厌恶、愤怒、惊讶等。特征选择技巧和分类器的设计是人脸表情系统在非常重要的步骤,其决定了一个人脸表情识别系统鲁棒性的好坏。一个新的表情分类算法有时并不能起到好的作用,就是因为没有提取到有用的特征。
各种独特的提取特征的方法经常被提出,如基于几何和基于外观的方法。面部关键点和面部决定性部位等几何特征对于理解人脸表情所传达的情感非常重要。最近,基于面部关键点提取有区分度的特征提出了许多新方法。
另一方面,在模式识别和机器学习领域,图表征或得了非常大的关注。图的主要优点是它能很好地表征有结构的数据。许多工作用到了EBGM算法用于人脸识别,但是在这些工作中,都是使用的整张图,作者并没有试图使用与表情相关的面部子图,这些子图与面部表情的改变息息相关。因此,以前的工作大多是产生大量的特征,但是这些特征往往是不相关的。本文以图挖掘为出发点,提出了一种新的人脸表情检测方法,利用图挖掘技术来减小最终提取的特征的尺寸,提高准确性。本文其余部分如下:第二章介绍了图挖掘概念和cat swarm intelligence的理论背景。第三章介绍了本文提出的方法。第四章介绍了实验结果。最后一章对工作进行了总结以及展望未来。
在表征具有复杂结构的数据的时候,图变得越来越重要,如:图片,化学分子,生物网络,web, xml文本。这些领域可以利用到许多图的属性。因此,图挖掘算法被用于分析不同的图属性。
一张图可以定性理解为点和边构成的集合, 图的顶点表示离散的信息,而图的边表示这些信息之间的关系。假设一个数据集D有N张不同的图,G1=(N1, A1)...Gn=(Nn, An),则第i张图的点集为Ni, 第i张图的边集是Ai。Ni中的每个点p和标签l(p)有关。
图匹配是用以评估不同图之间相似性的方法。为了检验两张图是否匹配,图中的节点必须建立一一对应的关系,如:标签匹配,或对应节点之间存在边也匹配。换言之,如果两张图不匹配,则他们的距离为0. 因此,两张图之间的距离计算问题就转化为图片匹配问题。匹配图片换句话说就是同构。
在进行不同图集的表征, 分类, 聚类时,频繁子图是非常有用的方法。频繁子图挖掘(FSM)是一个发现子图的过程,子图往往在同一数据集中产生。在这个背景下,通常指所讨论的图形出现的次数超过了任意阈值(最小支持)的次数。 由于FSM不依赖训练数据,频繁子图挖掘被认为是一种无监督学习。gSpan是FSM算法中的一种。gSpan通过限制产生需要检验的候选子图,来避免产生多余的子图。此算法是最早的深度优先FSM算法之一,可以通过以下概念来理解:
1)gSpan编码。gSpan编码是边的有序集合,其顺序由深度优先遍历过程中边是如何遍历的来确定。gSpan编码中的每条边是一个五元组,由端点的唯一索引(第一和第二个元素),标签(第三河第五个元素),边标签(第四个元素)所组成。
2)最右边扩展。边在gSpan编码中通过最右边扩展的方式进行扩展,以便仅当其端点之一位于最右边的路径上时,才可以添加新边。通过这种方式添加边确保了gSpan编码的合法性。
3)词典顺序。 可以对gSpan编码进行线性排序; 也就是说,可以从最小到最大排序。 该排序基于找到两个gSpan编码之间共有的边。 引入这种编码是为了识别彼此同构的图,因此该算法不会浪费时间来完成已经完成的工作。
4)最小gSpan编码。 最小gSpan编码(MgSE)只是所有可能的gSpan编码中的最小编码(按字典顺序排序的最低编码)。 MgSE是gSpan中候选修剪的关键,因为MgSE允许gSpan识别何时将要生成已经考虑过的子图。 使用MgSE进行候选修剪使gSpan比以前的基于Apriori的算法效率更高。
算法1说明了gSpan频繁子图挖掘算法的主要步骤,而算法2说明了gSpan算法的gSpan_Expansion部分的过程。
如今,模式识别和机器学习领域的研究人员越来越认识到群体优化对减少数据维数的重要性及其对分类过程准确性的影响.许多群体优化算法被用于特征选择,例如,PSO和ACO。最近,出现了许多新的受群体启发的算法,例如二进制猫群优化(BCSO)算法。
朱等提出自然界中的猫有两种行为模式:寻找模式和追踪模式。 在搜寻模式下,猫会慢慢靠近其原始位置。在跟踪模式下,猫在每个维度上均以自己的速度移动。 BCSO的主要优点是使其优于其他群体启发式算法,在获得结果的准确性和收敛速度方面大大优于这些算法。可用于特征选择目的的猫群的版本称为二进制,因为每只猫在种群中的初始位置只能容纳0s和1s值[17](有关BCSO的更多详细信息,请参见参考文献[15])。
所提出的系统的总体框架如图1所示。从每个输入图像中提取面部关键点。 然后,使用关键点构建面部图,并在图形的每条边上分配适当的权重。 为了找到每个表情类别中的频繁子图,采用了gSpan算法。 然而,大量的频繁子图中只有相关的子图会被选中。 基于候选子图与其他类别的重叠来选择相关子图。 构建二进制编码以形成最终的多维特征向量。 分类阶段按类别执行,在提出的系统中使用BCSO为每个类别选择合适的特征子集。
为了在人脸区域构建图,通过提取面部关键点以定位面部关键区域的位置,例如:眉毛,眼睛,鼻子,嘴巴和下巴。本文使用dlib库提取人脸关键点。分为两步:
1.定位图片中的人脸区域;2.检测人脸区域重要面部结构的坐标。
dlib库能估计68个人脸关键点,用以表征关键面部结构。这些点的索引可以从图2中看出。但是,为了避免产生太大的图,如图2(b)所示,仅使用与表情相关的点(总计使用20个点),其中所选点用蓝色圆圈标记。
为了利用人脸关键点来构造人脸图,点的索引用作顶点的标签,而边标签确定如下:
1.每一对点p1(x1, y1)和p2(x2, y2)之间的距离通过欧式距离来计算。
2.归一化。将所有距离除以最大距离。
其中和分别是归一化之前和归一化之后的距离,MaxD是所给人脸区域最大的距离。
3.为了应用gSpan算法,有必要对每个图中的距离进行分类。 距离范围分为长度为0.05的子范围,并且为每个子范围分配一个从1到20的标签,以覆盖所有可能的范围。距离值如表1所示。
在为每个节点分配标签并计算每个边的标签后,全连接的无向图就可以用于后续的挖掘步骤。 图3显示了一个图示例,该图是根据使用过的数据库中的样本面部构建的。
为了提取表征面部图常见变化的可区分特征,首先需要挖掘每类表情的频繁子图。为此使用算法1,该算法将每个类别的图数据集和最小支持值当做输入,而输出是该组图的频繁子图。由于此算法可能会生成过多的频繁子图,因此添加参数(N)当做所生成子图的最大数量的限制,并且可以通过实验确定其值。
在此阶段,只有与其他表情重叠率很小的子图才被视为每种表情的候选子图。 频繁子图的候选集的选择步骤如下:
1.计算每个表情的每个子图与其他表情子图构成的重叠率,重叠率可按照等式(3)计算。
2.然后,子图根据它们的重叠率以升序排序。
3.找出重叠率中最小的M个子图。
4.通过找到重叠率最小的最佳三个子图和最佳的四个子图,以此类推,继续进行下去,直到重叠率变为零或其值没有提高。
为了能够应用在机器学习和优化算法中,子图的最终候选特征向量必须转换为多维向量空间表示。为此使用二进制编码,其中在数据库中进行搜索,以找到与给定子图匹配的图。如果匹配,则子图将在多维矢量中用值1编码,否则用0编码,如等式(4)所示.
在提出的方法中使用了基于级别的分类,因此在每个级别中,仅一种表情从剩余的表情中被分类。 如图6所示,使用六个分类级别将给定的面部图像分类为七个基本表情之一。
如图5所示,以前馈神经网络为目标函数的BCSO被用来选择每个级别的适当特征集。BCSO中使用的适应度函数为分类精度n,其可计算为[20]:
corr指正确分类的样本数,n是总的数据样本的数目。为了得到corr的值,采用前馈神经网络;因此BCSO的每一次迭代,NN都被训练, 然后测试,以计算每个猫群合适的值。
BCSO因其收敛速度而被用于特征选择任务,因为它通过应用两种操作模式(跟踪模式和查找模式)来工作,这使其适合于本文提出的特征选择任务,特别是将神经网络用作一种适应功能如图5所示。神经网络需要针对不同体系结构进行训练和测试,以针对给定的一组特征提供最佳的准确性。 这种优化方案需要时间来覆盖,并且由于BCSO提供了速度,所以我们利用了它。
选择NN作为目标函数的主要原因是最终特征向量可能由于gSpan算法中使用的支持值小于100%而部分不完整,这意味着对于给定的情感类别,并非所有频繁子图都存在于所有图中。 NN是机器学习方法,具有处理部分不完整数据的能力。
最后是分类,建立了六个NN。 每个NN都经过选择功能的训练和测试,这些功能是在每个分类级别中由BCSO挑选出来的。 该数据库分为训练集和测试集,其中80%的数据库用于训练NN并选择最佳配置以在每个分类级别中获得适当的权重。
该系统在Surrey AudioVisual Expressed Emotion(SAVEE)数据库上进行了训练和测试。 SAVEE包括四位男演员的七种不同表情的记录,总计480个样本。 这些句子采用英式英语发音,选自TIMIT的标准语料库。 数据记录在具有高品质视听设备的视觉媒体实验室中,经过处理和标记。 为了检查演奏的质量,在音频,视觉和视听条件下,由十个对象对录音进行了评估[21]。
在所提出的方法中,数据库中的每个视频都被框起来,并且使用中间帧,因为它保持了情感的顶点状态。 总共480帧用于系统评估。
进行实验以确定所提出方法的最佳参数值。为了在每个表情类别采用频繁子图,gSpan算法采用了不同的N值和支持值。如果N太小,系统可能会丢失重要的子图,这将导致增加重叠率而降低准确率。当N太大时,会给很多子图机会并且降低重叠率。然而,许多子图都不具备有效性。在频繁子图尺寸减少以及为每个分类级别选择最佳特征子集时,这也会增加分析时间。另一方面,如果支持值太小,则gSpan会生成情感类中的大量图可能不存在的子图,从而实际上降低了准确性。如果支持值太大,gSpan可能会阻止许多重要子图的产生。简而言之,如果N非常小且支持值非常高,则gSpan可能会通过生成一些子图(支持度等于或大于预定义支持值的子图)而错过许多重要的子图,然后 将选择由少数效果较差的子图组成的组合。这将会降低系统的准确率。如果N非常大且支持值非常小,则gSpan会生成许多图中不存在的子图,进而将许多关联比较差的子图组合。这也会降低系统的准确率。经试验证明,当N=4000, 支持值=70%,系统能得到最好的重叠率,因此实验中采用这一对数值。表2显示了在每类情感中应用gSpan和支持值=70%时实现的前十个最小重叠率,以及生成它的子图编号。
选择候选子图时,M经过试验等于20为最佳。总的子图数有280万减少到5万7.表3-9显示了针对不同情感类别的最终选择的子图,而表10显示了
选定的子图会为每种情感做出选择。基于表2中,对于情感愤怒情感和厌恶的重叠率是相当不稳定的。 这是指以下事实:愤怒和厌恶的图情感包含频繁的子图,它们具有不同的重叠率,这会影响这些类别的最终子图组合的重叠率,如表10所示,尽管其他情感产生了一些重叠,但它们给出的重叠率为零。 图6示出了最终选择的子图在每个情绪内的面部区域中的位置。
表11显示了将BCSO应用到每个级别中具有不同情感组合的不同级别时所实现的识别准确性。 可以看出,通过使用二元分类可以很好地识别除恐惧之外的情绪。 由于在每个分类级别中均发生错误,因此系统在所有级别上实现的最终准确性均为90.00%。
表4显示了不同数据算法组合的类精度。 可以观察到,除悲伤以外的所有情绪都可以被完全识别。 很好地使用单峰和多峰数据集。 通过在LBP-TOP数据集上应用WSMO算法,可以最好地识别出愤怒,通过在其上应用神经网络,可以最好地识别出幸福感。 组合视听数据集等
表12显示了每个分类级别中所选要素的数量。 如表中所示,级别1需要最大数量的功能,因为在此级别中,愤怒的阶级必须与所有其他情绪分开,因此需要更多的功能。 Level4和Level5具有30个功能,这些功能指的是将自然和悲伤的情绪与其余情绪分开的困难。 第2、3和6级需要较少的功能,而准确率超过97%。
将获得的结果与SAVEE数据库上的其他当前研究工作进行比较时,表明采用表13所示的拟议图挖掘方法,面部表情识别的准确率提高了约2%。
面部情感识别发现了许多现实生活中的应用,例如人机交互,安全性,医学,教育等。本文提出了一种新的情感分类方法。图论和挖掘概念被用来通过使用gSpan算法在每个情感类别中找到频繁的子图。使用重叠率度量选择最佳候选子图有助于减少冗余子图的数量,并将工作仅集中在有用的子图上。另一方面,在六个级别上使用二进制分类对提高系统的最终精度有很大的影响。实验结果清楚地表明,使用SAVEE数据库,该系统的有效性约为90.00%。作为未来的工作,可以使用图聚类技术(例如k-medois)将每个情感中的面部图聚类为k个不同的聚类,然后在每个聚类上而不是每个类上应用gSpan。这可以帮助进一步降低类别之间的重叠率。另外,通过允许每个子图根据匹配的节点和边的数量在每个情感上的隶属度在0到1之间,可以使用模糊逻辑代替子图的明晰二进制编码。模糊编码的使用将有助于避免编码子图的部分不完整向量空间表示的问题。