基于量子深度信念网络的人脸表情识别方法与流程

文档序号:18032394发布日期:2019-06-28 22:49阅读:265来源:国知局
基于量子深度信念网络的人脸表情识别方法与流程

本发明属于图像处理技术领域,涉及一种人脸表情识别方法,具体涉及一种基于量子染色体和深度信念网络的人脸表情识别方法,通过训练量子深度信念网络,实现对人脸表情的识别。可应用于人机交互、远程教育、社交网络、犯罪嫌疑人审讯等领域。



背景技术:

人类的面部表情是人类最重要的表达内心情感的方式之一,当人类的语言和面部表情表达不同的信息时,更为准确的是表情表达的信息。1971年,心理学家ekman定义了六种人类的表情,分别为高兴、悲伤、愤怒、惊讶、厌恶、恐惧。对人类的面部表情进行判断可以使得人类和机器的沟通更有效。

人脸表情识别过程包括人脸获取、提取表情特征和识别表情三步,其评价指标为识别精度与时间效率,对人脸表情特征提取的有效性是影响识别精度的主要因素,网络结构和训练时数据运行方式对时间效率有很大影响,人脸表情识别可分为传统的表情识别方法和基于深度学习的表情识别方法两类。

传统的人脸表情识别方法有基于几何特征提取的方法、基于外貌特征提取的方法、基于特征点跟踪的方法等。这些人脸表情识别方法在提取表情特征时都是提取人脸表情的局部特征,容易导致人脸表情特征信息的丢失,导致识别精度不高;基于深度学习的方法可以在提取过程中利用人脸表情的全部特征从中提取更高级特征,得到较高的识别精度。常用的基于深度学习的表情识别方法有基于深度信念网络的方法和基于卷积神经网络的方法,基于卷积神经网络的方法可以取得较高的精度,但特征提取过程复杂,计算量大,导致训练过程对硬件要求很高,训练时间长,时间效率低,应用上有所限制。

深度信念网络是由多个受限玻尔兹曼机组成,基于深度信念网络的表情识别技术是通过无监督学习训练受限玻尔兹曼机,然后固定受限玻尔兹曼机参数,对深度信念网络参数进行微调,得到表情特征信息,通过分类器对表情特征信息分类。例如申请公布号cn103793718a,名称为“一种基于深度学习的人脸表情识别方法”的专利申请,公开了一种基于深度信念网络的人脸表情识别方法,包含如下步骤:从人脸表情数据库中提取人脸表情图像;对人脸表情图像进行预处理;将预处理后的全部图像分为训练样本和测试样本两部分;将训练样本用于深度信念网络的训练;将深度信念网络的训练结果用于多层感知器的初始化;将测试样本输送到初始化后的多层感知器进行识别测试,实现人脸表情识别结果的输出。这种方法解决了传统的表情识别方法中人脸表情特征信息容易丢失导致的识别精度不高的问题,但不足之处在于深度信念网络优化过程中的参数容易收敛到局部最优导致无法有效地提取人脸表情特征,无法达到更高的精度,同时训练时数据是串行运行,训练时间长,时间效率低。



技术实现要素:

本发明的目的在于克服上述现有技术的不足,提出一种基于量子深度信念网络的人脸表情识别方法,旨在提高人脸表情识别的精度和效率。

为实现上述目的,本发明采取的技术方案包括如下步骤:

(1)获取训练集r和测试集t:

(1a)将从人脸表情库中获取的n幅人脸表情图像的半数以上作为训练图像,其余部分作为测试图像,并对每幅训练图像和每幅测试图像分别进行预处理,得到训练矩阵x和测试矩阵y,n≥50;

(1b)对矩阵x和y分别进行去中心化,得到去中心化后的矩阵x'和y',并分别计算x'和y'的协方差矩阵的特征值;

(1c)按照由大到小的顺序对x'的协方差矩阵的特征值和y的协方差矩阵的特征值分别进行排序,并将排序后的x'的协方差矩阵特征值中的前m个特征值对应的特征向量组合成训练集r,同时,将排序后的y'的协方差矩阵特征值前m个特征值对应的的特征向量组合成测试集t,m≥100;

(2)设定迭代参数:

设量子深度信念网络当前稀疏受限玻尔兹曼机的迭代次数为c,最大迭代次数为s,并初始化c=1;

