一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人脸检测模型的训练方法、存储介质及终端设备与流程

2021-11-15 15:37:00 来源:中国专利 TAG:


1.本发明涉及人脸检测技术领域,特别涉及一种人脸检测模型的训练方法、存储介质及终端设备。


背景技术:

2.人脸作为区分个体之间的一个基本属性,在计算机视觉和多媒体应用领域每天被频繁识别。这些应用中,人脸识别模型需要被重新部署在移动手机甚至智能摄像头中,用于相机自动对焦、人机交互、照片管理、城市安防监控、智能驾驶等诸多领域。当前,人脸识别在开放环境条件下的实际应用中,经常需要识别可见光不足情况拍摄的人脸图像。在这种情况下,人脸检测模型识别精度会产生很大的下降,而造成人脸图像识别失败。


技术实现要素:

3.本发明要解决的技术问题在于,针对现有技术的不足,提供一种人脸检测模型的训练方法、存储介质及终端设备。
4.为了解决上述技术问题,本发明所采用的技术方案如下:
5.一种人脸检测模型的训练方法,所述方法包括:
6.将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集,其中,所述预设序列图像组包括第一图像、第二图像以及第一图像对应的真实人脸信息;所述第二图像为所述第一图像的红外图像;
7.将所述第二图像输入预设的第二网络模型,以得到所述第二图像对应的第二分类图集以及预测人脸信息;
8.基于所述第一分类图集、所述第二分类图集、所述预测人脸信息以及所述真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。
9.所述人脸检测模型的训练方法,其中,所述第一网络模型为第二网络模型的教师网络模型,第二网络模型为第一网络模型的学生网络模型。
10.所述人脸检测模型的训练方法,其中,所述第一网络模型为基于训练图像组中的第一图像以及第一图像对应的真实人脸信息训练得到的。
11.所述真实人脸信息包括所述第一图像中人脸位置信息以及人脸位置信息的置信度;所述预设人脸信息包括预测得到的第二图像中预测人脸位置信息以及预测人脸位置信息的预测置信度。
12.所述人脸检测模型的训练方法,其中,所述第一网络模型至少包括卷积模块、第一连接模块和第二连接模块,所述卷积模块分别与所述第一连接模块和第二连接模块相连接,所述第二连接模块与所述第一连接模块相连接;所述将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集具体包括:
13.将所述第一图像输入至所述卷积模块,通过所述卷积模块输入第一特征图、第二特征图以及第三特征图;
14.将所述第二特征图和所述第三特征图输入所述第二连接模块,通过所述第二连接模块输出第四特征图;
15.将所述第一特征图和所述第四特征图输入所述第一连接模块,通过所述第一连接模块输出第五特征图,以得到第一分类图集,其中,所述第一分类图集包括所述第三特征图、所述第四特征图以及所述第五特征图,所述第三特征图、第四特征图以及第五特征图均用于确定第二图像中的人脸信息。
16.所述人脸检测模型的训练方法,其中,所述第三特征图、所述第四特征图和所述第五特征图均包括分类图和回归图,所述第一分类图集包括所述第三特征图的分类图、所述第四特征图的分类图以及所述第五特征图的分类图,其中,所述分类图用于检测第二图像中是否携带人脸图像,所述回归图用于识别第二图像中人脸图像的人脸信息。
17.所述人脸检测模型的训练方法,其中,所述所述第二网络模型的模型结构与第一网络模型对应的初始网络模型的模型结构相同。
18.所述人脸检测模型的训练方法,其中,所述基于所述第一分类图集、所述第二分类图集、所述预测人脸信息以及所述第二图像对应的真实人脸信息对所述第二网络模型进行训练型,以得到人脸检测模型,具体包括:
19.根据所述第一分类图集以及所述第二分类图集计算第一损失函数;
20.根据所述预测人脸信息以及所述第二图像对应的真实人脸信息计算第二损失函数;
21.基于所述第一损失函数以及所述第二损失函数计算第三损失函数,并根据所述第三损失函数对所述第二网络模型的模型参数进行修正,以对所述第二网络模型进行训练,直至第二网络模型的模型参数满足预设条件。
22.所述人脸检测模型的训练方法,其中,所述第一分类图集包括若干第一分类图,所述第二分类图集包括若干第二分类图,所述若干第二分类图与所述若干第一分类图集一一对应;所述根据所述第一分类图集以及所述第二分类图集计算第一损失函数具体包括:
23.对于所述第一分类图集中的每个第一分类图,在所述第二分类图集中确定该第一分类图对应的第二分类图;
24.根据所述第一分类图与所述第二分类图计算第四损失函数;
25.根据计算得到的所有第四损失函数计算所述第一损失函数。
26.所述人脸检测模型的训练方法,其中,各第一分类图的通道数与各自分别对应的第二分类图的通道数不同;所述根据所述第一分类图与所述第二分类图计算第四损失函数具体包括:
27.对所述第一分类图进行下采样处理,得到处理后的第一分类图,其中,所述处理后的第一分类图通道数与所述第二分类图的通道数相等;
28.根据所述处理后的第一分类图与所述第二分类图计算第四损失函数。
29.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的人脸检测模型的训练方法中的步骤。
30.一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
31.所述通信总线实现处理器和存储器之间的连接通信;
32.所述处理器执行所述计算机可读程序时实现如上任一所述的人脸检测模型的训练方法中的步骤。
33.有益效果:与现有技术相比,本发明提供了一种人脸检测模型的训练方法、存储介质及终端设备,所述训练方法通过已训练的第一网络模型,提取训练图像组中第一图像的第一分类图集,再通过第二网络模型,提取训练图像组中第二图像的第二分类图集,以及预测人脸信息,其中,第二图像为第一图像对应的红外图像;最后基于第一分类图集、第二分类图集、预测人脸信息以及第二图像对应的真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。这样可以使得训练得到图像模型可以对红外图像进行人脸识别,并且通过采用第一网络模型的第一分类图集对第二网络模型进行训练,第一分类图集中各第一分类图是通过第一网络模型输出,其携带有第一图像中的人脸信息特征,这样在对第二网络模型进行训练时,采用第一分类图包含的人脸特征对第二分类图中的人脸特征进行修正,使得第二网络模型可以学习到第一分类图包含的人脸特征,增加了第二网络模型学习的特征,从而提高了第二网络模型的训练速度。
附图说明
34.图1为本发明提供的人脸检测模型的训练方法的应用场景图。
35.图2为本发明提供的人脸检测模型的训练方法的流程图。
36.图3为本发明提供的人脸检测模型的训练方法中初始网络模型的模型结构原理图。
37.图4为本发明提供的人脸检测模型的训练方法中第一inception单元的结构原理图。
38.图5为本发明提供的人脸检测模型的训练方法的流程示意图。
39.图6为本发明提供的终端设备的结构原理图。
具体实施方式
40.本发明提供一种人脸检测模型的训练方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
41.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
42.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的
意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
43.发明人经过研究发现,人脸识别在开放环境条件下的实际应用中,经常需要识别可见光不足(例如,夜晚等)情况拍摄的人脸图像。在这种情况下,人脸图像携带的图像噪声多(例如,图像的信噪比高等),使得人脸检测模型识别精度会产生很大的下降,而造成人脸图像识别失败。而为了提高人脸检测模型对于可见光不足情况拍摄的人脸图像的识别精确性,可以采用红外人脸图像作为样本来训练人脸检测模型,使得提高训练得到的人脸检测模块对可见光不足情况下拍摄的人脸图像的识别精度。这是由于红外人脸图像是通过获取物体红外光的强度而形成的单通道图像,其本技术具有的图像噪声多(例如,图像的信噪比高等),从而采用红外图像训练得到的神经网络模型可以识别携带图像噪声多的图像的图像精度。然而,红外人脸图像数据样本比较少,并且对红外人脸图像进行人脸信息标注需要花费大量人力以及时间,增加了基于红外人脸图像训练人脸检测模型的难度。
44.为了解决上述问题,在本发明实施例中,通过已训练的第一网络模型,提取训练图像组中第一图像的第一分类图集,再通过第二网络模型,提取训练图像组中第二图像的第二分类图集,以及预测人脸信息,其中,第二图像为第一图像对应的红外图像;最后基于第一分类图集、第二分类图集、预测人脸信息以及第二图像对应的真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。这样可以使得训练得到图像模型可以对红外图像进行人脸识别,并且通过采用第一网络模型的第一分类图集对第二网络模型进行训练,使得第二网络模型可以学习到第一分类图集携带的图像特征,从而提高了第二网络模型的训练速度。
45.举例说明,本发明实施例可以应用到如图1所示的场景。在该场景中,首先,终端设备1可以采集训练图像组,并将所述训练图像组输入服务器2,以使得服务器2依据所述训练图像组对第二网络模型进行训练,其中,所述训练图像组包括第一图像以及第二图像,第二图像为第一图像对应的红外图像。服务器2可以预先存储有第一网络模型和第二网络模型,并响应终端设备1的输入的训练图像组,将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集,以及基于第二网络模型,提取所述预设训练图像组中第二图像的第二分类图集,以及预测人脸信息;然后,基于所述第一分类图集、所述第二分类图集、所述预测人脸信息以及所述第二图像对应的真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。
46.可以理解的是,在上述应用场景中,虽然将本发明实施方式的动作描述为部分由终端设备2执行、部分由服务器1执行,但是这些动作也可以完全由服务器1执行,或者完全由终端设备2执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。
47.进一步,在获取到对第二网络模型进行训练得到的人脸检测模型后,可以将所述人脸检测模型应用于可以获取人脸图像的终端设备(例如,智能手机等)。例如,将可以获取人脸图像的终端设备在可见光不足情况下拍摄的照片作为输入项,输入所述人脸检测模型,通过所述人脸检测模型对该照片进行人脸检测,从而可以快速检测到照片中的人脸图像,提高可见光不足情况拍摄的照片的人脸检测精度。当然,在实际应用中,所述人脸检测模型可作为一个人脸检测功能模块配置于终端设备,当终端设备拍摄到照片时,启动所述
去重影功能模块,通过所述人脸检测功能模块对该照片进行人脸检测,使得终端设备可以快速准确的识别到该照片中的人脸信息。
48.需要注意的是,上述应用场景仅是为了便于理解本发明而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
49.下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
50.本实施提供了一种人脸检测模型的训练方法,如图2和5所示,所述方法包括:
51.s10、将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集,其中,所述预设序列图像组包括第一图像、第二图像以及第一图像对应的真实人脸信息;所述第二图像为所述第一图像的红外图像。
52.具体地,所述第一分类图集包括若干分类图,所述若干分类图均是通过所述第一网络模型得到。其中,所述若干分类图中的任意两个特征图的图像尺度可以不同。可以理解的是,将第一图像输入至第一网络模型时,所述第一网络模型可以输出若干张尺度不同的特征图像,所述若干张尺度不同的特征图像携带有第一图像的图像特征,以便于采用若干张尺度不同的特征图像对第二网络模型进行训练,使得第二网络模型可以学习到第一网络模型学习到的图像特征,丰富第二网络模型学习的图像特征,提高第二网络模型的训练速度,进而减少第二网络模型训练所需的样本数量。
53.进一步,所述预设训练图像组为用于训练第一网络模型以及第二网络模型的训练图像组,其中,所述预设图像组包括第一图像、第二图像以及真实人脸信息,所述第二图像为第一图像对应的红外图像,所述真实人脸信息为第一人脸图像对应的真实人脸信息。其中,所述红外图像为通过获取物体红外光的强度而形成的单通道图像,所述第一图像为彩色图像(例如,rgb图像)等,并且所述第一图像和第二图像对应相同的图像场景。可以理解的是,所述第一图像和第二图像对应相同的图像场景指的是:除了第一图像的图像色彩空间与第二图像的图像色彩空间不同(例如,第二图像为黑白图像,第一图像为rgb图像)以外,第一图像携带的图像内容与第二图像携带的图像内容的相似度达到预设阈值,所述第一图像的图像尺寸与第二图像的图像尺寸相同,以使得当第一图像和第二图像重合时,第一图像携带的物体对第二图像中与其对应的物体的覆盖率达到预设阈值。其中,所述预设条件可以为99%或99.5%等。例如,当图像a为第一图像,图像b为第二图像,当图像a重叠放置于图像b上时,图像b中99%以上的像素点被图像a覆盖。
54.进一步,所述第一图像可以为通过彩色成像器(例如,rgb成像器等)拍摄得到图像,也可以是通过网络(如,百度)获取的图像,还可以是通过其他外部设备(如,智能手机)发送的图像。所述第二图像可以是通过红外成像器对第一图像对应的拍摄场景进行拍摄得到,可以是对第一图像进行处理得到红外图像。所述对第一图像进行处理指的对第一图像的颜色空间进行调整,以使得所述第一图像转换为红外图像,在处理的过程中可以同时保持第一图像的图像尺寸以及图像内容不变。
55.进一步,所述真实人脸信息为可以反映第一图像中的人脸图像在该第一图像中所处区域的位置信息,所述真实人脸信息可以通过对第一图像中携带的人脸信息进行标注得到。在一个实施例中,所述真实人脸信息可以包括人脸位置信息以及人脸位置信息对应的置信度,所述置信度用于表示人脸位置信息的可信程度。在本实施例的一个实现方式中,所述置信度的取值范围0-1,并且置信度的取值越大,说明人脸位置信息的可信程度越高;反
之,置信度的取值越小,说明人脸位置信息的可信程度越低。例如,置信度为1时人脸位置信息的可信程度高于置信度为0.1时人脸位置信息的可信程度。当然,在实际应用中,所述真实人脸信息也可以仅包括人脸位置信息,例如,人脸定位框等。
56.进一步,所述第一网络模型为已经训练的用于人脸检测的网络模型,所述第一网络模型基于所述预设训练图像组中的第一图像以及第一图像对应的真实人脸信息进行训练的。可以理解的是,在将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集之前需要基于训练图像组对第一网络模型进行训练。相应的,所述将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集之前可以包括:
57.m10、将预设训练图像组中的第一图像输入至初始网络模型,通过初始网络模型输入生成人脸信息;
58.m20、根据所述生成人脸信息以及第一图像对应的真实人脸信息对所述第一网络模型进行训练,以得到已训练的第一网络模型。
59.具体地,在所述步骤m10中,如图3所示,所述初始网络模型包括卷积模块100、第一连接模块300、第二连接模块200以及分类模块400,所述卷积模块100分别与所述第一连接模块300和第二连接模块200相连接,所述第二连接模块200与所述第一连接模块100相连接,通过所述分类模块400输入所述生成人脸信息。由此,所述将预设训练图像组中的第一图像输入至初始网络模型,通过初始网络模型输入生成人脸信息具体可以包括:
60.l10、将所述第一图像输入至所述卷积模块,通过所述卷积模块输入第一特征图、第二特征图以及第三特征图;
61.l20、将所述第二特征图和所述第三特征图输入所述第二连接模块,通过所述第二连接模块输出第四特征图;
62.l30、将所述第一特征图和所述第四特征图输入所述第一连接模块,通过所述第一连接模块输出第五特征图;
63.h40、将第三特征图像、第四特征图像以及第五特征图像输入至分类模块,通过分类模块输入生成人脸信息。
64.具体地,所述卷积模块100包括第一卷积模块102、第二卷积模块103以及inception模块101,所述inception模块101与所述第一卷积模块102相连接,所述第一卷积模块102与第二卷积模块103相连接,所述第二卷积模块103和所述第一卷积模块102均与所述第二连接模块200相连接,所述第二连接模块200和所述inception模块101均与所述第一连接模块300,所述第二卷积模块103、第一连接模块300以及第二连接模块200均与所述分类模块400相连接,通过所述分类模块400输入所述生成人脸信息。其中,所述inception模块101用于输出第一图像对应的第一特征图像,所述第一卷积模块102用于输出第一图像对应的第二特征图像,所述第二卷积模块103用于输出第一图像对应的第三特征图像。
65.进一步,所述inception模块101包括卷积单元以及inception单元,所述卷积单元与所述inception单元相连接,通过卷积单元与inception单元提取第一图像的图像特征。在本实施例的一个可能实现方式中,所述卷积单元可以包括五个卷积层,分别为第一卷积层、第二卷积层、第三卷积层、第四卷积层以及第五卷积层,其中,所述第一卷积层、第二卷积层、第三卷积层、第四卷积层以及第五卷积层依次堆叠。所述第一卷积层、第二卷积层、第
三卷积层、第四卷积层以及第五卷积层的卷积核大小均为3*3,步长均为2,第一卷积层的卷积核数量为8,第二卷积层的卷积核数量为16,第三卷积层的卷积核数量为32,第四卷积层的卷积核数量为64,以及第五卷积层的卷积核数量为128,其中,各卷积层的卷积核数量表示通过该卷积层进行的卷积运算后,得到的输出图像的通道,例如,第一卷积层的卷积核数量为8,则第一卷积层输出的输出图像的通道数为8。
66.进一步,所述inception单元包括三个inception块,分别为第一inception块、第二inception块以及第三inception块,所述第一inception块的输入项为第五卷积层的输入项,所述第一inception块与所述第二inception块相连接,所述第三inception块分别与第一卷积模块以及第一连接模块相连接。其中,所述第一inception块、第二inception块以及第三inception块的网络结构相同,这里以第一inception块为例加以说明。如图4所示,所述第一inception块包括第一卷积块、第二卷积块、第三卷积块、第四卷积块以及连接层,所述第一卷积块、第二卷积块、第三卷积块以及第四卷积块并联,并且第一卷积块、第二卷积块、第三卷积块以及第四卷积块均与连接层相连接。这样通过包括并联设置第一卷积块、第二卷积块、第三卷积块以及第四卷积块的inception块可以增加了网络宽度以及网络对尺度的适应性。
67.进一步,在本实施例的一个实现方式中,所述第一卷积块包括卷积层a,该卷积层a的卷积核为1*1,该卷积层a的卷积核为32。第二卷积块包括依次堆叠的池化层以及卷积层b,池化层的池化核为3*3,卷积层b的卷积核为1*1,该卷积层b的卷积核为32。第三卷积块包括依次堆叠的卷积层c以及卷积层d,卷积层c的卷积核为1*1,该卷积层c的卷积核为24,卷积层d的卷积核为3*3,该卷积层d的卷积核为32。第四卷积块包括依次堆叠的卷积层e、卷积层f以及卷积层g,卷积层e的卷积核为3*3,该卷积层e的卷积核为24,卷积层f的卷积核为3*3,该卷积层f的卷积核为32、卷积层g的卷积核为3*3,该卷积层g的卷积核为32。
68.进一步,所述第一卷积模块102包括卷积层a和卷积层b,所述卷积层a与所述卷积层b相连接,其中,所述卷积层a的输入项为第三inception块的输出项,所述卷积层b的输入项为卷积层a的输出项,并且所述卷积层b分别与所述第一连接模块以及第二卷积模块相连接。在本实施例的一个实现方式中,所述卷积层a的卷积核大小可以为1*1,卷积层a的卷积核数量为128,步长为1;卷积层b的卷积核大小可以为3*3,卷积层b的卷积核数量为256,步长为2。
69.进一步,所述第二卷积模块103包括卷积层c和卷积层d,所述卷积层c与所述卷积层d相连接,其中,所述卷积层c的输入项为第一卷积模块的输出项,所述卷积层d的输入项为卷积层c的输出项,并且所述卷积层d分别与所述第一连接模块以及分类模块相连接。在本实施例的一个实现方式中,所述卷积层c的卷积核大小可以为1*1,卷积层c的卷积核数量为128,步长为1;卷积层d的卷积核大小可以为3*3,卷积层d的卷积核数量为256,步长为2。
70.进一步,所述第一连接模块包括连接层a,第二连接模块包括连接层b,连接层a用于将第四特征图像与第一特征图像拼接,所述连接层b用于将第二特征图像与第三特征图像拼接。所述分类模块为多任务学习模型,该多任务学习模块基于输入其内的输入项可以输出多个输出项;所述分类模块的输入项为第三特征图像、第四特征图像以及第五特征图像,输出项为生成人脸位置信息以及生成人脸位置信息对应的生成置信度,其中,所述生成人脸位置信息以及生成人脸位置信息对应的生成置信度构成所述第一图像对应的生成人
脸信息。所述生成人脸位置信息为第一网络模型输出的人脸位置信息;所述预测置信度用于表示第一网络模型输出的人脸位置信息的可信程度。在本实施例的一个实现方式中,所述生成置信度的取值范围0-1,并且生成置信度的取值越大,说明生成人脸位置信息的可信程度越高;反之,生成置信度的取值越小,说明生成人脸位置信息的可信程度越低。例如,生成置信度为1时,生成人脸位置信息的可信程度高于生成置信度为0.1时生成人脸位置信息的可信程度。此外,在实际应用中,所述生成人脸位置信息可以采用人脸框形式表示,可以理解的是,在对第一网络模型进行训练时,第一网络模型输出生成人脸框以及生成人脸框对应的生成置信度,而当第一网络模型在使用过程中时,所述第一网络模型仅需要输出人脸框。
71.进一步,在所述步骤m20中,所述根据所述生成人脸信息以及第一图像对应的真实人脸信息对所述第一网络模型进行训练指的是基于生成人脸信息以及真实人脸信息确定损失函数对所述第一网络模型的模型参数进行训练,其中,所述基于生成人脸信息以及真实人脸信息确定损失函数包括二分类损失函数以及平滑损失函数,其中,所述二分类损失函数用于分类任务,所述损失函数用于定位任务。在本实施例的一个实现方式中,所述二分类损失函数为对数似然损失函数,其中,所述对数似然损失函数的计算公式可以表示为:
[0072][0073]
其中,n表示训练批次数,y
(i)
表示一批次训练样本中第i样本对应的真实置信度,为该批次训练样本中第i样本对应的预测置信度。
[0074]
进一步,所述平滑损失函数为平滑l1损失函数,所述平滑l1损失函数的计算公式可以为:
[0075][0076]
其中,所述x根据预测人脸位置信息与真实人脸位置信息计算得到,所述x的计算过程可以为:对于预测人脸位置信息中每个第一位置点,计算该第一位置点与真实人脸信息中该第一位置点对应的第二位置点的差值,再根据计算得到的所有差值的和以得到x的值。
[0077]
进一步,在基于损失函数对所述初始网络模型的模型参数进行修正时,可以判断初始网络模型的训练状态是否满足预设条件。所述预设条件包括损失函数值满足预设要求或者训练次数达到预设次数。所述预设要求可以是根据第一网络模型的精度来确定,这里不做详细说明,所述预设次数可以为初始网络模型的最大训练次数,例如,2000次等。由此,在初始网络模型输出生成人脸信息后,根据所述生成人脸信息以及所述真实人脸信息来计算初始网络模型的损失函数值,在计算得到损失函数值后,判断所述损失函数值是否满足预设要求;若损失函数值满足预设要求,则结束训练;若损失函数值不满足预设要求,则判断所述初始网络模型的训练次数是否达到预测次数,若未达到预设次数,则根据所述损失函数值对所述初始网络模型的网络参数进行修正;若达到预设次数,则结束训练。这样通过损失函数值和训练次数来判断初始网络模型训练是否结束,可以避免因损失函数值无法达
到预设要求而造成初始网络模型的训练进入死循环。
[0078]
进一步,在本实施例的一个实现方式中,在基于损失函数对初始网络模型的模型参数进行修正时,修正方法可以为:首先在第一训练时,初始网络模型的参数采用xavier方法初始化,其中,xavier方法初始化由xavier glorot在2010年的论文understanding the difficulty of training deep feedforward neural networks提出。为了避免梯度爆炸或者梯度消失,有两个经验性的准则为每一层神经元激活值的均值要保持为0以及每一层激活的方差应该保持不变,并且在正向传播时,每层的激活值的方差保持不变;在反向传播时,每层的梯度值的方差保持不变。在第二训练以后基于损失函数采用sgd优化器对模型参数进行修正,并且当本次优化完成后,将优化后的模型参数更新初始网络模型的模型参数,并采用更新后的初始网络模型提取训练图像组中第一图像对应的生成人脸信息。其中,所述修正方法中动量(momentum)设置为0.9,权重衰减(weight decay)设置为0.0005,批次大小(batch size)设置为32,最大迭代次数是120000,前80000次迭代学习率设置为0.001,接下来的20000迭代学习率设置为0.0001,最后的20000迭代学习率设置为0.00001。
[0079]
进一步,在本实施例的一个实现方式中,在采用训练图像组训练第一网络模型之前,对训练图像组进行增广处理。所述增广处理的过程可以为:颜色抖动操作、随机裁剪操作、尺度变换操作以及水平翻转操作等,最后将第一图像缩放到预定大小(例如,1024*1024等)。其中,所述颜色抖动操作可以分别以0.5的概率,随机地调整训练图像的亮度、对比度、饱和度等参数。所述随机裁剪操作可以为在第一图像上随机地裁剪出若干张正方形子图像(例如,8张),其中,1个是其最大的正方形子图像,其余正方形子图像的边长是第一图像短边的0.4~0.8,并在若干在正方形子图像中随机地选取1张作为第一图像。所述尺度变换操作可以为将经过随机裁剪操作的第一图像缩放大预定大小(例如,1024*1024等)。所述水平翻转操指的是将第一图像以一定概率(例如,0.5等)随机地进行水平翻转操作。
[0080]
进一步,由上述训练过程可以得出,所述输入分类模块的第三特征图像、第四特征图像以及第五特征图像分别用于分类任务以及定位任务,相应的,所述第三特征图像、第四特征图像以及第五特征图像均包括回归图和分类图,其中,所述分类图用于检测第二图像中是否携带人脸图像,所述回归图用于识别第二图像中人脸图像的人脸信息。所述回归图的标注标签原本就是实数(例如,0,1等),其与真实人脸位置信息相对应,而分类图的输出为介于0-1之间的数值,相对于真实置信度的0和1而言,分类图的输出更精确更平衡。从而,在基于第一网络模型对第二网络模型进行训练时,采用分类图进行知识学习。故此,在将第一图像输入至第一网络模型时,通过第一网络模型输出若干尺度不同的分类图,以便于第二网络模型进行学习。可以理解的是,在可以控制所述分类模块不输出,以使得第一网络模型输入第三特征图像、第四特征图像以及第五特征图像,并且在获取到第三特征图像、第四特征图像以及第五特征图像后,分别选取第三特征图像、第四特征图像以及第五特征图像中的分类图,以得到第一分类图集。
[0081]
在本实施例的一个实现方式中,所述第一网络模型至少包括卷积模块、第一连接模块和第二连接模块,所述卷积模块分别与所述第一连接模块和第二连接模块相连接,所述第二连接模块与所述第一连接模块相连接;所述将预设训练图像组中的第一图像输入已训练的第一网络模型,以得到所述第一图像对应的第一分类图集具体包括:
[0082]
s11、将所述第一图像输入至所述卷积模块,通过所述卷积模块输入第一特征图、
第二特征图以及第三特征图;
[0083]
s12、将所述第二特征图和所述第三特征图输入所述第二连接模块,通过所述第二连接模块输出第四特征图;
[0084]
s13、将所述第一特征图和所述第四特征图输入所述第一连接模块,通过所述第一连接模块输出第五特征图,以得到第一分类图集,其中,所述第一分类图集包括所述第三特征图、所述第四特征图以及所述第五特征图,其中,所述第三特征图、第四特征图以及第五特征图均用于确定第二图像中的人脸图信息。
[0085]
具体地,所述第三特征图、所述第四特征图以及所述第五特征图均包括分类图和回归图,所述第一分类图集包括所述第三特征图的分类图、所述第四特征图的分类图以及所述第五特征图的分类图。可以理解的是,在获取到第三特征图、所述第四特征图以及所述第五特征图后,分别提取第三特征图、所述第四特征图以及所述第五特征图包含的分类图,并将提取到的所有分类图构成的集合作为第一分类图集。其中,所述分类图用于检测第二图像中是否携带人脸图像,所述回归图用于识别第二图像中人脸图像的人脸信息。
[0086]
进一步,所述卷积模块用于输出第一特征图、第二特征图以及第三特征图,并将第一特征图像输入至第一连接模块,将第二特征图和第三特征图分别输入至第二连接模块;所述第二连接模块将输入第二特征图和第三特征图输出第四特征图,并将第四特征图输入第一连接模块;第一连接模块根据输入的第一特征图和第四特征图输出第五特征图,以得到第三特征图、第四特征图以及第五特征图。其中,所述卷积模块的结构与初始网络模型中的卷积模块的结构相同,具体可以参照初始网络模型中的卷积模块的结构的说明。所述第一网络模型的卷积模块的对第一图像的处理与初始网络模型中的卷积模块对第一图像的处理过程相同,从而所述步骤s11的具体执行过程可以参照步骤l10。同样的,所述第一连接模块的结构与初始网络模型中的第一连接模块的结构相同,具体可以参照初始网络模型中的第一连接模块的结构的说明。所述第一网络模型的第一连接模块的对第一特征图和第四特征图的处理过程与初始网络模型中的第一连接模块的对第一特征图和第四特征图的处理过程相同,从而所述步骤s12的具体执行过程可以参照步骤l20。所述第二连接模块的结构与初始网络模型中的第一连接模块的结构相同,具体可以参照初始网络模型中的第二连接模块的结构的说明。所述第一网络模型的第二连接模块的对第二特征图和第三特征图的处理过程与初始网络模型中的第二连接模块的对第二特征图和第三特征图的处理过程相同,从而所述步骤s13的具体执行过程可以参照步骤l30
[0087]
可以理解的是,第一网络模型在训练过程中对应的网络结构,与在应用过程中所对应的网络结构相同,仅是在应用过程中分类模块不输出。例如,在训练的过程中,第一网络模型包括卷积模块、第一连接模块、第二连接模块以及分类模块,那么相应地,在通过第一网络模型应用过程中时,第一网络模型也包括第一网络模型包括卷积模块、第一连接模块、第二连接模块以及分类模块,仅是分类模块不输出,使得第一网络模型输出第三特征图、第四特征图以及第五特征图。当然,值得说明的是,在基于已训练的第一网络模型训练第二网络模型时,已训练的第一网络模型的模型参数不变,这样可以避免第二网络模型的训练过程对已训练的第一网络模型的影响,从而保证了已训练的第一网络模型输出的第一分类图集的精确性。
[0088]
s20、将所述第二图像输入预设的第二网络模型,以得到所述第二图像对应的第二
分类图集以及预测人脸信息。
[0089]
具体地,所述第二图像为第一图像的红外图像,所述第一图像和第二图像对应相同的图像场景,其中,所述第一图像为第二图像为彩色图像(例如,rgb图像)。第二网络模型为第一网络模型的学生网络模型,所述第一网络模型为第二网络模型的教师网络模型。所述第二网络模型包括的网络层与所述第一网络模型对应的初始网络模型包括的网络层相对应,可以理解的是,初始网络模型包括卷积模块、第一连接模块、第二连接模块以及分类模块,相应的,所述第二网络模型包括卷积模块、第一连接模块、第二连接模块以及分类模块,并且初始网络模型中卷积模块、第一连接模块、第二连接模块以及分类模块与第二网络模型中的卷积模块、第一连接模块、第二连接模块以及分类模块工作过程均相同,具体可以参照步骤l10-l30中的说明,这里就不再赘述。
[0090]
进一步,所述第二网络模型与初始网络模型的区别在于,对于初始网络模型中每个第一网络层,该第一网络层的通道数大于第二网络层的通道数,其中,第二网络层为所述第二网络层为所述第二网络模型中与该第一网络层对应的网络层。可以理解的是,对于初始网络模型中每个第一网络层,该第一网络层的卷积核数量大于第二网络层的卷积核数量。例如,对于初始网络模型中的所述第一卷积层的卷积核数量为8,第二网络模型中第一卷积层的卷积核数量可以为4等。此外,在本实施例的一个可能实现方式中,对于初始网络模型中每个第一网络层,每个第一网络层的通道数与其对应的第二网络层的通道数的比值均相等,例如,第一网络层的通道数与其对应的第二网络层的通道数的比值为4,这样可以减少基于第二网络模型训练得到人脸检测模型的复杂程度,同时减少了人脸检测模型的计算量,从而可以提高检测模型的检测速度。此外,通过降低图像通道数,可以降低人脸检测模型所占用的内存,使得人脸检测模型可以部署在低端嵌入式芯片上,提高了人脸检测模型的适用范围。
[0091]
进一步,所述第二网络模型与初始网络模型的输出项不同,第二网络模型输出第二分类图集以及预测人脸信息,其中,第二分类图集的获取过程与第一分类图集的获取过程相同,具体可以参照第一分类图集的获取过程,这里就不再赘述。所述第二分类图集包括若干第二分类图,对于第二分类图中的每个第二分类图,第一分类图集中均存在一个第一分类图与该第二分类图相对应。可以理解的是,若干第二分类图中各第二分类图的图像尺度不同,并且若干第二分类图与若干第一分类图一一对应,以便于后续根据各第二分类图以及各自对应的第一分类图对第二网络模型进行训练。
[0092]
s30、基于所述第一分类图集、所述第二分类图集、所述预测人脸信息以及所述第二图像对应的真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。
[0093]
具体地,所述真实人脸信息为第二图像对应的第一图像的真实人脸信息。可以理解的是,用于训练第二网络模型的训练图像组中,训练图像组中包括第一图像、第二图像以及真实人脸信息,其中,真实人脸信息为第一图像对应的真实人脸信息。由于第二图像为第一图像对应的红外图像,第二图像和第一图像对应相同的图像场景,从而可以将第一图像对应的真实人脸信息作为第二图像对应的真实人脸信息,这样可以无需对第二图像进行人脸信息标注,从而可以避免红外图像人脸信息标注困难的问题,从而降低了训练样本的获取难度。
[0094]
进一步,在本实施例的一个实现方式中,所述基于所述第一分类图集、所述第二分
类图集、所述预测人脸信息以及所述第二图像对应的真实人脸信息对所述第二网络模型进行训练型具体包括:
[0095]
s31、根据所述第一分类图集以及所述第二分类图集计算第一损失函数;
[0096]
s32、根据所述预测人脸信息以及所述第二图像对应的真实人脸信息计算第二损失函数;
[0097]
s33、基于所述第一损失函数以及所述第二损失函数计算第三损失函数,并根据所述第三损失函数对所述第二网络模型的模型参数进行修正,以对所述第二网络模型进行训练。
[0098]
具体地,如图5所示,所述第一损失函用于表示第一分类图集10中各第一分类图与第二分类图集30中各自对应的第二分类图的差异,以使得第二网络模型可以通过第一分类图集学习到已训练的第一网络模型学习到图像特征。所述第二损失函数用于表示真实人脸信息与预测人脸信息的差异,以对使得第二网络模型输出的预测人脸信息向真实人脸信息靠近。
[0099]
进一步,在本实施例的一个实现方式中,所述根据所述第一分类图集以及所述第二分类图集计算第一损失函数具体包括:
[0100]
s311、对于所述第一分类图集中的每个第一分类图,在所述第二分类图集中确定该第一分类图对应的第二分类图;
[0101]
s312、根据所述第一分类图与所述第二分类图计算第四损失函数;
[0102]
s313、根据计算得到的所有第四损失函数计算所述第一损失函数。
[0103]
具体地,所述第一分类图集包括若干第一分类图,第二分类图集包括若干第二分类图,若干第一分类图与若干第二分类图一一对应。由此,对于所述第一分类图集中每个第一分类图,在第二分类图集中均能找到一张第二分类图,该第二分类图与该第一分类图对应,该第二分类图的图像尺寸与该第一分类图的图像尺寸相等。所述第二分类图对第一分类图像对应指的是第二网络模型中输出第二分类图的网络模块与第一网络模型中输出第一分类图的网络模型相同,例如,第一分类图为第一网络模型中的卷积模块输出的,那么第二分类图为第二网络模型中的卷积模块输出的。
[0104]
进一步,所述第四损失函数的计算公式可以为:
[0105][0106]
其中,l4表示第四损失函数,p
i
为第一分类图集中的第i个第一分类图,q
i
为第二分类图集中与第i个第一分类图对应的第二分类图。
[0107]
所述第一损失函数为各第四损失函数的均值,相应的,第一损失函数的计算公式可以为:
[0108][0109]
其中,l
kd
表示第四损失函数,s表示第一分类图集中第一分类图的数量,p
i
为第一分类图集中的第i个第一分类图,q
i
为第二分类图集中与第i个第一分类图对应的第二分类图。
[0110]
进一步,在基于损失函数对所述第二网络模型的模型参数进行修正时,可以判断
第二网络模型的训练状态是否满足预设条件。所述预设条件包括损失函数值满足预设要求或者训练次数达到预设次数。所述预设要求可以是根据第二网络模型的精度来确定,这里不做详细说明,所述预设次数可以为第二网络模型的最大训练次数,例如,2000次等。由此,在待训练的第热网络模型输出预测人脸信息后,根据第一分类图集、第二分类图集、预测人脸信息以及所述真实人脸信息来计算第二网络模型的损失函数值,在计算得到损失函数值后,判断所述损失函数值是否满足预设要求;若损失函数值满足预设要求,则结束训练;若损失函数值不满足预设要求,则判断所述第二网络模型的训练次数是否达到预测次数,若未达到预设次数,则根据所述损失函数值对所述第二网络模型的网络参数进行修正;若达到预设次数,则结束训练。这样通过损失函数值和训练次数来判断第二网络模型训练是否结束,可以避免因损失函数值无法达到预设要求而造成第二网络模型的训练进入死循环。
[0111]
进一步,在本实施例的一个实现方式中,在基于损失函数对初始网络模型的模型参数进行修正时,修正方法可以为:首先在第一训练时,第二网络模型的参数采用xavier方法初始化,在第二训练以后基于损失函数采用sgd优化器对模型参数进行修正,并且当本次优化完成后,将优化后的模型参数更新第二网络模型的模型参数,并采用更新后的第二网络模型提取训练图像组中第二图像对应的预测人脸信息以及第二分类图集。其中,所述修正方法中动量(momentum)设置为0.9,权重衰减(weight decay)设置为0.0005,批次大小(batch size)设置为32,最大迭代次数是120000,前80000次迭代学习率设置为0.001,接下来的20000迭代学习率设置为0.0001,最后的20000迭代学习率设置为0.00001。
[0112]
当然,值得说明的是,在对第二网络模型训练得到人脸检测模型后,该训练得到的人脸检测模型在使用时,可以单独使用。可以理解的是,在训练得到人脸检测模型后,可以将单独人脸检测模型部署至终端设备,以使得所述终端设备可以进行人脸检测,而无需同时部署已训练的第一网络模型。
[0113]
进一步,在本实施例的一个实现方式中,所述第一网络模型对应的初始网络模型中包括若干第一网络模型,若干第一网络模型中的每个第一网络层,该第一网络层的通道数大于第二网络层的通道数,所述第二网络层为所述第二网络模型中与该第一网络层对应的网络层。由此,第一分类图像的通道数大于第二分类图像的通道数,这样在基于第一分类图和第二分类图计算损失函数之前,可以通过减少第一分类图的通道数来使得第一分类图的通道数与第二分类图的通道相等,会保留第一分类图中的图像特征,对基于第一分类图与第二分类图得到损失函数影响较小。由此,在本实施例的一个实现方式中,所述根据所述第一分类图与所述第二分类图计算第四损失函数具体包括:
[0114]
对所述第一分类图进行采样处理,得到处理后的第一分类图,其中,所述处理后的第一分类图通道数与所述第二分类图的通道数相等;
[0115]
根据所述处理后的第一分类图与所述第二分类图计算第四损失函数。
[0116]
具体地,对所述第一分类图进行采样处理可以是通过下采样模块来实现,该下采用模块为独立网络模型,其用于对第一分类图进行下采样,以使得第一分类图的通道数与第二分类图的通道数相同。可以理解的,下采样模块的输入项的通道数等于第一分类图的通道数,输出项的通道数等于第二分类图的通道数。例如,第一分类图的通道数为128,第二分类图的通道数为64,那么下采样模块的输入项的通道数为128,下采样模块的输出项的通道数为64。在一个实施例中,所述下采样模块为包括一卷积层的网络模型,该卷积层的卷积
核数量等于第二分类图的通道数。当然,值得说明的,第一分类图集中的每个第一分类图对应的第二分类图的通道数可以不同,由此,每个第一分类图可以对应一个下采样模块,通过各第一分类图各自对应的下采样模块对第一分类图进行处理,以使得各第一分类图与各自对应的第二分类图的通道数相等。
[0117]
综上,本实施例提供了一种人脸检测模型的训练方法、存储介质及终端设备,所述训练方法通过已训练的第一网络模型,提取训练图像组中第一图像的第一分类图集,再通过第二网络模型,提取训练图像组中第二图像的第二分类图集,以及预测人脸信息,其中,第二图像为第一图像对应的红外图像;最后基于第一分类图集、第二分类图集、预测人脸信息以及第二图像对应的真实人脸信息对所述第二网络模型进行训练,以得到人脸检测模型。这样可以使得训练得到图像模型可以对红外图像进行人脸识别,并且通过采用第一网络模型的第一分类图集对第二网络模型进行训练,使得第二网络模型可以学习到第一分类图集携带的图像特征,从而提高了第二网络模型的训练速度。
[0118]
基于上述人脸检测模型的训练方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的人脸检测模型的训练方法中的步骤。
[0119]
基于上述人脸检测模型的训练方法,本发明还提供了一种终端设备,如图6所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communications interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
[0120]
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0121]
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
[0122]
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0123]
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
[0124]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献