基于改进头脑风暴优化算法的面部情绪识别特征选择方法与流程

文档序号:14951070发布日期:2018-07-17 22:33阅读:199来源:国知局

本发明涉及一种面部情绪识别特征选择方法,尤其涉及一种基于改进头脑风暴优化算法的面部情绪识别特征选择方法。



背景技术:

面部情绪识别(facialexpressionrecognition,fer)是从面部动作编码系统间接识别图像中情感,或者从面部图像直接识别人的情感。情感是人的内在代表性符号之一,在人类感知、推理、计划、决策和社会活动中起着重要的作用。随着机器视觉、大数据和信息技术的快速发展,面部情绪识别在智能感知、人机交互、疲劳驾驶检测、情感机器人和视频监控等领域,受到学术界和工业界的广泛关注。一般而言,一个典型的面部情绪识别系统包括人脸采集模块、特征选择模块,以及特征分类和验证模块,其中,人脸特征的提取和选择在情感识别过程中起着关键的作用。只有精确选择出人脸代表性的特征集,才能大大提高情感分类算法的性能。

常见面部特征提取方法包括几何特征法和外观法。几何特征法是将重要面部特征(如,眼睛和鼻子等)的形状和位置的集合构造为特征向量,而外观法则通过特殊的过滤器来提取特征,这些过滤器既可以应用于整个面部,也可以应用于面部的某些特定区域;但是,上述方法所得特征数目仍然很多,而且往往包含大量无关或冗余特征。这些特征存在,会大大增加情绪识别的时间,甚至会影响识别的精度。为此,面向面部图像情绪的特征选择方法尤为重要。

目前针对面部图像数据特征选择问题,学者们已经给出了多种可选方法,如,2011年4月期刊《计算机技术与发展》第21期出版的“基于pca的特征选择算法”,使用基于主成分分析的特征选择方法对人脸原始特征集进行选择;2015年9月期刊《计算机软件与应用》第2期出版的“基于图像分块和特征选择的单训练样本人脸识别”,使用多流形判别分析算法选择对有利于人脸识别的特征;中国发明专利“面向后台多源数据的特征提取和特征选择方法”(授权公开号:cn104268572b,授权公开日:2017年10月27日),提出的使用grouplasso进行后台多源数据的组特征选择方法。这些方法共同特点是使用某些度量对特征子集进行排序,具有操作简单、计算速度快的优点;但是,由于未考虑情绪分类算法的具体执行效果,依然存在识别精度低,易于陷入局部最优的缺点。

头脑风暴优化(brainstormoptimizationalgorithm,bso)算法是2011年提出的一种新颖群体智能算法,它是基于人类的集体行为,即头脑风暴的过程而提出的。相比传统进化优化技术,该技术具有易于理解、方便实现以及收敛速度快的优点;尽管该技术已在车间调度、机器人定位、股票指数预测等问题上得到成功应用,部分工作如2017年9月期刊《控制与决策》第7期出版的“求解离散调度问题的双机制头脑风暴优化算法”,以及发明专利“一种基于头脑风暴的火电厂经济环境调度方法”(授权公开号:cn104037757b,授权公开日:2016年04月20日)等,但是,将其用于解决面部图像情绪特征选择问题,依然存在如下待解决的问题或不足:首先,个体编码问题,即如何将bso中的个体表示成问题的解;其次,个体适应值评价问题,即如何借助分类器评价一个潜在解的优劣;最后,个体的更新问题,即在防止算法局部收敛的前提下如何高效产生新的问题解。经查相关文献,目前还不存在一种适于面部图像情绪特征选择的高效头脑风暴优化技术。



技术实现要素:

为解决上述问题,本发明提供一种基于改进头脑风暴优化算法的面部情绪识别特征选择方法,克服现有技术的不足,它具有易实现、搜索速度快、求解精度高等优点。

为实现上述目的,本发明采用以下技术手段:

本发明提供一种基于改进头脑风暴优化算法的面部情绪识别特征选择方法,包括以下步骤:

(1)面部情绪图像特征向量的提取;

(2)从步骤(1)所确定的特征向量中确定出差异特征,组成差异特征向量;