(3)对当前稀疏受限玻尔兹曼机的参数进行初始优化:

将训练集r作为量子深度信念网络的输入,并采用对比散度算法对当前稀疏受限玻尔兹曼机的参数进行优化,得到初始优化后的权重参数w、可视单元的偏置a和隐单元的偏置b;

(4)基于多目标优化算法,并通过量子染色体,以并行的方式对初始优化后的隐单元的偏置b进行优化:

(4a)从初始优化后的隐单元的偏置b中随机选取k个偏置,组成数据集dk,k≥10,设定当前进化代数为t,种群最大进化代数为g,并初始化t=0;

(4b)将随机生成的q个量子染色体各存入一个线程,q≥10,并将所有量子染色体作为初始种群gt;

(4c)将初始种群gt中的所有量子染色体从量子空间映射到目标空间,并对目标空间中每个量子染色体的状态进行观测,然后计算观测状态时的量子染色体的适应度,再选取适应度值最小的p个确定状态的量子染色体作为gt的最优解集合f,2≤p<q;

(4d)在种群gt中所有的量子染色体进行交叉,然后采用栅栏同步的方法对交叉后的量子染色体进行同步,将同步后的所有量子染色体作为下一代种群gt+1;

(4e)将下一代种群gt+1中的所有量子染色体从量子空间映射到目标空间,并对目标空间中每个量子染色体的状态进行观测,然后计算观测状态时的量子染色体的适应度,按照由大到小的顺序对gt+1和f中的量子染色体的适应度进行排序,并选取适应度最小的p个确定状态的量子染色体替换最优解集合f中所有确定状态的量子染色体;

(4f)令t=t+1,并判断t与最大进化代数g是否相等,若是,则从最优解集合f中选择一个确定状态的量子染色体作为优化后的数据集d'k,否则执行步骤(4d);

(5)对初始优化后的隐单元的偏置b进行更新:

通过优化后的数据集d'k替换初始优化后的当前稀疏受限玻尔兹曼机隐单元的偏置b中的对应偏置,并判断当前迭代次数c与最大迭代次数s是否相等,若是,得到训练后的当前稀疏受限玻尔兹曼机,并执行步骤(6),否则,c=c+1,并执行步骤(3);

(6)对量子深度信念网络进行初始化:

固定训练后的当前稀疏受限玻尔兹曼机的权重参数w、可视单元的偏置a后,将训练后的当前稀疏受限玻尔兹曼机隐单元的偏置b作为下一个稀疏受限玻尔兹曼机可视单元的偏置,重复步骤(2)—(5),直到完成所有稀疏受限玻尔兹曼机的训练,并在最后一个训练后的稀疏受限玻尔兹曼机的输出端上连接softmax分类器,得到初始化后的量子深度信念网络;

(7)对初始化后的量子深度信念网络参数进行微调:

将训练集r作为初始化后的量子深度信念网络的输入,并采用反向传播算法对初始化后的量子深度信念网络的参数进行微调,得到微调后的量子深度信念网络;

(8)获取人脸表情识别结果:

将测试集t输入到微调后的量子深度信念网络,得到人脸表情的识别结果。

本发明与现有技术相比,具有以下优点:

第一,本发明在深度信念网络中引入量子机制,在优化稀疏受限玻尔兹曼机的隐单元偏置时采用量子机制编码染色体,由于量子染色体状态具有不确定性,所以量子染色体在训练过程中全局搜索能力强,参数优化过程更容易收敛到全局最优,更有效的提取人脸表情特征,解决了现有技术中无法有效地提取人脸特征的缺点,与现有技术相比,提高了识别精度。

第二,本发明在训练稀疏受限玻尔兹曼机隐单元的偏置时采用并行方法,每个线程负责一个量子染色体,多个量子染色体的进化可以同时进行,解决了现有技术中训练时数据串行运行导致训练时间过长的缺点,与现有技术相比,提高了时间效率;同时,量子染色体的状态具有不确定性,每个量子染色体代表多种状态,所以参数优化的过程中收敛速度更快,与现有技术相比,进一步提高了时间效率。

附图说明

图1是本发明的实现流程图。

具体实施方式

下面结合附图和具体实施例,对本发明作进一步详细描述:

参照图1,本发明包括如下步骤

步骤1)获取训练集r和测试集t:

步骤1a)将从人脸表情库中获取的n幅人脸表情图像的半数以上作为训练图像,其余部分作为测试图像,并对每幅训练图像和每幅测试图像分别进行预处理,得到训练矩阵x和测试矩阵y,n≥50;

将每幅训练图像所包含的像素按照先列后行的顺序排列成训练向量ii,将每幅测试图像所包含的像素按照先列后行的顺序排列成测试向量pj,并将所有训练向量组合成训练矩阵x,将所有测试向量组合成测试矩阵y:

x={i1,i2,...,ii,...,ib}

y={p1,p2,...,pj,...,pc}

其中,b为训练图像的个数,c为测试图像的个数;

在实施例中,n=200,将更多的图像用于训练可以保证更好的训练效果,所以本实施例中,将80%的图像作为训练图像,其余作为测试图像。

步骤1b)对矩阵x和y分别进行去中心化,得到去中心化后的矩阵x'和y',并分别计算x'和y'的协方差矩阵的特征值;

为了计算协方差矩阵,对矩阵x和y分别进行去中心化,即将矩阵x和y中的每个元素的值分别减去其所在行的平均值,使x'和y'每一行的数据平均值为0;

步骤1c)按照由大到小的顺序对x'的协方差矩阵的特征值和y的协方差矩阵的特征值分别进行排序,并将排序后的x'的协方差矩阵特征值中的前m个特征值对应的特征向量组合成训练集r,同时,将排序后的y'的协方差矩阵特征值前m个特征值对应的的特征向量组合成测试集t,m≥100;

为了在后续训练中参数量更少,加快训练速度,对原始图像进行了降维处理,将原始图像的k维,k的大小为图像高×宽,降到m维,协方差矩阵特征值较大的特征值的特征向量更能代表原始图像特征,所以选取特征值较大的前m个特征值的特征向量分别组成训练集和测试集,在本实施例中,k=256×256,m=90×108。

步骤2)设定迭代参数:

设量子深度信念网络当前稀疏受限玻尔兹曼机的迭代次数为c,最大迭代次数为s,并初始化c=1;

为了既能保证训练效果,又能保证时间效率,最大迭代次数s应该选取一个合理的范围,本实施例中,s=150;

步骤3)对当前稀疏受限玻尔兹曼机的参数进行初始优化:

将训练集r作为量子深度信念网络的输入,并采用对比散度算法对当前稀疏受限玻尔兹曼机的参数进行优化,得到初始优化后的权重参数w、可视单元的偏置a和隐单元的偏置b;

实例中的量子深度神经网络,有三个稀疏受限玻尔兹曼机,每个稀疏受限玻尔兹曼机的输入,来自上一个稀疏受限玻尔兹曼的输出,以此传递,第一个稀疏受限玻尔兹曼机的输入为训练集r。

利用对比散度算法对当前稀疏受限玻尔兹曼机的参数集进行优化,具体计算如下:

δwij=ε(<vihj>data-<vihj>recon)

δai=ε(<vi>data-<vi>recon)

δbj=ε(<hj>data-<hj>recon)

δ代表优化后的参数与优化前的参数的差值,wij代表第i个可视单元和第j个可视单元的权重,ai代表第i个可视单元的偏置,bj代表第j个隐单元的偏置,vi代表第i个可视单元,hj代表第j个隐单元,ε为学习率,实施例中取值为0.3,<·>data为样本数据的期望,<·>recon为重构数据的期望。

步骤4)基于多目标优化算法,并通过量子染色体,以并行的方式对初始优化后的隐单元的偏置b进行优化:

步骤4a)从初始优化后的隐单元的偏置b中随机选取k个偏置,组成数据集dk,k≥2,设定当前进化代数为t,种群最大进化代数为g,并初始化t=0;

实际操作中偏置b的数量太多,全部优化会导致训练时间过长,偏置b直接控制了样本的稀疏性,优化较少的隐单元偏置可以缩短训练时间,同时能保证训练效果,所以在偏置b中随机选择一部分进行优化,实施例中k=100;

步骤4b)将随机生成的q个量子染色体各存入一个线程,q≥10,并将所有量子染色体作为初始种群gt;

本发明多目标优化算法的过程为并行方式,每个量子染色体各存入一个线程,所有线程上的量子染色体的进化过程可以同时进行,有效加快了优化速度;

实施例中q=50;

步骤4c)将初始种群gt中的所有量子染色体从量子空间映射到目标空间,并对目标空间中每个量子染色体的状态进行观测,然后计算观测状态时的量子染色体的适应度,再选取适应度值最小的p个确定状态的量子染色体作为gt的最优解集合f,2≤p<q;

本实施例中,p=30;

由于量子染色体的编码特性,需要将其从量子空间映射到所求问题的目标空间,映射到目标空间的量子染色体x为:

x={x1,x2,...,xj,...xk}

θj=2π×rand(0,1)

xj的观测状态x'j的表达式为:

其中,xj表示映射到目标空间的量子染色体的第j位,j=1,2,...,k,k为量子染色体总位数,k的值为从当前稀疏受限玻尔兹曼机隐单元的偏置中随机选取的偏置个数,[a,b]为量子染色体在目标空间的取值范围,qj为量子染色体的第j位在量子空间的表示方式。

由于量子染色体的状态具有不确定性,将其映射到目标空间和观测时,没有改变种群gt中的量子染色体;

步骤4d)在种群gt中所有的量子染色体进行交叉,然后采用栅栏同步的方法对交叉后的种群进行同步,将同步后的种群作为下一代种群gt+1;

一次交叉后的量子染色体qt+1为:

是从种群gt中随机挑选的量子染色体,f为收缩因子,f的值随机取值于高斯分布n(0,1),cr为交叉概率,cr的值随机取值于高斯分布n(0.5,0.15);

因为种群是分散执行在多个线程上,每次交叉操作的时候需要三个量子染色体进行,所以线程上的量子染色体可能被其他线程上的量子染色体修改,所以要采用栅栏同步方法,在每一次交叉后的量子染色体qt+1的位置设定栅栏,所有量子染色体交叉后栅栏取消,将所有交叉后的量子染色体作为下一代种群gt+1;

步骤4e)将下一代种群gt+1中的所有量子染色体从量子空间映射到目标空间,并对目标空间中每个量子染色体的状态进行观测,然后计算观测状态时的量子染色体的适应度,按照由大到小的顺序对gt+1和f中的量子染色体的适应度进行排序,并选取适应度最小的p个确定状态的量子染色体替换最优解集合f中所有确定状态的量子染色体;

本步骤中量子染色体从量子空间映射到目标空间的方法和对目标空间的量子染色体进行观测的方法与步骤4c)相同;

步骤4f)令t=t+1,并判断t与最大进化代数g是否相等,若是,则从最优解集合f中选择一个确定状态的量子染色体作为优化后的数据集d'k,否则执行步骤4d);

步骤5)对初始优化后的隐单元的偏置b进行更新:

通过优化后的数据集d'k替换初始优化后的当前稀疏受限玻尔兹曼机的隐单元偏置b中的对应偏置,并判断当前迭代次数c与最大迭代次数s是否相等,若是,得到训练后的当前稀疏受限玻尔兹曼机,并执行步骤(6),否则,c=c+1,并执行步骤(3);

步骤6)对量子深度信念网络进行初始化:

固定训练后的当前稀疏受限玻尔兹曼机权重参数w、可视单元的偏置a后,将训练后的当前稀疏受限玻尔兹曼机的隐单元偏置b作为下一个稀疏受限玻尔兹曼机可视单元的偏置,重复步骤2)—步骤5),直到完成所有稀疏受限玻尔兹曼机的训练,并在最后一个训练后的稀疏受限玻尔兹曼机的输出端上连接softmax分类器,得到初始化后的量子深度信念网络;

进行下一个稀疏受限玻尔兹曼机的训练时,需要对当前的稀疏受限玻尔兹曼机权重参数w、可视单元的偏置a进行固定,避免下一个稀疏受限玻尔兹曼机训练时修改上述参数。

步骤7)对初始化后的量子深度信念网络参数进行微调:

将训练集r作为初始化后的量子深度信念网络的输入,并采用利用反向传播算法对初始化后的量子深度信念网络的参数进行微调,得到微调后的量子深度信念网络;

参数微调的过程采用有监督的方式,对整个网络进行参数的调整,参数包括量子深度信念网络中每一个训练后的稀疏受限玻尔兹曼机的权重参数w、可视单元的偏置a和隐单元的偏置b,以及softmax分类器的权重和偏置;

步骤8)获取人脸表情识别结果:

将测试集t输入到微调后的量子深度信念网络,得到人脸表情的识别结果。

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