模型训练方法、电子设备及计算机可读存储介质与流程

文档序号:26726077发布日期:2021-09-22 21:10阅读:74来源:国知局
模型训练方法、电子设备及计算机可读存储介质与流程

1.本发明实施例涉及计算机技术领域,特别涉及一种模型训练方法、电子设备及计算机可读存储介质。


背景技术:

2.人脸识别技术是生物识别技术中的一种。它以人的面部特征进行识别,是未来发展趋势的新技术。人脸识别技术应用广泛,例如,最为热门的刷脸技术,尤其是在支付、安检等等有着广泛应用,极大的方便了人们的生活。目前,在公共场所,戴口罩已成为一种预防流行病的一种手段。但是,戴口罩给人脸识别带来了新的挑战,原有的人脸识别模型不适用于戴口罩场景。


技术实现要素:

3.本发明实施方式的目的在于提供一种模型训练方法、电子设备及计算机可读存储介质,可以优化人脸识别模型,使得优化后的人脸识别模型可以在人脸存在遮挡的情况下进行人脸识别,提高人脸存在遮挡的情况下的识别准确性。
4.为解决上述技术问题,第一方面,本发明实施例提供了一种模型训练方法,包括:获取训练图像集,以及训练图像集中各训练图像的标签数据;训练图像包括未遮挡图像和遮挡图像,标签数据包括第一标签和第二标签;第一标签指示训练图像中的人脸对应的身份信息,第二标签指示训练图像中的人脸是否被遮挡;根据训练图像集和标签数据,利用损失函数,训练人脸识别模型和隐变量模型,以优化人脸识别模型;其中,人脸识别模型的输出连接隐变量模型的输入,隐变量模型用于学习遮挡图像的隐变量和未遮挡图像的隐变量。
5.第二方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例提及的模型训练方法。
6.第三方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,实现上述实施例提及的模型训练方法。
7.本发明实施例相对于现有技术而言,使用隐变量模型学习遮挡图像和未遮挡图像的隐变量,在隐变量模型中学习它们的不变特征,基于隐变量模型学习不变特征的过程,优化人脸识别模型,使得优化后的人脸识别模型可以在人脸存在遮挡和人脸不存在遮挡的情况下进行人脸识别,提高人脸存在遮挡的情况下的识别准确性。
8.在部分实施例中,损失函数包括:隐变量损失函数、人脸识别模型对应的第一分类损失函数和隐变量模型对应的第二分类损失函数;根据训练图像集和标签数据,利用损失函数,训练人脸识别模型和隐变量模型,以优化人脸识别模型,包括:根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型;根据训
练图像集和标签数据,利用隐变量损失函数、第一分类损失函数和第二分类损失函数,同时训练隐变量模型和人脸识别模型。
9.在部分实施例中,遮挡图像的隐变量基于遮挡图像的人脸特征向量的均值和遮挡图像的人脸特征向量的方差确定,未遮挡图像的隐变量基于未遮挡图像的人脸特征向量的均值和未遮挡图像的人脸特征向量的方差确定。
10.在部分实施例中,隐变量损失函数用于约束遮挡图像的人脸特征向量的均值和遮挡图像对应的未遮挡图像的人脸特征向量的均值的差值,以及遮挡图像的人脸特征向量的方差和遮挡图像对应的未遮挡图像的人脸特征向量的方差之间的差值。
11.在部分实施例中,根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型,包括:将图像训练集输入人脸识别模型,得到各训练图像的人脸特征向量;将各训练图像的人脸特征向量和各训练图像的第二标签作为训练数据;利用训练数据、隐变量损失函数和第二分类损失函数,训练隐变量模型。
12.在部分实施例中,获取训练图像集,包括:获取未被遮挡的初始人脸图像;在初始人脸图像上叠加模拟遮挡物;根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像;基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像。
13.在部分实施例中,基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像,包括:基于初始人脸图像的第一指定关键点和预设的第一标准人脸图像的第一指定关键点,计算初始人脸图像的第一仿射矩阵;根据第一仿射矩阵,对初始人脸图像进行裁剪,得到未遮挡图像;基于初始遮挡图像的第二指定关键点和预设的第二标准人脸图像的第二指定关键点,计算初始遮挡图像的第二仿射矩阵;根据第二仿射矩阵,对初始遮挡图像进行裁剪,得到遮挡图像。
14.在部分实施例中,根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像,包括:确定初始人脸图像中被覆盖的关键点;将被覆盖的关键点的颜色值调整为模拟遮挡物的颜色值,得到初始遮挡图像。
附图说明
15.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
16.图1是本发明一实施例中模型训练方法的流程图;图2a

