CN111259738A - 人脸识别模型构建方法、人脸识别方法及相关装置 - Google Patents
人脸识别模型构建方法、人脸识别方法及相关装置 Download PDFInfo
- Publication number
- CN111259738A CN111259738A CN202010020092.5A CN202010020092A CN111259738A CN 111259738 A CN111259738 A CN 111259738A CN 202010020092 A CN202010020092 A CN 202010020092A CN 111259738 A CN111259738 A CN 111259738A
- Authority
- CN
- China
- Prior art keywords
- face recognition
- model
- trained
- student
- class center
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000010276 construction Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 129
- 239000011159 matrix material Substances 0.000 claims abstract description 114
- 230000004927 fusion Effects 0.000 claims abstract description 46
- 230000009466 transformation Effects 0.000 claims abstract description 37
- 239000013598 vector Substances 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 24
- 230000015654 memory Effects 0.000 claims description 22
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 238000004821 distillation Methods 0.000 claims description 20
- 238000007619 statistical method Methods 0.000 claims description 4
- 230000002349 favourable effect Effects 0.000 abstract 1
- 238000004590 computer program Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000013140 knowledge distillation Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请实施例公开了一种人脸识别模型构建方法、人脸识别方法及相关装置,方法包括:根据预先训练好的N个人脸识别教师模型和样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵;获取当前训练周期的N个特征空间转换矩阵;根据N个特征空间转换矩阵和N个原始类中心矩阵,确定融合类中心矩阵;根据融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到训练后的人脸识别学生模型;若训练后的人脸识别学生模型满足预设条件,则确定当前训练的人脸识别学生模型收敛;若训练后的人脸识别学生模型不满足预设条件,则继续下一个训练周期,直至满足预设条件。本申请有利于提高人脸学生识别模型的效率和准确度。
Description
技术领域
本申请涉及人脸识别技术领域,具体涉及一种人脸识别模型构建方法、人脸识别方法及相关装置。
背景技术
如今,随着人工智能技术的飞速发展,人脸识别已经成为一种重要的人机交互方式,被广泛地应用于安防监控、智能支付、社交媒体、医疗等领域。然而,为了获得较高的人脸识别精度,通常采用结构复杂且参数量较多的神经网络,最终导致训练完成的人脸识别模型在计算资源有限的移动端或嵌入式设备上难以使用。因此,如何训练出速度快、精度高的人脸识别模型是人脸识别领域亟待解决的一个问题。
发明内容
本申请实施例提供了一种人脸识别模型构建方法、人脸识别方法及相关装置,以期提高人脸学生识别模型的效率和准确度。
第一方面,本申请实施例提供一种人脸识别模型构建方法,包括:
根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;
获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;
根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;
根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;
若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;
若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
可以看出,本申请实施例中,人脸识别模型构建设备首先根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,其次,获取当前训练周期N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵,再次,根据N个特征空间转换矩阵和N个原始类中心矩阵,确定融合类中心矩阵,然后根据该融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定当前训练的人脸识别学生模型收敛;若当前训练周期训练后的人脸识别学生模型不满足预设条件,则继续下一个训练周期,直至满足预设条件。由于上述该监督损失函数至少包括根据融合类中心矩阵设计的蒸馏监督损失函数,一方面这使得对于同一类的样本,都是让其向同一个类中心向量逼近,从而使得类内距离足够小,二方面类中心向量相对单个样本的特征更加具有区分性和表示性,能够使得学生模型学习到更加可靠的类别特征向量,可以在一定程度上抵消类内难例样本带来的影响,从而传递给学生模型更可靠的蒸馏信息,提高人脸识别学生模型的效率和准确度。
第二方面,本申请实施例提供一种人脸识别方法,包括:
在检测到人脸识别请求后,采集用户的目标人脸数据;
调用预先训练好的目标人脸识别学生模型;
将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;
其中,所述目标人脸识别学生模型是如第一方面人脸识别模型构建方法所构建的人脸识别学生模型中的人脸识别模型。
可以看出,本申请实施例中,相对于目前采用单个教师模型指导单个学生模型,如果只是单纯地选择一个精度最高的模型作为教师模型,可能会由于教师模型和学生模型之间的差异性较大,无法带来很好的蒸馏效果,所以选择出一个有效的教师模型是费时费力的;其次,单个学生模型最终只能获得单个轻量级人脸识别模型,而不同的嵌入式设备其性能不同,对模型的速度和精度要求也不同,所以单个模型其局限性较大,本申请通过使用多个教师模型进行知识蒸馏,可以选择任意特征维度的教师模型和学生模型进行匹配,从而避免部分教师模型无法直接使用的情况,通过提高学生模型训练全面性,从而提高人脸识别学生模型的应用性能。
第三方面,本申请实施例提供一种人脸识别模型构建装置,包括处理单元和通信单元,其中,
所述处理单元,用于根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;以及用于通过所述通信单元获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;以及用于根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;以及用于根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;以及用于若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;以及用于若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
第四方面,本申请实施例提供一种人脸识别装置,包括处理单元和通信单元,其中,
所述处理单元,用于在检测到人脸识别请求后,采集用户的目标人脸数据;以及用于调用预先训练好的目标人脸识别学生模型;以及用于通过所述通信单元将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;其中,所述目标人脸识别学生模型是如第三方面所述的人脸识别模型构建装置所构建的人脸识别学生模型中的人脸识别模型。
第五方面,本申请实施例提供一种人脸识别模型构建设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第六方面,本申请实施例提供一种人脸识别设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第二方面任一方法中的步骤的指令。
第七方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面或第二方面任一方法中所描述的部分或全部步骤。
第八方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面或第二方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种人脸识别模型处理系统的示意图;
图2a是本申请实施例提供的一种人脸识别模型构建方法的流程示意图;
图2b是本申请实施例提供的一种基于知识蒸馏训练轻量级人脸识别模型的流程图;
图3是本申请实施例提供的一种人脸识别方法的流程示意图;
图4本申请实施例提供的一种模型构建设备的结构示意图;
图5本申请实施例提供的一种模型应用设备的结构示意图;
图6本申请实施例提供的一种人脸识别模型构建装置的功能单元组成框图;
图7本申请实施例提供的一种人脸识别装置的功能单元组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1是本申请实施例提供的一种人脸识别模型处理系统的示意图,该人脸识别模型处理系统100包括模型构建设备110和模型应用设备120,所述模型构建设备110用于训练模型根据样本数据集进行训练,该模型构建设备110可以是服务器、分布式数据处理系统等数据处理设备,此处不做唯一限定。所述模型应用设备120内置有预先训练好的人脸识别学生模型(例如:目标人脸识别学生模型),该模型应用设备120可以是移动终端、笔记本等电子设备,此处不做唯一限定。所述模型构建设备110与所述模型应用设备120通信连接,模型构建设备110训练好人脸识别学生模型后,将人脸识别学生模型下发给模型应用设备120进行应用。
此外,模型构建设备和模型应用设备也有可能集成为一体式设备,该一体式设备的具体设备形态不做唯一限定。
目前,由于人脸识别最终需要计算的是两张人脸图片提取出的特征的相似度,现有技术方案的蒸馏方法都是对单个样本通过学生模型学到的特征和教师模型学到的特征做逼近;当数据集中存在部分较难的样本,且教师模型对这种样本的特征学习的也不好时,如果还是采用现有技术方案的做法,就会导致学生模型学习到不好的特征,从而导致最终的识别效果不理想。
基于此,本申请实施例提出一种人脸识别模型构建方法以解决上述问题,下面对本申请实施例进行详细介绍。
请参阅图2a,图2a是本申请实施例提供了一种人脸识别模型构建方法的流程示意图,应用于如图1所示的模型构建设备,如图所示,本人脸识别模型构建方法包括:
S201,根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数。
其中,所述原始类中心矩阵包括多个类中心向量,所述多个类中心向量与通过所述人脸样本数据集统计得到的多个人脸类别一一对应,每个类中心向量是当前训练周期的人脸样本数据子集中的多个人脸样本数据中出现对应人脸类别的人脸样本数据时,利用出现该人脸类别的人脸样本数据对应的由所述人脸识别教师模型输出的人脸特征向量更新初始类中心向量而得到的。
其中,由于人脸识别教师模型的要求是尽可能获得高的人脸识别精度,所以可以采用复杂度较高的网络,例如resnet152、DenseNet等网络,且可在网络中加入SE(Squeeze-and-Excitation)或非局部nonlocal等模块来提高识别效果。在实际的应用当中,不同的人脸识别模型在不同的场景下表现也不完全相同,所以为了获得更具泛化性的特征,可以采用通过不同场景的样本数据进行训练的人脸识别模型,由于不要求人脸识别教师模型和人脸识别学生模型的特征维度一致,所以任意已有的效果好的人脸识别模型都可以拿来用作教师模型,具体选取多少个模型作为人脸识别教师模型可根据实际的训练资源等因素来初步决定。
S202,获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵。
其中,由于人脸识别学生模型训练出的模型是最终需要用于模型应用设备(例如嵌入式端)的人脸识别模型,所以该网络需要满足轻量级的要求,可以采用当前常见的Mobilenet、Shufflenet等系列的网络结构,也可以采用浅而窄的resnet和vgg结构等。且不同的人脸识别学生模型之间的复杂度可以有一定的差异性,以此来满足不同的嵌入式设备的需求,在设计人脸识别学生模型的过程中可根据网络的计算量来设计不同的学生模型,并且本申请中人脸识别学生模型的特征维度可以是任意的,因此也可以在特征维度上有所变化。
S203,根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵。
S204,根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数。
其中,所述监督损失函数还包括分类监督损失函数。
S205,若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛。
其中,所述预设条件为:所述当前训练的人脸识别学生模型的监督损失函数的值小于预设损失阈值,和/或,当前训练周期和历史训练周期的次数之和大于预设训练周期次数。在当前训练的人脸识别学生模型收敛后,即可以得到训练好的人脸识别学生模型,作为目标人脸识别模型,完成人脸识别模型的构建。
S206,若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
可以看出,本申请实施例中,人脸识别模型构建设备首先根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,其次,获取当前训练周期N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵,再次,根据N个特征空间转换矩阵和N个原始类中心矩阵,确定融合类中心矩阵,然后根据该融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定当前训练的人脸识别学生模型收敛;若当前训练周期训练后的人脸识别学生模型不满足预设条件,则继续下一个训练周期,直至满足预设条件。由于上述该监督损失函数至少包括根据融合类中心矩阵设计的蒸馏监督损失函数,一方面这使得对于同一类的样本,都是让其向同一个类中心向量逼近,从而使得类内距离足够小,二方面类中心向量相对单个样本的特征更加具有区分性和表示性,能够使得学生模型学习到更加可靠的类别特征向量,可以在一定程度上抵消类内难例样本带来的影响,从而传递给学生模型更可靠的蒸馏信息,提高人脸识别学生模型的效率和准确度。
在一个可能的示例中,所述根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵,包括:根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,将所述N个人脸识别教师模型的特征投影到当前训练的人脸识别学生模型的特征所在的空间,得到N个第一类中心矩阵;根据所述N个第一类中心矩阵确定所述融合类中心矩阵。
具体实现中,可以采用加权平均的方法确定融合类中心矩阵,或者,直接将N个第一类中心矩阵累加后求平均得到融合类中心矩阵。
在一个可能的示例中,所述根据所述每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵之前,所述方法还包括:设置预设训练好的的N个人脸识别教师模型中每个人脸识别教师模型的学习率为0,所述人脸识别教师模型的复杂度高于所述人脸识别学生模型的复杂度。
其中,学习率为0使得人脸识别教师模型的参数不参与更新。也可以采用其它方式来固定人脸识别教师模型的参数,使其在构建人脸识别学生模型的过程中不进行更新。
在一个可能的示例中,所述若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,所述方法还包括:针对所述N个特征空间转换矩阵执行如下更新操作,得到更新后的N个特征空间转换矩阵:利用所述融合类中心矩阵、当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别学生模型得到的特征向量矩阵、以及当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别教师模型得到的J个人脸类别的类中心矩阵,更新所述当前处理的人脸识别教师模型的特征空间转换矩阵,得到更新后的特征空间转换矩阵。
其中,所述当前处理的人脸识别教师模型为当前更新的特征空间转换矩阵对应的人脸识别教师模型。
其中,所述J个人脸类别的类中心矩阵包括所述J个人脸类别的J个类中心向量。
在一个可能的示例中,所述方法还包括:获取人脸样本数据集;划分所述人脸样本数据集为多个样本数据子集。
其中,人脸样本数据的划分方法不做唯一限定,例如可以按照数量进行划分,按照数据所属场景进行划分等。
在一个可能的示例中,所述方法还包括:统计分析所述人脸样本数据集得到J个人脸类别,J为正整数;选取和训练所述N个人脸识别教师模型;针对所述每个人脸识别教师模型,设置每个人脸类别的初始类中心向量为预设向量,得到所述每个人脸识别教师模型的初始类中心矩阵,所述预设向量的维度等于当前设置的初始类中心矩阵对应的人脸识别教师模型输出的人脸特征向量的维度;初始化原始类中心矩阵的初始值为所述初始类中心矩阵。
其中,所述预设向量可以为零向量或其它类型的向量等,例如,还可以为全1向量。
在一个可能的示例中,所述当前训练的人脸识别学生模型为M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述方法还包括:针对所述M个人脸识别学生模型中除所述当前训练的人脸识别学生模型之外的人脸识别学生模型进行训练,得到M-1个训练好的人脸识别学生模型;根据如下信息中的至少一种从M个训练好的人脸识别学生模型中选取目标人脸识别学生模型:
识别精度、识别速度、所应用的设备的性能。
下面结合示例对本申请的人脸识别模型构建方法做进一步说明。
如图2b所示的基于知识蒸馏训练轻量级人脸识别模型的流程图,假设人脸识别教师模型1-N(N为大于1的正整数)都是提前训练好的模型,在知识蒸馏的过程中,将所有教师模型的学习率设为0,不让其参数进行更新。对于所有的训练数据,统计人脸类别数J,并将每个人脸类别的类中心初始化为一个零向量c=[0,0…,0],由于不同的教师模型输出的特征维度可能是不同的,因此针对每一个教师模型,初始化的类中心向量的维度都等于其自身输出人脸特征向量的维度。
在训练过程中,每一次迭代都是采样一个小批量min-batch的数据x={x1,x2…,xb}进行模型训练从而更新人脸识别学生模型的参数。整个训练过程如下:
(1)首先将一个小批量min-batch的数据送入所有的人脸识别教师模型,可以得到每一个人脸类别j对应的类中心向量集合(每个人脸类别都对应一个集合,集合中每个向量对应一个教师模型)。其中每一个人脸识别教师模型更新类中心向量的方式是统一的,以第n个教师模型为例,其计算方式如下:
(教师模型n,第j个人脸类别,类中心变量)
其中,是样本xi经过第n个人脸识别教师模型得到的人脸特征向量,yi是样本xi对应的类别标签,b是一个min-batch中总的样本数,j表示人脸总类别数J中的第j类(对应零向量c=[0,0…,0]中的第j个0,即类中心)。上式中δ(yi=j)表示当yi=j时,δ(yi=j)的值为1;否则,δ(yi=j)的值为0,因此由上式可知只有当整个min-batch中出现对应类别的样本时,该类别的类中心向量才进行更新,且更新的方式是利用整个min-batch的样本中出现的该类别的样本的人脸特征向量进行更新。当获得需要更新的类中心变量Δc之后,第t+1次迭代时第j个人脸类别的类中心向量为:
(人脸识别教师模型n更新第j个人脸类别的类中心向量,对应J个类别中的第j类的类中心向量)
其中α是一个超参,通常取小于1的值。
(2)对于当前min-batch,当所有样本经过每一个人脸识别教师模型得到相应的J个类中心向量之后,由于人脸识别教师模型的特征空间可能和人脸识别学生模型不一致,因此需要对人脸识别教师模型得到的J个类中心向量进行特征空间变换。具体做法如下:
例如,对于人脸识别教师模型n,其输出的特征维度为a1,则其每个人脸类别的类中心向量为则一个min-batch经过该人脸识别教师模型输出的J个人脸类别的类中心矩阵为Cn∈Rb×a1。对于人脸识别学生模型m,其输出的特征维度为a2(a2不等于a1),则该min-batch经过该人脸识别学生模型输出的特征矩阵为Fm∈Rb×a2。由于a2不等于a1,导致Cn和Fm维度不匹配,所以无法直接使用Cn对Fm进行知识蒸馏。为此,本申请引入了特征空间转换矩阵,通过该特征空间转换矩阵可以将Cn投影到Fm空间。针对人脸识别教师模型n和人脸识别学生模型m,需要引入一个特征空间转换矩阵Knm∈Ra1×a2,通过Cn和Knm相乘可以得到与Fm维度匹配的投影后的矩阵CnKnm∈Rb×a2,之后人脸识别学生模型可以通过学习该投影后的矩阵,从而实现用该投影后的矩阵来对人脸识别学生模型进行知识蒸馏。
根据上述描述,由于人脸识别学生模型之间的特征维度可能是不一致的以及网络结构的差异性,所以每一个人脸识别学生模型都需要一组特征空间转换矩阵[K1,…,KN]将每一个人脸识别教师模型的特征投影到该人脸识别学生模型特征所在的空间。对于每一个人脸识别学生模型,当所有人脸识别教师模型输出的特征经过特征空间转换矩阵之后得到了N个与其特征维度一致的类中心矩阵,之后还需要对这些类中心矩阵进行融合,融合的方式采用加权平均即可。
最终的表达形式如下:
(3)对于每一个人脸识别学生模型,当获得所有人脸识别教师模型融合的融合类中心矩阵之后,即可使用该融合类中心矩阵对其进行知识蒸馏。具体的做法是使得每一个样本通过人脸识别学生模型获得的特征向量尽量地去逼近其融合后类中心向量,每一个人脸识别学生模型的蒸馏监督都是一样的,具体表达形式如下:
并可得到蒸馏损失函数:
上式中全部样本xi经过人脸识别学生模型得到的特征向量矩阵Fs以及所有的K和C都是一个min-batch对应的结果。
除了上面提到的对人脸识别学生模型进行蒸馏监督之外,在训练中还需要保留传统的分类监督,以保证人脸识别学生模型能获得更好的效果,因此每一个人脸识别学生模型在训练的过程中整个的监督表达式如下:
L=LC+λLKD
其中LC表示分类损失函数,可以使用常见的softmax loss、cosface、arcface等。λ是一个超参,可以根据具体的实际情况进行调节。
由于不同的人脸识别学生模型的结构差异性可能导致收敛速度不同,因此在训练的过程中,可以设定一个损失的阈值,当损失值低于该阈值时,可停止该人脸识别学生模型的训练,避免过拟合。最终未停止的人脸识别学生模型在达到预先设定的训练次数之后也停止训练。
由于特征空间转换矩阵直接影响最终用来指导人脸识别学生模型的类中心,从而直接影响最终人脸识别学生模型的效果,然而这些特征空间转换矩阵的设置是无先验信息的,它们都是通过随机初始化得到的,因此每个人脸识别学生模型的特征空间转换矩阵都是需要在训练的过程中不断学习更新的,以此来达到较优的效果,其更新方式如下:
Kn(t+1)=Kn(t)-lr·ΔKn(t)
上式中ΔKn是对于第n个人脸识别教师模型的空间转换矩阵求得的梯度,lr是训练过程中的学习率。由上式可见,K的更新是使用了人脸识别教师模型得到的类中心信息,而不是仅基于单个样本的信息,类中心相对单个样本信息更加稳定,避免了部分难例可能导致梯度不稳定,因此可以得到更加稳定的K的更新。通过K的不断更新,每一个人脸识别学生模型可以获得相对较优的同一特征空间的指导信息,从而获得更好的结果。
请参阅图3,图3是本申请实施例提供了一种人脸识别方法的流程示意图,应用于如图1所示的模型应用设备,如图所示,本人脸识别方法包括:
S301,在检测到人脸识别请求后,采集用户的目标人脸数据。
S302,调用预先训练好的目标人脸识别学生模型。
其中,所述目标人脸识别学生模型可以是图2a所示的人脸识别模型构建方法所训练的人脸识别学生模型。
S303,将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果。
其中,目标人脸识别学生模型可以是用上述人脸识别模型构建方法构建的一个人脸识别学生模型,或者,所述目标人脸识别学生模型可以是M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述M个人脸识别学生模型是根据人脸样本数据集、N个人脸识别教师模型、M个未训练的人脸识别学生模型,基于知识蒸馏进行模型训练得到的,N为大于1整数。
可见,本申请实施例中,设备在检测到人脸识别请求后,采集用户的目标人脸数据,其次,调用预先训练好的目标人脸识别学生模型,最后,将目标人脸数据输入目标人脸识别学生模型,得到人脸识别结果。可见,相对于目前采用单个教师模型指导单个学生模型,如果只是单纯地选择一个精度最高的模型作为教师模型,可能会由于教师模型和学生模型之间的差异性较大,无法带来很好的蒸馏效果,所以选择出一个有效的教师模型是费时费力的;其次,单个学生模型最终只能获得单个轻量级人脸识别模型,而不同的嵌入式设备其性能不同,对模型的速度和精度要求也不同,所以单个模型其局限性较大,本申请通过使用多个教师模型进行知识蒸馏,可以选择任意特征维度的教师模型和学生模型进行匹配,从而避免部分教师模型无法直接使用的情况,通过提高学生模型训练全面性,从而提高人脸识别学生模型的应用性能。
在一个可能的示例中,所述目标人脸识别学生模型是根据如下信息中的至少一种从M个预先训练好的人脸识别学生模型中选取的:识别精度、识别速度、所应用的设备的性能。
与上述图2a所示的实施例一致的(图4实施例共享图2a技术效果和拓展说明),请参阅图4,图4是本申请实施例提供的一种模型构建设备400的结构示意图,如图所示,所述模型构建设备400包括应用处理器410、存储器420、通信接口430以及一个或多个程序421,其中,所述一个或多个程序421被存储在上述存储器420中,并且被配置由上述应用处理器410执行,所述一个或多个程序421包括用于执行以下步骤的指令;
根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;以及获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;以及根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;以及根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;以及若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;以及若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
可以看出,本申请实施例中,人脸识别模型构建设备首先根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,其次,获取当前训练周期N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵,再次,根据N个特征空间转换矩阵和N个原始类中心矩阵,确定融合类中心矩阵,然后根据该融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定当前训练的人脸识别学生模型收敛;若当前训练周期训练后的人脸识别学生模型不满足预设条件,则继续下一个训练周期,直至满足预设条件。由于上述该监督损失函数至少包括根据融合类中心矩阵设计的蒸馏监督损失函数,一方面这使得对于同一类的样本,都是让其向同一个类中心向量逼近,从而使得类内距离足够小,二方面类中心向量相对单个样本的特征更加具有区分性和表示性,能够使得学生模型学习到更加可靠的类别特征向量,可以在一定程度上抵消类内难例样本带来的影响,从而传递给学生模型更可靠的蒸馏信息,提高人脸识别学生模型的效率和准确度。
在一个可能的示例中,在所述根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵方面,所述程序421的指令具体用于执行以下操作:根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,将所述N个人脸识别教师模型的特征投影到当前训练的人脸识别学生模型的特征所在的空间,得到N个第一类中心矩阵;以及根据所述N个第一类中心矩阵确定所述融合类中心矩阵。
在一个可能的示例中,所述程序421还包括用于执行以下操作的指令:所述根据所述每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵之前,设置预设训练好的的N个人脸识别教师模型中每个人脸识别教师模型的学习率为0,所述人脸识别教师模型的复杂度高于所述人脸识别学生模型的复杂度。
在一个可能的示例中,所述程序421还包括用于执行以下操作的指令:所述若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,针对所述N个特征空间转换矩阵执行如下更新操作,得到更新后的N个特征空间转换矩阵:以及利用所述融合类中心矩阵、当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别学生模型得到的特征向量矩阵、以及当前训练周期所需要处理的样本数据子集经过所述当前处理的人脸识别教师模型得到的J个人脸类别的类中心矩阵,更新所述当前处理的人脸识别教师模型的特征空间转换矩阵,得到更新后的特征空间转换矩阵。
在一个可能的示例中,所述程序421还包括用于执行以下操作的指令:获取人脸样本数据集;划分所述人脸样本数据集为多个样本数据子集。
在一个可能的示例中,所述程序421还包括用于执行以下操作的指令:统计分析所述人脸样本数据集得到J个人脸类别,J为正整数;以及选取和训练所述N个人脸识别教师模型;以及针对所述每个人脸识别教师模型,设置每个人脸类别的初始类中心向量为预设向量,得到所述每个人脸识别教师模型的初始类中心矩阵,所述预设向量的维度等于当前设置的初始类中心矩阵对应的人脸识别教师模型输出的人脸特征向量的维度;以及初始化原始类中心矩阵的初始值为所述初始类中心矩阵。
在一个可能的示例中,所述当前训练的人脸识别学生模型为M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述程序421还包括用于执行以下操作的指令:针对所述M个人脸识别学生模型中除所述当前训练的人脸识别学生模型之外的人脸识别学生模型进行训练,得到M-1个训练好的人脸识别学生模型;根据如下信息中的至少一种从M个训练好的人脸识别学生模型中选取目标人脸识别学生模型:识别精度、识别速度、所应用的设备的性能。
与上述图3所示的实施例一致的(图5实施例共享图3技术效果和拓展说明),请参阅图5,图5是本申请实施例提供的一种模型应用设备500的结构示意图,如图所示,所述模型应用设备500包括应用处理器510、存储器520、通信接口530以及一个或多个程序521,其中,所述一个或多个程序521被存储在上述存储器520中,并且被配置由上述应用处理器510执行,所述一个或多个程序521包括用于执行以下步骤的指令;
在检测到人脸识别请求后,采集用户的目标人脸数据;以及调用预先训练好的目标人脸识别学生模型;以及将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;其中,所述目标人脸识别学生模型是M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述M个人脸识别学生模型是根据人脸样本数据集、N个人脸识别教师模型、M个未训练的人脸识别学生模型,基于知识蒸馏进行模型训练得到的,N为大于1整数。
可以看出,本申请实施例中,设备在检测到人脸识别请求后,采集用户的目标人脸数据,其次,调用预先训练好的目标人脸识别学生模型,最后,将目标人脸数据输入目标人脸识别学生模型,得到人脸识别结果;其中,目标人脸识别学生模型是M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;M个人脸识别学生模型是根据人脸样本数据集、N个人脸识别教师模型、M个未训练的人脸识别学生模型,基于知识蒸馏进行模型训练得到的,N为大于1整数。可见,相对于目前采用单个教师模型指导单个学生模型,如果只是单纯地选择一个精度最高的模型作为教师模型,可能会由于教师模型和学生模型之间的差异性较大,无法带来很好的蒸馏效果,所以选择出一个有效的教师模型是费时费力的;其次,单个学生模型最终只能获得单个轻量级人脸识别模型,而不同的嵌入式设备其性能不同,对模型的速度和精度要求也不同,所以单个模型其局限性较大,本申请通过使用多个教师模型进行知识蒸馏,可以选择任意特征维度的教师模型和学生模型进行匹配,从而避免部分教师模型无法直接使用的情况,通过提高学生模型训练全面性,从而提高人脸识别学生模型的应用性能。
在一个可能的示例中,所述目标人脸识别学生模型是根据如下信息中的至少一种从M个预先训练好的人脸识别学生模型中选取的:
识别精度、识别速度、所应用的设备的性能。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,模型构建设备和模型应用设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图6是本申请实施例中所涉及的人脸识别模型构建装置600的功能单元组成框图。该人脸识别模型构建装置600应用于电子设备,所述电子设备包括处理单元601和通信单元602,其中,
所述处理单元601,用于根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;以及用于通过所述通信单元获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;以及用于根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;以及用于根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;以及用于若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;以及用于若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
其中,所述人脸识别模型构建装置600还可以包括存储单元603,用于存储电子设备的程序代码和数据。所述处理单元601可以是处理器,所述通信单元602可以是内部通信接口,存储单元603可以是存储器。
在一个可能的示例中,在所述根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵方面,所述处理单元601具体用于:根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,将所述N个人脸识别教师模型的特征投影到当前训练的人脸识别学生模型的特征所在的空间,得到N个第一类中心矩阵;以及根据所述N个第一类中心矩阵确定所述融合类中心矩阵。
在一个可能的示例中,所述处理单元601根据所述每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵之前,还用于:设置预设训练好的的N个人脸识别教师模型中每个人脸识别教师模型的学习率为0,所述人脸识别教师模型的复杂度高于所述人脸识别学生模型的复杂度。
在一个可能的示例中,若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,所述处理单元601还用于:针对所述N个特征空间转换矩阵执行如下更新操作,得到更新后的N个特征空间转换矩阵:以及利用所述融合类中心矩阵、当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别学生模型得到的特征向量矩阵、以及当前训练周期所需要处理的样本数据子集经过所述当前处理的人脸识别教师模型得到的J个人脸类别的类中心矩阵,更新所述当前处理的人脸识别教师模型的特征空间转换矩阵,得到更新后的特征空间转换矩阵。
在一个可能的示例中,所述处理单元601还用于:通过所述通信单元602获取人脸样本数据集;以及用于划分所述人脸样本数据集为多个样本数据子集。
在一个可能的示例中,所述处理单元601还用于:统计分析所述人脸样本数据集得到J个人脸类别,J为正整数;以及用于选取和训练所述N个人脸识别教师模型;以及用于针对所述每个人脸识别教师模型,设置每个人脸类别的初始类中心向量为预设向量,得到所述每个人脸识别教师模型的初始类中心矩阵,所述预设向量的维度等于当前设置的初始类中心矩阵对应的人脸识别教师模型输出的人脸特征向量的维度;以及用于初始化原始类中心矩阵的初始值为所述初始类中心矩阵。
在一个可能的示例中,所述当前训练的人脸识别学生模型为M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述处理单元601还用于:针对所述M个人脸识别学生模型中除所述当前训练的人脸识别学生模型之外的人脸识别学生模型进行训练,得到M-1个训练好的人脸识别学生模型;以及用于根据如下信息中的至少一种从M个训练好的人脸识别学生模型中选取目标人脸识别学生模型:识别精度、识别速度、所应用的设备的性能。
图7是本申请实施例中所涉及的人脸识别装置700的功能单元组成框图。该人脸识别装置700应用于电子设备,所述电子设备包括处理单元701和通信单元702,其中,
所述处理单元701,用于在检测到人脸识别请求后,采集用户的目标人脸数据;以及用于调用预先训练好的目标人脸识别学生模型;以及用于通过所述通信单元702将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;其中,所述目标人脸识别学生模型是M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述M个人脸识别学生模型是根据人脸样本数据集、N个人脸识别教师模型、M个未训练的人脸识别学生模型,基于知识蒸馏进行模型训练得到的,N为大于1整数。
其中,所述人脸识别装置700还可以包括存储单元703,用于存储电子设备的程序代码和数据。所述处理单元701可以是处理器,所述通信单元702可以是内部通信接口,存储单元703可以是存储器。
在一个可能的示例中,所述目标人脸识别学生模型是根据如下信息中的至少一种从M个预先训练好的人脸识别学生模型中选取的:
识别精度、识别速度、所应用的设备的性能。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种人脸识别模型构建方法,其特征在于,包括:
根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;
获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;
根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;
根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;
若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;
若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵,包括:
根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,将所述N个人脸识别教师模型的特征投影到当前训练的人脸识别学生模型的特征所在的空间,得到N个第一类中心矩阵;
根据所述N个第一类中心矩阵确定所述融合类中心矩阵。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵之前,所述方法还包括:
设置预设训练好的的N个人脸识别教师模型中每个人脸识别教师模型的学习率为0,所述人脸识别教师模型的复杂度高于所述人脸识别学生模型的复杂度。
4.根据权利要求3所述的方法,其特征在于,所述若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,所述方法还包括:
针对所述N个特征空间转换矩阵执行如下更新操作,得到更新后的N个特征空间转换矩阵:
利用所述融合类中心矩阵、当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别学生模型得到的特征向量矩阵、以及当前训练周期所需要处理的样本数据子集经过当前处理的人脸识别教师模型得到的J个人脸类别的类中心矩阵,更新所述当前处理的人脸识别教师模型的特征空间转换矩阵,得到更新后的特征空间转换矩阵。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取人脸样本数据集;
划分所述人脸样本数据集为多个样本数据子集。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
统计分析所述人脸样本数据集得到J个人脸类别,J为正整数;
选取和训练所述N个人脸识别教师模型;
针对所述每个人脸识别教师模型,设置每个人脸类别的初始类中心向量为预设向量,得到所述每个人脸识别教师模型的初始类中心矩阵,所述预设向量的维度等于当前设置的初始类中心矩阵对应的人脸识别教师模型输出的人脸特征向量的维度;
初始化原始类中心矩阵的初始值为所述初始类中心矩阵。
7.根据权利要求6所述的方法,其特征在于,所述当前训练的人脸识别学生模型为M个人脸识别学生模型中的人脸识别模型,M为大于1的整数;所述方法还包括:
针对所述M个人脸识别学生模型中除所述当前训练的人脸识别学生模型之外的人脸识别学生模型进行训练,得到M-1个训练好的人脸识别学生模型;
根据如下信息中的至少一种从M个训练好的人脸识别学生模型中选取目标人脸识别学生模型:
识别精度、识别速度、所应用的设备的性能。
8.一种人脸识别方法,其特征在于,包括:
在检测到人脸识别请求后,采集用户的目标人脸数据;
调用预先训练好的目标人脸识别学生模型;
将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;
其中,所述目标人脸识别学生模型是采用如权利要求1-7任一项人脸识别模型构建方法所构建的人脸识别学生模型。
9.一种人脸识别模型构建装置,其特征在于,包括处理单元和通信单元,其中,
所述处理单元,用于根据预先训练好的N个人脸识别教师模型中每个人脸识别教师模型和当前训练周期所需要处理的样本数子集更新原始类中心矩阵,得到更新后的N个原始类中心矩阵,N为大于1的整数;以及用于通过所述通信单元获取当前训练周期所述N个人脸识别教师模型针对当前训练的人脸识别学生模型的N个特征空间转换矩阵;以及用于根据所述N个特征空间转换矩阵和所述N个原始类中心矩阵,确定融合类中心矩阵;以及用于根据所述融合类中心矩阵和预设的监督损失函数对当前训练的人脸识别学生模型进行训练,得到当前训练周期训练后的人脸识别学生模型,所述监督损失函数至少包括根据所述融合类中心矩阵设计的蒸馏监督损失函数;以及用于若当前训练周期训练后的人脸识别学生模型满足预设条件,则确定所述当前训练的人脸识别学生模型收敛;以及用于若当前训练周期训练后的人脸识别学生模型不满足所述预设条件,则继续下一个训练周期,直至满足所述预设条件。
10.一种人脸识别装置,其特征在于,包括处理单元和通信单元,其中,
所述处理单元,用于在检测到人脸识别请求后,采集用户的目标人脸数据;以及用于调用预先训练好的目标人脸识别学生模型;以及用于通过所述通信单元将所述目标人脸数据输入所述目标人脸识别学生模型,得到人脸识别结果;其中,所述目标人脸识别学生模型是如权利要求9所述的人脸识别模型构建装置所构建的人脸识别学生模型中的人脸识别模型。
11.一种模型构建设备,其特征在于,包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
12.一种人脸识别设备,其特征在于,包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求8所述的方法中的步骤的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020092.5A CN111259738B (zh) | 2020-01-08 | 2020-01-08 | 人脸识别模型构建方法、人脸识别方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020092.5A CN111259738B (zh) | 2020-01-08 | 2020-01-08 | 人脸识别模型构建方法、人脸识别方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259738A true CN111259738A (zh) | 2020-06-09 |
CN111259738B CN111259738B (zh) | 2023-10-27 |
Family
ID=70948592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010020092.5A Active CN111259738B (zh) | 2020-01-08 | 2020-01-08 | 人脸识别模型构建方法、人脸识别方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259738B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753761A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN112084476A (zh) * | 2020-09-02 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 生物识别身份验证方法、客户端、服务器、设备及系统 |
CN112348110A (zh) * | 2020-11-18 | 2021-02-09 | 北京市商汤科技开发有限公司 | 模型训练及图像处理方法、装置、电子设备和存储介质 |
CN112364688A (zh) * | 2020-09-30 | 2021-02-12 | 北京奇信智联科技有限公司 | 人脸聚类方法、装置、计算机设备和可读存储介质 |
CN112464760A (zh) * | 2020-11-16 | 2021-03-09 | 北京明略软件系统有限公司 | 一种目标识别模型的训练方法和装置 |
CN112561059A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 用于模型蒸馏的方法和装置 |
CN112633191A (zh) * | 2020-12-28 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 一种三维人脸重建的方法、装置、设备和存储介质 |
CN113158801A (zh) * | 2021-03-19 | 2021-07-23 | 北京百度网讯科技有限公司 | 用于训练人脸识别模型以及识别人脸的方法以及相关装置 |
CN113361384A (zh) * | 2021-06-03 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 人脸识别模型压缩方法、设备、介质及计算机程序产品 |
CN113723238A (zh) * | 2021-08-18 | 2021-11-30 | 北京深感科技有限公司 | 一种人脸轻量网络模型构建方法和人脸识别方法 |
CN113947801A (zh) * | 2021-12-21 | 2022-01-18 | 中科视语(北京)科技有限公司 | 人脸识别方法、装置和电子设备 |
CN114611672A (zh) * | 2022-03-16 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 模型训练方法、人脸识别方法及装置 |
CN117975445A (zh) * | 2024-03-29 | 2024-05-03 | 江南大学 | 一种食品识别方法、系统、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194314A (zh) * | 2017-04-20 | 2017-09-22 | 江苏大学 | 融合模糊2dpca和模糊2dlda的人脸识别方法 |
CN109033938A (zh) * | 2018-06-01 | 2018-12-18 | 上海阅面网络科技有限公司 | 一种基于可区分性特征融合的人脸识别方法 |
CN109815801A (zh) * | 2018-12-18 | 2019-05-28 | 北京英索科技发展有限公司 | 基于深度学习的人脸识别方法及装置 |
WO2019228317A1 (zh) * | 2018-05-28 | 2019-12-05 | 华为技术有限公司 | 人脸识别方法、装置及计算机可读介质 |
-
2020
- 2020-01-08 CN CN202010020092.5A patent/CN111259738B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194314A (zh) * | 2017-04-20 | 2017-09-22 | 江苏大学 | 融合模糊2dpca和模糊2dlda的人脸识别方法 |
WO2019228317A1 (zh) * | 2018-05-28 | 2019-12-05 | 华为技术有限公司 | 人脸识别方法、装置及计算机可读介质 |
CN109033938A (zh) * | 2018-06-01 | 2018-12-18 | 上海阅面网络科技有限公司 | 一种基于可区分性特征融合的人脸识别方法 |
CN109815801A (zh) * | 2018-12-18 | 2019-05-28 | 北京英索科技发展有限公司 | 基于深度学习的人脸识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
张延安;王宏玉;徐方;: "基于深度卷积神经网络与中心损失的人脸识别" * |
樊伟;: "一种谱分解降维的模糊有监督局部保持投影策略" * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753761B (zh) * | 2020-06-28 | 2024-04-09 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN111753761A (zh) * | 2020-06-28 | 2020-10-09 | 北京百度网讯科技有限公司 | 模型生成方法、装置、电子设备及存储介质 |
CN112084476A (zh) * | 2020-09-02 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 生物识别身份验证方法、客户端、服务器、设备及系统 |
CN112364688B (zh) * | 2020-09-30 | 2022-04-08 | 北京奇信智联科技有限公司 | 人脸聚类方法、装置、计算机设备和可读存储介质 |
CN112364688A (zh) * | 2020-09-30 | 2021-02-12 | 北京奇信智联科技有限公司 | 人脸聚类方法、装置、计算机设备和可读存储介质 |
CN112464760A (zh) * | 2020-11-16 | 2021-03-09 | 北京明略软件系统有限公司 | 一种目标识别模型的训练方法和装置 |
CN112348110A (zh) * | 2020-11-18 | 2021-02-09 | 北京市商汤科技开发有限公司 | 模型训练及图像处理方法、装置、电子设备和存储介质 |
CN112348110B (zh) * | 2020-11-18 | 2022-10-04 | 北京市商汤科技开发有限公司 | 模型训练及图像处理方法、装置、电子设备和存储介质 |
CN112561059B (zh) * | 2020-12-15 | 2023-08-01 | 北京百度网讯科技有限公司 | 用于模型蒸馏的方法和装置 |
CN112561059A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 用于模型蒸馏的方法和装置 |
CN112633191A (zh) * | 2020-12-28 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 一种三维人脸重建的方法、装置、设备和存储介质 |
CN113158801B (zh) * | 2021-03-19 | 2024-10-18 | 广州鼎航信息技术服务有限公司 | 用于训练人脸识别模型以及识别人脸的方法以及相关装置 |
CN113158801A (zh) * | 2021-03-19 | 2021-07-23 | 北京百度网讯科技有限公司 | 用于训练人脸识别模型以及识别人脸的方法以及相关装置 |
CN113361384A (zh) * | 2021-06-03 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 人脸识别模型压缩方法、设备、介质及计算机程序产品 |
CN113723238A (zh) * | 2021-08-18 | 2021-11-30 | 北京深感科技有限公司 | 一种人脸轻量网络模型构建方法和人脸识别方法 |
CN113723238B (zh) * | 2021-08-18 | 2024-02-09 | 厦门瑞为信息技术有限公司 | 一种人脸轻量网络模型构建方法和人脸识别方法 |
CN113947801A (zh) * | 2021-12-21 | 2022-01-18 | 中科视语(北京)科技有限公司 | 人脸识别方法、装置和电子设备 |
CN113947801B (zh) * | 2021-12-21 | 2022-07-26 | 中科视语(北京)科技有限公司 | 人脸识别方法、装置和电子设备 |
CN114611672A (zh) * | 2022-03-16 | 2022-06-10 | 腾讯科技(深圳)有限公司 | 模型训练方法、人脸识别方法及装置 |
CN114611672B (zh) * | 2022-03-16 | 2024-10-01 | 腾讯科技(深圳)有限公司 | 模型训练方法、人脸识别方法及装置 |
CN117975445B (zh) * | 2024-03-29 | 2024-05-31 | 江南大学 | 一种食品识别方法、系统、设备和介质 |
CN117975445A (zh) * | 2024-03-29 | 2024-05-03 | 江南大学 | 一种食品识别方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111259738B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259738A (zh) | 人脸识别模型构建方法、人脸识别方法及相关装置 | |
US12079696B2 (en) | Machine learning model training method and device, and expression image classification method and device | |
KR102635987B1 (ko) | 이미지 시맨틱 세그멘테이션 네트워크를 트레이닝하기 위한 방법, 장치, 디바이스 및 저장 매체 | |
CN112116090B (zh) | 神经网络结构搜索方法、装置、计算机设备及存储介质 | |
CN110110707A (zh) | 人工智能cnn、lstm神经网络动态识别系统 | |
CN112052948B (zh) | 一种网络模型压缩方法、装置、存储介质和电子设备 | |
WO2021164317A1 (zh) | 序列挖掘模型的训练方法、序列数据的处理方法及设备 | |
CN113128671B (zh) | 一种基于多模态机器学习的服务需求动态预测方法及系统 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN109508686B (zh) | 一种基于层次化特征子空间学习的人体行为识别方法 | |
CN112785005B (zh) | 多目标任务的辅助决策方法、装置、计算机设备及介质 | |
CN111339818A (zh) | 一种人脸多属性识别系统 | |
Gu et al. | Unsupervised and semi-supervised robust spherical space domain adaptation | |
CN115050064A (zh) | 人脸活体检测方法、装置、设备及介质 | |
Wang et al. | A novel multiface recognition method with short training time and lightweight based on ABASNet and H-softmax | |
CN112131261A (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
CN116630718A (zh) | 一种基于原型的低扰动的图像类增量学习算法 | |
CN118429897B (zh) | 群体检测方法、装置、存储介质和电子设备 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN113762370A (zh) | 一种结合高斯随机场的深度网络集合生成方法 | |
CN114444517B (zh) | 一种量刑标准知识增强的数值感知的智能法律判决方法 | |
CN115587313A (zh) | 一种轨迹数据半监督分类方法及装置 | |
CN113255231A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112052386A (zh) | 信息推荐方法、装置和存储介质 | |
CN115130539B (zh) | 分类模型训练、数据分类方法、装置和计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |