一种难正负样本在线挖掘方法和人脸识别方法技术

技术编号:34208749 阅读:11 留言:0更新日期:2022-07-20 12:34
本发明专利技术公开了一种难正负样本在线挖掘方法,用于人脸识别模型的训练过程,包括如下步骤:S1、获取由第一图形处理器从样本人脸对提取到的特征向量对;S2、根据所述特征向量对计算所述样本人脸对的损失函数;S3、根据所述损失函数,对所述样本人脸对进行难正负样本挖掘,得到包含难正负样本人脸对的目标样本集;S4、计算所述目标样本集中各所述难正负样本人脸对的梯度,并将所述梯度传送到第二图形处理器,以使所述第二图形处理器通过所述梯度进行反向传播,对模型参数进行调整,并将调整后的模型参数共享给所述第一图形处理器。模型参数共享给所述第一图形处理器。模型参数共享给所述第一图形处理器。

【技术实现步骤摘要】
一种难正负样本在线挖掘方法和人脸识别方法


[0001]本专利技术涉及图像处理和机器学习的交叉领域,具体涉及一种难正负样本挖掘方法和应用该种挖掘方法进行模型训练的人脸识别方法。

技术介绍

[0002]通过利用大量人脸图片进行模型训练来提高人脸识别精度,已是人脸识别领域的常规做法。训练过程和方法不同,得出的模型识别效果也会不同。通过对训练过程和方法进行改进,来提高模型识别人脸的精度,是业界相关学者的研究课题之一。
[0003]基于度量学习(metric learning)原理的,能够利用百万级人脸数据集的人脸识别模型训练框架,通常采用结合在线挖掘的度量学习算法。使用度量学习算法训练模型时,需要给模型提供大量的相同人脸对(正样本对)和不同人脸对(负样本对)。在训练的中后期阶段,这些样本对越难,模型的识别性能越能提升越明显,训练速度也更快。随着模型训练迭代次数的增加,这种难易程度的标准在不断演化,因此难样本对必须在训练过程中进行在线挖掘,而挖掘出的正负样本对的困难程度又与参加每次训练迭代的数据量正相关。
[0004]综上所述,在人脸识别模型的训练阶段利用难正负样本在线挖掘方法来进行训练,参与难正负样本在线挖掘的数据批量越大,则越有利于提升人脸识别算法的精确度。然而,现有的训练过程中,特征提取、损失函数计算、梯度计算和反向传播都主要是通过GPU(Graphics Processing Unit,图形处理器)进行,而GPU卡板载显存容量有限,能处理的图像数量有限,单张GPU卡上的数据批量通常在几十个至上百个人脸图像之间,极大地限制了挖掘的难正负样本的困难程度,从而限制了人脸识别模型训练效率的提升。

技术实现思路