(3)对步骤(2)传递过来的差异特征向量,执行改进的头脑风暴优化算法,选出特征个数最少、分类器精度最高的一个特征子集;

(4)利用步骤(3)所得最终输出个体,即适应值最大的特征子集,确定出相应的支持向量机;利用所确定支持向量机作为最终的分类器,完成面部情绪的分类,进而实现对面部情绪的识别。

进一步的,所述步骤(1)具体包括:采用椭圆来近似面部轮廓,利用方向梯度直方图hog从面部图像中提取特征,组成初始特征向量;具体方法如下:首先将图像分成小的连通区域小块,并为每个小块绘制方向直方图;其次,通过计算图像中较大区域的强度,对局部直方图进行归一化;然后,标准化所有区块;最后,所有块的直方图被连接成一个特征向量。

进一步的,所述步骤(2)具体包括:重复步骤(1)的方法构建出中性情绪图像的特征向量,计算步骤(1)所得情绪特征向量与中性情绪特征向量之间的差异值,找到因情绪变化而出现差异的所有特征,构建出差异特征子集或特征向量;当所有特征对应的特征差异值都接近零时,即可认定该图形为中性情绪,并终止算法。

进一步的,所述步骤(3)具体包括:针对步骤(2)得到的差异特征向量,以支持向量机作为情绪分类器来评价个体的适应值,执行改进的头脑风暴优化算法,从这些差异特征中删除不相关和冗余特征,以找到特征个数最少、分类器精度最高的一个特征子集,具体方法如下:

(3.1)确定种群中个体的编码策略,以任意个体x为例,本发明采用一个概率矩阵表示其编码,公

式如下:

x=(x1,x2,...,xd),xi∈[0,1],i=1,2,...,d

其中,d为全部特征的数目,xi表示个体中第i个特征被选中的概率,若xi>0.5,则意味着第i个特征被选入特征子集;否则,这个特征被剔除;

(3.2)确定个体适应值的评价策略,首先利用步骤(3.1)的思想将待评价个体转化为相应的特征子集;接着,利用该特征子集确定出支持向量机的结构,并由确定好的支持向量机对图像样本进行训练和测试;支持向量机对测试样本的分类精度值即为上述待评价个体的适应值;

(3.3)初始化头脑风暴优化算法所需种群,在特征空间中随机生成种群中的全部n个个体,其中,n为种群所包含个体的规模;

(3.4)采用k-means方法对种群中的个体进行聚类;随后,在每个类中,对其包含的个体按照适应度值大小进行排序,选择适应度最大的个体作为该类的中心;

(3.5)交替使用类内变异算子和类间交叉算子依次产生n个新的个体,方法如下:首先,将种群中已有的n个个体随机划分为规模相同的两组,第一组执行类内变异算子来产生新的个体,剩余一组采用类间交叉算子来产生新的个体;

(3.6)更新个体的位置,方法如下:利用(3.2)中方法评价每个新生个体的适应值,若其适应值大于原先个体的适应值,则利用新个体代替原先个体;否则,保持不变;

(3.7)判断是否满足终止准则,若满足,则终止算法,并输出种群中适应值最大的个体作为最终结果;否则,返回步骤(3.4)。

进一步的,所述步骤(3.5)中,采用的类内变异算子如下:在[0,1]之间产生一个随机数,如果该随机数大于0.5,随机选择一个类,对其类中心进行变异,得到一个新个体;否则,从该类中随机选择一个个体,对其进行变异,得到一个新个体;

采用的类间交叉算子如下:在[0,1]之间产生一个随机数,如果该随机数大于0.5,随机选择两个个类,对两个类的类中心进行交叉,得到一个新个体;否则,从两个类中分别随机选择一个个体,对其进行交叉,得到一个新个体。

本发明的有益效果:

本发明与现有技术相比的优点在于:一方面,针对传统面部情绪特征选择方法存在的识别精度低,易于陷入局部最优的缺点,本发明利用具有全局搜索能力的改进头脑风暴优化技术寻找最佳特征子集,显著提高了算法的识别精度;另一方面,相对传统的基于进化优化的特征选择方法,本发明利用情绪特征向量与中性情绪特征向量之间的差异值,先删除与情绪识别明显无关的特征,降低了头脑风暴优化算法的搜索空间,明显提高了对面部情绪识别问题的处理速度。

