一种基于局部特征与深度学习的人脸特征提取方法与流程

文档序号:15518623发布日期:2018-09-25 18:53阅读:841来源:国知局

本发明属于图像处理与模式识别领域,特别是一种基于局部特征与深度学习的人脸特征提取方法。



背景技术:

人脸识别技术在模式识别与人工智能领域是一项具有挑战性和可行性的项目。特别是针对于在复杂光照、噪声、以及姿态等条件下,对人脸识别的准确性提出了更高的要求。主成分分析(pca)凭借其对数据的降维特性被广泛使用,但是其缺点是需要较长时间的计算,而且需要测试样本与训练样本高度相关。当人脸图像的姿态、尺度和光照发生较大变化时人脸识别性能一般。独立主成分分析(ica)能够获得高阶的统计特征,故其计算复杂度较高。局部二值模式是一种常用的特征描述方法,但是其易受非均匀光照和噪声的影响。局部三值模式是在局部二值模式的基础上增加了一种编码模式,在一定程度上对非均匀光照和噪声具有鲁棒性。传统的特征提取方法由于存在许多外界因素,特征提取的效果取决于人为主观的选取。深度信念网络(dbn)作为第一个深度学习机制由hinton等人在2006年首次提出,通过以自上而下的形式自动学习不同层次的特征来对特征进行描述。深度玻尔兹曼机(dbm)是hinton等人在2009年提出的另一种深度生成模型,现已经广泛在图像识别、语音识别、大数据挖掘等方面得到应用。但若将手光照、噪声等受影响的人脸图像直接作为dbm模型的输入,模型将会忽略图像的局部特征信息,从而造成人脸识别率降低。但是以上研究仅仅考虑到提高识别率,而对于不同光照和随机噪声的鲁棒性以及计算复杂度问题尚需继续研究。



技术实现要素:

本发明旨在解决以上现有技术的问题。提出了一种可获得较高识别率、能够对光照和随机噪声具有较强的鲁棒性的基于局部特征与深度学习的人脸特征提取方法。本发明的技术方案如下:

一种基于局部特征与深度学习的人脸特征提取方法,其包括以下步骤:

s1、对原始人脸图像进行以双线性插值为预处理方式的尺度变换,将人脸面部图像划分成4×4的等大小区域块;

s2、分别提取出步骤s1区域块的基于局部三值模式(localternarypattern,ltp)的人脸局部纹理特征以及统计直方图,将分块提取出的ltp统计直方图合并为整体的ltp特征向量;

s3、将整体的ltp特征向量作为深度玻尔兹曼机(dbm)模型的输入信息,采用贪心逐层算法进行预训练;

s4、通过预训练的参数对dbm模型进行调节;

s5、利用融合局部特征和深度学习训练的方式,在dbm模型中的顶层单元采用softmax实现特征的分类回归并识别人脸。

进一步的,所述步骤s2对分块的图像采用ltp提取局部纹理特征,通过用户定义的阈值t和增加一个编码,通过计算邻域像素ps与中心像素pc的差值,若差值大于t,则被量化为1。若差值小于t,则被量化为-1,当差值在[-t,t]范围之内时,则被量化为0,ltp的具体公式定义如下:

其中,pc是中心像素,ps是邻域像素,t是用户自定义的阈值,ltp的描述算子公式如下:

为简化计算,提取ltp特征时分解为正、负模式两层,再在各层分别使用lbp编码方式,得到两层不同的纹理的特征脸。

进一步的,所述步骤s3将这些特征向量作为dbm模型中输入信息,采用贪心逐层算法进行预训练,具体步骤如下:

在dbm中包含一个可见层υ和3个隐藏层h(1)、h(2)和h(3),是由多个受限玻尔兹曼机(rbm)堆叠而成,dbm能够通过高一层获得低一层单元之间的数据结构依赖关系来得到一个有效的模型,给定一个三层的dbm模型,每一层内的每个变量是相互独立的,每一层间是全连接的,状态为(υ,h(1),h(2)),dbm的联合概率分布pc(υ,h(1),h(2))和能量函数e(υ,h(1),h(2);θ)定义分别为:

e(υ,h(1),h(2);θ)

=-υtw(1)h(1)-h(1)tw(2)h(2)-atυ

-bth(1)-cth(2)

