CN115661899A - 针对难例样本的人脸识别模型的训练方法及装置 - Google Patents
针对难例样本的人脸识别模型的训练方法及装置 Download PDFInfo
- Publication number
- CN115661899A CN115661899A CN202211310897.9A CN202211310897A CN115661899A CN 115661899 A CN115661899 A CN 115661899A CN 202211310897 A CN202211310897 A CN 202211310897A CN 115661899 A CN115661899 A CN 115661899A
- Authority
- CN
- China
- Prior art keywords
- cosine
- class center
- sample
- class
- sine
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本公开涉及人脸识别技术领域,提供了一种针对难例样本的人脸识别模型的训练方法及装置。该方法包括:依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;利用第一次更新后的损失函数对人脸识别模型进行第一次训练;利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;利用第二次更新后的损失函数对人脸识别模型进行第二次训练。
Description
技术领域
本公开涉及人脸识别技术领域,尤其涉及一种针对难例样本的人脸识别模型的训练方法及装置。
背景技术
现有人脸识别模型的损失函数缺乏对难例样本的有效挖掘。现有针对难例样本的模型训练方法,基本是一种对难例样本进行固定加权的方法,该方法缺乏对高质量图像的关注,会导致最终训练得到的模型精度低的问题。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:人脸识别模型的损失函数缺乏对难例样本的有效挖掘,导致最终训练得到的模型的精度低的问题。
发明内容
有鉴于此,本公开实施例提供了一种针对难例样本的人脸识别模型的训练方法、、装置、电子设备及计算机可读存储介质,以解决现有技术中,人脸识别模型的损失函数缺乏对难例样本的有效挖掘,导致最终训练得到的模型的精度低的问题。
本公开实施例的第一方面,提供了一种针对难例样本的人脸识别模型的训练方法,包括:获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练。
本公开实施例的第二方面,提供了一种针对难例样本的人脸识别模型的训练装置,包括:第一计算模块,被配置为获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;第二计算模块,被配置为分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;第一更新模块,被配置为依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;第一训练模块,被配置为基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;确定模块,被配置为利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;第二更新模块,被配置为依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;第二训练模块,被配置为在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练。
本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本公开实施例与现有技术相比存在的有益效果是:因为本公开实施例通过获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练,因此,采用上述技术手段,可以解决现有技术中,人脸识别模型的损失函数缺乏对难例样本的有效挖掘,导致最终训练得到的模型的精度低的问题,进而提高人脸识别模型的精度。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本公开实施例的应用场景的场景示意图;
图2是本公开实施例提供的一种针对难例样本的人脸识别模型的训练方法的流程示意图;
图3是本公开实施例提供的一种针对难例样本的人脸识别模型的训练装置的结构示意图;
图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
下面将结合附图详细说明根据本公开实施例的一种针对难例样本的人脸识别模型的训练方法和装置。
图1是本公开实施例的应用场景的场景示意图。该应用场景可以包括终端设备101、102和103、服务器104以及网络105。
终端设备101、102和103可以是硬件,也可以是软件。当终端设备101、102和103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备101、102和103为软件时,其可以安装在如上的电子设备中。终端设备101、102和103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本公开实施例对此不作限制。进一步地,终端设备101、102和103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为终端设备101、102和103提供各种服务的各种电子设备。当服务器104为软件时,其可以是为终端设备101、102和103提供各种服务的多个软件或软件模块,也可以是为终端设备101、102和103提供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
网络105可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(Bluetooth)、近场通信(Near FieldCommunication,NFC)、红外(Infrared)等,本公开实施例对此不作限制。
用户可以通过终端设备101、102和103经由网络105与服务器104建立通信连接,以接收或发送信息等。需要说明的是,终端设备101、102和103、服务器104以及网络105的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本公开实施例对此不作限制。
图2是本公开实施例提供的一种针对难例样本的人脸识别模型的训练方法的流程示意图。图2的针对难例样本的人脸识别模型的训练方法可以由图1的计算机或服务器,或者计算机或服务器上的软件执行。如图2所示,该针对难例样本的人脸识别模型的训练方法包括:
S201,获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;
S202,分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;
S203,依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;
S204,基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;
S205,利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;
S206,依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;
S207,在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练。
人脸识别模型是残差网络,残差网络包括五个阶段:第零阶段stage0、第一阶段stage1、第二阶段stage2、第三阶段stage3和第四阶段stage4。第二次训练,是冻结stage1和stage2,训练stage0、stage3和stage4。因为stage0实际上只是一个预处理的网络,所以实际上训练的是stage3和stage4。本公开实施例通过对人脸识别模型的损失函数的两次更新,使得每次更新后的损失函数可以关注或者挖掘到难例的不同方面,进而通过两次训练,使得人脸识别模型可以很好的学习到难例,提高人脸识别模型最终的精度。
根据本公开实施例提供的技术方案,获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练,因此,采用上述技术手段,可以解决现有技术中,人脸识别模型的损失函数缺乏对难例样本的有效挖掘,导致最终训练得到的模型的精度低的问题,进而提高人脸识别模型的精度。
在一个可选实施例中,得到每个类中心对应的类表征度的方法,包括:计算每个类中心的类中心向量和属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个正余弦值;计算每个类中心的类中心向量和不属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个负余弦值;将每个类中心对应的多个正余弦值的均值作为该类中心对应的正余弦均值,将每个类中心对应的多个负余弦值的均值作为该类中心对应的负余弦均值;将每个类中心对应的正余弦均值与负余弦均值的差值作为该类中心对应的类表征度。
人脸训练集中每个人有多张人脸图片,每个图片为一个样本,每个人的多个样本对应一个类中心。
在S203中,依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,包括:当属于每个类中心的每个样本对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与类表征度的和值乘以属于该类中心的每个样本对应的负余弦值,将该乘积的结果作为损失函数中的负余弦值;当属于该类中心的每个样本对应的负余弦值不大于预设阈值时,将属于该类中心的每个样本对应的负余弦值作为损失函数中的负余弦值。
最初的损失函数如下:
一般地,s=64,m=0.5,N是样本数,cosθyi是样本和自己的类中心的余弦值,yi表示该类中心下的第i个样本,cosθyi也就是属于该类中心的第i个样本对应的正余弦值,cosθj是样本和其他类中心的余弦值,j表示非该类中心下的第j个样本,cosθj也就是属于该类中心的第j个样本对应的负余弦值。
当每个类中心对应的负余弦值大于预设阈值时,通过如下公式计算损失函数中的负余弦值F(cosθj):
F(cosθj)=(p+d)*cosθj
p为该类中心对应的正余弦均值,d为该类中心对应的类表征度,cosθj为属于该类中心的第j个样本对应的负余弦值。
当每个类中心对应的负余弦值不大于预设阈值时,则令损失函数中的负余弦值F(cosθj)=cosθj。
在S203中,依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新,包括:根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;根据属于该类中心的每个样本对应的第二压力值对损失函数中的正余弦值进行第一次更新。
通过如下公式计算第一压力值ρ1
ρ1=max(d-0.1-(cosθyi-cosθj),0)
max()是取大函数。
通过如下公式计算第二压力值ρ2
ρ2=p*ρ1
第一次更新后的损失函数如下:
在S205中,利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度,包括:计算每个样本的样本向量和该样本所属类中心的类中心向量之间的余弦值,得到每个样本对应的正余弦值;计算每个样本的样本向量和除该样本所属类中心之外的其它类中心的类中心向量之间的余弦值,得到每个样本对应的多个负余弦值;将每个样本对应的多个负余弦值的均值与该样本对应的正余弦值的差值作为该样本对应的样本表征度。
在S206中,依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的负余弦值进行第二次更新,包括:当每个类中心对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与属于该类中心的每个样本对应的第一权重的和值乘以属于该类中心的每个样本对应的负余弦值,将该乘积的结果作为损失函数中的负余弦值,其中,属于该类中心的每个样本对应的第一权重由该类中心对应的类表征度、属于该类中心的每个样本对应的样本表征度、训练总轮次和当前训练轮次确定;当属于该类中心的每个样本对应的负余弦值不大于预设阈值时,将属于该类中心的每个样本对应的负余弦值作为损失函数中的负余弦值。
通过如下公式计算每个样本对应的第一权重φ:
T为训练总轮次,t为当前训练轮次,d′为样本对应的样本表征度。
当属于该类中心的每个样本对应的负余弦值大于预设阈值时,通过如下公式确定损失函数中的负余弦值F(cosθj):
F(cosθj)=(p+φ)*cosθj
在S206中,依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值进行第二次更新,包括:根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;根据每个类中心对应的正余弦均值、属于该类中心的每个样本对应的样本表征度和第二压力值,确定属于该类中心的每个样本对应的第二权重;根据属于该类中心的每个样本对应的第二权重对损失函数中的正余弦值进行第二次更新。
通过如下公式计算该类中心的每个样本对应的第二权重σ:
σ=p*ρ+0.8*(1-ρ)*d′
第二次更新后的损失函数:
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是本公开实施例提供的一种针对难例样本的人脸识别模型的训练装置的示意图。如图3所示,该针对难例样本的人脸识别模型的训练装置包括:
第一计算模块301,被配置为获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;
第二计算模块302,被配置为分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;
第一更新模块303,被配置为依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;
第一训练模块304,被配置为基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;
确定模块305,被配置为利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;
第二更新模块306,被配置为依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;
第二训练模块307,被配置为在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练。
人脸识别模型是残差网络,残差网络包括五个阶段:第零阶段stage0、第一阶段stage1、第二阶段stage2、第三阶段stage3和第四阶段stage4。第二次训练,是冻结stage1和stage2,训练stage0、stage3和stage4。因为stage0实际上只是一个预处理的网络,所以实际上训练的是stage3和stage4。本公开实施例通过对人脸识别模型的损失函数的两次更新,使得每次更新后的损失函数可以关注或者挖掘到难例的不同方面,进而通过两次训练,使得人脸识别模型可以很好的学习到难例,提高人脸识别模型最终的精度。
根据本公开实施例提供的技术方案,获取人脸训练集,并计算人脸训练集中每个类中心对应的多个正余弦值与负余弦值;分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对损失函数中的正余弦值进行第一次更新;基于人脸训练集,利用第一次更新后的损失函数对人脸识别模型进行第一次训练;利用第一次训练后的人脸识别模型,确定人脸训练集中每个样本对应的样本表征度;依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对损失函数中的正余弦值和负余弦值进行第二次更新;在冻结人脸识别模型的第一阶段和第二阶段的网络后,基于人脸训练集,利用第二次更新后的损失函数对人脸识别模型进行第二次训练,因此,采用上述技术手段,可以解决现有技术中,人脸识别模型的损失函数缺乏对难例样本的有效挖掘,导致最终训练得到的模型的精度低的问题,进而提高人脸识别模型的精度。
可选地,第一计算模块301还被配置为计算每个类中心的类中心向量和属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个正余弦值;计算每个类中心的类中心向量和不属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个负余弦值;将每个类中心对应的多个正余弦值的均值作为该类中心对应的正余弦均值,将每个类中心对应的多个负余弦值的均值作为该类中心对应的负余弦均值;将每个类中心对应的正余弦均值与负余弦均值的差值作为该类中心对应的类表征度。
人脸训练集中每个人有多张人脸图片,每个图片为一个样本,每个人的多个样本对应一个类中心。
可选地,第一更新模块303还被配置为当属于每个类中心的每个样本对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与类表征度的和值乘以属于该类中心的每个样本对应的负余弦值,将该乘积的结果作为损失函数中的负余弦值;当属于该类中心的每个样本对应的负余弦值不大于预设阈值时,将属于该类中心的每个样本对应的负余弦值作为损失函数中的负余弦值。
最初的损失函数如下:
一般地,s=64,m=0.5,N是样本数,cosθyi是样本和自己的类中心的余弦值,yi表示该类中心下的第i个样本,cosθyi也就是属于该类中心的第i个样本对应的正余弦值,cosθj是样本和其他类中心的余弦值,j表示非该类中心下的第j个样本,cosθj也就是属于该类中心的第j个样本对应的负余弦值。
当每个类中心对应的负余弦值大于预设阈值时,通过如下公式计算损失函数中的负余弦值F(cosθj):
F(cosθj)=(p+d)*cosθj
p为该类中心对应的正余弦均值,d为该类中心对应的类表征度,cosθj为属于该类中心的第j个样本对应的负余弦值。
当每个类中心对应的负余弦值不大于预设阈值时,则令损失函数中的负余弦值F(cosθj)=cosθj。
可选地,第一更新模块303还被配置为根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;根据属于该类中心的每个样本对应的第二压力值对损失函数中的正余弦值进行第一次更新。
通过如下公式计算第一压力值ρ1
ρ1=max(d-0.1-(cosθyi-cosθj),0)
max()是取大函数。
通过如下公式计算第二压力值ρ2
ρ2=p*ρ1
第一次更新后的损失函数如下:
可选地,确定模块305还被配置为计算每个样本的样本向量和该样本所属类中心的类中心向量之间的余弦值,得到每个样本对应的正余弦值;计算每个样本的样本向量和除该样本所属类中心之外的其它类中心的类中心向量之间的余弦值,得到每个样本对应的多个负余弦值;将每个样本对应的多个负余弦值的均值与该样本对应的正余弦值的差值作为该样本对应的样本表征度。
可选地,第二更新模块306还被配置为当每个类中心对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与属于该类中心的每个样本对应的第一权重的和值乘以属于该类中心的每个样本对应的负余弦值,将该乘积的结果作为损失函数中的负余弦值,其中,属于该类中心的每个样本对应的第一权重由该类中心对应的类表征度、属于该类中心的每个样本对应的样本表征度、训练总轮次和当前训练轮次确定;当属于该类中心的每个样本对应的负余弦值不大于预设阈值时,将属于该类中心的每个样本对应的负余弦值作为损失函数中的负余弦值。
通过如下公式计算每个样本对应的第一权重φ:
T为训练总轮次,t为当前训练轮次,d′为样本对应的样本表征度。
当属于该类中心的每个样本对应的负余弦值大于预设阈值时,通过如下公式确定损失函数中的负余弦值F(cosθj):
F(cosθj)=(p+φ)*cosθj
可选地,第二更新模块306还被配置为根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;根据每个类中心对应的正余弦均值、属于该类中心的每个样本对应的样本表征度和第二压力值,确定属于该类中心的每个样本对应的第二权重;根据属于该类中心的每个样本对应的第二权重对损失函数中的正余弦值进行第二次更新。
通过如下公式计算该类中心的每个样本对应的第二权重σ:
σ=p*ρ+0.8*(1-ρ)*d′
第二次更新后的损失函数:
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图4是本公开实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (10)
1.一种针对难例样本的人脸识别模型的训练方法,其特征在于,包括:
获取人脸训练集,并计算所述人脸训练集中每个类中心对应的多个正余弦值与负余弦值;
分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;
依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对所述损失函数中的正余弦值进行所述第一次更新;
基于所述人脸训练集,利用所述第一次更新后的损失函数对所述人脸识别模型进行第一次训练;
利用所述第一次训练后的人脸识别模型,确定所述人脸训练集中每个样本对应的样本表征度;
依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对所述损失函数中的正余弦值和负余弦值进行第二次更新;
在冻结所述人脸识别模型的第一阶段和第二阶段的网络后,基于所述人脸训练集,利用所述第二次更新后的损失函数对所述人脸识别模型进行第二次训练。
2.根据权利要求1所述的方法,其特征在于,包括:
计算每个类中心的类中心向量和属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个正余弦值;
计算每个类中心的类中心向量和不属于该类中心的样本的样本向量之间的余弦值,得到每个类中心对应的多个负余弦值;
将每个类中心对应的多个正余弦值的均值作为该类中心对应的正余弦均值,将每个类中心对应的多个负余弦值的均值作为该类中心对应的负余弦均值;
将每个类中心对应的正余弦均值与负余弦均值的差值作为该类中心对应的类表征度。
3.根据权利要求1所述的方法,其特征在于,所述依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,包括:
当属于每个类中心的每个样本对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与类表征度的和值乘以属于该类中心的每个样本的负余弦值,将该乘积的结果作为所述损失函数中的负余弦值;
当属于每个类中心的每个样本对应的负余弦值不大于所述预设阈值时,将属于该类中心的每个样本对应的负余弦值作为所述损失函数中的负余弦值。
4.根据权利要求1所述的方法,其特征在于,所述依据每个类中心对应的类表征度对所述损失函数中的正余弦值进行所述第一次更新,包括:
根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;
将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;
根据属于该类中心的每个样本对应的第二压力值对所述损失函数中的正余弦值进行所述第一次更新。
5.根据权利要求1所述的方法,其特征在于,所述利用所述第一次训练后的人脸识别模型,确定所述人脸训练集中每个样本对应的样本表征度,包括:
计算每个样本的样本向量和该样本所属类中心的类中心向量之间的余弦值,得到每个样本对应的正余弦值;
计算每个样本的样本向量和除该样本所属类中心之外的其它类中心的类中心向量之间的余弦值,得到每个样本对应的多个负余弦值;
将每个样本对应的多个负余弦值的均值与该样本对应的正余弦值的差值作为该样本对应的样本表征度。
6.根据权利要求1所述的方法,其特征在于,依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对所述损失函数中的负余弦值进行第二次更新,包括:
当属于每个类中心的每个样本对应的负余弦值大于预设阈值时,将该类中心对应的正余弦均值与属于该类中心的每个样本对应的第一权重的和值乘以属于该类中心的每个样本对应的负余弦值,将该乘积的结果作为所述损失函数中的负余弦值,其中,属于该类中心的每个样本对应的第一权重由该类中心对应的类表征度、属于该类中心的每个样本对应的样本表征度、训练总轮次和当前训练轮次确定;
当属于每个类中心的每个样本对应的负余弦值不大于所述预设阈值时,将属于该类中心的每个样本对应的负余弦值作为所述损失函数中的负余弦值。
7.根据权利要求1所述的方法,其特征在于,依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对所述损失函数中的正余弦值进行第二次更新,包括:
根据每个类中心对应的类表征度以及属于该类中心的每个样本对应的正余弦值与负余弦值,计算属于该类中心的每个样本对应的第一压力值;
将属于每个类中心的每个样本对应的第一压力值与每个类中心对应的正余弦均值的乘积作为属于该类中心的每个样本对应的第二压力值;
根据每个类中心对应的正余弦均值、属于该类中心的每个样本对应的样本表征度和第二压力值,确定属于该类中心的每个样本对应的第二权重;
根据属于该类中心的每个样本对应的第二权重对所述损失函数中的正余弦值进行所述第二次更新。
8.一种针对难例样本的人脸识别模型的训练装置,其特征在于,包括:
第一计算模块,被配置为获取人脸训练集,并计算所述人脸训练集中每个类中心对应的多个正余弦值与负余弦值;
第二计算模块,被配置为分别根据每个类中心对应的多个正余弦值与负余弦值,计算每个类中心对应的正余弦均值与负余弦均值,并根据每个类中心对应的正余弦均值与负余弦均值,计算每个类中心对应的类表征度;
第一更新模块,被配置为依据每个类中心对应的正余弦均值和类表征度对人脸识别模型的损失函数中的负余弦值进行第一次更新,并依据每个类中心对应的类表征度对所述损失函数中的正余弦值进行所述第一次更新;
第一训练模块,被配置为基于所述人脸训练集,利用所述第一次更新后的损失函数对所述人脸识别模型进行第一次训练;
确定模块,被配置为利用所述第一次训练后的人脸识别模型,确定所述人脸训练集中每个样本对应的样本表征度;
第二更新模块,被配置为依据每个类中心对应的正余弦均值和类表征度以及属于该类中心的每个样本对应的样本表征度,对所述损失函数中的正余弦值和负余弦值进行第二次更新;
第二训练模块,被配置为在冻结所述人脸识别模型的第一阶段和第二阶段的网络后,基于所述人脸训练集,利用所述第二次更新后的损失函数对所述人脸识别模型进行第二次训练。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211310897.9A CN115661899A (zh) | 2022-10-25 | 2022-10-25 | 针对难例样本的人脸识别模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211310897.9A CN115661899A (zh) | 2022-10-25 | 2022-10-25 | 针对难例样本的人脸识别模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115661899A true CN115661899A (zh) | 2023-01-31 |
Family
ID=84991423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211310897.9A Pending CN115661899A (zh) | 2022-10-25 | 2022-10-25 | 针对难例样本的人脸识别模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115661899A (zh) |
-
2022
- 2022-10-25 CN CN202211310897.9A patent/CN115661899A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116403250A (zh) | 存在遮挡的人脸识别方法及装置 | |
CN113297277A (zh) | 检验统计量确定方法、装置、可读介质及电子设备 | |
CN111915689B (zh) | 用于生成目标函数的方法、装置、电子设备和计算机可读介质 | |
CN112380883A (zh) | 模型训练方法、机器翻译方法、装置、设备及存储介质 | |
CN115984783B (zh) | 人群计数方法及装置 | |
CN115953803A (zh) | 人体识别模型的训练方法及装置 | |
CN115661899A (zh) | 针对难例样本的人脸识别模型的训练方法及装置 | |
CN115048430A (zh) | 数据核验方法、系统、装置及存储介质 | |
CN115272760A (zh) | 适用于森林火灾烟雾检测的小样本烟雾图像细分类方法 | |
CN114861064A (zh) | 基于双塔模型的对象推荐方法及装置 | |
CN115147870A (zh) | 行人再识别方法及装置 | |
CN111680754B (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN114418142A (zh) | 设备巡检方法及装置 | |
CN113034570A (zh) | 图像处理方法、装置和电子设备 | |
CN115937929A (zh) | 针对难例样本的人脸识别模型的训练方法及装置 | |
CN115830691A (zh) | 人脸识别模型的训练方法及装置 | |
CN115731623A (zh) | 人体与人脸联合检测方法及装置 | |
CN116912633B (zh) | 目标追踪模型的训练方法及装置 | |
CN115830692A (zh) | 人脸识别模型的训练方法及装置 | |
CN113468453B (zh) | 一种目标用户的识别方法、装置、电子设备及存储介质 | |
CN116258915B (zh) | 多个目标部位联合检测的方法及装置 | |
CN116910566B (zh) | 一种目标识别模型训练方法和装置 | |
CN114519884A (zh) | 人脸识别方法、装置、电子设备及计算机可读存储介质 | |
CN116912631B (zh) | 目标识别方法、装置、电子设备及存储介质 | |
CN112073202B (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 |