一种基于深度学习模型和迁移学习的人脸识别方法与流程

文档序号:14736096发布日期:2018-06-19 20:31阅读:289来源:国知局
一种基于深度学习模型和迁移学习的人脸识别方法与流程

本发明涉及图像识别技术领域,特别涉及一种基于深度学习模型和迁移学习的人脸识别方法。



背景技术:

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术,目前的方法主要集中在以下几个方面:

(1)模板匹配,主要有两种方法,固定模板与变形模板;固定模板方法的过程首先利用一种算法求取目标的一个或几个参考特征模板,然后利用某种度量来计算测试样本的特征模板与参考模板之间的相似度,以结果是否大于阈值来判断测试样本是否是目标人脸;这种方法在早期的人脸识别系统中采用得比较多,但是由于输入人脸图像受环境的影响,难以得到有效的参数特征模板来表示人脸的共性;变形模板是将固定模板相同加以改进,让参数特征模板中包含一些非固定的元素,一种方法是手工构造参数化的曲线和曲面以表征人脸中的某些非固定特征,如眼睛,鼻子和嘴唇等;另一种方法是利用算法自动生成自适应的曲线或曲面,以构成变形人脸模板,检测方法是将模板与测试图像进行弹性匹配,并加入惩罚机制,利用某种能量函数表示匹配程度。

(2)示例学习,示例学习的基本思想是从某一概念的已给正例和反例的集合中归纳产生出接受所有正例,同时排斥所有反例的该概念的一般规则;将人脸样本和非人脸样本送入学习机中,产生出判别规则,从而用于作为判断输入的测试图像是否属于人脸的主要判别依据;这种方法通常利用有效的算法来降低数据的维度,通过大量的样本训练学习机来获得较高精度的分类边界。

(3)基于隐马尔可夫模型的方法,隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生,对于人脸识别来说,我们可以把它分成前额,眼睛,鼻子,嘴巴和下巴这样一个序列,人脸模式就可以通过对这些区域的有序的识别来检测,这样就可以通过隐马尔可夫模型来建模;在使用隐马尔可夫模型进行人脸检测时,通常的方法是将人脸区域的结构信息作为隐马尔可夫模型的状态迁移条件。

(4)基于神经网络的方法,这种方法通常是以深度学习模型作为学习器,大致分为两个阶段:训练阶段,首先通过深度学习算法利用人脸数据库来对神经网络进行训练,将人脸特征的提取用神经网络的学习过程实现,将人脸特征的描述用连接权大小表示,然后用训练样本测试训练好的神经网络并确定分类阈值;识别阶段,将待识别人脸图像输入到神经网络,计算神经网络输出向量,取其中最大分量与分类阈值比较给出识别结果。从本质上讲,神经网络也是一种基于样本的学习方法。

但是,人脸识别系统是依赖于具体应用的,人脸图像受环境光照、视角、表情、化妆等多种因素影响,从而导致不同的应用背景下使用的人脸数据库是不一样。一个高精度人脸识别系统往往需要利用大量的人脸样本来对人脸识别器进行学习,如果当前应用背景下,人脸数据库样本数量有限就必然会影响到人脸识别的精度。



技术实现要素:

为了解决上述问题,本发明提出一种基于深度学习模型和迁移学习的人脸识别方法。

具体的,一种基于深度学习模型和迁移学习的人脸识别方法,包括以下步骤:

S1.对源图像及目标图像进行预处理并设置对应标签,源图像数量为M,目标图像数量为N,M>N;

S2.建立分类器输出维度为M的源神经网络;

S3.基于源图像特征和标签构建源数据集并用所述源数据集对所述源神经网络进行训练,通过BP神经网络算法优化模型参数,得到源训练模型;

S4.基于所述源训练模型建立分类器输出维度为N的目标神经网络并用所述源训练模型的参数对所述目标神经网络初始化;

S5.基于目标图像特征和标签构建目标数据集并用所述目标数据集对所述目标神经网络进行训练,通过动态选-K更新算法进行梯度下降优化模型参数,得到目标训练模型;

S6.通过所述目标训练模型进行图像识别。

进一步的,所述源数据集和所述目标数据集为多维向量集,所述源数据集的形式为(Xs,Ys),其中表示源图像样本特征;即每个样本有ms个特征,其数量与所述源神经网络输入层的神经元个数对应;表示源图像对应的标签,对于第i个标签,设其属于第k个人,则对任意维度j,当j=k时,否则所述源数据集的向量集为ns为源数据集样本总数;所述目标数据集的形式为(Xt,Yt),其中表示目标图像样本特征;即每个样本有mt个特征,其数量与所述目标神经网络输入层的神经元个数对应;表示目标图像对应的标签,其中对于第i个标签设其属于第k个人,则对任意维度j,当j=k时,否则所述目标数据集的向量集为nt为目标数据集的样本总数。