其中,模型参数为θ={w(1),w(2),a,b,c},w(1)是可见层υ单元与隐层h(1)单元之间所连接边的权重,w(2)是隐层h(1)单元与隐层h(2)单元之间所连接边的权重,a是可见层υ单元的偏置,b是隐层h(1)的偏置,c是隐层h(2)的偏置,dbm能量函数以权重矩阵w(2)的形式表示隐藏单元之间的连接;归一化常量z(θ)可以表示为:

dbm的预训练采用贪心逐层预训练算法,dbm的每一层被单独视为rbm进行训练。第一层被训练为对输入数据进行建模,每个后续rbm被训练为对来自前一rbm后验分布的样本进行建模。

进一步的,所述贪心逐层预训练算法具体包括:

逐层贪婪算法的主要步骤是每次只训练网络中的一层,即首先训练一个只含一个隐藏层的网络,仅当这层网络训练结束之后才开始训练一个有两个隐藏层的网络,以此类推。在每一步中,把已经训练好的前k-1层固定,然后增加第k层(也就是将我们已经训练好的前k-1的输出作为输入)。

进一步的,所述s4通过预训练的参数对dbm模型进行调节:

dbm中每一层的二值特征由原来的激活值变为一个确定的真实概率。dbm将会初始化为一个层数确定的多层神经网络。对于每个输入向量v,通过平均场推导可得到一个近似后验分布,这个近似后验分布的边缘分布与样本数据一起作为这个深度多层神经网络的“增广”输入,从而实现对模型的微调操作。

进一步的,所述步骤s5利用融合局部特征和深度学习训练的方式,在顶层单元采用softmax回归实现特征的分类回归并识别人脸,具体包括步骤:

每个图像的像素点的特征向量可表示为xi,yi表示为第j个样本的特征,给定第i个训练样本的特征,其属于第k个类别的条件概率为:

其中,ωk∈rn是属于第k个类别的权重参数,n是每个样本的向量长度。模型通过训练样本对参数ω=[ω1,ω2,...,ωk]进行估计,设m个训练样本是相互独立的,则参数ω的似然函数为:

通过将对数似然函数进行最大化,可以得到参数ω:

其中,1(·)为示性函数,当括号内为1时,表示为真,否则为0。

由梯度下降法,迭代求解最优参数ω:

其中,α为梯度下降法求解的步长,梯度的表达式为:

在本文实验中α取0.001,ωj中每个元素的初始值为-1到1的随机值,最大迭代次数为100。求解得到最优化参数ω后,对于测试样本,只需输入其特征,即可由条件概率式求得该点属于各个类别的概率值。基于softmax回归分类的方法通过计算每个点属于各个类别最大的概率值判断该点所属的类别,从而在顶层单元实现对人脸的分类。

本发明的优点及有益效果如下:

本发明提供了一种基于局部特征与深度学习的人脸特征提取方法,深度玻尔兹曼机(dbm)能够将人脸像素信息作为深度生成模型的输入特征进行学习,但其缺点是在以向量形式将信息输入模型后,人脸的局部纹理特征信息将无法被学习。针对人脸特征提取中机器学习不能提取出局部结构特征的问题,本文提出一种基于局部三值模式与深度玻尔兹曼机的人脸特征提取方法。首先对原始图像进行预处理,将预处理过后的图像分割成等大小区域块,再分别提取出局部的ltp特征并统计直方图,将分块提取出的ltp统计直方图合并为整体的ltp特征向量。然后将这些特征向量作为dbm模型中输入信息,采用贪心逐层算法进行预训练,通过预训练的参数对dbm模型进行微调,在顶层单元实现分类回归。在extendedyaleb和ar标准人脸数据库上的实验结果表明,本文的算法相较于其他算法,在非均匀光照和随机噪声的条件下具有较强的鲁棒性,同时识别率达到了98.52%。

附图说明

图1是本发明提供优选实施例提取过程和编码示意图;

图2是本发明提供优选实施例分块提取出的ltp统计直方图合并为整体的ltp特征向量示意图;

图3是dbm的结构示意图;

图4是基于局部特征与深度学习的人脸特征提取方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。

本发明解决上述技术问题的技术方案是:

如图4所示,本发明提供了一种基于局部特征与深度学习的人脸特征提取方法,其特征在于,包括以下步骤:

s1、对原始人脸图像进行预处理,将人脸面部图像划分成4×4的等大小区域块;