图2f是本发明一实施例中模拟口罩和初始人脸图像中68个关键点的位置关系的示意图;图3是本发明一实施例中人脸识别模型和隐变量模型的连接示意图;图4是本发明另一实施例中模型训练方法的流程图;图5是本发明一实施例中电子设备的结构示意图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方
式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
18.在本发明公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
19.本技术实施例中,如图1所示的模型训练方法,应用于电子设备,包括如下步骤。
20.步骤101:获取训练图像集,以及训练图像集中各训练图像的标签数据。其中,训练图像包括未遮挡图像和遮挡图像,标签数据包括第一标签和第二标签;第一标签指示训练图像中的人脸对应的身份信息,第二标签指示训练图像中的人脸是否被遮挡。
21.步骤102:根据训练图像集和标签数据,利用损失函数,训练人脸识别模型和隐变量模型,以优化人脸识别模型。其中,人脸识别模型的输出连接隐变量模型的输入,隐变量模型用于学习遮挡图像的隐变量和未遮挡图像的隐变量。
22.本技术实施例中,使用隐变量模型学习遮挡图像和未遮挡图像的隐变量,在隐变量模型中学习它们的不变特征,基于隐变量模型学习不变特征的过程,优化人脸识别模型,使得优化后的人脸识别模型可以在人脸存在遮挡和人脸不存在遮挡的情况下进行人脸识别,提高人脸存在遮挡的情况下的识别准确性。
23.在一个实施例中,获取训练图像集,包括:获取未被遮挡的初始人脸图像;在初始人脸图像上叠加模拟遮挡物;根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像;基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像。具体地,模拟遮挡物可以是不同形状的不同遮挡比例的模拟口罩的数据。该模拟口罩可以是纯色口罩,例如,黑色口罩或浅蓝色口罩。
24.值得一提的是,通过对不存在遮挡的初始人脸图像进行处理,合成遮挡图像,可以减少采集遮挡图像的时间成本和人工成本。
25.可选择的,根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像,包括:确定初始人脸图像中被覆盖的关键点;将被覆盖的关键点的颜色值调整为模拟遮挡物的颜色值,得到初始遮挡图像。
26.例如,遮挡物为口罩,模拟遮挡物为模拟口罩的数据。电子设备获取初始人脸图像中68个关键点的关键点信息,确定68个关键点中被模拟口罩覆盖。例如,模拟口罩和初始人脸图像中68个关键点的位置关系如图2a

图2f所示。将被覆盖的关键点的颜色值调整为模拟口罩的颜色值。如,若模拟口罩为黑色,则将被覆盖的关键点的颜色值(rgb值)调整为[0,0,0],若模拟口罩为浅蓝色,则将被覆盖的关键点的rgb值调整为[200,228,242]。
[0027]
可选择的,基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像,包括:基于初始人脸图像的第一指定关键点和预设的第一标准人脸图像的第一指定关键点,计算初始人脸图像的第一仿射矩阵;根据第一仿射矩阵,对初始人脸图像进行裁剪,得到未遮挡图像;基于初始遮挡图像的第二指定关键点和预设的第二标准人脸图像的第二指定关键点,计算初始遮挡图像的第二仿射矩阵;根据第二仿射矩阵,对初始遮挡图像进行裁剪,得到遮挡图像。具体地,电子设备设有人脸预处理模块,针对初始人脸图像,人脸
预处理模块根据人脸检测器获取初始人脸图像中的第一指定关键点。根据第一指定关键点与第一标准人脸图像计算仿射矩阵。根据仿射矩阵,裁剪得到固定尺寸的未遮挡图像。针对初始遮挡图像,人脸预处理模块根据人脸检测器获取初始遮挡图像中的第二指定关键点。根据第二指定关键点与第二标准人脸图像计算仿射矩阵。根据仿射矩阵,裁剪得到固定尺寸的遮挡图像。
[0028]
例如,第一指定关键点和第二指定关键点相同,数量均是5个,即标识人脸的嘴角的两个关键点、标识眼睛的两个关键点和标识鼻子的一个关键点。
[0029]
需要说明的是,本领域技术人员可以理解,第一指定关键点和第二指定关键点可以是相同关键点,也可以是不同关键点。本实施例不做限制。
[0030]
需要说明的是,本领域技术人员可以理解,第一指定关键点和第二指定关键点的数量大于等于3即可,例如,第一指定关键点和第二指定关键点为标识眼睛的一个关键点、标识鼻子的一个关键点和标识嘴巴的一个关键点。本实施例不做限制。
[0031]
值得一提的是,当模拟遮挡物为口罩时,通过隐变量模型学习戴口罩的人脸图像和不带口罩的人脸图像的不变特征。基于初步训练后的隐变量模型优化人脸识别模型,使得优化后的人脸识别模型对戴口罩的人脸图像的识别准确性提高,进而提高了戴口罩的情况下人脸检测的通过速度。
[0032]
在一个实施例中,损失函数包括:隐变量损失函数(l1)、人脸识别模型对应的第一分类损失函数(l
cls1
)和隐变量模型对应的第二分类损失函数(l
cls2
)。根据训练图像集和标签数据,利用损失函数,训练人脸识别模型和隐变量模型,以优化人脸识别模型,包括:根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型;根据训练图像集和标签数据,利用隐变量损失函数、第一分类损失函数和第二分类损失函数,同时训练隐变量模型和人脸识别模型。具体地,人脸识别模型用于识别人脸特征向量,将人脸识别模型识别的人脸特征向量输入隐变量模型,以便隐变量模型学习遮挡图像的隐变量和未遮挡图像的隐变量。
[0033]
可选的,第一分类损失函数l
cls1
=softmaxloss(x
n
,y|w)+softmaxloss(x
m
,y|w),第二分类损失函数l
cls2
=softmaxloss(,y|w,θ)+softmaxloss(,y|w,θ)。其中,x
n
表示未遮挡图像经过人脸识别模型后输出的特征,x
m
表示遮挡图像经过人脸识别模型后输出的特征,y表示人脸识别模型输出的身份标签,w表示人脸识别模型中待学习的参数,θ表示隐变量模型中待学习的参数,表示x
n
经过隐变量模型重构的特征,表示x
m
经过隐变量模型重构的特征。
[0034]
可选择的,遮挡图像的隐变量基于遮挡图像的人脸特征向量的均值(u
m
)和遮挡图像的人脸特征向量的方差(σ
m
)确定,未遮挡图像的隐变量基于未遮挡图像的人脸特征向量的均值(u
n
)和未遮挡图像的人脸特征向量的方差(σ
n
)确定。具体地,均值可以是身份信息,即遮挡图像或非遮挡图像中的人物的身份信息,方差可以是建模过程中的噪声。
[0035]
例如,z
(i)
=u
(i)
+εσ
(i)
,其中,z
(i)
表示随机采样得到的遮挡图像的隐变量或随机采样得到的未遮挡图像的隐变量,u
(i)
表示遮挡图像的人脸特征向量的均值或未遮挡图像的人脸特征向量的均值,ε表示随机参数,ε∈n(0,1),σ
(i)
表示遮挡图像的人脸特征向量的方差或未遮挡图像的人脸特征向量的方差。
[0036]
在一个例子中,以模拟遮挡物为模拟口罩为例,人脸识别模型和隐变量模型的连
接示意如图3所示。其中,人脸识别模型是预先训练好的针对未戴口罩的人脸识别模型。将该预先训练好的人脸识别模型中的各参数作为该人脸识别模型的初始参数。人脸识别模型301的输入是人脸rgb图像,输出是人脸rgb图像的人脸特征向量。例如,人脸识别模型301输入的人脸rgb图像的可以是224*224*3的图像,其中,224*224为人脸rgb图像的宽和高,3为人脸rgb图像的通道数。人脸识别模型301的核心网络(backbone网络)可以采用常用的人脸识别网络。具体的,常见的人脸识别网络包括但不限于vggnet网络、resnet网络、densenet网络、mobilenet网络和shufflenet网络等。人脸识别模型301输出的人脸特征向量是128维度的向量。将遮挡图像(即戴口罩的人脸图像)和未遮挡图像(即不戴口罩的人脸图像)分别输入人脸识别模型,得到遮挡图像的128维的人脸特征向量,以及未遮挡图像的128维的人脸特征向量。隐变量模型302可以是变分自编码器(vae),通过四个神经网络,分别为第一神经网络、第二神经网络、第三神经网络和第四神经网络,第一神经网络用于预测遮挡图像的人脸特征向量的均值,第二神经网络用于预测遮挡图像的人脸特征向量的方差,第三神经网络用于预测未遮挡图像的人脸特征向量的均值,第四神经网络用于预测未遮挡图像的人脸特征向量的方差。针对第一神经网络和第二神经网络形成了遮挡图像的人脸特征向量的均值和遮挡图像的人脸特征向量的方差的高斯分布。针对第三神经网络和第四神经网络形成了未遮挡图像的人脸特征向量的均值和未遮挡图像的人脸特征向量的方差的高斯分布。对各高斯分布采用重采样技术,得到遮挡图像和未遮挡图像的隐变量。即通过添加服从0~1分布的高斯噪声(ε),利用u
(i)
+εσ
(i)
来得到隐变量。这样网络就可以优化参数u
n
、σ
n
、u
m
和σ
m
。得到隐变量后,基于隐变量再去生成对应于该分布下的输出数据,恢复为128维的特征。
[0037]
可选择的,隐变量损失函数用于约束遮挡图像的人脸特征向量的均值和遮挡图像对应的未遮挡图像的人脸特征向量的均值的差值,以及遮挡图像的人脸特征向量的方差和遮挡图像对应的未遮挡图像的人脸特征向量的方差之间的差值。
[0038]
可选择的,根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型,包括:将图像训练集输入人脸识别模型,得到各训练图像的人脸特征向量;将各训练图像的人脸特征向量和各训练图像的第二标签作为训练数据;利用训练数据、隐变量损失函数和第二分类损失函数,训练隐变量模型。
[0039]
例如,以图3为例,由于戴口罩和不戴口罩提取的特征主要差异来自于方差,所以构造一个正交矩阵p,使得σ
n
=pσ
m
。因此,隐变量损失函数的部分约束为:根据拉格朗日乘子,上式可以改写为:其中,表示隐变量约束,表示第i个遮挡图像的人脸特征向量的第j个维度的方差,表示第i个遮挡图像的人脸特征向量的第j个维度的均值,表示第i个未遮挡图像的人脸特征向量的第j个维度的方差,表示第i个未遮挡图像的人脸特征向量的第j个维度的均值,表示第i个遮挡图像的人脸特征向量,表示隐变量模型生成后
的第i个遮挡图像的人脸特征向量,表示第i个未遮挡图像的人脸特征向量,表示隐变量模型生成后的第i个未遮挡图像的人脸特征向量,表示第一权重,用来控制同一人的遮挡图像的人脸特征向量和未遮挡图像的人脸特征向量经过vae分解后的均值接近的程度,表示遮挡图像的人脸特征向量的均值,表示未遮挡图像的人脸特征向量的均值,表示第二权重,用来控制同一人的遮挡图像的人脸特征向量和未遮挡图像的人脸特征向量经过vae分解后的标准差通过正交变换后对齐的程度,表示未遮挡图像的人脸特征向量的方差,表示遮挡图像的人脸特征向量的方差,表示第三权重,用来约束矩阵p,以使p正交,p表示构造的正交矩阵,i表示单位矩阵,第一权重、第二权重和第三权重通过经验调参确定。
[0040]
以上各实施例可以相互结合相互引用,例如下面是各实施例结合后的例子,然并不以此为限;各实施例在不矛盾的前提下可以任意结合成为一个新的实施例。
[0041]
在一个实施例中,如图4所示为电子设备执行的模型训练方法,包括如下步骤。
[0042]
步骤401:获取未被遮挡的初始人脸图像。
[0043]
步骤402:在初始人脸图像上叠加模拟遮挡物。
[0044]
步骤403:根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像。
[0045]
可选择的,根据模拟遮挡物的颜色值,调整初始人脸图像的颜色值,得到初始遮挡图像,包括:确定初始人脸图像中被覆盖的关键点;将被覆盖的关键点的颜色值调整为模拟遮挡物的颜色值,得到初始遮挡图像。
[0046]
步骤404:基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像。
[0047]
可选择的,基于初始人脸图像,得到未遮挡图像,并基于初始遮挡图像,得到遮挡图像,包括:基于初始人脸图像的第一指定关键点和预设的第一标准人脸图像的第一指定关键点,计算初始人脸图像的第一仿射矩阵;根据第一仿射矩阵,对初始人脸图像进行裁剪,得到未遮挡图像;基于初始遮挡图像的第二指定关键点和预设的第二标准人脸图像的第二指定关键点,计算初始遮挡图像的第二仿射矩阵;根据第二仿射矩阵,对初始遮挡图像进行裁剪,得到遮挡图像。
[0048]
步骤405:根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型。
[0049]
可选择的,根据训练图像集和各训练图像的第二标签,利用隐变量损失函数和第二分类损失函数,训练隐变量模型,包括:将图像训练集输入人脸识别模型,得到各训练图像的人脸特征向量;将各训练图像的人脸特征向量和各训练图像的第二标签作为训练数据;利用训练数据、隐变量损失函数和第二分类损失函数,训练隐变量模型。
[0050]
可选择的,遮挡图像的隐变量基于遮挡图像的人脸特征向量的均值和遮挡图像的人脸特征向量的方差确定,未遮挡图像的隐变量基于未遮挡图像的人脸特征向量的均值和未遮挡图像的人脸特征向量的方差确定。
[0051]
可选择的,隐变量损失函数用于约束遮挡图像的人脸特征向量的均值和遮挡图像
对应的未遮挡图像的人脸特征向量的均值的差值,以及遮挡图像的人脸特征向量的方差和遮挡图像对应的未遮挡图像的人脸特征向量的方差之间的差值。
[0052]
步骤406:根据训练图像集和标签数据,利用隐变量损失函数、第一分类损失函数和第二分类损失函数,同时训练隐变量模型和人脸识别模型。
[0053]
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0054]
本技术实施例还提供一种电子设备,如图5所示,包括:至少一个处理器501;以及与所述至少一个处理器501通信连接的存储器502;其中,所述存储器存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述方法实施例。
[0055]
其中,存储器502和处理器501采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器501和存储器502的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器501处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器501。
[0056]
处理器501负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
[0057]
本技术实施例还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
[0058]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0059]
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1