人脸识别方法及设备与流程

文档序号:29494607发布日期:2022-04-06 14:41阅读:203来源:国知局
人脸识别方法及设备与流程

1.本技术涉及图像处理技术领域,尤其涉及一种人脸识别方法及设备。


背景技术:

2.随着经济的不断进步,人脸识别技术得到了快速发展,人脸识别已经在越来越多领域应用,解决了人们很多问题。
3.传统的人脸识别相关应用中,以google-facenet为例,其用来提取人脸特征(embedding)的神经网络模型的损失函数使用的是三原子损失函数(triplet loss)。
4.然而,目前triplet loss损失函数使网络训练的收敛速度比较慢,而且容易出现过拟合等问题。


技术实现要素:

5.本技术提供一种人脸识别方法及设备,以克服现有神经网络的损失函数使网络训练的收敛速度比较慢,而且容易出现过拟合等问题。
6.第一方面,本技术提供一种人脸识别方法,包括:
7.分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
8.从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
9.根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
10.将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型;
11.基于所述网络参数模型进行人脸识别。
12.在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片;
13.所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
14.根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神
经网络训练。
15.在一种可能的设计中,所述根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数,包括:
16.根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
17.在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络;
18.所述分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,包括:
19.分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
20.将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
21.第二方面,本技术提供一种模型生成方法,包括:
22.分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
23.从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
24.根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
25.将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
26.第三方面,本技术提供一种人脸识别装置,包括:
27.第一获得模块,用于分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
28.第二获得模块,用于从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
29.确定模块,用于根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
30.第三获得模块,用于将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型;
31.识别模块,用于基于所述网络参数模型进行人脸识别。
32.第四方面,本技术提供一种模型生成装置,包括:
33.第一获得模块,用于分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
34.第二获得模块,用于从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
35.确定模块,用于根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
36.第三获得模块,用于将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
37.第五方面,本技术提供一种人脸识别设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
38.分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
39.从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
40.根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
41.将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型;
42.基于所述网络参数模型进行人脸识别。
43.在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片;
44.所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
45.根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)||
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
46.在一种可能的设计中,所述根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数,包括:
47.根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
48.在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络;
49.所述分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,包括:
50.分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
51.将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
52.第六方面,本技术提供一种模型生成设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
53.分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
54.从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
55.根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
56.将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
57.第七方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的人脸识别方法。
58.第八方面,本技术提供另一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计所述的模型生成方法。
59.第九方面,本技术提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第一方面所述的方法。
60.第十方面,本技术提供另一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行第二方面所述的方法。
61.本技术提供的人脸识别方法及设备,该方法通过将人脸图片数据集中的每张人脸图片输入神经网络,获得每张人脸图片的人脸特征向量,从每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,再根据每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定上述神经网络对应的新三原子损失函数,将该新三原子损失函数加载在上述神经网络中,进行网络训练,更新网络参数,获得网络参数模型,基于该网络参数模型进行人脸识别。即在传统三原子选择的基础上增加一组正例人脸,改良triplet三原子的选择方案,同时对传统的三原子损失函数进行改进,从而达到加快网络训练的收敛速度、进一步降低过拟合的概率,同时增强网络对同种类型和不同类型特征的区分能力的目的。
附图说明
62.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
63.图1为本技术实施例提供的一种人脸识别系统架构示意图;
64.图2为本技术实施例提供的一种人脸识别方法的流程示意图;
65.图3为本技术实施例提供的一种模型生成方法的流程示意图;
66.图4为本技术实施例提供的一种人脸识别装置的结构示意图;
67.图5为本技术实施例提供的一种模型生成装置的结构示意图;
68.图6为本技术实施例提供的人脸识别设备的硬件结构示意图。
具体实施方式
69.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
70.传统的人脸识别相关应用中,以google-facenet为例,其用来提取人脸特征(embedding)的神经网络模型的损失函数使用的是三原子损失函数(triplet loss)。然而,目前triplet loss损失函数使网络训练的收敛速度比较慢,而且容易出现过拟合等问题。
71.因此,考虑到上述问题,本技术提供一种人脸识别方法,通过改良triplet三原子的选择方案和更改triplet loss损失函数,加快网络训练的收敛速度、进一步降低过拟合的概率,同时增强网络对同种类型和不同类型特征的区分能力。
72.本技术提供的一种人脸识别方法,可以适用于图1所示的人脸识别系统架构示意图,如图1所示,该系统包括终端10,终端10可以包括接收装置101、处理器102和显示装置103中至少一种。
73.在具体实现过程中,接收装置101可以是输入/输出接口,也可以是通信接口,可以用于输入人脸图片,输出网络参数模型等信息。
74.处理器102可以分别将人脸图片数据集中的每张人脸图片输入神经网络,获得每张人脸图片的人脸特征向量,其中,上述人脸图片数据集包括至少两个人的人脸图片,上述神经网络通过人脸图片和人脸特征向量训练得到;可以从每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;也可以根据上述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定神经网络对应的新三原子损失函数,将该新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型,基于该网络参数模型进行人脸识别。
75.显示装置103可以用于对上述基准人脸正例,以及同一人人脸正例和不同人人脸负例等进行显示。
76.显示装置还可以是触摸显示屏,用于在显示的上述内容的同时接收用户指令,以实现与用户的交互。
77.应理解,上述处理器可以通过处理器读取存储器中的指令并执行指令的方式实现,也可以通过芯片电路实现。
78.上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
79.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
80.图2为本技术实施例提供的一种人脸识别方法的流程示意图,本技术实施例的执行主体可以为图1所示实施例中的处理器。如图2所示,该方法可以包括:
81.s201:分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到。
82.这里,可以首先采集多个人的多张人脸图片,例如采集1000个不同人的1800张人脸图片。将采集的多个人的多张人脸图片作为一个人脸图片数据集,即作为一个minibatch数据集,该数据集中包含至少两个人的多张人脸图片,例如至少两个人的40张人脸图片。
83.分别将人脸图片数据集中的每张人脸图片输入神经网络,获得每张人脸图片的人脸特征向量。
84.具体的,所述神经网络为inception-resnet-v1卷积神经网络。
85.分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
86.将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
87.其中,上述神经网络还可以为inception-resnet-v2卷积神经网络等,本技术对比不作特别限制,只要上述神经网络能够实现上述相应功能即可。
88.l2 norm就是欧几里德距离之和,l2的公式:欧几里德距离之和:
[0089][0090]
就是样本和标签之差的平方之和。
[0091]
这里,上述归一化处理还可以为l1归一化处理等,本技术对比不作特别限制,只要上述归一化处理能够实现上述相应功能即可。
[0092]
s202:从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例。
[0093]
在本技术实施例中,以两个人为例,选出来这两个人每个人的一个人脸特征向量作为一个anchor(基准人脸正例),分别标记为f(xia1)、f(xia2),另外分别选取f(xip1)、f(xip2)作为positive(同一个人人脸正例),选取其他不同于二者的人脸特征向量f(xin1)、f(xin2)作为negative(不同人脸负例)。其中f()表示的是经过facenet的inception-resnet-v1神经网络和l2归一化的整个特征提取步骤。
[0094]
具体的,所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
[0095]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)||
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f
(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,用于计算两个向量之间的距离,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0096]
其中,上述第一预设阈值和第二预设阈值可以通过大量训练计算得到。上述处理器设置上述预设筛选原则使得同一个人的基准人脸特征和人脸正例之间的距离小于不同的两个人人脸特征之间的正向距离。同一个人的基准人脸特征和人脸正例之间的距离也要小于不同的两个人人脸特征之间的负向距离。
[0097]
本技术实施例按照改进的triplet三原子的筛选原则,对预先使用inception-resnet-v1神经网络提取出的每张图片的embedding特征向量进行选择、打标签。
[0098]
这里,上述在传统三原子选择的基础上增加一组正例人脸,改良triplet三原子的选择方案。
[0099]
s203:根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数。
[0100]
可选地,根据表达式可选地,根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0101]
这里,通过改良triplet三原子的选择方案和更改triplet loss损失函数,加快网络训练的收敛速度、进一步降低过拟合的概率,同时增强网络对同种类型和不同类型特征的区分能力。
[0102]
s204:将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
[0103]
具体的,将上述新三原子损失函数加载到神经网络中,建立graph然后开始训练网络,更新网络参数,重复上述过程,多轮迭代,完成所有数据训练,生成网络参数模型。
[0104]
s205:基于所述网络参数模型进行人脸识别。
[0105]
这里,基于上述生成的网络参数模型进行人脸识别,克服现有神经网络的损失函数使网络训练的收敛速度比较慢,而且容易出现过拟合等问题。
[0106]
从上述描述可知,本技术实施例通过将人脸图片数据集中的每张人脸图片输入神经网络,获得每张人脸图片的人脸特征向量,从每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,再根据每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定上述神经网络对应的新三原子损失函数,将该新三原子损失函数加载在上述神经网络中,进行网络训练,更新网络参数,获得网络参数模型,基于该网络参数模型进行人脸识别。即在传统三原子选择的基础上增加一组正例人脸,改良triplet三原子的选择方案,同时对传统的三原子损失函数进行改进,从而达到加快网络训练的收敛速度、进一步降低过拟合的概率,同时增强网络对同种类型和不同类型特征的区分能力的目的。
[0107]
图3为本技术实施例提供的一种模型生成方法的流程示意图,本技术实施例的执
行主体可以为图1所示实施例中的处理器。如图3所示,该方法包括:
[0108]
s301:分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到。
[0109]
可选地,所述神经网络为inception-resnet-v1卷积神经网络;
[0110]
所述分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,包括:
[0111]
分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
[0112]
将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
[0113]
s302:从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例。
[0114]
可选地,所述人脸图片数据集包括两个人的人脸图片;
[0115]
所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
[0116]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)||
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《||f(x
ia2
)-f(x
in2
)||
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0117]
s303:根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数。
[0118]
可选地,所述根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数,包括:
[0119]
根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0120]
s304:将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
[0121]
本技术实施例提供的人脸识别方法,基于基础的三原子选择方法和损失函数,提出并改进了同一批人脸图片数据中三原子的选择方法和损失函数,在传统三原子选择的基础上增加一组正例人脸,并增加新三原子的选择条件,同时对传统的三原子损失函数进行改进,从而达到加快网络训练的收敛速度、进一步降低过拟合的概率,同时增强网络对同种
类型和不同类型特征的区分能力的目的。
[0122]
对应于上文实施例的人脸识别方法,图4为本技术实施例提供的一种人脸识别装置的结构示意图。为了便于说明,仅示出了与本技术实施例相关的部分。图4为本技术实施例提供的一种人脸识别装置的结构示意图。如图4所示,该人脸识别装置40包括:第一获得模块401、第二获得模块402、确定模块403、第三获得模块404以及识别模块405。
[0123]
其中,第一获得模块401,用于分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到。
[0124]
第二获得模块402,用于从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例。
[0125]
确定模块403,用于根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数。
[0126]
第三获得模块404,用于将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
[0127]
识别模块405,用于基于所述网络参数模型进行人脸识别。
[0128]
在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片。
[0129]
所述第二获得模块402,具体用于:
[0130]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《||f(x
in1
)-f(x
in2
)‖
22
;||f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0131]
在一种可能的设计中,所述确定模块403,具体用于:
[0132]
根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0133]
在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络。
[0134]
所述第一获得模块401,具体用于:
[0135]
分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
[0136]
将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
[0137]
本技术实施例提供的装置,可用于执行上述图2所述方法实施例的技术方案,其实现原理和技术效果类似,本技术实施例此处不再赘述。
[0138]
对应于上文实施例的模型生成方法,图5为本技术实施例提供的一种模型生成装置的结构示意图。为了便于说明,仅示出了与本技术实施例相关的部分。图5为本技术实施例提供的一种模型生成装置的结构示意图。如图5所示,该模型生成装置50包括:第一获得模块501、第二获得模块502、确定模块503和第三获得模块504。
[0139]
其中,第一获得模块501,用于分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到。
[0140]
第二获得模块502,用于从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例。
[0141]
确定模块503,用于根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数。
[0142]
第三获得模块504,用于将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
[0143]
在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片。
[0144]
所述第二获得模块502,具体用于:
[0145]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0146]
在一种可能的设计中,所述确定模块503,具体用于:
[0147]
根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0148]
在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络。
[0149]
所述第一获得模块501,具体用于:
[0150]
分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
[0151]
将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
[0152]
本技术实施例提供的装置,可用于执行上述图3所述方法实施例的技术方案,其实现原理和技术效果类似,本技术实施例此处不再赘述。
[0153]
图6为本发明实施例提供的人脸识别设备的硬件结构示意图。如图6所示,本实施例的人脸识别设备60包括:处理器601以及存储器602;其中
[0154]
存储器602,用于存储计算机执行指令;
[0155]
处理器601,用于执行存储器存储的计算机执行指令,以实现如下步骤:
[0156]
分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
[0157]
从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
[0158]
根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
[0159]
将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型;
[0160]
基于所述网络参数模型进行人脸识别。
[0161]
在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片;
[0162]
所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
[0163]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《||f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0164]
在一种可能的设计中,所述根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数,包括:
[0165]
根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0166]
在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络;
[0167]
所述分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,包括:
[0168]
分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
[0169]
将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
[0170]
可选地,存储器602既可以是独立的,也可以跟处理器601集成在一起。
[0171]
当存储器602独立设置时,该人脸识别设备还包括总线603,用于连接所述存储器
602和处理器601。
[0172]
本发明实施例提供一种模型生成设备,包括:处理器以及存储器;其中
[0173]
存储器,用于存储计算机执行指令;
[0174]
处理器,用于执行存储器存储的计算机执行指令,以实现如下步骤:
[0175]
分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,其中,所述人脸图片数据集包括至少两个人的人脸图片,所述神经网络通过人脸图片和人脸特征向量训练得到;
[0176]
从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例;
[0177]
根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数;
[0178]
将所述新三原子损失函数加载到所述神经网络中,进行网络训练,更新网络参数,获得网络参数模型。
[0179]
在一种可能的设计中,所述人脸图片数据集包括两个人的人脸图片;
[0180]
所述从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,包括:
[0181]
根据预设筛选原则,从所述每张人脸图片的人脸特征向量中获得每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,其中,所述预设筛选原则包括:‖f(x
ia1
)-f(x
ip1
)‖
22
+α《‖f(x
ia1
)-f(x
in1
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
+β《‖f(x
ia2
)-f(x
in2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《‖f(x
ip1
)-f(x
ip2
)‖
22
;‖f(x
ia1
)-f(x
ip1
)‖
22
《‖f(x
in1
)-f(x
in2
)‖
22
;‖f(x
ia2
)-f(x
ip2
)‖
22
《||f(x
in1
)-f(x
in2
)||
22
;其中,‖‖
22
表示平方和开根号,α表示第一预设阈值,β表示第二预设阈值,f()表示第i轮卷积神经网络后提取的人脸特征向量,f(x
ia1
)和f(x
ia2
)分别表示每个人的一个基准人脸正例,f(x
ip1
)和f(x
ip2
)分别表示同一人人脸正例,f(x
in1
)和f(x
in2
)分别表示不同人人脸负例,i表示第i轮卷积神经网络训练。
[0182]
在一种可能的设计中,所述根据所述每个人的一个基准人脸正例,以及同一人人脸正例和不同人人脸负例,确定所述神经网络对应的新三原子损失函数,包括:
[0183]
根据表达式根据表达式确定所述神经网络对应的新三原子损失函数loss。
[0184]
在一种可能的设计中,所述神经网络为inception-resnet-v1卷积神经网络;
[0185]
所述分别将人脸图片数据集中的每张人脸图片输入神经网络,获得所述每张人脸图片的人脸特征向量,包括:
[0186]
分别将所述每张人脸图片输入所述inception-resnet-v1卷积神经网络;
[0187]
将所述inception-resnet-v1卷积神经网络的每个输出结果通过l2归一化处理,获得所述每张人脸图片的128维度的人脸特征向量。
[0188]
可选地,存储器既可以是独立的,也可以跟处理器集成在一起。
[0189]
当存储器独立设置时,该人脸识别设备还包括总线,用于连接所述存储器和处理器。
[0190]
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的人脸识别方法。
[0191]
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的模型生成方法。
[0192]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0193]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0194]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0195]
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。
[0196]
应理解,上述处理器可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0197]
存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。总线可以是工业标准体系结构(industry standard architecture,简称isa)总线、外部设备互连(peripheral component interconnect,简称pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0198]
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0199]
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信
息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
[0200]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0201]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1