基于多区域特征与度量学习的人脸特征识别方法及系统与流程

文档序号:12670815阅读:342来源:国知局
基于多区域特征与度量学习的人脸特征识别方法及系统与流程

本发明涉及图像识别和处理领域,特别涉及基于多区域特征与度量学习的人脸特征识别方法及系统。



背景技术:

人脸识别技术,是基于人的脸部特征,对输入的人脸图像或者视频流.首先判断其是否存在人脸,如果存在人脸,则进一步的给出每个脸的位置、大小和各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行对比,从而识别每个人脸的身份。人脸识别技术包含三个部分:1)人脸检测,2)人脸跟踪,3)人脸比对。

现有的人脸识别技术中,一种实现方式是通过人脸区域单一尺度/区域训练提取人脸特征+欧氏距离识别,但缺点是提取的特征的表达能力有限,人脸识别的准确率低。另外一种方式是通过人脸多区域训练提取人脸特征+主成分分析(PCA)降维+联合贝叶斯(Joint-Bayesian)方法,但其缺点是识别速度慢。还有一种方式是人脸多区域提取人脸特征+欧氏距离或余弦距离识别,但其缺点是特征维度高,存储空间大。

可见,现今的人脸识别系统大多通过对单个或多个人脸区域利用卷积神经网络训练得到网络的权重;然后再根据训练所得网络的权重计算得到人脸特征向量,最后通过对特征向量进行处理获得人脸识别的结果。



技术实现要素:

本发明要解决的技术问题是,提高了特征的表达能力和效率,提高了人脸识别的准确率的基于多区域特征与度量学习的人脸特征识别方法。

解决上述技术问题,本发明提供了基于多区域特征与度量学习的人脸特征识别方法,包括如下步骤:

通过对多尺度人脸区域训练得到相应位置与尺度的卷积神经网络参数,并根据所述卷积神经网络参数提取出人脸对应区域的特征;

对上述特征进行筛选,得到高维人脸特征;

根据所述高维人脸特征进行度量学习,将特征进行降维处理得到降维后特征表达,并定义损失函数,通过所述损失函数训练得到度量学习的网络模型;

将待识别的图像输入所述网络模型后将得到的降维后的人脸特征利用欧几里得距离进行识别。

更进一步,所述多尺度人脸区域训练进一步包括如下步骤:

对于每一张输入的人脸图片进行人脸检测与关键点标注,得到人脸框R和N个人脸关键点位置{P1,P2,P3,...,PN};

选取不同位置与尺度的人脸区域进行训练,得到人脸框的不同尺度输入和不同位置输入,得到多位置、多尺度的人脸区域。

具体的选择方式为:比如以人脸框的中心为参考,将人脸框的尺度分别扩大1.3倍、扩大1.69倍、缩小1.3倍,并加上原人脸框,构成人脸框的4种尺度的输入;

以27个人脸关键点为中心,向上下左右各扩展22个像素,即选取45px×45px的区域作为27种不同位置的输入。由此得到了31个多位置、多尺度的人脸区域。分别用这31个不同的区域去训练31个卷积神经网络,得到相应位置与尺度的卷积神经网络参数,用来提取人脸对应区域的特征。

优选地,对于人脸框的4种尺度输入,可提取的特征维数为512;对于由27个特征点确定的27个人脸区域,可提取的维数为64。

更进一步,根据所述卷积神经网络参数提取出人脸对应区域的特征的方法具体为:

设人脸图片测试集的大小为Ntest,对其中的任一张图片IMGi,进行人脸检测和关键点标注,根据训练过程中的多区域的人脸选择,截取对应的多个区域,并分别输入到对应的卷积神经网络里计算,

对于每张人脸图片得到多个区域对应的特征,分别计算多个特征中的每一个特征对于图片测试集上Ntest张图片的识别性能绘制出ROC曲线;

根据ROC曲线选择出人脸对应区域的特征,作为度量学习需要的特征,并保留对应特征区域的卷积神经网络参数用作特征提取。

更进一步,根据所述高维人脸特征进行度量学习具体包括如下步骤:

设人脸图片训练集的大小为Ntrain,对于其中的图片进行人脸检测和关键点标注,根据所述人脸对应区域的卷积神经网络参数计算提取人脸特征,得到数据量为Ntrain的高维人脸特征训练集。

记上述特征训练集中样本的所有类别标签数量为L,则类别标签的集合为T={t1,t2,...,tL},

在训练集中随机选取m个样本X1={x1,1,x1,2…x1,N},X2={x2,1,x2,2...x2,N},…,Xm={xm,1,xm,2…xm,N},

样本对应的类别标签为:Ybatch={y1,y2,...,ym},yi∈T,i=1,2,...,m

将上述数据记为一个训练组,对训练组的m个数据加入网络中训练记为一个训练轮,一个训练组训练完成记为一轮训练完成,且每一轮训练的m个样本均是独立随机选取。

在所述的一训练组中定义集合P和N如下:

P={(i,j)|i≠j且yi=yj,i=1,2,...,m}

N={(i,j)|i≠j且yi≠yj,i=1,2,...,m}

其中,P为所有正样本对的下标的集合,N为所有负样本对的下标集合。

更进一步,将人脸特征进行降维处理得到特征表达后,输入到训练网络中,

设W1,W2分别为训练网络第一层和第二层的权重,b1,b2分别为第一层和第二层的偏置项,激活函数为g(x)=max(0,x),

在训练批次中,所述训练网络第一层的网络输出分别为:

所述训练网络第二层的网络输出分别为:

更进一步,对所述训练网络第一层的网络,将特征进行降维处理得到特征表达后定义损失函数的方法具体为:

记为所有类别标签对应的特征经过第一层网络后的输出U的聚类中心,

每一轮训练前,更新

对于一个训练组的m个样本,定义第一个度量学习的损失函数:

优选地,这里需注意对于一个训练组的m个样本,可能不包含T中所有类别标签。规定:第n轮训练后的类别标签tk,k=1,2,...,L的聚类中心为且按照以下的规则进行更新:

其中,α为常量。式中δ(x)的定义为:

对所述训练网络第二层的网络,

定义

定义第二个度量学习的损失函数:

其中:

式中γ为常量。

更进一步,所述对于当前训练组,得到总的损失函数为:L=L1+θ·L2,其中θ为两者的比例参数,利用上述损失函数,训练一设定轮数后保存模型中的参数W1,b1,作为度量学习的网络模型。

基于上述本发明还提供了一种基于所述的人脸特征识别方法的识别系统,其特征在于,对于输入的第一测试图片和第二测试图片,所述识别系统被配置为:

S1对其进行人脸检测和关键点识别,选出经过选择的人脸区域,并加入到卷积神经网络中计算并归一化,得到第一测试图片的高维特征X1和第二测试图片的高维特征X2

S2将两个高维特征X1和X2输入到度量学习算法得到的模型中,得到测试第一测试图片的降维特征U1和第二测试图片的降维特征U2

S3计算U1和U2间的欧式距离为D,将D与判别阈值Th进行比较,

S4若D≤Th,则判定两张人脸测试图片属于同一个人;

S5否则这两个人脸测试图片不属于同一个人。

本发明还提供了基于多区域特征与度量学习的人脸特征识别系统,包括:神经卷积训练单元、度量学习模型单元以及判别单元,

所述神经卷积训练单元,用以通过多尺度人脸区域训练得到相应位置与尺度的卷积神经网络参数,并根据所述卷积神经网络参数提取出人脸对应区域的特征;以及对上述特征进行筛选,得到高维人脸特征;

所述度量学习模型单元,用以根据所述高维人脸特征进行度量学习,将特征进行降维处理得到特征表达后定义损失函数,通过所述损失函数训练得到度量学习的网络模型;

所述判别单元,用以将待识别的图像输入所述网络模型后,将人脸特征进行降维后利用欧几里得距离进行识别。整套人脸识别系统结合了多区域特征选择与度量学习,在保证了人脸特征较强的表达能力的前提下,提高了人脸识别的速度和准确率。

本发明的有益效果:

在本发明的方法,通过多尺度选取多区域,对卷积神经网络进行训练,提高了特征的表达能力。同时,通过对获取的多尺度特征进行选择,提高了特征的表达效率。此外,通过利用度量学习定义的损失函数对提取的特征,降低了特征的维数的同时,有效地提高了人脸识别的准确率。

此外,本发明的人脸系统首先利用卷积神经网络提取人脸不同尺度和位置的区域的特征,并对这些多尺度特征进行筛选,选出表达能力最强的一些特征进行组合,形成高维的人脸特征。之后,将已获得的大量人脸特征通过度量学习定义的损失函数进行训练,将人脸特征降维后利用欧几里得距离进行识别。本发明采用以上技术,在保证人脸识别速度的前提下提高人脸识别的准确率。

本发明的识别方法,相对于(多区域训练+PCA+JointBayesian)速度快,特征表达能力更强(背景技术中的单模型训练特征表达能力差),准确率高(度量学习方法比背景技术中的直接利用欧氏距离/余弦距离快)

附图说明

图1是本发明一实施例中的方法流程示意图;

图2是图1中的多尺度人脸区域训练过程的流程示意图;

图3是图1中的特征选择过程的流程示意图;

图4是降维过程示意图;

图5是第一层训练过程示意图;

图6是第二层训练过程本示意图;

图7度量学习训练模型的使用流程示意图;

图8本发明一实施例中识别系统的操作原理示意图;

图9是本发明一识别图像的流程示意图;

图10是本发明的识别系统结构示意图。

具体实施方式

现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。

如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。

可以理解,在本实施例中对以下概念进行定义:

所述的卷积神经网络,即一种深度学习算法。

所述的度量学习,即一种特征相似度学习的算法。

所述的损失函数,即度量学习的优化过程中的目标函数,优化目标是使损失函数尽可能小。

所述的降维包括但不限于,把高维度的特征转化为低维度的特征。

所述的多尺度包括但不限于,既指训练样本的区域大小,也指不同长度的特征。

所述的训练包括但不限于,通过已知数据进行学习参数。

所述的ROC曲线包括但不限于,接收者操作特征曲线,横坐标为伪阳性率(FPR),纵坐标为真阳性率(TPR),可以用来评估分类器的性能。

所述的正样本对包括但不限于,一对类别标签相同的训练样本。

所述的负样本对包括但不限于,一对类别标签不相同的训练样本。

所述的损失函数包括但不限于,度量学习中用来估量模型预测值与真实值的偏离程度,度量函数的优化目标是最小化损失函数。

请参考图1是本发明一实施例中的方法流程示意图,包括如下的步骤:

步骤S100通过多尺度人脸区域训练得到相应位置与尺度的卷积神经网络参数,并根据所述卷积神经网络参数提取出人脸对应区域的特征;

步骤S101对上述特征进行筛选,得到高维人脸特征;

步骤S102根据所述高维人脸特征进行度量学习,将特征进行降维处理得到特征表达后定义损失函数,通过所述损失函数训练得到度量学习的网络模型;

步骤S103将待识别的图像输入所述网络模型后,将人脸特征进行降维后利用欧几里得距离进行识别。

作为本实施例中的优选,在所述步骤S100中所述多尺度人脸区域训练进一步包括如下步骤:

对于每一张输入的人脸图片进行人脸检测与关键点标注,得到人脸框R和N个人脸关键点位置{P1,P2,P3,...,PN};

选取不同位置与尺度的人脸区域进行训练,得到人脸框的不同尺度输入和不同位置输入,得到多位置、多尺度的人脸区域。

具体的选择方式为:以人脸框的中心为参考,将人脸框的尺度分别扩大1.3倍、扩大1.69倍、缩小1.3倍,并加上原人脸框,构成人脸框的4种尺度的输入;

以27个人脸关键点为中心,向上下左右各扩展22个像素,即选取45px×45px的区域作为27种不同位置的输入。由此得到了31个多位置、多尺度的人脸区域。分别用这31个不同的区域去训练31个卷积神经网络,得到相应位置与尺度的卷积神经网络参数,用来提取人脸对应区域的特征。