进一步的,步骤S3还包括:

S31.将所述源数据集作为所述源神经网络的输入执行正向传播并判断模型是否满足收敛条件,是则执行S35,否则执行S32;

S32.将所述源数据集进行乱序并将其划分为多个小批次数据集;

S33.依次将每一个小批次数据集输入到所述源神经网络,按BP神经网络算法执行反向传播并判断是否达到收敛条件,是则执行S35,否则执行S34;

S34.更新参数,执行S32;

S35.输出深度学习的所述源训练模型。

进一步的,步骤S5还包括:

S51.以所述源训练模型的参数初始化所述目标神经网络;

S52.将所述目标数据集作为所述目标神经网络的输入执行正向传播并判断模型是否满足收敛条件,是则执行S57,否则执行S53;

S53.将所述源数据集进行乱序并将其划分为多个小批次数据集;

S54.依次将每一个小批次数据集输入到所述目标神经网络,得到目标代价函数E(W,X,Y),其中W为神经网络参数,X为样本特征,Y为样本特征对应的标签;

S55.计算输入的每一批次数据的分类贡献值,按BP神经网络算法执行反向传播并判断是否达到收敛条件,是则执行S57,否则执行S56;

S56.根据分类贡献值对参数进行选择性更新,执行S53;

S57.输出深度学习的所述目标训练模型。

进一步的,所述分类贡献值为J(f(h,i)),其中f(h,i)为神经网络中的第h层,第i个输出特征。

进一步的,当J(f(h,j))>γh时达到对特征所属参数的更新条件,其中γh为针对每一层特征的超参数门限值。

进一步的,J(f(h,i))的具体计算方法为:计算各类样本的均值向量其中Ni为类ωi的样本个数,X为样本特征;

计算各类样本的类内方差Si,

计算各类样本的类内方差总和Sa,Sa=∑iSi+1;

计算各类样本的类间方差Sb,Sb=Σi(mi-m)2

计算所述分类贡献值

进一步的,步骤S56更新参数的具体方法为:遍历h,i,当J(f(h,i))>γh时,否则wh,i不更新;其中wh,i为f(h,i)在第h层所关联的参数,α为超参数学习率,为目标代价函数E(W,X,Y)对参数W的导数。

本发明的有益效果在于:通过迁移学习将源深度学习人脸识别模型的知识转移到目标深度学习人脸识别模型,使其共享参数,有效的提高了由于人脸数据库样本数量有限而无法准确识别人脸时的识别精度。

附图说明

图1是本发明的一种基于深度学习模型和迁移学习的人脸识别方法流程图;

图2是VGG16神经网络模型结构示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

如图1、图2所示,一种基于深度学习模型和迁移学习的人脸识别方法,包括以下步骤:

S1.对源图像及目标图像进行预处理并设置对应标签,源图像数量为M,目标图像数量为N,M>N;

本方案包括一个包含丰富样本的源人脸数据库,属于当前应用的样本有限的人脸数据库,源人脸数据库用于训练源深度学习人脸识别模型;当前应用的人脸数据库,用于训练目标深度学习人脸识别模型;源人脸数据库包含丰富的样本数以保证能够使得训练的神经网络模型提取具有强识别能力的高层特征和拥有足够高的识别准确率,目标应用人脸数据库样本数能够训练出拥有一定识别率的神经网络,但是识别率不能满足现有要求;

系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理,对于人脸图像而言,其预处理过程主要包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等;

S2.建立分类器输出维度为M的源神经网络,这里采用VGG16神经网络模型;

S3.基于源图像特征和标签构建源数据集并用源数据集对源神经网络进行训练,通过BP神经网络算法优化模型参数,训练一个具有高识别率的VGG16源人脸识别模型VGG_S,并用随机策略初始化参数,随机初始化参数采用的方法为从区间均匀随机取值,其中d是一个神经元的输入数量;

S4.基于源训练模型建立分类器输出维度为N的目标神经网络,移除源神经网络模型的最高层,创建一个新的分类器最高层,要求最高层的输出维度和目标人脸数据集需识别人个数相等,并用源训练模型的参数对目标神经网络初始化;

S5.基于目标图像特征和标签构建目标数据集并用目标数据集对目标神经网络进行训练,通过动态选-K更新算法进行梯度下降优化模型参数,得到目标深度学习训练模型VGG_T;