[0005]本专利技术的主要目的在于提出一种难正负样本在线挖掘方法,以解决现有技术存在的问题,提高难正负样本在线挖掘的效率。
[0006]为达上述目的,本专利技术其中一方面提出如下技术方案:
[0007]一种难正负样本在线挖掘方法,用于人脸识别模型的训练过程,包括如下步骤:S1、获取由第一图形处理器从样本人脸对提取到的特征向量对;S2、根据所述特征向量对计算所述样本人脸对的损失函数;S3、根据所述损失函数,对所述样本人脸对进行难正负样本挖掘,得到包含难正负样本人脸对的目标样本集;S4、计算所述目标样本集中各所述难正负样本人脸对的梯度,并将所述梯度传送到第二图形处理器,以使所述第二图形处理器通过所述梯度进行反向传播,对模型参数进行调整,并将调整后的模型参数共享给所述第一图形处理器。
[0008]本专利技术另一方面提出如下技术方案:
[0009]一种难正负样本在线挖掘装置,用于人脸识别模型的训练过程,包括一中央处理器单元和连接于该中央处理单元的第一图形处理器与第二图形处理器;所述第一图形处理器被配置为:从样本人脸对提取特征向量对;所述中央处理器单元被配置为:根据所述特征
向量对计算所述样本人脸对的损失函数,以及根据所述损失函数,对所述样本人脸对进行难正负样本挖掘,得到包含难正负样本人脸对的目标样本集,并计算所述目标样本集中各所述难正负样本人脸对的梯度;所述第二图形处理器被配置为:从所述中央处理器单元接收所述梯度,并通过所述梯度进行反向传播,对模型参数进行调整,并将调整后的模型参数共享给所述第一图形处理器。
[0010]本专利技术另还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,能实现前述难正负样本在线挖掘方法的步骤。
[0011]本专利技术另还提出一种人脸识别方法,包括人脸识别模型的训练过程,所述训练过程包含前述的难正负样本在线挖掘方法的步骤。
[0012]本专利技术的有益效果包括:可以通过一个CPU来与第一、第二GPU(图形处理器)配合,只使用第一GPU进行图像特征计算,得到样本对的特征向量对之后,通过CPU来进行损失函数和梯度计算,通过共享模型参数的第二GPU来进行梯度的反向传播,使得第一GPU不依赖于显存的大小,能够以流水线的方式不断计算样本对的特征向量对,从而提高了难样本的在线挖掘效率,进而提高了模型训练的效率。
附图说明
[0013]图1是本专利技术实施例的难正负样本在线挖掘方法示意图;
[0014]图2是本专利技术实施例三维损失函数矩阵A*B*C的示意图。
具体实施方式
[0015]下面结合附图和具体的实施方式对本专利技术作进一步说明。
[0016]名词解释:

正样本:相同类型的图像为正样本对,比如相同人脸对

负样本:不同类型的图像为负样本对,比如不同人脸对

难正样本:是指模型在识别过程中,将相同人脸对识别为不同人脸的人脸对

难负样本:是指模型在识别过程中,将不同人脸对识别为相同人脸的人脸对

度量学习:在模型训练过程中,使正样本对之间的距离尽可能小,负样本对之间的距离尽可能大。难正样本对在度量学习中的距离较大,因此,会产生较大的梯度下降。难负样本对在度量学习中的距离较小,因此也会产生较大的梯度下降。简单正负样本对不提供或提供较小的梯度下降。