附图说明

图1是本发明各步骤之间的逻辑结构框图;

图2是所设计头脑风暴优化算法的流程图。

具体实施方式

下面结合具体附图和实例对本发明的实施方式进行详细说明。图1给出了所发明方法各步骤之间的逻辑结构;图2展示了所设计头脑风暴优化算法的流程图,本实施例提供一种基于改进头脑风暴优化算法的面部情绪识别特征选择方法,包括以下步骤:

步骤1:面部情绪图像特征向量的提取。采用hog方法提取面部图像的情绪特征,首先将情绪图像灰度化,采用gamma校正法对图像进行颜色的归一化处理,这样做可以降低阴影和光照变化对面部图像所造成的影响并抑制噪音的干扰;然后,为了减少光照的干扰,计算图像每个像素的梯度;将图像划分成小单元,统计每个单元的梯度直方图即可形成每个单元的描述符,将每几个单元组成一个快,一个块内所有单元的特征描述符组合起来便可得到该块的hog特征描述符;将图像的所有块的hog特征描述符串联起来,即可构成一个描述面部特征的特征向量。

步骤2:从步骤1所确定的特征向量中确定出差异特征,组成差异特征向量。如果将步骤1所得特征向量直接用于支持向量机的训练,所得到的结果很差。为此,本发明比较情绪图像和中性面部图像,找到因情绪的变化而出现的差异特征,并将差异特征应用于面部情绪的识别过程中。首先,重复步骤1的方法构建出中性情绪图像的特征向量;计算步骤1所得情绪特征向量与中性情绪特征向量之间的差异值,找到因情绪变化而出现差异的所有特征,构建出差异特征子集或特征向量。如果所有特征对应的特征差异值都接近零时,即可认定该图形为中性情绪,终止算法;否则,如图1所示,将所得到的差异特征向量传递到特征选择模块,执行步骤3。

步骤3:对步骤2传递过来的差异特征向量,执行改进的头脑风暴优化算法,选出特征个数最少、分类器精度最高的一个特征子集。

首先,确定种群中个体的编码策略,一个个体即表示问题的一个可行解,即一个特征子集。以任意个体x为例,采用一个概率矩阵表示其编码,公式如下

x=(x1,x2,...,xd),xi∈[0,1],i=1,2,...,d

其中,d为全部特征的数目,xi表示个体中第i个特征被选中的概率,若xi>0.5,则意味着第i个特征被选入特征子集;否则,这个特征被剔除;

其次,利用支持向量机作为识别面部情绪的分类器,确定出个体适应值的评价策略。对于任意给定的一个个体x,从其第1维元素开始,依次判断元素值与0.5的大小关系,如果元素值大于0.5,则将其对应的特征放入特征子集;直到个体x的最后一维元素,即可得到该个体对应的特征子集;利用个体x对应的特征子集确定出支持向量机的结构,即其输入输出;由确定好的支持向量机对用户提供的图像样本进行训练和测试;支持向量机对测试样本的分类精度值即为上述待评价个体的适应值。不失一般性,本发明确定70%的图像样本为训练样本,30%的样本为测试样本。

接着,设定改进头脑风暴优化算法的详细参数,包括种群规模n、算法终止条件、变异概率、交叉算子类型、聚类数目k等参数。种群规模一般为20~50,选择最大终止代数作为算法的终止条件,一般取200~500;交叉算子类型选择单点交叉,变异概率设置为1/d,变异比例因子f取(0,1];聚类数目k一般设置为3~5。

基于上述准备,然后启动基于改进头脑风暴优化的特征选择算法,寻找最佳的特征子集。结合图2,下面详细说明改进特征选择算法的具体实施步骤:

(3.1)初始化种群。在d维特征空间中随机生成n个个体,每个个体对应问题的一个可行解,即一个特征子集,同时使用适应度函数评价个体;

(3.2)对种群进行聚类,确定类中心。采用k-means方法对种群中的个体进行聚类,将种群中的个体划分为k类;针对划分后每个类,对其包含的个体按照其适应度值大小进行排序,选择适应度最大的个体作为该类的类中心;