这里,对于人脸框的4种尺度输入,提取的特征维数为512;对于由27个特征点确定的27个人脸区域,提取的维数为64。

作为本实施例中的优选,在所述步骤S100中根据所述卷积神经网络参数提取出人脸对应区域的特征的方法具体为:

设人脸图片测试集的大小为Ntest,对其中的任一张图片IMGi,进行人脸检测和关键点标注,根据训练过程中的多区域的人脸选择,截取对应的多个区域,并分别输入到对应的卷积神经网络里计算,

对于每张人脸图片得到多个区域对应的特征,分别计算多个特征中的每一个特征对于图片测试集上Ntest张图片的识别性能绘制出ROC曲线;

根据ROC曲线选择出人脸对应区域的特征,作为度量学习需要的特征,并保留对应区域的卷积神经网络参数用作高维人脸特征提取。

作为本实施例中的优选,进一步地步骤S101中根据所述高维人脸特征进行度量学习具体包括如下步骤:

根据所述人脸对应区域

根据上文方法(3+8)个人脸区域后,下一步是对获得的人脸特征进行度量学习,将特征进行降维处理并得到更高效的特征表达。

设人脸图片训练集的大小为Ntrain,对于其中的图片进行人脸检测和关键点标注,得到数据量为Ntrain的高维人脸特征训练集,

记上述特征训练集中样本的所有类别标签数量为L,则类别标签的集合为T={t1,t2,…,tL},

在训练集中随机选取m个样本X1={x1,1,x1,2…x1,N},X2={x2,1,x2,2…x2,N},…,Xm={xm,1,xm,2…xm,N},

样本对应的类别标签为:Ybatch={y1,y2,...,ym},yi∈T,i=1,2,...,m

将上述数据记为一个训练组,对训练组的m个数据加入网络中训练记为一个训练轮,一个训练组训练完成记为一轮训练完成,且每一轮训练的m个样本均是独立随机选取。

作为本实施例中的优选,所述步骤S102中通过将特征进行降维处理得到特征表达后定义损失函数的方法具体为:

在所述的一训练组中定义集合P和N如下:

P={(i,j)|i≠j且yi=yj,i=1,2,...,m}

N={(i,j)|i≠j且yi≠yj,i=1,2,...,m}

其中,P为所有正样本对的下标的集合,N为所有负样本对的下标集合,设W1,W2分别为训练网络第一层和第二层的权重,b1,b2分别为第一层和第二层的偏置项,激活函数为g(x)=max(0,x),

在训练批次中,所述训练网络第一层的网络输出分别为:

所述训练网络第二层的网络输出分别为:

作为本实施例中的优选,所述步骤S102中对所述训练网络第一层的网络,

记为所有类别标签对应的特征经过第一层网络后的输出U的聚类中心,

每一轮训练前,更新

对于一个训练组的m个样本,定义第一个度量学习的损失函数:

这里需注意对于一个训练组的m个样本,可能不包含T中所有类别标签。规定:第n轮训练后的类别标签tk,k=1,2,...,L的聚类中心为且按照以下的规则进行更新:

其中,α为常量。式中δ(x)的定义为:

对所述训练网络第二层的网络,

定义

定义第二个度量学习的损失函数:

其中:

式中γ为常量。

作为本实施例中的优选,所述步骤S102中所述对于当前训练组,得到总的损失函数为:L=L1+θ·L2,其中θ为两者的比例参数,利用上述损失函数,训练一设定轮数后保存模型中的参数W1,b1,作为度量学习的网络模型。

在本实施例中,多区域人脸特征选择是指:选取不同位置、不同大小的人脸区域加入到卷积神经网络训练,得到长度不同的特征向量;之后对得到的特征向量进行选择,选取包含信息量最多的部分区域的特征组成最终输出的人脸特征向量。度量学习通过合理设计损失函数,对人脸特征向量进行训练,可以有效地利用人脸的类别信息对人脸特征进行更好的表示。两者的结合可以获取人脸特征更高效的表达,从而提高人脸识别的准确率。

请参考图2是图1中的多尺度人脸区域训练过程的流程示意图,对于每一张输入的人脸图片,首先进行人脸检测与关键点标注,得到人脸框R和27个人脸关键点位置{P1,P2,P3,...,P27}。下一步选取不同位置与尺度的人脸区域进行训练,具体的选择方式为:以人脸框的中心为参考,将人脸框的尺度分别扩大1.3倍、扩大1.69倍、缩小1.3倍,并加上原人脸框,构成人脸框的4种尺度的输入;以27个人脸关键点为中心,向上下左右各扩展22个像素,即选取45px×45px的区域作为27种不同位置的输入。由此得到了31个多位置、多尺度的人脸区域。分别用这31个不同的区域去训练31个卷积神经网络,得到相应位置与尺度的卷积神经网络参数,用来提取人脸对应区域的特征。这里,对于人脸框的4种尺度输入,提取的特征维数为512;对于由27个特征点确定的27个人脸区域,提取的维数为64。

图3是图1中的特征选择过程的流程示意图,在网络训练完成后,接下来需要对获得的特征进行选择。特征选择的过程图3所示,设人脸图片测试集的大小为Ntest,对与其中的任一张图片IMGi,进行人脸检测和关键点标注。根据训练过程中的多区域的人脸选择方案,截取对应的31个区域,并分别输入到对应的卷积神经网络里计算。这样对于每张人脸图片,都能得到31个区域对应的特征。

下一步,分别计算31个特征中的每一个特征对于图片测试集上Ntest张图片的识别性能,画出ROC曲线。接下来,选择31个特征中在FPR=0.001的条件下TPR最高的一个或几个,作为表达能力最好的特征。

在这里,本是实施例中选取了3个不同尺度的人脸框(原人脸框、扩大1.3倍的人脸框、扩大1.69倍的人脸框)以及准确率最高的8个以人脸关键点为中心选取的45px×45px区域作为最终提取特征的候选区域,其余的区域则丢弃。这样,这些(3+8)个区域对应的卷积神经网络参数提取的人脸特征就是度量学习需要的特征,从而完成了多区域人脸特征的选择,保留选择的区域对应的卷积神经网络参数用作后续的高维人脸特征区域选择。

根据上文方法(3+8)个人脸区域后,下一步是对获得的人脸特征进行度量学习,将特征进行降维处理并得到更高效的特征表达。具体的步骤如下:设人脸图片训练集的大小为Ntrain,对于其中的图片,进行人脸检测和关键点标注,并按照上文的方法对11个人脸区域提取特征,并将这些特征连接起来得到度量学习的输入特征,特征维数为:3×512+8×64=2048。之后对得到的2048维数据进行归一化处理,最终得到数据量为Ntrain的2048维人脸特征训练集。

