一种基于ParaSoftMax损失函数的人脸识别模型的构建方法及应用与流程

文档序号:16630922发布日期:2019-01-16 06:33阅读:150来源:国知局
一种基于ParaSoftMax损失函数的人脸识别模型的构建方法及应用与流程
本发明涉及人脸识别
技术领域
,特别涉及一种基于parasoftmax损失函数的人脸识别训练方法。技术背景人脸识别系统在人脸验证、接入控制、安全监控、人机交互等领域有广泛的应用。人脸识别任务主要包括人脸验证和人脸鉴别两类。当前,卷积神经网络(cnn)上执行人脸识别任务上表现优异,准确率甚至超越人眼。因此,卷积神经网络也是解决人脸识别问题的主流方法。应用卷积神经网络技术的人脸识别方法一般化流程如下:在训练阶段,给定大量已知类别的人脸训练数据,利用最小化损失函数的方法迭代求解特征分类问题,训练卷积神经网络模型提取人脸高级特征的能力,迭代收敛时就可以得到一个训练好的人脸识别模型;在使用阶段,给定两个人脸图像,上述人脸识别模型可以计算出这两幅人脸的特征余弦相似度得分,该得分反映两幅人脸来自同一人的概率,可用于人脸识别问题。影响模型识别准确度的三点关键因素分别为:训练数据的规模和质量、网络模型的规模和损失函数的设计。数据因素取决于已有的训练数据集,模型因素取决于识别任务的应用场景,当二者确定之后,不同的损失函数影响模型的收敛速度及最终识别准确度。因此,在训练中,可以通过设计更好的损失函数来改进人脸识别算法的应用性能。损失函数应用于训练阶段迭代求解特征分类问题,其机制在于通过最大化训练数据所属类别的后验概率来训练模型提取人脸特征的能力。现有的损失函数不具有好的特征区分度,甚至会导致错误分类。使特征具有更好的区分度指加大特征向量类间距离并减小其类内距离,这是通过迭代过程中最小化损失函数实现的。如果损失函数可以使特征具有更好的区别度,训练出来的模型提取特征的能力更强,对于全新身份的人脸来说识别泛化效果越好。对比损失(contrastiveloss)函数、三联体损失(tripletloss)函数利用配对策略进行训练,但是训练效果取决于复杂的配对规则,将问题复杂化,不适合实际使用。基于乘性角度边缘的sphereface损失函数通过乘性缩放角度来增加特征区分度,但是训练时难以收敛。基于加性余弦边缘的cosface损失函数在余弦函数上设置加性边缘,训练易于收敛,也有相对更好的性能提升。基于加性角度边缘的arcface损失函数在角度上设置加性边缘,特征区分效果优于前述损失函数。上述损失函数的特点在于,对于简单样本和困难样本来说,边缘参数都是一样的。但是分类训练时,困难样本与类中心的夹角会大于同类简单样本与类中心的夹角,甚至会大于自身与其他类类中心的夹角,导致错误分类到其他类当中。因此,目前亟需一种能够克服上述问题而获取特征提取能力更强人脸识别模型的构建方法,以提升人脸识别模型的识别准确度。技术实现要素:为了实现本发明目的,本发明提出了一种基于parasoftmax损失函数的人脸识别模型的构建方法及应用,以提升人脸识别模型的识别准确度。具体地:本申请提供一种基于parasoftmax损失函数的人脸识别模型的构建方法,包括:a、根据任务的应用环境调用一基础卷积神经网络模型;并获取指定数量的标记有人脸身份信息的人脸图像作为训练数据集;b、根据所述训练数据集在所述基础卷积神经网络模型中分类训练时的困难样本和简单样本与其分别所属类内的类中心角度差异,获取决策边缘参数;c、根据所述决策边缘参数,获取抛物线-归一化指数损失函数parasoftmax损失函数;d、在所述基础卷积神经网络模型的最后一层设置所述parasoftmax损失函数,形成基于parasoftmax损失函数的人脸识别训练模型;e、向所述基于parasoftmax损失函数的人脸识别训练模型中输入训练数据集,通过最小化parasoftmax损失函数迭代训练所述人脸识别训练模型参数,以获取训练后的最优的基于parasoftmax损失函数的人脸识别模型。由上,本申请根据困难样本和简单样本的类中心角度差异,获取与角度相关的决策边缘参数;并根据所述决策边缘参数,获取抛物线-归一化指数损失函数parasoftmax损失函数;并进一步的训练基于该损失函数的卷积神经网络模型,通过最小化parasoftmax损失函数迭代训练模型参数,以获取训练后的最优的基于parasoftmax损失函数的人脸识别模型。从而本申请可以得到特征提取能力更强的模型,避免错误分类,以提升人脸识别模型的识别准确度。优选地,步骤b包括:根据所述训练数据集中的困难样本特征向量和简单样本特征向量的类中心角度差异,加大困难样本特征向量与类中心夹角的惩罚,并同时减小简单样本特征向量与类中心夹角的惩罚,以获取决策边缘参数。由上,对困难样本施加更大的惩罚边界从而压缩类内距并且保持合理的类间距,在提高分类精确的前提下还避免训练难以收敛。避免了现有技术中的错误分类的缺陷,同时避免了如果对简单样本与类中心也施加同样的惩罚会导致训练难以收敛,甚至造成某一类的消失的缺陷。优选地,步骤d所述根据任务的应用环境调用一基础卷积神经网络模型,具体为:若判断在计算资源有限的移动端设备上执行人脸识别任务,则调用一轻量级基础卷积神经网络模型;若判断在计算资源有限的移动端设备上执行人脸识别任务,则调用一轻量级基础卷积神经网络模型;由上,本申请根据任务环境需要选取基础卷积神经模型进行训练,若需在计算资源有限的移动端设备上执行人脸识别任务,则调用一模型规模小、运算速度快的轻量级基础卷积神经网络模型;若需在计算资源有限的移动端设备上执行人脸识别任务,则调用一模型规模小、运算速度快的轻量级基础卷积神经网络模型;可以训练获取与任务环境更匹配的人脸识别模型。优选地,步骤d所述在所述基础卷积神经网络模型的最后一层设置的所述parasoftmax损失函数的解析式如下:其中,m指训练的批量数(batchsize),n指训练集的类别数量,指本批第i个样本特征向量与标记的所属类别yi的类中心的夹角度数,θj指本批第i个样本特征向量与类别j中心ωj的夹角度数,参数m∈r+用于在余弦空间增加特征区分度。由上,本申请的parasoftmax的损失函数加大困难样本特征向量与类中心夹角的惩罚,并同时减小简单样本特征向量与类中心夹角的惩罚,可以使得训练出的模型能够更准确的进行特征分类,以更准确的进行人脸识别。优选地,所述通过最小化parasoftmax损失函数迭代训练模型参数,具体为通过迭代求解如下优化模型来求解用于图像特征提取的模型参数:minlpsms.t.||ωi||2=l,i=1,...n||xj||2=1,j=1,...m其中,lpsm表示在模型的最后一层设置的所述parasoftmax损失函数的解析式;ωi表示第i类别的类中心,xj表示第j个类别的人脸图像的特征向量。由上,可以训练获取能够更准确的进行人脸识别的模型。本申请还提供一种基于上述构建方法构建的基于parasoftmax损失函数的人脸识别模型的人脸识别方法,包括:n1、获取待识别的人脸图像及识别任务;n2、根据所述识别任务,将所述待识别的人脸图像输入至基于parasoftmax损失函数训练的人脸识别模型中,通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别。由上,本申请可以更精确的对人脸图像进行识别。优选地,步骤n1中所述识别任务为验证所述待识别的两幅人脸图像是否属于同一人时,步骤n2中所述通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别,包括:获取该两幅人脸图像的特征余弦相似度值,当所述特征余弦相似度值大于指定阈值时,则验证结果为所述两幅人脸图像属于同一人。由上,本申请可以更精确的对人脸图像进行识别验证。优选地,步骤n1所述识别任务为鉴定待识别的单幅人脸图像的身份时;步骤n2中所述通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别,为:将所述单幅人脸图像分别与预设数据库中存储的各个人脸图像一一比对,成对输入至所述人脸识别模型中,获取与各个人脸图像的余弦相似度得分中的最高得分;判断所述最高得分大于指定阈值时,则识别结果为所述最高得分对应的数据库中的人脸图像对应的身份与所述待识别的单幅人脸图像所对应的身份匹配。由上,本申请可以更精确的对人脸图像进行鉴别。综上,与现有技术相比,本发明根据同类的困难样本特征向量以及简单样本特征向量分别与其所属类内的类中心角度差异,获取了一个角度相关的决策边缘参数,并据此获取parasoftmax损失函数,在该损失函数中决策边缘加大对同类样本特征向量的角度约束(对困难样本特征向量的角度约束大于对简单样本特征向量的角度约束),本申请的上述技术方案对困难样本施加更大的惩罚边界从而压缩类内距并且保持合理的类间距,避免训练难以收敛。达到使用时提升人脸识别算法准确度的目的。本发明可根据实际应用场景选取基础神经网络模型规模,与现有的先进人脸识别算法相比,本发明方法在大规模模型和小规模模型上都可以显著提升人脸识别准确度。附图说明图1为本申请实施例提供的基于parasoftmax损失函数的人脸识别模型的构建方法的流程示意图;图2为本申请实施例提供的分类问题中的样本特征向量与类中心夹角示意图;图3为本申请实施例提供的分类问题中parasoftmax损失函数的决策边缘示意图;图4为本申请实施例提供的logit曲线示意图。其中,当曲线越低,对样本与类中心的夹角压缩的越大,本发明提出的parasoftmax损失函数对不同角度的夹角都有压缩效果,但是对夹角大的角度,即,困难样本情况压缩的相对更大;图5为本申请实施例提供的一种基于parasoftmax损失函数的人脸识别模型的人脸识别方法。具体实施方式为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解为此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的保护范围。实施例一本发明提出了一种基于parasoftmax损失函数的人脸识别模型的构建方法,所述方法包括:s101,根据任务的应用环境调用一基础卷积神经网络模型;并获取指定数量的标记有人脸身份信息的人脸图像作为训练数据集。具体地,所述根据任务的应用环境调用一基础卷积神经网络模型,具体为:若判断在计算资源有限的移动端设备上执行人脸识别任务,则调用一模型规模小、运算速度快的轻量级基础卷积神经网络模型;例如,轻量级cnn网络模型mobilenet。若判断在对识别准确度要求高的系统上执行人脸识别任务,则调用一模型规模大、识别准确度高的重量级基础卷积神经网络模型。具体地,获取指定数量的标记有人脸身份信息的人脸图像作为训练数据集:可以使用微软名人训练集(ms-celeb-1m)作为训练数据集。s102,根据所述训练数据集在所述基础卷积神经网络模型中分类训练时的困难样本特征向量和简单样本特征向量与其分别所属类内的类中心角度差异,获取决策边缘参数。具体地,根据所述训练数据集中的困难样本特征向量和简单样本特征向量的类中心角度差异,加大困难样本特征向量与类中心夹角的惩罚,并同时减小简单样本特征向量与类中心夹角的惩罚,以获取决策边缘参数。由于现有技术中的对于简单样本和困难样本来说,边缘参数都是一样的。在分类训练时,困难样本特征向量与类中心的夹角会大于同类简单样本与类中心的夹角,甚至会大于自身与其他类类中心的夹角,导致错误分类到其他类当中;因此需要对困难样本与类中心的夹角施加更大的边缘参数。但是,如果对简单样本与类中心也施加同样大的边缘参数会导致训练难以收敛,甚至造成某一类的消失。因此,本申请的上述技术方案对困难样本施加更大的惩罚边界从而压缩类内距并且保持合理的类间距,避免训练难以收敛。其中,如图2所示,示出了分类训练时二分类问题中样本特征向量与类中心夹角示意图。其中,ωi,i=1,2分别表示第i类ci的类中心,表示第1类的第j个样本的特征向量,假设为困难样本的特征向量、为简单样本的特征向量,分别表示与ω1的夹角,有表示与ω2的夹角,当困难样本离本类类中心较远,离其他类类中心较近时有s103,根据所述决策边缘参数,获取抛物线-归一化指数损失函数(本申请中还将其称之为parasoftmax损失函数,也可称之为para-curvesoftmax损失函数)。具体地,所述parasoftmax损失函数的解析式如下:其中,m指训练的批量数(batchsize),n指训练集的类别数量,指本批第i个样本特征向量与标记的所属类别yi的类中心的夹角度数,θj指本批第i个样本特征向量与类别j中心ωj的夹角度数,参数m∈r+用于在余弦空间增加特征区分度。例如,批量数m=256,训练集类别数n=100k,参数m=0.25,其中,其中,i、j为正整数。其中,本申请的parasoftmax损失函数加大困难样本特征向量与类中心夹角的惩罚,并同时减小简单样本特征向量与类中心夹角的惩罚,可以使得训练出的模型能够更准确的进行特征分类,以更准确的进行人脸识别。如图3所示,示出了分类训练时二分类问题中parasoftmax损失函数的决策边缘示意图,其中ci,i=1,2表示第i类,当样本特征向量与类中心夹角减小的时候,即余弦距离增大的时候,决策边缘减小,最小减小至m2;如图4所示,示出了logit曲线示意图,当曲线越低,对样本与类中心的夹角压缩的越大,本发明提出的parasoftmax对不同角度的夹角都有压缩效果,但是对夹角大的角度,即,困难样本情况压缩的相对更大。s104,在所述基础卷积神经网络模型的最后一层设置所述parasoftmax损失函数,形成基于parasoftmax损失函数的人脸识别训练模型。s105,向所述基于parasoftmax损失函数的人脸识别训练模型中输入训练数据集,通过最小化parasoftmax损失函数迭代训练所述人脸识别训练模型参数,以获取训练后的最优的基于parasoftmax损失函数的人脸识别模型。具体地,所述通过最小化parasoftmax损失函数迭代训练模型参数,具体为:通过迭代求解如下优化模型来求解用于图像特征提取的模型参数:minlpsms.t.||ωi||2=1,i=1,...n||xj||2=1,j=1,...m其中,lpsm表示在模型的最后一层设置的所述parasoftmax损失函数的解析式;ωi表示第i类别的类中心,xj表示第j个类别的人脸图像的特征向量。当模型迭代到指定训练次数时停止训练,得到具有泛化能力的人脸识别模型。其中,所述具有泛化能力的人脸识别模型是指:实际应用时的输入人脸图像的所属类别不在训练数据集的类别当中,但是模型仍然适用于其类别相似度的判定,即模型特征提取及分类的能力可以泛化到未知数据中。进一步地,本申请还对本申请训练后的基于parasoftmaxloss(parasoftmax)损失函数的人脸识别模型进行了人脸识别测试,并将本申请训练获取的人脸识别模型和现有技术训练获取的人脸识别模型对人脸图像识别的结果进行比较,对比如下:losslfwcfp-fpagedb-30parasoftmaxloss(m=0.25)0.995670.889430.96067arcface(m=0.5)0.994670.875290.96083可以看到,本发明基于parasoftmax损失函数训练的人脸识别模型比当前最先进的基于arcface损失函数训练的人脸识别模型,在lfw和cfp-fp测试集上识别准确度更高,在agedb-30测试集上相差不到0.02%。综上,与现有技术相比,本发明的有益效果为,基于训练时增加特征区分度的目的,提出一个改进后的parasoftmax损失函数,和基于该损失函数训练获取的人脸识别卷积神经网络模型及应用。该函数可以对困难样本施加更大的惩罚边界从而压缩类内距并且保持合理的类间距,避免训练难以收敛。由此训练的人脸识别模型可以提升特征提取的能力,从而在使用时提升人脸识别准确度。本发明可根据实际应用场景选取模型规模,与现有的先进人脸识别算法相比,本发明方法在大规模模型和小规模模型上都可以显著提升人脸识别准确度。实施例二基于实施例一中的人脸识别模型,本申请还提供一种基于上述实施例一种构建的基于parasoftmax损失函数的人脸识别模型的人脸识别方法,包括:s501,获取待识别的人脸图像及识别任务;具体地,识别任务为:验证所述待识别的两幅人脸图像是否属于同一人;或者鉴定待识别的单幅人脸图像的身份。s502,根据所述识别任务,将所述待识别的人脸图像输入至基于设置决策边缘参数的parasoftmax损失函数训练的人脸识别模型中,通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别。具体地,s5021,若s501中识别任务为验证所述待识别的两幅人脸图像是否属于同一人时,则s502所述通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别,具体为:获取该两幅人脸图像的特征余弦相似度值,当所述特征余弦相似度值大于指定阈值时,则验证结果为所述两幅人脸图像属于同一人。或者,s5022,若s501中识别任务为鉴定待识别的单幅人脸图像的身份时;则s502所述通过所述基于parasoftmax损失函数的人脸识别模型对所述人脸图像进行识别,具体为:将所述单幅人脸图像分别与预设数据库中存储的各个人脸图像一一比对,成对输入至所述人脸识别模型中,获取与各个人脸图像的余弦相似度得分中的最高得分;判断所述最高得分大于指定阈值时,则识别结果为所述最高得分对应的数据库中的人脸图像对应的身份与所述待识别的单幅人脸图像所对应的身份匹配。其中,在本实施例中的已设置决策边缘参数的所述parasoftmax损失函数的解析式如下:其中,m指训练的批量数(batchsize),n指训练集的类别数量,指本批第i个样本特征向量与标记的所属类别yi的类中心的夹角度数,θj指本批第i个样本特征向量与类别j中心ωj的夹角度数,参数m∈r+用于在余弦空间增加特征区分度。其中,所述人脸识别模型通过计算两人脸图像的特征向量的余弦相似度来对人脸进行识别验证,假设两人脸图像的特征向量为xi∈rn,i=1,2,其中n为特征维度,特征归一化后余弦相似度计算公式为:x1·x2s.t.||xi||=1,i=1,2其中,所述x1和所述x2分别表示人脸图像的特征向量。所述计算结果可以用于评价x1,x2属于相同类别的概率,其中,当所述余弦相似度的数值高于指定阈值时,则可判断两人脸图像对应身份为一人,否则为不同身份。综上,与现有技术相比,本发明的有益效果为,基于训练时增加特征区分度的目的,获取了一parasoftmax损失函数,并基于该损失函数训练获取了人脸识别卷积神经网络模型及应用。该函数可以对困难样本施加更大的惩罚边界从而压缩类内距并且保持合理的类间距,避免训练难以收敛,且提高了分类的精确度。由此训练的人脸识别模型可以提升特征提取的能力,从而在使用时提升人脸识别准确度。本发明可根据实际应用场景选取模型规模,与现有的先进人脸识别算法相比,本发明方法在大规模模型和小规模模型上都可以显著提升人脸识别准确度。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1