(3.3)交替使用类内变异算子和类间交叉算子,依次产生n个新的个体。将种群中的全部n个个体随机划分为规模相同的两组,第一组执行类内变异算子来产生新的个体,剩余一组采用类间交叉算子来产生新的个体,执行方法如下:

对第一组中个体执行类内变异算子:在[0,1]之间产生一个随机数,如果该随机数大于0.5,随机选择一个类,对其类中心(假设为xcenter)进行变异,得到一个新个体,公式如下

x′=xcenter+f*(xa-xb)

其中,f是(0,1]间的变异比例因子,xa和xb是该类中随机选择的两个个体。如果该随机数不大于0.5,从该类中随机选择一个个体,对其进行变异,得到一个新个体。以任意个体(或类中心)x=(x1,x2,...,xd)为例,变异公式如下:

x′=(x′1,x′2,...,x′d)

其中,x′为新生个体,rand1和rand2为两个[0,1]之间的随机数。

对第一组中个体执行类间交叉算子如下:在[0,1]之间产生一个随机数,如果该随机数大于0.5,随机选择两个个类,对两个类的类中心进行单点交叉,得到一个新个体;否则,从两个类中分别随机选择一个个体,对其进行单点交叉,得到一个新个体。设从任意两个类中选择出个体(或类中心)分别为x=(x1,x2,...,xd)和y=(y1,y2,...,yd),在[2,d-1]之间随机产生的交叉点为j(j为整数),则执行单点交叉后,新生个体为x′=(x1,x2,...,xj,yj+1,...,yd)。

(3.4)更新个体的位置。对新生成的每个个体,利用上述所提策略计算其适应值;对于一个新生成,若其适应值大于原先(上一次迭代得到的)个体的适应值,则利用新个体代替原先个体;否则,保持原先个体不变;

(3.5)判断算法是否达到最大终止代数。若达到,则终止算法,输出种群中适应值最大的个体作为最终结果;否则,返回步骤(3.2)。

步骤4:利用步骤3所得最终输出个体,即适应值最大的特征子集,确定出相应的支持向量机;利用所确定支持向量机作为最终的分类器,完成面部情绪的分类,进而实现对面部情绪的识别。

为了说明本发明处理面部情绪特征选择问题的性能,将所设计基于头脑风暴优化的面部图像情绪特征选择方法应用于两个典型的测试问题ck和jaffe上。ck测试问题是建立最早和应用最广的情绪识别研究数据库,由来自123个受试者的593个图像序列组成;考虑其中106名受试者的图像,选择的图像序列如下:从每个序列中选取三个峰值帧和两个中性图像,总共提供1478个图像用于实验。jaffe测试问题即日本女性面部情绪数据库,该数据库共有213张情绪图片,由10个女性的7种情绪图片组成。每个图像都标有原始中性情感图。在评估过程中共使用了182个情感图像和两个中性图像。专利所使用ck和jaffe数据集中每种情绪图像的数目如表1。对于每个数据集,70%的图像用于训练分类器和特征选择,而剩余得30%用于测试。

所用面部图像情绪特征选择方法的参数设置如下:种群规模为50,算法终止迭代次数为200,聚类数目取k=5,变异控制因子f=0.8,变异概率取1/d对于测试问题ckd=120,对于测试问题jaffed=80)。试验中所用的hog参数取值为{(11,15,2,0.2),(11,14,2,0.56),(9,16,2,0.93)}。分别执行本专利所提方法30次,并记录所得平均和最好识别精度值。表2展示了本发明方法所得特征子集的平均识别准确率。可以看出,针对2个测试问题本专利方法均得到了识别准确率较高的特征子集。进一步,表3展示了本发明方法、信息增益法(informationgain)和粒子特征选择方法在ck和nmi数据集上的识别率,三种算法均采用线性svm分类器。可以看出,本专利方法的识别率显著高于信息增益法(informationgain)和微粒群优化特征选择法。

综上可得,本发明为有效解决实际中普遍存在的面部情绪特征选择问题提供了一种高效的求解方法。

表1

表2

表3

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1