s2、分别提取出这些区域块的局部ltp特征以及统计直方图,将分块提取出的ltp统计直方图合并为整体的ltp特征向量;具体方法为:

对分块的图像采用ltp提取局部纹理特征,通过用户定义的阈值t和增加一个编码,通过计算邻域像素ps与中心像素pc的差值,若差值大于t,则被量化为1。若差值小于t,则被量化为-1。当差值在[-t,t]范围之内时,则被量化为0。ltp的具体公式定义如下:

其中,pc是中心像素,ps是邻域像素,t是用户自定义的阈值。ltp的描述算子公式如下:

为简化计算,提取ltp特征时分解为正、负模式两层,再在各层分别使用lbp编码方式,得到两层不同的纹理的特征脸,提取过程和编码计算如图1所示:

分别提取出这些区域块的局部ltp特征(ltpu和ltpl)以及统计直方图,将分块提取出的ltp统计直方图合并为整体的ltp特征向量,如图2所示:

s3、将整体的ltp特征向量作为dbm模型的输入信息,采用贪心逐层算法进行预训练。具体步骤为:

在dbm中包含一个可见层υ和3个隐藏层h(1)、h(2)和h(3),是由多个受限玻尔兹曼机(rbm)堆叠而成,dbm能够通过高一层获得低一层单元之间的数据结构依赖关系来得到一个有效的模型,给定一个三层的dbm模型,每一层内的每个变量是相互独立的,每一层间是全连接的,状态为(υ,h(1),h(2)),dbm的联合概率分布pc(υ,h(1),h(2))和能量函数e(υ,h(1),h(2);θ)定义分别为:

其中,模型参数为θ={w(1),w(2),a,b,c},w(1)是可见层υ单元与隐层h(1)单元之间所连接边的权重,w(2)是隐层h(1)单元与隐层h(2)单元之间所连接边的权重,a是可见层υ单元的偏置,b是隐层h(1)的偏置,c是隐层h(2)的偏置,dbm能量函数以权重矩阵w(2)的形式表示隐藏单元之间的连接;归一化常量z(θ)可以表示为:

dbm的预训练采用贪心逐层预训练算法,dbm的每一层被单独视为rbm进行训练。第一层被训练为对输入数据进行建模,每个后续rbm被训练为对来自前一rbm后验分布的样本进行建模。

s4、采用贪心逐层算法进行预训练算法具体包括:

逐层贪婪算法的主要步骤是是每次只训练网络中的一层,即首先训练一个只含一个隐藏层的网络,仅当这层网络训练结束之后才开始训练一个有两个隐藏层的网络,以此类推。在每一步中,把已经训练好的前k-1层固定,然后增加第k层(也就是将已经训练好的前k-1的输出作为输入)。

s5、将s4通过预训练的参数对dbm模型进行调节具体包括:

dbm中每一层的二值特征由原来的激活值变为一个确定的真实概率。dbm将会初始化为一个层数确定的多层神经网络。对于每个输入向量v,通过平均场推导可得到一个近似后验分布,这个近似后验分布的边缘分布与样本数据一起作为这个深度多层神经网络的“增广”输入,从而实现对模型的微调操作。

s6、在顶层单元采用softmax回归分类实现特征的分类回归并识别人脸,具体包括步骤:

每个图像的像素点的特征向量可表示为xi,yi表示为第j个样本的特征,给定第i个训练样本的特征,其属于第k个类别的条件概率为:

其中,ωk∈rn是属于第k个类别的权重参数,n是每个样本的向量长度。模型通过训练样本对参数ω=[ω1,ω2,...,ωk]进行估计,设m个训练样本是相互独立的,则参数ω的似然函数为:

通过将对数似然函数进行最大化,可以得到参数ω:

其中,1(·)为示性函数,当括号内为1时,表示为真,否则为0。

由梯度下降法,迭代求解最优参数ω:

其中,α为梯度下降法求解的步长,梯度的表达式为:

在本文实验中α取0.001,ωj中每个元素的初始值为-1到1的随机值,最大迭代次数为100。求解得到最优化参数ω后,对于测试样本,只需输入其特征,即可由条件概率式求得该点属于各个类别的概率值。基于softmax回归分类的方法通过计算每个点属于各个类别最大的概率值判断该点所属的类别,从而在顶层单元实现对人脸的分类。

以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

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