记特征训练集中样本的所有类别标签数量为L,则类别标签的集合为T={t1,t2,...,tL}。在训练集中随机选取m个样本X1={x1,1,x1,2…x1,2048},X2={x2,1,x2,2...x2,2048},…,Xm={xm,1{xm,2,xm,2048},样本对应的类别标签为

Ybatch={y1,y2,…,ym},yi∈T,i=1,2,...,m

以上的数据记为一个训练组,对训练组的m个数据加入网络中训练记为一个训练轮,一个训练组训练完成记为一轮训练完成。每一轮训练的m个样本均是独立随机选取。

在上述的一个训练组中,定义集合P和N如下:

P={(i,j)|i≠j且yi=yj,i=1,2,...,m}

N={(i,j)|i≠j且yi≠yj,i=1,2,...,m}

图4是降维过程示意图,根据定义可以看出,P为所有正样本对的下标的集合,N为所有负样本对的下标集合。设W1,W2分别为训练网络第一层和第二层的权重,b1,b2分别为第一层和第二层的偏置项,激活函数为g(x)=max(0,x),根据图4可以得到:

在训练批次中,第一层的网络输出分别为:

第二层的网络输出分别为:

如图5所示是第一层训练过程示意图,在图5中:记为所有类别标签对应的特征经过第一层网络后的输出U的聚类中心。每一轮训练前,会更新这里需注意对于一个训练组的m个样本,可能不包含T中所有类别标签。规定:第n轮训练后的类别标签tk,k=1,2,...,L的聚类中心为且按照以下的规则进行更新:

其中,

α为常量。式中δ(x)的定义为:

定义第一个度量学习的损失函数:

接下来,如图6所示是第二层训练过程本示意图,

其中定义

定义第二个度量学习的损失函数:

其中:

式中γ为常量。

因此对于当前训练组,可以得到总的损失函数为:

L=L1+θ.L2

其中θ为两者的比例参数。利用上述的损失函数,训练一定的轮数后,保存模型参数W1,b1,作为度量学习的网络模型。

使用模型时的流程如图7所示度量学习训练模型的使用流程示意图。

在图中对于两张测试图片1和2,首先对其进行人脸检测和关键点识别,选出经过选择的人脸区域,并加入到卷积神经网络中计算并归一化,得到测试图片1的2048维特征X1和测试图片2的2048维特征X2。之后将两个特征X1和X2输入到度量学习算法得到的模型中,得到测试图片1的256维特征U1和测试图片2的256维特征U2。之后计算U1和U2间的欧式距离为D。将D与判别阈值Th进行比较,若D≤Th,则判定两张人脸测试图片属于同一个人;否则这两个人脸测试图片不属于同一个人。其中,判别阈值的确定需要按上述方法,得到大量含有人脸标签信息的人脸图片中任意两个256维的特征向量的欧式距离,并根据计算所有得到的欧式距离,得到最佳的判别阈值Th。

图8本发明一实施例中识别系统的操作原理示意图;

对于每一张输入的人脸图片,首先进行人脸检测与关键点标注,得到人脸框R和27个人脸关键点位置{P1,P2,P3,...,P27}。

下一步选取不同位置与尺度的人脸区域进行训练,具体的选择方式为:以人脸框的中心为参考,将人脸框的尺度分别扩大1.3倍、扩大1.69倍、缩小1.3倍,并加上原人脸框,构成人脸框的4种尺度的输入;以27个人脸关键点为中心,向上下左右各扩展22个像素,即选取45px×45px的区域作为27种不同位置的输入。

由此得到了31个多位置、多尺度的人脸区域。分别用这31个不同的区域去训练31个卷积神经网络,得到相应位置与尺度的卷积神经网络参数,用来提取人脸对应区域的特征。这里,对于人脸框的4种尺度输入,提取的特征维数为512;对于由27个特征点确定的27个人脸区域,提取的维数为64。

在网络训练完成后,接下来需要对获得的特征进行选择,设人脸图片测试集的大小为Ntest,对与其中的任一张图片IMGi,进行人脸检测和关键点标注。根据训练过程中的多区域的人脸选择方案,截取对应的31个区域,并分别输入到对应的卷积神经网络里计算。这样对于每张人脸图片,都能得到31个区域对应的特征。下一步,分别计算31个特征中的每一个特征对于图片测试集上Ntest张图片的识别性能,画出ROC曲线。接下来,选择31个特征中在FPR=0.001的条件下TPR最高的一个或几个,作为表达能力最好的特征。在这里,选取了3个不同尺度的人脸框(原人脸框、扩大1.3倍的人脸框、扩大1.69倍的人脸框)以及准确率最高的8个以人脸关键点为中心选取的45px×45px区域作为最终提取特征的候选区域,其余的区域则丢弃。这样,这些(3+8)个区域对应的卷积神经网络参数提取的人脸特征就是度量学习需要的特征,从而完成了多区域人脸特征的选择。

根据上文方法(3+8)个人脸区域后,下一步是对获得的人脸特征进行度量学习,将特征进行降维处理并得到更高效的特征表达。具体的步骤如下:设人脸图片训练集的大小为Ntrain,对于其中的图片,进行人脸检测和关键点标注,并按照上文的方法对11个人脸区域提取特征,并将这些特征连接起来得到度量学习的输入特征,特征维数为:3×512+8×64×2048。之后对得到的2048维数据进行归一化处理,最终得到数据量为Ntrain的2048维人脸特征训练集。

记特征训练集中样本的所有类别标签数量为L,则类别标签的集合为T={t1,t2,...,tL}。在训练集中随机选取m个样本X1={x1,1,x1,2…x1,2048},X2={x2,1,x2,2…x2,2048},…,Xm={xm,1,xm,2…xm,2048},样本对应的类别标签为

Ybatch={y1,y2,...,ym},yi∈T,i=1,2,...,m

以上的数据记为一个训练组,对训练组的m个数据加入网络中训练记为一个训练轮,一个训练组训练完成记为一轮训练完成。每一轮训练的m个样本均是独立随机选取。

在上述的一个训练组中,定义集合P和N如下:

P={(i,j)|i≠j且yi=yj,i=1,2,...,m}

N={(ij)|i≠j且yi≠yj,i=1,2,...,m}

根据定义可以看出,P为所有正样本对的下标的集合,N为所有负样本对的下标集合。设W1,W2分别为训练网络第一层和第二层的权重,b1,b2分别为第一层和第二层的偏置项,激活函数为g(x)=max(0,x),可以得到:

在训练批次中,第一层的网络输出分别为:

第二层的网络输出分别为:

记为所有类别标签对应的特征经过第一层网络后的输出U的聚类中心。每一轮训练前,会更新这里需注意对于一个训练组的m个样本,可能不包含T中所有类别标签。规定:第n轮训练后的类别标签tk,k=1,2,...,L的聚类中心为且按照以下的规则进行更新:

其中,α为常量。式中δ(x)的定义为:

定义第一个度量学习的损失函数:

接下来,定义

定义第二个度量学习的损失函数:

其中:

式中γ为常量

因此对于当前训练组,可以得到总的损失函数为:

L=L1+θ·L2

其中θ为两者的比例参数。

利用上述的损失函数,训练一定的轮数后,保存模型参数W1,b1,作为度量学习的网络模型。

图9是本发明一识别图像的流程示意图;对于输入的第一测试图片和第二测试图片,所述识别系统被配置为:

步骤S1对其进行人脸检测和关键点识别,选出经过选择的人脸区域,并加入到卷积神经网络中计算并归一化,得到第一测试图片的高维特征X1和第二测试图片的高维特征X2

步骤S2将两个高维特征X1和X2输入到度量学习算法得到的模型中,得到测试第一测试图片的降维特征U1和第二测试图片的降维特征U2

步骤S3计算U1和U2间的欧式距离为D,将D与判别阈值Th进行比较,

步骤S4若D≤Th,则判定两张人脸测试图片属于同一个人;

步骤S5否则这两个人脸测试图片不属于同一个人。

图10是本发明的识别系统结构示意图,基于多区域特征与度量学习的人脸特征识别系统,包括:神经卷积训练单元1、度量学习模型单元2以及判别单元3,所述神经卷积训练单元1,用以通过多尺度人脸区域训练得到相应位置与尺度的卷积神经网络参数,并根据所述卷积神经网络参数提取出人脸对应区域的特征;以及对上述特征进行筛选,得到高维人脸特征;所述度量学习模型单元2,用以根据所述高维人脸特征进行度量学习,将特征进行降维处理得到特征表达后定义损失函数,通过所述损失函数训练得到度量学习的网络模型;

所述判别单元3,用以将待识别的图像输入所述网络模型后,将人脸特征进行降维后利用欧几里得距离进行识别。本实施例中的人脸系统首先利用卷积神经网络提取人脸不同尺度和位置的区域的特征,并对这些多尺度特征进行筛选,选出表达能力最强的一些特征进行组合,形成高维的人脸特征。之后,将已获得的大量人脸特征通过度量学习定义的损失函数进行训练,将人脸特征降维后利用欧几里得距离进行识别。本发明采用以上技术,在保证人脸识别速度的前提下提高人脸识别的准确率。在本实施例中设计了一种基于多区域人脸特征选择与度量学习的人脸识别系统,在保证识别速度的基础上,提高了人脸识别的准确率。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、系统、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。

此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。

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