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

基于人工智能的人脸识别方法、装置、设备及存储介质与流程

2022-07-13 16:34:49 来源:中国专利 TAG:


1.本技术涉及到人工智能技术领域,特别是涉及到一种基于人工智能的人脸识别方法、装置、设备及存储介质。


背景技术:

2.近年来,基于卷积神经网络(cnn)训练得到的人脸识别模型,随着计算资源的迅速增加,取得了很大成功。现有的人脸识别模型需要训练和部署具有数百万参数资源的复杂网络,随着人脸识别转向移动设备和嵌入式设备,大型cnn的计算成本使现有的人脸识别模型无法部署到这类计算资源有限的设备上。为了减少人脸识别模型需要的计算资源以实现模型加速,研究人员提出了模型剪枝、模型量化和知识蒸馏等方法,使模型更小、计算成本降低。其中知识蒸馏的方法受到很大关注,知识蒸馏方法就是利用预先给定的大型网络(教师网络)作为监督,把知识蒸馏到网络参数较少的紧凑网络(学生网络)中,将完成蒸馏后的学生网络作为人脸识别模型,从而缩小网络规模。发明人发现从拥有第一数量的网络参数的教师网络中蒸馏得到的学生网络,比从拥有第二数量(第一数量大于第二数量)的网络参数的教师网络中蒸馏得到的学生网络的表现差。


技术实现要素:

3.本技术的主要目的为提供一种基于人工智能的人脸识别方法、装置、设备及存储介质,旨在解决目前在采用知识蒸馏方法生成人脸识别模型时,从拥有第一数量的网络参数的教师网络中蒸馏得到的学生网络,比从拥有第二数量(第一数量大于第二数量)的网络参数的教师网络中蒸馏得到的学生网络的表现差的技术问题。
4.为了实现上述发明目的,本技术提出一种基于人工智能的人脸识别方法,所述方法包括:
5.获取目标图像;
6.将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:
7.获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;
8.采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;
9.将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
10.本技术还提出了一种基于人工智能的人脸识别装置,所述装置包括:
11.图像获取模块,用于获取目标图像;
12.人脸识别结果确定模块,用于将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果;
13.模型训练模块,用于获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同。
14.本技术还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
15.本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
16.本技术的基于人工智能的人脸识别方法、装置、设备及存储介质,其中方法获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
附图说明
17.图1为本技术一实施例的基于人工智能的人脸识别方法的流程示意图;
18.图2为本技术一实施例的基于人工智能的人脸识别装置的结构示意框图;
19.图3为本技术一实施例的计算机设备的结构示意框图。
20.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.参照图1,本技术实施例中提供一种基于人工智能的人脸识别方法,所述方法包
括:
23.s1:获取目标图像;
24.s2:将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:
25.s21:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;
26.s22:采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;
27.s23:将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
28.本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
29.对于s1,可以获取用户输入的目标图像,也可以从数据库中获取目标图像,还可以从第三方应用中获取目标图像。
30.目标图像,是需要进行人脸识别的人脸图像。
31.对于s2,将所述目标图像输入预测的人脸识别模型进行人脸识别,将人脸识别得到的数据作为所述目标图像对应的人脸识别结果。
32.对于s21,可以从数据库中获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,也可以从第三方应用中获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型。
33.模型权重集包括:教师预训练模型对应的模型权重、同构助教模型对应的模型权重和异构助教模型对应的模型权重。
34.教师预训练模型,是基于卷积神经网络得到的模型。
35.所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,从而采用至少两个同构助教预训练子模型组合得到同构模型。
36.所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同,从而采用至少两个异构助教预训练子模型组合得到异构模型。
37.可选的,所述同构助教模型包括六个同构助教预训练子模型,所述异构助教模型包括两个异构助教预训练子模型。
38.可以理解的是,各个所述同构助教预训练子模型是采用不同的网络得到的模型。
39.可以理解的是,各个所述异构助教预训练子模型是采用不同的网络得到的模型。比如,所述异构助教模型包括两个异构助教预训练子模型,两个异构助教预训练子模型的第一个子模型是基于resnet50(残差网络)得到的模型,两个异构助教预训练子模型的第二个子模型是基于mobilenetv3(轻量级神经网络)得到的模型。
40.对于s22,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,从而实现了将教师预训练模型的知识蒸馏到了学生预训练模型。
41.所述蒸馏结束条件包括:蒸馏的损失值达到预设的第一收敛条件或者蒸馏次数达到预设的第二收敛条件。
42.所述第一收敛条件,是指蒸馏的总损失值收敛于预设数值。
43.所述第二收敛条件,是一个整数型的常量。
44.对于s23,当达到所述蒸馏结束条件时,所述学生预训练模型的性能已符合预设要求,因此,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
45.在一个实施例中,上述获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型的步骤,包括:
46.s211:获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集;
47.s212:将所述验证集中的每个验证样本的验证图像样本输入所述教师预训练模型进行人脸识别,得到单样本教师识别结果;
48.s213:根据所述单样本教师识别结果,将每个所述验证图像样本输入所述同构助教模型进行人脸识别,得到单样本同构识别结果;
49.s214:根据所述单样本教师识别结果,将每个所述验证图像样本输入所述异构助教模型进行人脸识别,得到单样本异构识别结果;
50.s215:根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集。
51.本实施例实现了根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,从而实现了在微调的过程中,探索最佳模型权重以实现对性能进行调优。
52.对于s211,可以获取用户输入的所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集,也可以从数据库中获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集,还可以从第三方应用中获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集。
53.所述验证集中包括多个验证样本。每个验证样本包括:验证图像样本和人脸标定结果。验证图像样本,也就是包含人脸的图像。人脸标定结果,是对验证图像样本进行人脸识别的准确结果。
54.对于s212,将所述验证集中的每个验证样本的验证图像样本输入所述教师预训练模型进行人脸识别,将人脸是识别得到数据作为单样本教师识别结果。也就是说,所述单样本教师识别结果和所述验证集中的验证样本的一一对应。
55.对于s213,根据所述单样本教师识别结果,将每个所述验证图像样本输入所述同构助教模型分别进行人脸识别、对人脸识别得到的数据的融合,将融合得到的数据作为单样本同构识别结果。也就是说,所述单样本同构识别结果和所述验证集中的验证样本的一
一对应。
56.可选的,将所述验证图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的单样本同构识别子结果;对每个所述单样本同构识别子结果与所述单样本教师识别结果之间进行欧氏距离计算,得到同构子模型距离;对各个所述同构子模型距离进行求和计算,得到同构总距离;将每个所述同构子模型距离除以所述同构总距离,得到同构子模型比例;根据各个所述同构子模型比例,对各个所述单样本同构识别子结果进行加权求和,得到所述单样本同构识别结果。从而避免了助教将错误知识连续向下传递导致错误不断积累的问题。
57.比如,所述验证图像样本y1对应的所述单样本同构识别子结果包括:tj1、tj2、tj3、tj4、tj5和tj6,tj1、tj2、tj3、tj4、tj5和tj6对应的所述同构子模型比例分别为qz1、qz2、qz3、qz4、qz5和qz6,则将tj1*qz1 tj2*qz2 tj3*qz3 tj4*qz4 tj5*qz5 tj6*qz6的计算结果作为所述单样本同构识别结果。
58.对于s214,根据所述单样本教师识别结果,将每个所述验证图像样本输入所述异构助教模型进行人脸识别、对人脸识别得到的数据融合,将融合得到的数据作为单样本异构识别结果。也就是说,所述单样本异构识别结果和所述验证集中的验证样本的一一对应。
59.可选的,将所述验证图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的单样本异构识别子结果;对每个所述单样本异构识别子结果与所述单样本教师识别结果之间进行欧氏距离计算,得到异构子模型距离;对各个所述异构子模型距离进行求和计算,得到异构总距离;将每个所述异构子模型距离除以所述异构总距离,得到异构子模型比例;根据各个所述异构子模型比例,对各个所述单样本异构识别子结果进行加权求和,得到所述单样本异构识别结果。从而避免了助教将错误知识连续向下传递导致错误不断积累的问题。
60.对于s215,基于蒙特卡洛投点法,根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集。
61.在一个实施例中,上述根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,得到所述模型权重集的步骤,包括:
62.s2151:获取计数器,并且将所述计数器初始化为1;
63.s2152:随机生成第一权重、第二权重和第三权重,其中,所述第一权重是所述教师预训练模型对应的模型权重,所述第二权重是所述同构助教模型对应的模型权重,所述第三权重是所述异构助教模型对应的模型权重;
64.s2153:根据所述第一权重、所述第二权重和所述第三权重,对目标验证样本对应的所述单样本教师识别结果、所述单样本同构识别结果及所述单样本异构识别结果进行加权求和,得到综合识别结果,其中,所述目标验证样本是所述验证集中的任一个所述验证样本;
65.s2154:对所述综合识别结果和所述目标验证样本中的人脸标定结果进行比对,得到单样本比对结果;
66.s2155:将所述计数器的值作为i,对各个所述单样本比对结果进行准确的比例计
算,得到第i轮准确率;
67.s2156:获取第i-1轮准确率;
68.s2157:若所述第i轮准确率大于或等于所述第i-1轮准确率,则将所述第一权重、所述第二权重和所述第三权重作为模型权重初始集;
69.s2158:将所述计数器的值加1,并重复执行所述随机生成第一权重、第二权重和第三权重的步骤,直至所述计数器的值大于预设次数;
70.s2159:将所述模型权重初始集作为所述模型权重集。
71.本实施例基于蒙特卡洛投点法,根据所述验证集、各个所述单样本教师识别结果、各个所述单样本同构识别结果和各个所述单样本异构识别结果,对所述教师预训练模型、所述同构助教模型和所述异构助教模型进行模型权重确定,从而实现了在微调的过程中,探索最佳模型权重以实现对性能进行调优。
72.对于s2151,可以从数据库中获取计数器,也可以从实现本技术的程序中获取计数器。
73.将获取的计数器的值初始化为1。
74.对于s2152,采用预设的权重随机生成方法,生成第一权重、第二权重和第三权重。
75.可选的,将第一权重、第二权重和第三权重进行相加,相加得到的结果等于1。
76.需要对所述第一权重进行是否作为所述教师预训练模型对应的模型权重、所述第二权重进行是否作为所述同构助教模型对应的模型权重、所述第三权重进行是否作为所述异构助教模型对应的模型权重的判断。
77.对于s2153,将所述第一权重与目标验证样本对应的所述单样本教师识别结果进行相乘,得到第一乘积,将所述第二权重与目标验证样本对应的所述单样本同构识别结果进行相乘,得到第二乘积,将所述第三权重与目标验证样本对应的所述单样本异构识别结果进行相乘,得到第三乘积,将所述第一乘积、所述第二乘积和所述第三乘积进行相加,将相加得到的结果作为所述综合识别结果。
78.对于s2154,对所述综合识别结果和所述目标验证样本中的人脸标定结果进行比对,若所述综合识别结果和所述目标验证样本中的人脸标定结果的结果相同,则确定单样本比对结果为准确,若所述综合识别结果和所述目标验证样本中的人脸标定结果的结果不同,则确定单样本比对结果为错误。
79.对于s2155,对各个所述单样本比对结果进行总数量计算,对各个所述单样本比对结果进行为准确的数量计算,将为准确的数量除以总数量,将计算得到数据作为第i轮准确率。因将所述计数器的值作为i,因此,第i轮准确率是当前轮的准确率。
80.对于s2156,可以从数据库中获取第i-1轮准确率。因将所述计数器的值作为i,因此,所述第i-1轮准确率是上一轮的准确率。
81.对于s2157,若所述第i轮准确率大于或等于所述第i-1轮准确率,也就是当前轮的准确率更高,意味着当前轮的所述第一权重、所述第二权重和所述第三权重对人脸识别的准确率更高,因此,将所述第一权重、所述第二权重和所述第三权重作为模型权重初始集。
82.对于s2158,将所述计数器的值加1,为进入下一轮提供了准备;并重复执行所述随机生成第一权重、第二权重和第三权重的步骤,也就是重复执行步骤s2152至步骤s2158,直至所述计数器的值大于预设次数;当所述计数器的值大于预设次数时,停止执行步骤s2152
至步骤s2158,开始执行步骤s2159。
83.对于s2159,当所述计数器的值大于预设次数时,意味着达到了预设的投点次数,不需要继续进行投点,因此,将所述模型权重初始集作为所述模型权重集。
84.在一个实施例中,上述获取所述教师预训练模型、所述同构助教模型、所述异构助教模型和验证集的步骤之前,还包括:
85.s2111:获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集;
86.s2112:根据所述第一训练集和所述测试集,对所述教师初始模型进行训练及测试,得到所述教师预训练模型;
87.s2113:根据所述第一训练集和所述测试集,分别对每个所述同构助教初始模型进行训练及测试,得到所述同构助教预训练子模型,并且将各个所述同构助教预训练子模型作为所述同构助教模型;
88.s2114:根据所述第一训练集和所述测试集,分别对每个所述异构助教初始模型进行训练及测试,得到所述异构助教预训练子模型,并且将各个所述异构助教预训练子模型作为所述异构助教模型。
89.本实施例通过对教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型进行独立训练,为后续进行微调训练提供了基础。
90.对于s2111,可以获取用户输入的教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集,也可以从数据库中获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集,还可以从第三方应用中获取教师初始模型、至少两个同构助教初始模型、至少两个异构助教初始模型、第一训练集和测试集。
91.第一训练集中包括多个待处理样本。每个待处理样本包括:训练图像样本和第一人脸标签。训练图像样本,也就是包含人脸的图像。第一人脸标签,是对训练图像样本进行人脸识别的准确结果。
92.测试集中包括多个测试样本。每个测试样本包括:测试图像样本和第二人脸标签。测试图像样本,也就是包含人脸的图像。第二人脸标签,是对测试图像样本进行人脸识别的准确结果。
93.对于s2112,根据所述第一训练集,对所述教师初始模型进行训练,采用所述测试集,对训练后的所述教师初始模型进行测试,若测试不合格,重复对所述教师初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述教师初始模型作为所述教师预训练模型。
94.对于s2113,根据所述第一训练集,对所述同构助教初始模型进行训练,采用所述测试集,对训练后的所述同构助教初始模型进行测试,若测试不合格,重复对所述同构助教初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述同构助教初始模型作为所述同构助教预训练子模型。
95.也就是说,每个所述同构助教初始模型是独立进行训练及测试的。
96.对于s2114,根据所述第一训练集,对所述异构助教初始模型进行训练,采用所述测试集,对训练后的所述异构助教初始模型进行测试,若测试不合格,重复对所述异构助教
初始模型进行训练及测试的步骤,若测试合格,则将测试合格的所述异构助教初始模型作为所述异构助教预训练子模型。
97.也就是说,每个所述异构助教初始模型是独立进行训练及测试的。
98.在一个实施例中,上述采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件的步骤,包括:
99.s221:获取第二训练集;
100.s222:从所述第二训练集中获取任一个训练样本作为目标训练样本;
101.s223:将所述目标训练样本中的人脸图像样本输入所述教师预训练模型进行人脸识别,得到第一全连接层输出向量和第一识别结果;
102.s224:根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果;
103.s225:根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果;
104.s226:将每个所述人脸图像样本输入所述学生预训练模型进行人脸识别,得到第四识别结果;
105.s227:根据所述目标训练样本的人脸标定值和所述第一识别结果进行损失值计算,得到第一损失值,并且根据所述第一损失值,对所述教师预训练模型进行模型参数更新;
106.s228:根据所述第一识别结果和所述第二识别结果进行损失值计算,得到第二损失值,并且根据所述第二损失值,对所述同构助教模型进行模型参数更新;
107.s229:根据所述第一识别结果和所述第三识别结果进行损失值计算,得到第三损失值,并且根据所述第三损失值,对所述异构助教模型进行模型参数更新;
108.s2210:根据所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果进行损失值计算,得到目标损失值,根据所述目标损失值,对所述学生预训练模型进行模型参数更新;
109.s2211:重复执行所述从所述第二训练集中获取任一个训练样本作为目标训练样本的步骤,直至达到所述蒸馏结束条件。
110.本实施例根据所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果进行损失值计算,从而实现同时采用所述教师预训练模型对所述学生预训练模型进行蒸馏、采用所述同构助教模型对所述学生预训练模型进行蒸馏、采用所述异构助教模型对所述学生预训练模型进行蒸馏,采用所述模型权重集对三种蒸馏进行损失融合,实现了通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
111.对于s221,可以获取用户输入的第二训练集,也可以从数据库中获取第二训练集,还可以从第三方应用中获取第二训练集。
112.第二训练集中包括多个训练样本。每个训练样本包括:人脸图像样本和人脸标定值。人脸图像样本,也就是包含人脸的图像。人脸标定值,是对人脸图像样本进行人脸识别的准确结果。
113.对于s223,将所述目标训练样本中的人脸图像样本输入所述教师预训练模型进行人脸识别,获取所述教师预训练模型的全连接层输出的向量作为第一全连接层输出向量,获取所述教师预训练模型输出的数据作为第一识别结果。
114.对于s224,根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别、对全连接层的输出的融合、对人脸识别得到的数据的融合,将对全连接层的输出的融合得到的数据作为第二全连接层输出向量,将对人脸识别得到的数据的融合得到的数据作为第二识别结果。
115.对于s225,根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别、对全连接层的输出的融合、对人脸识别得到的数据的融合,将对全连接层的输出的融合得到的数据作为第三全连接层输出向量,将对人脸识别得到的数据的融合得到的数据作为第三识别结果。
116.对于s226,将每个所述人脸图像样本输入所述学生预训练模型进行人脸识别,将人脸识别得到的数据作为第四识别结果。
117.对于s227,将所述目标训练样本的人脸标定值和所述第一识别结果输入第一损失函数进行损失值计算,将计算得到的损失值作为第一损失值。
118.第一损失函数采用交叉熵损失函数。
119.根据所述第一损失值,对所述教师预训练模型进行模型参数更新的方法在此不做赘述。
120.对于s228,将所述第一识别结果和所述第二识别结果输入第二损失函数进行损失值计算,将计算得到的损失值作为第二损失值。
121.第二损失函数采用交叉熵损失函数。
122.根据所述第二损失值,对所述同构助教模型进行模型参数更新的方法在此不做赘述。
123.对于s229,根据所述第一识别结果和所述第三识别结果输入第三损失函数进行损失值计算,将计算得到的损失值作为第三损失值。
124.第三损失函数采用交叉熵损失函数。
125.根据所述第三损失值,对所述异构助教模型进行模型参数更新的方法在此不做赘述。
126.在本技术的另一个实施例中,不采用步骤s227至步骤s229,也就是说,在蒸馏阶段,只更新学生预训练模型的模型参数,不更新所述教师预训练模型、所述同构助教模型、所述异构助教模型的模型参数。
127.对于s2210,将所述模型权重集、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果、所述第二全连接层输出向量、所述第二识别结果、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果输入预设的目标损失函数
进行损失值计算,将计算得到的损失值作为目标损失值(也就是蒸馏的总损失值)。
128.根据所述目标损失值,对所述学生预训练模型进行模型参数更新,从而实现同时采用所述教师预训练模型对所述学生预训练模型进行蒸馏、采用所述同构助教模型对所述学生预训练模型进行蒸馏、采用所述异构助教模型对所述学生预训练模型进行蒸馏。
129.对于s2211,重复执行所述从所述第二训练集中获取任一个训练样本作为目标训练样本的步骤,也就是重复执行步骤s222至步骤s2211,直至达到所述蒸馏结束条件。
130.在一个实施例中,上述目标损失值的计算公式l为:
131.l=(1-λ1)l
ce1
λ1l
kd1
(1-λ2)l
ce2
λ2l
kd2
(1-λ3)l
ce3
λ3l
kd3
132.l
ce1
=h(softmax(z
s1
),y)
133.l
ce2
=h(softmax(z
s2
),y)
134.l
ce3
=h(softmax(z
s3
),y)
135.l
kd1
=τ
12
kl(y1,y4)
136.l
kd2
=τ
22
kl(y2,y4)
137.l
kd3
=τ
32
kl(y3,y4)
138.y1=softmax(z
s1
/τ1)
139.y2=softmax(z
s2
/τ2)
140.y3=softmax(z
s3
/τ3)
141.其中,λ1是所述模型权重集中的与所述教师预训练模型对应的模型权重,λ2是所述模型权重集中的与所述同构助教模型对应的模型权重,λ3是所述模型权重集中的与所述异构助教模型对应的模型权重,y是所述目标训练样本的所述人脸标定值,h()是交叉熵损失函数,z
s1
是所述第一全连接层输出向量,z
s2
是所述第二全连接层输出向量,z
s3
是所述第三全连接层输出向量,kl()是kl散度损失函数,τ1是所述教师预训练模型的温度参数,τ2是所述同构助教模型的温度参数,τ3是所述异构助教模型的温度参数,y1是所述第一识别结果,y2是所述第二识别结果,y3是所述第三识别结果,y4是所述第四识别结果,softmax()是归一化函数。
142.本实施例根据所述模型权重集中的与所述教师预训练模型对应的模型权重、所述目标训练样本的人脸标定值、所述第一全连接层输出向量、所述第一识别结果和所述第四识别结果,计算所述教师预训练模型对所述学生预训练模型的蒸馏损失,根据所述模型权重集中的与所述同构助教模型对应的模型权重、所述目标训练样本的人脸标定值、所述第二全连接层输出向量、所述第二识别结果和所述第四识别结果,计算所述同构助教模型对所述学生预训练模型的蒸馏损失,根据所述模型权重集中的与所述异构助教模型对应的模型权重、所述目标训练样本的人脸标定值、所述第三全连接层输出向量、所述第三识别结果和所述第四识别结果,计算所述异构助教模型对所述学生预训练模型的蒸馏损失,最后将三种蒸馏损失进行求和,从而通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏。
143.kl散度损失函数,又称为kullback-leiblerdivergence。
144.在一个实施例中,上述根据所述第一识别结果,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,得到第二全连接层输出向量和第二识别结果的步骤,包括:
145.s2241:将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,获取所述
同构助教模型中的每个所述同构助教预训练子模型输出的第二全连接层输出子向量和第二识别子结果;
146.s2242:对每个所述第二识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第一子模型距离;
147.s2243:对各个所述第一子模型距离进行求和计算,得到第一总距离;
148.s2244:将每个所述第一子模型距离除以所述第一总距离,得到第一子模型比例;
149.s2245:根据各个所述第一子模型比例,对各个所述第二全连接层输出子向量进行加权求和,得到所述第二全连接层输出向量;
150.s2246:根据各个所述第一子模型比例,对各个所述第二识别子结果进行加权求和,得到所述第二识别结果;
151.所述根据所述第一识别结果,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,得到第三全连接层输出向量和第三识别结果的步骤,包括:
152.s2251:将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的第三全连接层输出子向量和第三识别子结果;
153.s2252:对每个所述第三识别子结果与所述第一识别结果之间进行欧氏距离计算,得到第二子模型距离;
154.s2253:对各个所述第二子模型距离进行求和计算,得到第二总距离;
155.s2254:将每个所述第二子模型距离除以所述第二总距离,得到第二子模型比例;
156.s2255:根据各个所述第二子模型比例,对各个所述第三全连接层输出子向量进行加权求和,得到所述第三全连接层输出向量;
157.s2256:根据各个所述第二子模型比例,对各个所述第三识别子结果进行加权求和,得到所述第三识别子结果。
158.本实施例通过各个第一子模型比例作为对各个所述第二全连接层输出子向量进行加权求和的权重、以及对各个所述第二识别子结果进行加权求和,实现了动态的确定各个子模型的权重,提高了第二全连接层输出向量的准确性,提高了第二识别结果的准确性,避免了助教将错误知识连续向下传递导致错误不断积累的问题;通过各个所述第二子模型比例作为对各个所述第三全连接层输出子向量进行加权求和的权重、以及对各个所述第三识别子结果进行加权求和的权重,实现了动态的确定各个子模型的权重,提高了第三全连接层输出向量的准确性,提高了第三识别结果的准确性,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
159.对于s2241,将每个所述人脸图像样本输入所述同构助教模型进行人脸识别,获取所述同构助教模型中的每个所述同构助教预训练子模型的全连接层输出的向量作为第二全连接层输出子向量,获取所述同构助教模型中的每个所述同构助教预训练子模型输出的数据作为第二识别子结果。
160.对于s2242,对每个所述第二识别子结果与所述第一识别结果之间进行欧氏距离计算,将计算得到的数据作为第一子模型距离。也就是说,第一子模型距离与所述第二识别子结果一一对应。
161.对于s2243,对各个所述第一子模型距离进行求和计算,将计算得到的数据作为第
一总距离。
162.对于s2244,将每个所述第一子模型距离除以所述第一总距离,将计算得到的数据作为第一子模型比例。
163.对于s2245,根据各个所述第一子模型比例,对各个所述第二全连接层输出子向量进行加权求和,将加权求和得到的数据作为所述第二全连接层输出向量。
164.比如,各个所述第一子模型比例依次包括:zm1、zm2、zm3、zm4、zm5、zm6,zm1、zm2、zm3、zm4、zm5、zm6对应的所述第二全连接层输出子向量分别为:x1、x2、x3、x4、x5、x6,将zm1*x1 zm2*x2 zm3*x3 zm4*x4 zm5*x5 zm6*x6的计算结果作为所述第二全连接层输出向量。
165.对于s2246,根据各个所述第一子模型比例,对各个所述第二识别子结果进行加权求和,将加权求和得到的数据作为所述第二识别结果。
166.对于s2251,将每个所述人脸图像样本输入所述异构助教模型进行人脸识别,获取所述异构助教模型中的每个所述异构助教预训练子模型的全连接层输出的向量作为第三全连接层输出子向量,获取所述异构助教模型中的每个所述异构助教预训练子模型输出的数据作为第三识别子结果。
167.对于s2252,对每个所述第三识别子结果与所述第一识别结果之间进行欧氏距离计算,将计算得到的数据作为第二子模型距离。也就是说,第二子模型距离与所述第三识别子结果一一对应。
168.对于s2253,对各个所述第二子模型距离进行求和计算,将计算得到的数据作为第二总距离。
169.对于s2254,将每个所述第二子模型距离除以所述第二总距离,将计算得到的数据作为第二子模型比例。
170.对于s2255,根据各个所述第二子模型比例,对各个所述第三全连接层输出子向量进行加权求和,将加权求和得到的数据作为所述第三全连接层输出向量。
171.对于s2256,根据各个所述第二子模型比例,对各个所述第三识别子结果进行加权求和,将加权求和得到的数据作为所述第三识别子结果。
172.参照图2,本技术还提出了一种基于人工智能的人脸识别装置,所述装置包括:
173.图像获取模块100,用于获取目标图像;
174.人脸识别结果确定模块200,用于将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果;
175.模型训练模块300,用于获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件,将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同。
176.本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算
和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
177.参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存基于人工智能的人脸识别方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于人工智能的人脸识别方法。所述基于人工智能的人脸识别方法,包括:获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
178.本实施例通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
179.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于人工智能的人脸识别方法,包括步骤:获取目标图像;将所述目标图像输入预测的人脸识别模型进行人脸识别,得到所述目标图像对应的人脸识别结果,其中,所述人脸识别模型的训练方法包括:获取教师预训练模型、同构助教模型、异构助教模型、模型权重集和学生预训练模型,其中,所述同构助教模型包括至少两个同构助教预训练子模型,所述异构助教模型包括至少两个异构助教预训练子模型,所述同构助教预训练子模型的模型类族和所述教师预训练模型的模型类族相同,所述异构助教预训练子模型的模型类族和所述教师预训练模型的模型类族不同;采用所述教师预训练模型、所述同构助教模型、所述异构助教模型和所述模型权重集,对所述学生预训练模型进行蒸馏,直至达到预设的蒸馏结束条件;将达到所述蒸馏结束条件的所述学生预训练模型作为所述人脸识别模型。
180.上述执行的基于人工智能的人脸识别方法,通过同构助教模型和异构助教模型,实现采用助教知识蒸馏的方式进行模型蒸馏,加速了模型计算,提高了极端压缩情况下学生预训练模型的准确性,节省了计算和存储成本;通过将至少两个同构助教预训练子模型
融合成同构助教模型,将至少两个异构助教预训练子模型融合成异构助教模型,避免了助教将错误知识连续向下传递导致错误不断积累的问题。
181.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
182.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
183.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

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

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

相关文献