CN116665282A - 人脸识别模型训练方法、人脸识别方法及装置 - Google Patents
人脸识别模型训练方法、人脸识别方法及装置 Download PDFInfo
- Publication number
- CN116665282A CN116665282A CN202310922706.2A CN202310922706A CN116665282A CN 116665282 A CN116665282 A CN 116665282A CN 202310922706 A CN202310922706 A CN 202310922706A CN 116665282 A CN116665282 A CN 116665282A
- Authority
- CN
- China
- Prior art keywords
- face recognition
- recognition model
- face
- samples
- sample
- 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
- 238000012549 training Methods 0.000 title claims abstract description 170
- 238000000034 method Methods 0.000 title claims abstract description 130
- 230000006870 function Effects 0.000 claims description 104
- 239000013598 vector Substances 0.000 claims description 83
- 230000015654 memory Effects 0.000 claims description 27
- 239000000523 sample Substances 0.000 claims 18
- 239000000758 substrate Substances 0.000 claims 2
- 230000008485 antagonism Effects 0.000 abstract description 25
- 238000013528 artificial neural network Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 241000282414 Homo sapiens Species 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003042 antagnostic effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人脸识别技术领域,公开了人脸识别模型训练方法、人脸识别方法及装置,人脸识别模型训练方法包括:利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值;判断人脸识别模型的性能值是否大于预设性能阈值;如果性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。基于本发明得到的人脸识别模型的鲁棒性更好,能够抵御对抗样本攻击。
Description
技术领域
本发明涉及人脸识别技术领域,具体涉及人脸识别模型训练方法、人脸识别方法及装置。
背景技术
人脸识别技术是一种通过分析和识别人脸特征来识别以及验证个体身份的技术,在支付授权、视频监控及门禁系统等多种场景中得到了广泛的应用,为人们的生活提供了便利。其中,基于深度学习的人脸识别模型能够实现较高的人脸识别精度。但是,基于深度学习的人脸识别模型可以被攻击,使人脸识别模型产生错误的识别结果。对抗攻击属于一种新型的用于攻击人脸识别模型的方法,通过在真实样本上增加难以察觉的对抗扰动而生成的对抗样本,使人脸识别模型输出错误的结果。因此,有效提高人脸识别模型防御对抗样本攻击的能力,成为了本领域技术人员研究的重点。
发明内容
有鉴于此,本发明能够提供一种人脸识别模型训练方法、人脸识别方法及装置,以解决对抗样本容易使人脸识别模型产生错误的识别结果的问题,提高人脸识别模型防御对抗样本攻击的能力。
第一方面,本发明提供了一种人脸识别模型训练方法,该方法包括:
利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值;
判断人脸识别模型的性能值是否大于预设性能阈值;
如果性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。
本发明在训练过程中自动监测模型的性能值,当性能值满足预设性能阈值时在损失函数上增加正则项和利用对抗样本训练模型,确保模型在取得高精度的同时还具备对抗鲁棒性,可见本发明实现了通过动态学习策略训练人脸识别模型,基于本发明得到的人脸识别模型具有更好的鲁棒性,能够抵御对抗样本攻击,从而能够应用到对安全性要求很高的场景中。
在一种可选的实施方式中,该方法还包括:
如果性能值小于或者等于预设性能阈值,在人脸识别模型的损失函数上禁止正则项,并继续利用源样本对人脸识别模型进行训练。
本发明能够在当前性能值不满足预设性能阈值时,自动禁止正则项,从而确保人脸识别模型在源样本上的性能。
在一种可选的实施方式中,判断人脸识别模型的性能值是否大于预设性能阈值,包括:
判断当前批次的源样本的总体损失值是否小于预设精度阈值;其中,当前批次的源样本为多个批次的源样本中当前用于训练人脸识别模型的一个批次的源样本;
如果总体损失值小于预设精度阈值,确定人脸识别模型的性能值大于预设性能阈值;
如果总体损失值大于或者等于预设精度阈值,确定人脸识别模型的性能值不大于预设性能阈值。
本发明还能够通过当前批次的源样本的总体损失值与预设精度阈值的比较结果,准确地判断出人脸识别模型的性能值是否大于预设性能阈值。
在一种可选的实施方式中,多个批次的源样本均为良性样本;其中,良性样本表示未添加过对抗扰动的真实样本。
本发明能够自动监测模型在良性样本集合上面的性能,确保训练算法聚焦于提升人脸识别模型在良性样本集合上面的性能。
在一种可选的实施方式中,多个批次的源样本中的任一个批次的源样本包括从源集合中抽样得到的样本和从目标集合中抽样得到的样本,源集合和目标集合组成训练集。
本发明中的每个批次的源样本从源集合和目标集合中获取,该方式提高了每个批次的源样本多样性,有助于进一步提升训练完成的人脸识别模型的识别性能。
在一种可选的实施方式中,从源集合中抽样得到的样本的数量,与从目标集合中抽样得到的样本的数量相同。
本发明分别从源集合和目标集合中获取的样本数量相同,通过该方式得到的不同批次的源样本之间存在的差异更大,更有助于人脸识别模型的训练。
在一种可选的实施方式中,训练集中的源样本包括第一数量的人脸图像和第二数量的类别标签,第一数量至少是第二数量的多倍。
基于人脸图像的数量是类别标签的数量的多倍,本发明使用的训练集具备更高的深度,从而进一步提高训练完成的人脸识别模型的识别精度。
在一种可选的实施方式中,损失函数包括示性函数与正则项的乘积与第一结果的第一总和,第一结果为当前批次的源样本的总体损失值的第一预设比例;在人脸识别模型的损失函数上增加正则项,包括:控制示性函数的返回值为1。
基于示性函数的返回值为1,本发明能够实现在损失函数中使用正则项的功能。
在一种可选的实施方式中,在人脸识别模型的损失函数上禁止正则项,包括:控制示性函数的返回值为0。
基于示性函数的返回值为0,本发明能够实现在损失函数中不使用正则项的功能。
在一种可选的实施方式中,损失函数为第一总和与目标批次的对抗样本的总体损失值的第二预设比例的第二总和,目标批次的对抗样本为基于当前批次的源样本形成的对抗样本。
基于示性函数的返回值为1或0,本发明能够实现在损失函数中是否使用对抗样本的总体损失值的功能。
在一种可选的实施方式中,第一预设比例与第二预设比例的和为1。
本发明设定第一预设比例与第二预设比例的和为1,是一种优选的方式,有助于更好地训练人脸识别模型。
在一种可选的实施方式中,当前批次的源样本的总体损失值通过基于角度的第一损失函数确定;目标批次的对抗样本的总体损失值通过基于角度的第二损失函数确定。
基于角度的损失函数的使用,本发明能够适用于更多种类的用于构建人脸识别模型的卷积神经网络,使本发明具有更广泛的应用范围。
在一种可选的实施方式中,损失函数通过如下方式表示:
其中,表示在一个批次上所有样本的总体损失值,/>表示在一个批次上良性样本的总体损失值,/>表示在一个批次上对抗样本的总体损失值,/>表示正则项,表示示性函数,/>表示预设精度阈值,用于控制示性函数/>的输出值,/>表示超参数。
在一种可选的实施方式中,正则项用于约束相对应的对抗样本与源样本之间的第一特征距离小于对抗样本与目标样本之间的第二特征距离。
本发明能够当性能值满足预设性能阈值时增加正则项到原始损失函数,使得模型识别的对抗样本逐渐靠近对应的原始样本(对应的源样本)的同时远离其他类别的样本,提高模型的对抗鲁棒性。
在一种可选的实施方式中,对抗样本与源样本之间的第一特征距离为余弦距离;对抗样本与目标样本之间的第二特征距离也为余弦距离。
本发明基于余弦距离计算特征距离的方式使正则项与原始目标函数在相同的向量空间(度量空间)进行优化,有利于正则项和原始目标函数相互协作,使本发明能够适用于更多的人脸识别模型。
在一种可选的实施方式中,正则项用于计算第一特征距离、第二特征距离的差值与预设阈值的第三总和,以及用于在第三总和与预设值之间选择最大值。
基于上述的正则项,本发明能够进一步提高模型抵御对抗样本攻击的能力。
第二方面,本发明提供了一种人脸识别方法,该方法包括:
获取待识别的人脸图像;
将待识别的人脸图像输入至基于上述第一方面或其对应的任一实施方式的训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果。
在一种可选的实施方式中,识别结果为第一人脸特征向量;人脸识别方法还包括:
将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,以得到多个相似度;相似度表示第一人脸特征向量与第二人脸特征向量的相似度;
将多个相似度中的最大值对应的第二人脸特征向量作为目标人脸特征向量,并确定与目标人脸特征向量对应的类别标签。
本发明提供的人脸识别方法能够更好地抵御对抗样本攻击,提高识别对抗样本的能力,准确地识别出与人脸图像相匹配的类别标签。
在一种可选的实施方式中,将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,包括:计算第一人脸特征向量与多个第二人脸特征向量的余弦相似度。
基于余弦相似度的计算方式,本发明能够更准确地计算第一人脸特征向量与第二人脸特征向量的相似度。
在一种可选的实施方式中,识别结果为与待识别的人脸图像相对应的类别标签。
在一种可选的实施方式中,获取待识别的人脸图像,包括:获取多张人脸图像;
将待识别的人脸图像输入人脸识别模型,利用人脸识别模型输出识别结果,包括:将多张人脸图像输入人脸识别模型,得到多张人脸图像的人脸特征向量的均值,第一人脸特征向量为多张人脸图像的人脸特征向量的均值。
基于上述的方式,本发明还能够实现基于多张人脸图像的人脸识别功能,以更准确地识别人脸。
第三方面,本发明提供了一种人脸识别模型训练装置,该装置包括:
第一训练模块,用于利用多个批次的源样本对人脸识别模型进行训练,并用于通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值;
性能判断模块,用于判断人脸识别模型的性能值是否大于预设性能阈值;
第二训练模块,用于根据性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。
第四方面,本发明提供了一种人脸识别装置,该装置包括:
图像获取模块,用于获取待识别的人脸图像;
人脸识别模块,用于将待识别的人脸图像输入至基于上述第一方面或其对应的任一实施方式的训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果。
第五方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的人脸识别模型训练方法或者上述第二方面或其对应的任一实施方式的人脸识别方法。
第六方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的人脸识别模型训练方法或者上述第二方面或其对应的任一实施方式的人脸识别方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的人脸识别模型训练方法的流程示意图;
图2是根据本发明实施例的另一人脸识别模型训练方法的流程示意图;
图3是根据本发明实施例的又一人脸识别模型训练方法的流程示意图;
图4是根据本发明实施例的人脸识别方法的流程示意图;
图5是根据本发明实施例的另一人脸识别方法的流程示意图;
图6是根据本发明实施例的又一人脸识别方法的流程示意图;
图7是根据本发明实施例的人脸识别模型训练装置的结构框图;
图8是根据本发明实施例的人脸识别装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
人脸识别技术是最受关注的生物识别技术之一,是计算机视觉领域的研究热点。其中,基于深度学习的人脸识别模型的识别能力已经超过了人类的识别能力,例如在某些人脸识别测试集合上,高精度的人脸识别模型的识别精度可达到99.80%,而标注人员的平均标注精度却难以超过97.53%,所以基于深度学习的人脸识别模型可以在特定应用场景下自动完成身份认证任务或提供辅助工作,例如,移动设备解锁功能(例如手机、平板电脑等)、门禁系统、支付授权以及视频监控等;这些应用不仅提升了社会运行效率,也为人类日常生活带来了很多便利。
但基于人脸识别模型搭建的人脸识别系统存在安全问题,基于深度学习的人脸识别系统可以被攻击。一类攻击方法是传统攻击方法,该类方法利用照片、视频或伪造面具等攻击人脸识别系统;针对这类传统攻击方法,研究人员开发了很多防御方案,例如,利用活体检测技术识别照片、视频和人脸面具,或者利用动作交互指令确认是否为“真人”等。另外一类攻击人脸识别系统的方法是对抗攻击,对抗攻击是一种利用对抗样本攻击人脸识别系统的新型攻击方法,对抗样本是指在真实样本上增加人类难以察觉的对抗扰动而生成的样本。对抗样本可以“欺骗”人脸识别模型,使得人脸识别模型产生错误的输出或者做出错误的决策。
相关技术中,可以在人脸识别模型的训练初期加入对抗样本,以提高模型识别对抗样本的能力,但这种方式不仅会增加训练难度,而且还容易导致训练过程不收敛;相关技术中可以通过设置新的目标函数的方式提高模型识别对抗样本的能力,然而为适应于对抗样本的识别而设置的新的目标函数会影响模型对于良性样本的识别,导致模型在良性样本上的识别精度下降问题。
根据本发明实施例,提供了一种人脸识别模型训练方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种人脸识别模型训练方法,可用于计算机设备,图1是根据本发明实施例的人脸识别模型训练方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值。
本实施例在训练人脸识别模型的过程中,监测每次迭代训练人脸识别模型后的人脸识别模型的性能值,实现在整个训练过程中持续监测人脸识别模型的性能值的目的。
具体地,本实施例用于训练人脸识别模型的训练集为大尺度的训练集,大尺度的训练集具备足够的深度和广度,其中,深度是指每个人(通过ID表示,ID是Identification的缩写,中文为身份识别号)的人脸图像数(人脸图像越多越好,而且这些图像可来自于多种场景,包含光照变化、人脸姿态变化、年龄变化等因素),广度是指训练集包含的人数(人数越多越好,可包含不同人种、不同性别、不同肤色等);一般情况下,当人脸训练集包含更多的训练数据的时候,利用本发明提出的训练方法训练得到的人脸识别模型的识别精度更高。
在一些可选的实施方式中,训练集中的源样本包括第一数量的人脸图像和第二数量的类别标签,第一数量至少是第二数量的多倍。本实施例中,第一数量至少是第二数量的十倍。基于人脸图像的数量是类别标签的数量的多倍,本发明使用的训练集具备更高的深度,从而进一步提高训练完成的人脸识别模型的识别精度。
本实施例的训练集中的人脸图像按照ID进行分组,即一个人的人脸图像被分到同一组,然后给每组的每个人分配同一个类别标签。假设数据集中包含C个人,一种简单的类别标签分配方法就是从1到C,也可以采用其他的类别标签分配方式,例如,0到C-1,本实施例不限制标签的分配方式。为了训练出高精度的人脸识别模型,本实施例的训练集至少包含了1万个人的人脸图像,其中每个人的人脸图像不少于10张。
更为具体地,本实施例中基于深度学习的人脸识别算法的输入图像是固定尺寸的三通道的彩色图像;其中,三通道是指R、G、B,即Red(红)、Green(绿)、Blue(蓝)。而且,训练集中的人脸图像也是固定尺寸的三通道的彩色图像,每个人脸图像的尺寸例如为112*112*3像素,第一个“112”表示图像的宽度,第二个“112”表示图像的高度,“3”表示3个通道。本实施例的人脸图像是经过人脸对齐算法处理的归一化人脸图像,当输入图像的尺寸不是112*112*3像素,本实施例可以进行扩展,来适应输入图像尺寸的变化;当输入图像是单通道的灰度图像或者其他形式的图像,本实施例也可以进行扩展,来适应输入图像的通道。本实施例定义的训练集为,/>,/>表示一张人脸图像,/>表示/>对应的类别标签(代表特定的人),/>表示训练集中的样本总数,表示/>个类别标签,一个ID对应一个类别标签,训练集D包含的标签总数是/>。
在一些可选的实施方式中,多个批次的源样本均为良性样本;其中,良性样本表示未添加过对抗扰动的真实样本,例如,没有添加过对抗噪声(一种对抗扰动)的真实样本。
本实施例能够自动监测模型在良性样本集合上面的性能,确保训练算法聚焦于提升模型在良性样本集合上面的性能。
在一些可选的实施方式中,多个批次的源样本中的任一个批次的源样本包括从源集合中抽样得到的样本和从目标集合中抽样得到的样本,源集合和目标集合组成训练集。本实施例将训练集分为两个集合:源集合和目标集合/>。该训练集包含的标签总数是/>,随机选择其中的/>类数据作为源集合/>,其余数据作为目标集合/>;或者,随机选择其中的/>类数据作为源集合/>,其余/>类数据作为目标集合/>。
在一些可选的实施方式中,从源集合中抽样得到的样本的数量,与从目标集合中抽样得到的样本的数量相同。本发明实施例采用批量随机梯度下降算法训练人脸识别模型,通过多次迭代更新使模型到达稳定的性能。本实施例中,人脸识别模型是多层卷积神经网络构建的神经网络模型,人脸识别模型需被训练至少20个训练周期(epoch);一个训练周期是指不重复的利用训练集中的全部训练样本更新神经网络的模型参数,每次取一个批次(batch)数据,本实施例具体分别从源集合和目标集合中各自抽取1/2数据,即从源集合抽样的样本和从目标集合抽样的样本,样本数的比率为1:1;以一个批次包含512个样本为例,其中,256个样本取自源集合,另外256个样本取自目标集合/>,更新神经网络的模型参数。在每个训练周期的初始阶段,本发明对数据集随机排序(打乱次序),然后重新分配源集合/>和目标集合/>。本发明实施例中的每个批次的源样本从源集合和目标集合中获取,该方式提高了每个批次的源样本多样性,有助于进一步提升训练完成的人脸识别模型的识别性能。本实施例分别从源集合和目标集合中获取的样本数量相同,通过该方式得到的不同批次的源样本之间存在的差异更大,更有助于人脸识别模型的训练。
结合上述的示例,在梯度更新迭代过程中,每次迭代更新使用512个训练样本(样本数K=512),这512个训练样本也被称作一个批次(batch)数据。依据GPU(GraphicsProcessing Unit,图形处理单元)卡的显存,每次迭代更新也可以使用128个训练样本或256个训练样本等,本发明使用的训练算法不限于批量随机梯度下降算法,例如mini-batchSGD(小批量随机梯度下降)、Adam(自适应矩估计)或者AdaGrad(自适应梯度)等梯度下降算法。此外,为了加速人脸识别模型收敛到最优值,本实施例还可以利用各种并行技术(例如,多机多卡训练等);具体实施时,初始学习率是0.1,权重衰减系数是0.0005,动量是0.9,学习率衰减策略是余弦衰减策略。
本实施例中的人脸识别模型为配置的待训练的人脸识别模型,例如可采用ResNet50(残差网络50)作为主干网络,并可增加若干层网络作为辅助网络;当然,本实施例也可采用ResNet100(残差网络100)或者ResNet18(残差网络18)或者MobileNet(移动式网络)作为主干网络;其中,ResNet18或者MobileNet适用于布置在边缘设备的人脸识别模型。
以ResNet50作为主干网络为例,其前5组卷积conv1、conv2_x、conv3_x、conv4_x、conv5_x和新增加的BN1(Batch Normalization,第一个批量归一化层),Dropout(随机失活层),FC1(Fully-Connected Layer,第一个全连接层), BN2(Batch Normalization,第二个批量归一化层), FC2(Fully-Connected Layer,第二个全连接层)和损失函数层,本实施例的损失函数层采用基于角度的损失函数,例如ArcFace损失函数,或可以使用CosFace。本实施例中,conv1层是3*3*3卷积层,其卷积步长是1;FC1层的输入是conv5_x层的输出特征图依次经过BN1层和Dropout层的输出,FC1层的输出是512维特征,FC2层的输入是FC1层的输出特征(512维特征)经过BN2层的输出,FC2层的输出维数和训练集中的类别数相同,一个维度对应一个类别。本实施例中的人脸识别模型输出512维特征向量(人脸特征向量),这是一种优选;依据具体应用,人脸识别模型输出的特征向量的维度也可被设置为128维、256维或1024维等。
具体实施时,本实施例中的人脸识别模型可以是一个或者多个输入的网络模型描述文件,基于人脸识别模型训练算法读取输入的网络模型描述文件,并依据网络模型描述文件构建输入的人脸识别模型,并对构建的人脸识别模型的权重参数进行初始化,本实施例中的人脸识别模型也可以是一个或者多个包含网络模型权重的网络模型文件(包含网络模型的权重参数和网络模型的描述)。网络模型的权重参数是通过模型预训练方法得到的参数。例如,可采用下面的方法预训练网络模型的权重参数:首先,利用大尺度图像分类数据集合训练模型参数,这个过程称作模型预训练;然后,利用目标任务的训练数据集微调预训练模型的参数,使得模型参数适应目标任务;依据上述模型训练范例,具体采用如下方法训练预训练网络模型:首先,利用ResNet50作为主干网络构建一个图像分类神经网络;然后,利用大尺度图像分类数据集合训练图像分类神经网络,获得ResNet50的权重参数;最后,利用预训练的ResNet50的权重参数初始化人脸识别模型中的ResNet50主干网络,同时随机初始化人脸识别模型的其他网络层。本发明实施例中,具体可以将人脸识别模型包含的深度神经网络公式化表示为,其中,/>表示神经网络的参数,/>表示神经网络基本运算,例如,卷积层运算、池化层运算、全连接层运算和激活运算函数等,/>表示神经网络总层数(神经网络的深度)。
步骤S102,判断人脸识别模型的性能值是否大于预设性能阈值。
具体地,步骤S102包括两种情况:该人脸识别模型的性能值大于预设性能阈值,以及该人脸识别模型的性能值小于或等于预设性能阈值。
步骤S103,如果性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。
在训练过程中,本发明自动评估人脸识别模型在良性样本集合的性能值,当性能值超过预设性能阈值的时候,在模型训练算法的目标函数中加入正则项并利用对抗样本进行模型训练,达到通过对抗训练(adversarial training)的方式提升模型的鲁棒性。在模型训练的初期,本发明仅仅使用良性样本进行训练,可以确保模型训练稳定,在良性样本集上达到高识别精度;利用本发明训练的人脸识别模型可以抵御对抗样本的攻击,确保人脸识别模型输出可信赖的识别结果。
在一些可选的实施方式中,人脸识别模型训练方法还包括:
步骤S104,如果性能值小于或者等于预设性能阈值,在人脸识别模型的损失函数上禁止正则项,并继续利用源样本对人脸识别模型进行训练。
可见本实施例可在当前性能值不满足预设性能阈值时,自动禁止正则项,从而确保人脸识别模型在源样本上的性能。
在本实施例中提供了一种人脸识别模型训练方法,可用于计算机设备,图2是根据本发明实施例的人脸识别模型训练方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S202,判断人脸识别模型的性能值是否大于预设性能阈值。
具体地,上述步骤S202包括:
步骤S2021,判断当前批次的源样本的总体损失值是否小于预设精度阈值;其中,当前批次的源样本为多个批次的源样本中当前用于训练人脸识别模型的一个批次的源样本。
本实施例的损失函数具体通过如下方式表示:
其中,表示在一个批次上所有样本(包括良性样本和对抗样本)的总体损失值,/>表示在一个批次上良性样本的总体损失值,/>表示在一个批次上对抗样本的总体损失值,/>表示正则项,/>表示示性函数,/>表示预设精度阈值,用于控制示性函数/>的输出值,/>表示超参数,例如可以为0.8;/>例如可以为0.2。
总体损失值表示如下:
其中,表示使用/>个输入人脸训练样本(包括从源集合/>抽样的样本和从目标集合/>抽样的样本)计算出来的损失值;/>表示代表第/>个训练样本的特征(人脸识别模型的FC1层输出的512维特征);/>表示样本总数,例如/>=512;/>表示放缩因子(scalefactor),例如/>=64;/>表示第/>个输入人脸训练样本对应的类标签;/>表示第/>个输入人脸图像的特征/>到对应类/>的类中心/>的角度距离;/>表示第/>个输入人脸图像的特征/>到类/>的类中心/>的角度距离;/>表示超参数,用于惩罚第/>个输入人脸图像的特征/>到对应类/>的类中心/>的角度距离,/>;/>表示训练集合的类别总数(ID总数);/>表示类/>的特征中心;/>表示类/>的特征中心;/>表示向量转置;/>表示/>范数。
总体损失值表示如下:
其中,表示使用/>个对抗样本计算出来的损失值;/>表示第/>个对抗样本的特征(人脸识别模型的FC1层输出的512维特征);/>表示对抗样本总数;其他符号的定义与/>的定义中的符号意义相同,例如,/>表示放缩因子(scale factor),在本实施例中;符号/>表示第/>个输入人脸训练样本对应的类标签;/>表示第/>个输入人脸图像的特征/>到对应类/>的类中心/>的角度距离;/>表示第/>个输入人脸图像的特征/>到类/>的类中心/>的角度距离;/>表示超参数,用于惩罚第/>个输入人脸图像的特征/>到对应类/>的类中心/>的角度距离,例如/>;/>表示训练集合的类别总数(ID总数);/>表示类/>的特征中心;/>表示类/>的特征中心;/>表示向量转置;/>表示/>范数。
本发明实施例通过如下方式生成对抗样本:
假设源样本,目标样本/>,/>,/>是源样本/>的类标签,/>是目标样本/>的类标签。/>代表人脸识别模型的FC1层输出的特征。通过求解下列公式,本实施例可以找到一个小的对抗扰动/>,当/>增加到/>,则产生对抗样本。该对抗样本/>的特征/>与目标样本/>的特征/>之间的距离小于对抗样本/>的特征/>与源样本/>的特征/>之间的距离,从而实现对目标样本/>的攻击。
本实施例中,特征与特征/>之间的余弦距离表示为:
求解下列公式,得到:
其中,是图像在人脸识别模型的特征空间的特征(也可以称作:特征表达或者特征向量);/>限制对抗扰动的最大幅度,例如/>。符号/>表示向量逐个元素相乘并求和。/>可以利用FGSM(快速梯度符号法)求解:
其中,表示计算/>关于/>的梯度;/>表示取元素的符号。
步骤S2022,如果总体损失值小于预设精度阈值,确定人脸识别模型的性能值大于预设性能阈值。
其中,在情况下,确定人脸识别模型的性能值大于预设性能阈值,。
步骤S2023,如果总体损失值大于或者等于预设精度阈值,确定人脸识别模型的性能值不大于预设性能阈值。
其中,在情况下,确定人脸识别模型的性能值不大于预设性能阈值,。
基于当前批次的源样本的总体损失值与预设精度阈值的比较结果,本发明实施例还能够更准确地判断出人脸识别模型的性能值是否大于预设性能阈值。
步骤S203,如果性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S204,如果性能值小于或者等于预设性能阈值,在人脸识别模型的损失函数上禁止正则项,并继续利用源样本对人脸识别模型进行训练。详细请参见图1所示实施例的步骤S104,在此不再赘述。
本发明的目的是在不改变神经网络架构的基础上提升深度神经网络模型的鲁棒性,恶意攻击者可以利用对抗攻击算法(例如,FGSM等)生成对抗样本,实现对深度神经网络的攻击。为了抵抗对抗攻击,本发明开发算法来“平滑”深度神经网络的特征空间,以致于攻击者难以找到对抗样本。本发明具体使用如下的正则项,用于“平滑”深度神经网络的特征空间。
在一些可选的实施方式中,正则项用于约束相对应的对抗样本与源样本之间的第一特征距离小于对抗样本与目标样本之间的第二特征距离。
第一特征距离小于第二特征距离表示为:
其中,本实施例具体可以定义源图像为、目标图像是/>,则考虑一个三元组,/>,/>是对抗扰动。理想情况下,对于所有生成的三元组/>,本实施例要求满足如上的限制。
本实施例还能够当性能值满足预设性能阈值时在目标函数中加入正则项,可以约束对抗样本和源样本之间的距离以及对抗样本和目标样本之间的距离,达到增强模型对抗鲁棒性的目的,原始目标函数和正则项之间彼此相互竞争,从而共同促进训练算法达到高精度的稳定状态,以确保模型在良性样本集合上面的性能的同时,提升模型抵御对抗样本攻击的能力。
在一些可选的实施方式中,对抗样本与源样本之间的第一特征距离为余弦距离;对抗样本与目标样本之间的第二特征距离也为余弦距离。本发明基于余弦距离计算特征距离的方式使正则项与原始目标函数在相同的向量空间(度量空间)进行优化,有利于正则项和原始目标函数相互协作,使本发明能够适用于更多的人脸识别模型。
在一些可选的实施方式中,正则项用于计算第一特征距离、第二特征距离的差值与预设阈值的第三总和,以及用于在第三总和与预设值之间选择最大值。
训练初始阶段,三元组t可能满足下面条件,;因此,找到对抗样本和平滑特征空间组成了一个对抗训练过程,它们彼此攻击并逐步提升神经网络的鲁棒性。正式地,本实施例采用如下的(三元)正则项:
其中,代表对抗样本的数量;/>表示第/>个源样本;/>表示第/>个源样本生成的对抗样本;/>表示目标样本,也就是/>的攻击目标;参数/>是预定义的阈值,用于控制源图像和扰动图像之间的相似度,本实施例中的/>。
具体实施时,本发明实施例对模型进行迭代优化的过程可包括如下步骤:(1)获取训练样本:从源集合中选取/>个样本,同时,从目标集合/>选择另外/>个样本,组成一个小批次(batch)训练样本;(2)计算对抗样本:将/>个源样本和/>个目标样本一对一配对,对于每对样本/>和/>,生成对抗扰动/>,根据/>,计算每个源样本对应的对抗样本/>;(3)计算损失函数:利用/>个样本(/>个源样本和/>个目标样本),计算/>,利用步骤(2)中的生成对抗样本,计算/>;利用/>个源样本、/>个目标样本和/>个对抗样本,计算正则项/>,并计算训练总损失函数符/>;(4)利用批量随机梯度下降方法更新人脸识别模型的权重;(5)根据预设的总训练周期数(例如:20个epoch),重复步骤(1)到步骤(4),直到达到预设的总训练周期数;然后输出训练完成的人脸识别模型。
本发明实施例能够自动评估模型在良性样本集合的精度,当精度超过预定精度阈值的时候(训练损失小于预定阈值),本发明实施例在模型训练算法的目标函数中加入正则项(该正则项由源样本、对抗样本和目标样本组成),用以提升模型的鲁棒性。此外,本发明使用余弦距离构建正则项,使得正则项与原始目标函数在相同的度量空间进行优化,有利于正则项和原始目标函数相互协作。
在本实施例中提供了一种人脸识别模型训练方法,可用于计算机设备,图3是根据本发明实施例的人脸识别模型训练方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值。详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S302,判断人脸识别模型的性能值是否大于预设性能阈值。详细请参见图2所示实施例的步骤S202,在此不再赘述。
步骤S303,如果性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。
在一些可选的实施方式中,上述步骤S303包括:如果性能值大于预设性能阈值,控制示性函数的返回值为1,以及使用多个批次的对抗样本对人脸识别模型进行训练。其中,损失函数包括示性函数与正则项的乘积与第一结果的第一总和,第一结果为当前批次的源样本的总体损失值的第一预设比例。并结合本发明前述的实施例,,其中,/>。
当时,示性函数/>返回值为1,否则返回0。具体地,当/>小于给定的阈值的时候,人脸识别模型在良性样本上获得了高精度,对抗样本总体损失和正则项/>将被引入损失函数,推动人脸识别训练算法提升对抗鲁棒性。基于示性函数的返回值为1,本实施例能够实现在损失函数中使用正则项的功能。
步骤S304,如果性能值小于或者等于预设性能阈值,在人脸识别模型的损失函数上禁止正则项,并继续利用源样本对人脸识别模型进行训练。
在一些可选的实施方式中,上述步骤S304包括:如果性能值小于或者等于预设性能阈值,控制示性函数的返回值为0,并继续利用源样本对人脸识别模型进行训练。
当时,示性函数/>返回值为0,基于示性函数的返回值为0,本发明能够实现在损失函数中不使用正则项的功能,提高人脸识别模型在良性样本上的精度。
在一些可选的实施方式中,结合前述的损失函数的公式,损失函数为第一总和与目标批次的对抗样本的总体损失值的第二预设比例的第二总和,目标批次的对抗样本为基于当前批次的源样本形成的对抗样本。
基于示性函数的返回值为1或0,本发明能够实现在损失函数中是否使用对抗样本的总体损失值的功能。
在一些可选的实施方式中,第一预设比例与第二预设比例/>的和为1。
在一些可选的实施方式中,当前批次的源样本的总体损失值通过基于角度的第一损失函数确定;目标批次的对抗样本的总体损失值通过基于角度的第二损失函数确定。
综上,本发明提出一种通过动态学习策略训练人脸识别模型的方法,用以提升深度人脸识别模型的对抗鲁棒性。在训练过程中,本发明自动监测模型在良性样本集合上面的性能,当性能满足预定的性能阈值的时候,增加基于余弦距离的正则项到原始损失函数,使得对抗样本靠近对应的原始样本,同时远离其他类别的样本;当性能不满足预定的性能阈值的时候,自动禁止上述的正则项,确保训练算法聚焦于提升模型在良性样本集上面的性能。本发明提出的动态学习策略可以确保模型在良性样本上取得高精度(优于性能阈值),同时具备对抗鲁棒性,确保人脸识别模型输出可信的识别结果。
在本实施例中提供了一种人脸识别方法,可用于计算机设备,图4是根据本发明实施例的人脸识别方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,获取待识别的人脸图像。
其中,待识别的人脸图像为待输入至训练完成的人脸识别模型的图像,该人脸图像是符合人脸识别模型输入规格的图像。
步骤S402,将待识别的人脸图像输入至基于本发明任一实施例中的人脸识别模型训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果。
基于本发明实施例提供的人脸识别模型,本发明还能够对输入至前述人脸识别模型的待识别图像进行人脸识别,并得到准确的识别结果。本发明在人脸识别时能够有效地抵抗对抗样本攻击,提升对人脸图像的识别性能。
在本实施例中提供了一种人脸识别方法,可用于计算机设备,图5是根据本发明实施例的人脸识别方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,获取待识别的人脸图像。详细请参见图4所示实施例的步骤S401,在此不再赘述。
步骤S502,将待识别的人脸图像输入至基于本发明任一实施例中的人脸识别模型训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果。
本实施例中,识别结果为第一人脸特征向量。
步骤S503,将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,以得到多个相似度;相似度表示第一人脸特征向量与第二人脸特征向量的相似度。
具体地,本实施例得到的第一人脸特征向量为图像的人脸特征嵌入。其中,人脸特征嵌入是一种将人脸图像转化为向量表示的技术,将人脸图像中的关键特征提取出来,然后将这些特征转化为一个固定长度的向量。这个固定长度的向量被称为人脸特征嵌入。
其中,待查询人脸库是人脸的特征库,包含若干个人(每个人对应ID号),每个人包含若干张人脸,每个人脸对应一个人脸特征嵌入。
具体地,本实施例计算人脸识别模型输出的人脸特征嵌入与待查询人脸库中的人脸特征嵌入之间的相似度。
步骤S504,将多个相似度中的最大值对应的第二人脸特征向量作为目标人脸特征向量,并确定与目标人脸特征向量对应的类别标签。
本实施例中确定多个相似度中的最大值,将对应该最大值的第二人脸特征向量作为目标人脸特征向量;具体地,选择相似度最高的人脸的ID作为待识别的人脸图像的ID,即确定了待识别的人脸图像的类别标签。
本发明提供的人脸识别方法能够更好地抵御对抗样本攻击,提高识别对抗样本的能力,准确地识别出与人脸图像相匹配的类别标签。
在一些可选的实施方式中,将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,包括:计算第一人脸特征向量与多个第二人脸特征向量的余弦相似度。
具体地,计算人脸识别模型输出的人脸特征嵌入与待查询人脸库中的人脸特征嵌入之间的余弦相似度。
在本实施例中提供了一种人脸识别方法,可用于计算机设备,图6是根据本发明实施例的人脸识别方法的流程图,如图6所示,该流程包括如下步骤:
步骤S601,获取待识别的人脸图像。
在一些可选的实施方式中,上述步骤S601包括:获取多张人脸图像。
其中,本实施例中涉及的多张人脸图像为同一个人的人脸图像。
步骤S602,将待识别的人脸图像输入至基于本发明任一实施例中的人脸识别模型训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果;识别结果为第一人脸特征向量。
在一些可选的实施方式中,上述步骤S602包括:将多张人脸图像输入人脸识别模型,得到多张人脸图像的人脸特征向量的均值,第一人脸特征向量为多张人脸图像的人脸特征向量的均值。
具体地,向模型输入多张人脸图像的情况下,模型输出的人脸特征向量是多张人脸图像的特征嵌入的均值。
步骤S603,将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,以得到多个相似度;相似度表示第一人脸特征向量与第二人脸特征向量的相似度。详细请参见图5所示实施例的步骤S503,在此不再赘述。
步骤S604,将多个相似度中的最大值对应的第二人脸特征向量作为目标人脸特征向量,并确定与目标人脸特征向量对应的类别标签。详细请参见图5所示实施例的步骤S504,在此不再赘述。
可选地,人脸识别模型输出的识别结果可以为与待识别的人脸图像相对应的类别标签,该情况下的人脸识别模型可具有直接输出类别标签的功能,在本发明实施例基础上,可根据相关技术集成类别标签输出功能,对此不进行赘述。
基于上述的方式,本发明还能够实现基于多张人脸图像的人脸识别功能,以更准确地识别人脸。
在本实施例中还提供了一种人脸识别模型训练装置和/或人脸识别装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种人脸识别模型训练装置,如图7所示,包括:
第一训练模块701,用于利用多个批次的源样本对人脸识别模型进行训练,并用于通过任一批次的源样本迭代训练人脸识别模型之后确定人脸识别模型的性能值。
性能判断模块702,用于判断人脸识别模型的性能值是否大于预设性能阈值。
第二训练模块703,用于根据性能值大于预设性能阈值,在人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对人脸识别模型进行训练;正则项基于源样本、对抗样本以及目标样本确定,对抗样本表示在源样本基础上添加过对抗扰动的样本,目标样本表示在源样本基础上构建的具有指定目标类别的样本。
在一些可选的实施方式中,第二训练模块703,还用于根据性能值小于或者等于预设性能阈值,在人脸识别模型的损失函数上禁止正则项,并继续利用源样本对人脸识别模型进行训练。
在一些可选的实施方式中,性能判断模块702包括:
损失判断单元,用于判断当前批次的源样本的总体损失值是否小于预设精度阈值;其中,当前批次的源样本为多个批次的源样本中当前用于训练人脸识别模型的一个批次的源样本。
第一确定单元,用于根据总体损失值小于预设精度阈值,确定人脸识别模型的性能值大于预设性能阈值。
第二确定单元,用于根据总体损失值大于或者等于预设精度阈值,确定人脸识别模型的性能值不大于预设性能阈值。
在一些可选的实施方式中,多个批次的源样本均为良性样本;其中,良性样本表示未添加过对抗扰动的真实样本。
在一些可选的实施方式中,多个批次的源样本中的任一个批次的源样本包括从源集合中抽样得到的样本和从目标集合中抽样得到的样本,源集合和目标集合组成训练集。
在一些可选的实施方式中,从源集合中抽样得到的样本的数量,与从目标集合中抽样得到的样本的数量相同。
在一些可选的实施方式中,训练集中的源样本包括第一数量的人脸图像和第二数量的类别标签,第一数量至少是第二数量的多倍。
在一些可选的实施方式中,损失函数包括示性函数与正则项的乘积与第一结果的第一总和,第一结果为当前批次的源样本的总体损失值的第一预设比例。第二训练模块703,具体用于根据性能值大于预设性能阈值,控制示性函数的返回值为1。第二训练模块703,具体用于根据性能值小于或者等于预设性能阈值,控制示性函数的返回值为0。
在一些可选的实施方式中,损失函数为第一总和与目标批次的对抗样本的总体损失值的第二预设比例的第二总和,目标批次的对抗样本为基于当前批次的源样本形成的对抗样本。
在一些可选的实施方式中,第一预设比例与第二预设比例的和为1。
在一些可选的实施方式中,当前批次的源样本的总体损失值通过基于角度的第一损失函数确定;目标批次的对抗样本的总体损失值通过基于角度的第二损失函数确定。
在一些可选的实施方式中,损失函数通过如下方式表示:
其中,表示在一个批次上所有样本的总体损失值,/>表示在一个批次上良性样本的总体损失值,/>表示在一个批次上对抗样本的总体损失值,/>表示正则项,表示示性函数,/>表示预设精度阈值,用于控制示性函数/>的输出值,/>表示超参数。
在一些可选的实施方式中,正则项用于约束相对应的对抗样本与源样本之间的第一特征距离小于对抗样本与目标样本之间的第二特征距离。
在一些可选的实施方式中,对抗样本与源样本之间的第一特征距离为余弦距离;对抗样本与目标样本之间的第二特征距离也为余弦距离。
在一些可选的实施方式中,正则项用于计算第一特征距离、第二特征距离的差值与预设阈值的第三总和,以及用于在第三总和与预设值之间选择最大值。
本实施例提供一种人脸识别装置,如图8所示,包括:
图像获取模块801,用于获取待识别的人脸图像。
人脸识别模块802,用于将待识别的人脸图像输入至基于本发明任一实施例中的人脸识别模型训练方法得到的人脸识别模型,利用人脸识别模型输出识别结果。
在一些可选的实施方式中,人脸识别装置还包括:
特征比对模块,用于将第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,以得到多个相似度;相似度表示第一人脸特征向量与第二人脸特征向量的相似度。
类别判定模块,用于将多个相似度中的最大值对应的第二人脸特征向量作为目标人脸特征向量,以及用于确定与目标人脸特征向量对应的类别标签。
在一些可选的实施方式中,特征比对模块,具体用于计算第一人脸特征向量与多个第二人脸特征向量的余弦相似度。
在一些可选的实施方式中,图像获取模块801具体用于获取多张人脸图像。
人脸识别模块802具体用于将多张人脸图像输入人脸识别模型,得到多张人脸图像的人脸特征向量的均值,第一人脸特征向量为多张人脸图像的人脸特征向量的均值。
在一些可选的实施方式中,人脸识别模型输出的识别结果可以为与待识别的人脸图像相对应的类别标签。
上述各个模块以及单元的更进一步的功能描述与上述对应实施例相同,则在此不再赘述。
本实施例中的人脸识别模型训练装置和人脸识别装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图7所示的人脸识别模型训练装置和/或图8所示的人脸识别装置。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (24)
1.一种人脸识别模型训练方法,其特征在于,所述方法包括:
利用多个批次的源样本对人脸识别模型进行训练,并通过任一批次的所述源样本迭代训练所述人脸识别模型之后确定所述人脸识别模型的性能值;
判断所述人脸识别模型的性能值是否大于预设性能阈值;
如果所述性能值大于所述预设性能阈值,在所述人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对所述人脸识别模型进行训练;所述正则项基于所述源样本、所述对抗样本以及目标样本确定,所述对抗样本表示在所述源样本基础上添加过对抗扰动的样本,所述目标样本表示在所述源样本基础上构建的具有指定目标类别的样本。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述性能值小于或者等于所述预设性能阈值,在所述人脸识别模型的损失函数上禁止所述正则项,并继续利用所述源样本对所述人脸识别模型进行训练。
3.根据权利要求1或2所述的方法,其特征在于,所述判断所述人脸识别模型的性能值是否大于预设性能阈值,包括:
判断当前批次的源样本的总体损失值是否小于预设精度阈值;其中,所述当前批次的源样本为所述多个批次的源样本中当前用于训练所述人脸识别模型的一个批次的源样本;
如果所述总体损失值小于所述预设精度阈值,确定所述人脸识别模型的性能值大于所述预设性能阈值;
如果所述总体损失值大于或者等于所述预设精度阈值,确定所述人脸识别模型的性能值不大于所述预设性能阈值。
4.根据权利要求3所述的方法,其特征在于,
所述多个批次的源样本均为良性样本;其中,所述良性样本表示未添加过对抗扰动的真实样本。
5.根据权利要求3所述的方法,其特征在于,
所述多个批次的源样本中的任一个批次的源样本包括从源集合中抽样得到的样本和从目标集合中抽样得到的样本,所述源集合和所述目标集合组成训练集。
6.根据权利要求5所述的方法,其特征在于,
从所述源集合中抽样得到的样本的数量,与从所述目标集合中抽样得到的样本的数量相同。
7.根据权利要求3所述的方法,其特征在于,所述损失函数包括示性函数与所述正则项的乘积与第一结果的第一总和,所述第一结果为所述当前批次的源样本的总体损失值的第一预设比例;
所述在所述人脸识别模型的损失函数上增加正则项,包括:
控制所述示性函数的返回值为1。
8.根据权利要求7所述的方法,其特征在于,所述在所述人脸识别模型的损失函数上禁止所述正则项,包括:
控制所述示性函数的返回值为0。
9.根据权利要求8所述的方法,其特征在于,
所述损失函数为所述第一总和与目标批次的对抗样本的总体损失值的第二预设比例的第二总和,所述目标批次的对抗样本为基于所述当前批次的源样本形成的对抗样本。
10.根据权利要求9所述的方法,其特征在于,
所述第一预设比例与所述第二预设比例的和为1。
11.根据权利要求9所述的方法,其特征在于,
所述当前批次的源样本的总体损失值通过基于角度的第一损失函数确定;
所述目标批次的对抗样本的总体损失值通过基于角度的第二损失函数确定。
12.根据权利要求3所述的方法,其特征在于,所述损失函数通过如下方式表示:
其中,表示在一个批次上所有样本的总体损失值,/>表示在一个批次上良性样本的总体损失值,/>表示在一个批次上对抗样本的总体损失值,/>表示正则项,表示示性函数,/>表示预设精度阈值,用于控制示性函数/>的输出值,/>表示超参数。
13.根据权利要求1或2所述的方法,其特征在于,
所述正则项用于约束相对应的所述对抗样本与所述源样本之间的第一特征距离小于所述对抗样本与所述目标样本之间的第二特征距离。
14.根据权利要求13所述的方法,其特征在于,
所述对抗样本与所述源样本之间的第一特征距离为余弦距离;
所述对抗样本与所述目标样本之间的第二特征距离也为余弦距离。
15.根据权利要求14所述的方法,其特征在于,
所述正则项用于计算所述第一特征距离、所述第二特征距离的差值与预设阈值的第三总和,以及用于在所述第三总和与预设值之间选择最大值。
16.一种人脸识别方法,其特征在于,所述方法包括:
获取待识别的人脸图像;
将所述待识别的人脸图像输入至基于所述权利要求1至15中任一项训练方法得到的人脸识别模型,利用所述人脸识别模型输出识别结果。
17.根据权利要求16所述的方法,其特征在于,所述识别结果为第一人脸特征向量,所述方法还包括:
将所述第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,以得到多个相似度;所述相似度表示所述第一人脸特征向量与所述第二人脸特征向量的相似度;
将所述多个相似度中的最大值对应的第二人脸特征向量作为目标人脸特征向量,并确定与所述目标人脸特征向量对应的类别标签。
18.根据权利要求17所述的方法,其特征在于,所述将所述第一人脸特征向量与待查询人脸库中的多个第二人脸特征向量进行比对,包括:
计算所述第一人脸特征向量与所述多个第二人脸特征向量的余弦相似度。
19.根据权利要求16所述的方法,其特征在于,所述识别结果为与所述待识别的人脸图像相对应的类别标签。
20.根据权利要求17或18所述的方法,其特征在于,
所述获取待识别的人脸图像,包括:获取多张人脸图像;
将所述待识别的人脸图像输入所述人脸识别模型,利用所述人脸识别模型输出识别结果,包括:将所述多张人脸图像输入所述人脸识别模型,得到所述多张人脸图像的人脸特征向量的均值,所述第一人脸特征向量为所述多张人脸图像的人脸特征向量的均值。
21.一种人脸识别模型训练装置,其特征在于,所述装置包括:
第一训练模块,用于利用多个批次的源样本对人脸识别模型进行训练,并用于通过任一批次的所述源样本迭代训练所述人脸识别模型之后确定所述人脸识别模型的性能值;
性能判断模块,用于判断所述人脸识别模型的性能值是否大于预设性能阈值;
第二训练模块,用于根据所述性能值大于所述预设性能阈值,在所述人脸识别模型的损失函数上增加正则项,以及使用多个批次的对抗样本对所述人脸识别模型进行训练;所述正则项基于所述源样本、所述对抗样本以及目标样本确定,所述对抗样本表示在所述源样本基础上添加过对抗扰动的样本,所述目标样本表示在所述源样本基础上构建的具有指定目标类别的样本。
22.一种人脸识别装置,其特征在于,所述装置包括:
图像获取模块,用于获取待识别的人脸图像;
人脸识别模块,用于将所述待识别的人脸图像输入至基于所述权利要求1至15中任一项训练方法得到的人脸识别模型,利用所述人脸识别模型输出识别结果。
23.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至15中任一项所述的人脸识别模型训练方法或者权利要求16至20中任一项所述的人脸识别方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至15中任一项所述的人脸识别模型训练方法或者权利要求16至20中任一项所述的人脸识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310922706.2A CN116665282B (zh) | 2023-07-26 | 2023-07-26 | 人脸识别模型训练方法、人脸识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310922706.2A CN116665282B (zh) | 2023-07-26 | 2023-07-26 | 人脸识别模型训练方法、人脸识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116665282A true CN116665282A (zh) | 2023-08-29 |
CN116665282B CN116665282B (zh) | 2024-06-25 |
Family
ID=87724420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310922706.2A Active CN116665282B (zh) | 2023-07-26 | 2023-07-26 | 人脸识别模型训练方法、人脸识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116665282B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496582A (zh) * | 2023-12-28 | 2024-02-02 | 苏州元脑智能科技有限公司 | 人脸识别模型训练方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214360A (zh) * | 2018-10-15 | 2019-01-15 | 北京亮亮视野科技有限公司 | 一种基于ParaSoftMax损失函数的人脸识别模型的构建方法及应用 |
CN111160189A (zh) * | 2019-12-21 | 2020-05-15 | 华南理工大学 | 一种基于动态目标训练的深度神经网络人脸表情识别方法 |
CN116152884A (zh) * | 2022-12-02 | 2023-05-23 | 中国工商银行股份有限公司 | 人脸图像的识别方法、装置、处理器及电子设备 |
-
2023
- 2023-07-26 CN CN202310922706.2A patent/CN116665282B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214360A (zh) * | 2018-10-15 | 2019-01-15 | 北京亮亮视野科技有限公司 | 一种基于ParaSoftMax损失函数的人脸识别模型的构建方法及应用 |
CN111160189A (zh) * | 2019-12-21 | 2020-05-15 | 华南理工大学 | 一种基于动态目标训练的深度神经网络人脸表情识别方法 |
CN116152884A (zh) * | 2022-12-02 | 2023-05-23 | 中国工商银行股份有限公司 | 人脸图像的识别方法、装置、处理器及电子设备 |
Non-Patent Citations (2)
Title |
---|
张洁: "基于AE-WGAN的定向对抗样本生成及利用", 《南京邮电大学学报》, pages 63 - 69 * |
杨秋香: "《深度学习入门》", 机械工业出版社, pages: 64 - 67 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496582A (zh) * | 2023-12-28 | 2024-02-02 | 苏州元脑智能科技有限公司 | 人脸识别模型训练方法、装置、电子设备及存储介质 |
CN117496582B (zh) * | 2023-12-28 | 2024-04-16 | 苏州元脑智能科技有限公司 | 人脸识别模型训练方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116665282B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hu et al. | A novel image steganography method via deep convolutional generative adversarial networks | |
CN111475797B (zh) | 一种对抗图像生成方法、装置、设备以及可读存储介质 | |
WO2019100723A1 (zh) | 训练多标签分类模型的方法和装置 | |
WO2020061489A1 (en) | Training neural networks for vehicle re-identification | |
CN112639809A (zh) | 生物测定认证的用户自适应 | |
CN109635770A (zh) | 活体检测方法、装置、存储介质及电子设备 | |
Schmid et al. | Performance analysis of iris-based identification system at the matching score level | |
CN112784778B (zh) | 生成模型并识别年龄和性别的方法、装置、设备和介质 | |
CN107832700A (zh) | 一种人脸识别方法与系统 | |
CN110287775B (zh) | 手掌图像裁剪方法、装置、计算机设备及存储介质 | |
Jiang et al. | Cross-modality transformer for visible-infrared person re-identification | |
CN106599864B (zh) | 一种基于极值理论的深度人脸识别方法 | |
Almeida et al. | Detecting face presentation attacks in mobile devices with a patch-based CNN and a sensor-aware loss function | |
Khammari | Robust face anti‐spoofing using CNN with LBP and WLD | |
CN110602120B (zh) | 一种面向网络的入侵数据检测方法 | |
CN116665282B (zh) | 人脸识别模型训练方法、人脸识别方法及装置 | |
US20180075317A1 (en) | Person centric trait specific photo match ranking engine | |
JP6107531B2 (ja) | 特徴抽出プログラム及び情報処理装置 | |
Sheng et al. | Image splicing detection based on Markov features in discrete octonion cosine transform domain | |
González‐Soler et al. | On the generalisation capabilities of Fisher vector‐based face presentation attack detection | |
Pang et al. | DisP+ V: A unified framework for disentangling prototype and variation from single sample per person | |
CN113780363B (zh) | 一种对抗样本防御方法、系统、计算机及介质 | |
Yamaç et al. | Convolutional sparse support estimator network (CSEN): From energy-efficient support estimation to learning-aided compressive sensing | |
Hu et al. | Exploiting stable and discriminative iris weight map for iris recognition under less constrained environment | |
Silva et al. | Exploring time-series motifs through DTW-SOM |
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 |