S6.通过目标训练模型进行图像识别。

进一步的,源数据集和目标数据集为多维向量集,源数据集的数据形式为(Xs,Ys),其中是处理后的图片数据集,对于单个输入样本也就是每个样本有ms个特征,对应着神经网络输入层的神经元个数,即Xs为一个样本特征向量集;是每个人脸图片对应的标签,其中对于第i个标签设其属于第k个人,则其具有形式为:对任意维度j,当j=k时,否则即第K位为1,其余为0;源数据集的人脸图片样本集和标签样本的对应形式为样本总数为ns。

目标数据集的数据形式为(Xt,Yt),其中是处理后的图片数据集,对于单个输入样本也就是每个样本有mt个特征,对应着神经网络输入层的神经元个数,即Xt为一个样本特征向量集;是每个人脸图片对应的标签,其中对于第i个标签设其属于第k个人,则其具有形式为:对任意维度j,当j=k时,否则即第K位为1,其余为0;目标数据集的人脸图片样本集和标签样本的对应形式为样本总数为nt。

进一步的,步骤S3还包括:

S31.将源数据集作为源神经网络的输入执行正向传播并判断模型是否满足收敛条件,当识别率达到一个稳定值时达到收敛条件,是则执行S35,否则执行S32;S32.将源数据集进行乱序并将其划分为多个小批次数据集,将源数据集(Xs,Ys)乱序后,按预先设定的参数将其划分为若干小批次,记小批次样本数量为n_batch;

S33.依次将每一个小批次数据集输入到源神经网络,按BP神经算法执行反向传播并判断是否达到收敛条件,是则执行S35,否则依次对其中每一个小批次数据集执行将数据集输入到神经网络模型,得到目标代价函数值记E(W,X,Y),其中W为神经网络参数,X为小批次样本特征,Y为小批次样本特征对应的标签,E(W,X,Y)计算方式如下:

其中,log(.)为对数函数,VGG_S(xs(i))j为对VGG_S模型输入样本xs(i)得到的归一化向量第j个维度,执行S34。

S34.更新参数,执行S32;

更新参数方法为其中α为超参数学习率,为用BP算法计算的VGG_S的目标代价函数E(W,X,Y)对参数W的导数;

S35.输出深度学习的源训练模型。

进一步的,步骤S5还包括:

S51.以源训练模型的参数初始化目标神经网络;

S52.将目标数据集作为目标神经网络的输入执行正向传播并判断模型是否满足收敛条件,是则执行S57,否则执行S53;

S53.将源数据集进行乱序并将其划分为多个小批次数据集,将目标人脸数据集(Xt,Yt)乱序后,按预先设定的参数将其划分为若干小批次,记小批次样本数量为n_batch;

S54.依次将每一个小批次数据集输入到目标神经网络,依次对其中每一个小批次数据集执行将数据集输入到神经网络模型的得到目标代价函数值记E(W,X,Y),其中W为神经网络参数,X为小批次样本特征,Y为小批次样本特征对应的标签,E(W,X,Y)计算方式如下:

其中,log(.)为对数函数,VGG_T(xt(i))j为对VGG_T模型输入样本xt(i)得到的归一化向量第j个维度。

S55.计算输入的每一批次数据的分类贡献值,按BP神经网络算法执行反向传播并判断是否达到收敛条件,是则执行S57,否则执行S56;

S56.根据分类贡献值对参数进行选择性更新,执行S54;

S57.输出深度学习的目标训练模型。

进一步的,分类贡献值为J(f(h,i)),其中f(h,i)为神经网络中的第h层,第i个输出特征。

进一步的,当J(f(h,i))>γh时达到对特征所属参数的更新条件,其中γh为针对每一层特征的超参数门限值。

进一步的,J(f(h,i))的具体计算方法为:计算各类样本的均值向量其中Ni为类ωi的样本个数,X为样本特征,具体为神经网络中间某个输出特征在输入一批次的样本后得到的特征向量;

计算各类样本的类内方差Si,

计算各类样本的类内方差总和Sa,Sa=∑iSi+1;

计算各类样本的类间方差Sb,Sb=Σi(mi-m)2

计算分类贡献值

分类贡献满足本批次样本在f(h,i)所有输出在类内部方差小,类内间方差大时分类贡献值越大。

进一步的,步骤S56更新参数的具体方法为:遍历h,i,当J(f(h,i))>γh时,否则wh,i不更新;其中wh,i为f(h,i)在第h层所关联的参数,α为超参数学习率,为用BP算法计算的VGG_S的目标代价函数E(W,X,Y)对参数W的导数。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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