难正负样本在线挖掘:是指在基于度量学习的模型训练过程中,每次迭代后,下一次迭代时输入的批量数据中包括难正负样本,以提高模型的识别能力和模型梯度下降的速度。
[0017]本专利技术实施例提供一种难正负样本在线挖掘方法,该方法可运用于CPU(中央处理单元),应用在人脸识别模型的训练阶段。在本实施例中,该方法可以采用如图1所示的系统架构,包括一个CPU和至少一组GPU,一组GPU包含两个GPU,即第一GPU和第二GPU。第一GPU和第二GPU通过总线的方式与CPU连接,第一GPU主要负责特征提取,提取到图像的特征之后传送到CPU,在CPU进行损失函数和梯度的计算,根据损失函数进行难样本挖掘,选取损失函数较大的样本对作为难样本。同时CPU计算出梯度后传送到第二GPU,使第二GPU通过梯度进行
反向传播,调整模型参数并共享到第一GPU。其中,每个样本对的损失函数在0至1之间,损失函数越大,则说明样本对被识别模型识别正确的难度越大。
[0018]具体地,将样本人脸对输入到第一GPU进行特征提取,每张人脸图像会得到一个对应的特征向量,因此一个样本人脸对对应两个特征向量,在此我们称之为特征向量对。CPU接收到特征向量对,并将它们放入特征向量池中,同时计算每个特征向量对的损失函数。在一种具体的实施例中,损失函数的计算过程如下:
[0019]当样本人脸对为二元组(即包含两张人脸图像)时,损失函数为:其中,y是所述样本人脸对的标签,当y=0时表示所述样本人脸对为负样本对,当y=1时表示所述样本人脸对为正样本对;d
a,b
是二元组的人脸图像a与b的度量距离,表征人脸图像a与b的特征向量之间的空间距离;β是一个预设的阈值,用于衡量正样本对下的二元组的度量距离是否足够小,或者衡量负样本对下的二元组的度量距离是否足够大,取值范围在0.35本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种难正负样本在线挖掘方法,用于人脸识别模型的训练过程,其特征在于,包括如下步骤:S1、获取由第一图形处理器从样本人脸对提取到的特征向量对;S2、根据所述特征向量对计算所述样本人脸对的损失函数;S3、根据所述损失函数,对所述样本人脸对进行难正负样本挖掘,得到包含难正负样本人脸对的目标样本集;S4、计算所述目标样本集中各所述难正负样本人脸对的梯度,并将所述梯度传送到第二图形处理器,以使所述第二图形处理器通过所述梯度进行反向传播,对模型参数进行调整,并将调整后的模型参数共享给所述第一图形处理器。2.如权利要求1所述的难正负样本在线挖掘方法,其特征在于,步骤S2中,当所述样本人脸对为二元组时,所述损失函数为:其中,y是所述样本人脸对的标签,当y=0时表示所述样本人脸对为负样本对,当y=1时表示所述样本人脸对为正样本对;d
a,b
是二元组的人脸图像a与b的度量距离,表征人脸图像a与b的特征向量之间的空间距离;β是预设的阈值,用于衡量正样本对下的二元组的度量距离是否足够小,或者衡量负样本对下的二元组的度量距离是否足够大;(β

d
a,b
)
+
表示hinge函数,形式为max(0,β

d
a,b
),当d
a,b
大于或等于β时,max(0,β

d
a,b
)取值为0;当d
a,b
小于β时,max(0,β

d
a,b
)取值为β

d
a,b
;当所述样本人脸对为三元组时,所述损失函数为:L2=d
a,b
+(d
a,b

d
a,c
+β)
+
其中,三元组包含人脸图像a、b、c,a与b构成正样本对,a与c构成负样本对;d
a,c
是人脸图像a与c的度量距离;(d
a,b

d
a,c
+β)
+
表示hinge函数,形式为max(0,d
a,b

d
a,c
+β),当(d
a,b

d
a,c
+β)大于0则取值为(d
a,b

d
a,c
+β),否则取值为0。3.如权利要求1所述的难正负样本在线挖掘方法,其特征在于,步骤S3具体包括:将所述样本人脸对的特征向量对添加到一特征向量池中;当所述特征向量池中特征向量对的数量达到预设数量时,以预设的采样策略对所述特征向量池中的特征向量对所对应的样本人脸对进行采样,得到所述目标样本集。4.如权利要求3所述的难正负样本在线挖掘方法,其特征在于,步骤S3中进行所述采样时,先将所述特征向量池中的特征向量对所对应的损失函数整理成损失函数矩阵,再通过预设的采样核在所述损失函数矩阵中进行采样,得到所述目标样本集。5.如权利要求4所述的难正负样本在线挖掘方法,其特征在于,将所述特征向量池中的特征向量对所对应的损失函数整理成损失函数矩阵,包括:计算所述特征向量池中的特征向量对所对应的损失函数的平均值和标准差;根据平均值和标准差,控制所述特征向量池中的特征向量对所对应的损失函数的分布,使其符合高斯分布且覆盖高于第一阈值的所有损失函数;将符合高斯分布的损失函数用于构建损失函数矩阵。6.如权利要求4所述的难正负样本在线挖掘方法,其特征在于,步骤S3中,以预设的采样策略对所述特征向量池中的特征向量对所对应的样本人脸对进行采样的步骤包括:
训练开始时,通过预设的第一采样方法对所述特征向量池中的特征向量对所对应的样本人脸对进行采样...

【专利技术属性】
技术研发人员:郑文先陶映帆杨文明廖庆敏
申请(专利权)人:清华大学深圳国际研究生院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1