CN116310648B - 模型训练方法、人脸识别方法、电子设备和存储介质 - Google Patents
模型训练方法、人脸识别方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116310648B CN116310648B CN202310295242.7A CN202310295242A CN116310648B CN 116310648 B CN116310648 B CN 116310648B CN 202310295242 A CN202310295242 A CN 202310295242A CN 116310648 B CN116310648 B CN 116310648B
- Authority
- CN
- China
- Prior art keywords
- inter
- model
- class
- sequence
- loss
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012549 training Methods 0.000 title claims abstract description 53
- 230000006870 function Effects 0.000 claims abstract description 89
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000013140 knowledge distillation Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004821 distillation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/168—Feature extraction; Face representation
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例涉及深度学习技术领域,公开了一种模型训练方法、人脸识别方法、电子设备和计算机可读存储介质,该方法包括:将一个批次的样本图像分别输入至第一模型和第二模型中,获取第一模型提取出的第一特征和第二模型提取出的第二特征,第一模型为已训练完成的重量型的模型,第二模型为待训练的轻量型的模型;根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离;构建损失函数,所述损失函数包括L2损失项,以及基于第一类间距离和第二类间距离构建的类间损失项;根据所述损失函数训练第二模型至收敛,得到训练完成的第二模型,有效提升了学生模型的识别准确率和泛化能力。
Description
技术领域
本申请实施例涉及深度学习技术领域,特别涉及一种模型训练方法、人脸识别方法、电子设备和存储介质。
背景技术
随着人脸识别技术的飞速发展,其在智能家居、移动支付、门禁身份识别等嵌入式场景得到了广泛的应用,这些嵌入式终端的算力条件相当受限,无法支撑大型的人脸识别模型运行,只能支持运行轻量型的人脸识别模型,但轻量型的人脸识别模型识别精度较低,安全性也无法得到很好的保证。
业内通常使用模型剪枝、低比特量化、知识蒸馏等方式,基于高精度、高成熟度的大型的人脸识别模型,来获取有较高识别精度的轻量型的人脸识别模型。这其中的知识蒸馏方式比较成熟,即先训练一个识别能力好的大型网络作为教师模型(教师模型无法部署在嵌入式终端中),再结合教师模型,通过知识蒸馏的方式,训练一个可以部署在嵌入式终端中的小型网络,即学生模型。学生模型的识别能力与教师模型相近。
然而,业内通用的知识蒸馏方法大多基于特征层面,强调同一ID特征表达的一致性,这样训练出的学生模型泛化能力较差。
发明内容
本申请实施例的目的在于提供一种模型训练方法、人脸识别方法、电子设备和存储介质,不仅提升了学生模型的识别准确率,同时还有效提升了学生模型的泛化能力。
为解决上述技术问题,本申请的实施例提供了一种模型训练方法,包括以下步骤:将一个批次的样本图像分别输入至第一模型和第二模型中,获取所述第一模型提取出的第一特征和所述第二模型提取出的第二特征;其中,所述第一模型为已训练完成的重量型的人脸识别模型,所述第二模型为待训练的轻量型的人脸识别模型;根据各所述第一特征确定所述批次中ID的第一类间距离,并根据各所述第二特征确定所述批次中ID的第二类间距离;构建损失函数,所述损失函数包括L2损失项,以及基于所述第一类间距离和所述第二类间距离构建的类间损失项;根据所述损失函数训练所述第二模型至收敛,得到训练完成的第二模型。
本申请的实施例还提供了一种人脸识别方法,包括以下步骤:将获取到的待识别人脸图像输入到训练好的人脸识别模型中,得到所述待识别人脸图像的人脸特征;根据所述待识别人脸图像的人脸特征确定所述待识别人脸图像所属的身份类别;其中,所述训练好的人脸识别模型为通过上述所述的模型训练方法训练完成的第二模型。
本申请的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的模型训练方法,或者执行上述的人脸识别方法。
本申请的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的模型训练方法,或者实现上述的人脸识别方法。
本申请的实施例提供的模型训练方法、电子设备和计算机可读存储介质,在对模型训练时,先获取第一模型和第二模型,第一模型为已训练完成的重量型的人脸识别模型,第二模型为待训练的轻量型的人脸识别模型,将个批次的样本图像分别输入至第一模型和第二模型中,获取第一模型提取出的第一特征和第二模型提取出的第二特征,再根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离,随即构建损失函数,所述损失函数包括L2损失项,以及基于第一类间距离和第二类间距离构建的类间损失项,最后根据所述损失函数训练第二模型至收敛,得到训练完成的第二模型。考虑到业内通用的知识蒸馏方法仅仅是强调同一ID特征表达的一致性,训练出的学生模型泛化能力较差,而本申请的实施例,不仅考虑同一ID特征表达的一致性,还将类间距离引入约束项,使得学生模型学习到的知识更为全面,兼顾类内关系和类间关系,不仅提升了学生模型的识别准确率,同时还有效提升了学生模型的泛化能力。
另外,若所述第一模型的鲁棒程度满足预设标准,则所述类间损失项通过以下步骤构建:根据预设的排序函数,对所述第二类间距离与所述第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列;根据预设的选取规则,将所述第一序列中预设位置处的元素选取为困难样本;根据mean函数和所述困难样本在所述第一序列中对应的值,构建所述类间损失项。第一模型的鲁棒程度满足预设标准,说明该教师模型已训练的足够鲁棒,蒸馏时保证学生模型输出的特征无线接近教师模型输出的特征即可,从而可以基于学生模型的类间距离与教师模型的类间距离之间的差值排序来快速构建类间损失项,加速了第二模型迭代训练过程中的收敛速度,提升了模型训练的效率。
另外,所述根据预设的排序函数,对所述第二类间距离与所述第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列,通过以下公式实现:
NP1=Sort{RelU[similarity(x,y)snp-similarity(x,y)tnp]},
其中,所述similarity(x,y)snp为所述第二类间距离,所述similarity(x,y)tnp为所述第二类间距离对应的第一类间距离,所述RelU(*)为线性整流函数,所述Sort(*)为所述预设的排序函数,所述NP1为所述第一序列;
所述根据mean函数和所述困难样本在所述第一序列中对应的值,构建所述类间损失项,通过以下公式实现:
loss2=mean(NP1[mask1]),mask1={NP1|where(MIN1≤NP1≤MAX1)},
MIN1=NP1[a*lnon-zero],MAX1=NP1[b*lnon-zero],
semihard_section=[a,b],
其中,所述semihardsection为预设的超参数,所述a和所述b均大于0且小于1,所述a还小于所述b,所述lnon-zero为所述NP1中非零元素的个数。
另外,若所述第一模型的鲁棒程度不满足预设标准,则所述类间损失项通过以下步骤构建:根据预设的排序函数对所述第一类间距离进行排序,得到第二序列,并根据所述第二类间距离和所述第二序列,得到第三序列;根据预设的选取规则,将所述第二序列和所述第三序列中预设位置处的元素选取为困难样本;根据mean函数、所述困难样本在所述第三序列中对应的值与所述困难样本在所述第二序列中对应的值之间的差值,构建所述类间损失项。第一模型的鲁棒程度满足预设标准,说明该教师模型仍具有提升潜力,此时不完全信任教师模型,而是教师模型与学生模型共同学习,来训练学生模型,从而进一步提升了模型训练的效果,提升了学生模型的人脸识别精度,提升了学生模型的泛化能力。
另外,所述根据预设的排序函数对所述第一类间距离进行排序,得到第二序列,并根据所述第二类间距离和所述第二序列,得到第三序列,通过以下公式实现:
Sortedtnp=Sort[similarity(x,y)tnp],Sortedsnp=similarity(x,y)snp[Sortedtnp],
其中,所述similarity(x,y)tnp为所述第一类间距离,所述Sort(*)为所述预设的排序函数,所述Sortedtnp为所述第二序列,所述similarity(x,y)snp为所述第二类间距离,所述Sortedsnp所述第三序列;
所述根据mean函数、所述困难样本在所述第三序列中对应的值与所述困难样本在所述第二序列中对应的值之间的差值,构建所述类间损失项,通过以下公式实现:
loss2=mean{RelU[Sortedsnp(mask2)-Sortedtnp(mask2)]non-zero},
mask2={Sortedtnp|where(MIN2≤Sortedtnp≤MAX2)},
MIN2=Sortedtnp[a*lnon-zero],MAX2=Sortedtnp[b*lnon-zero],
semihard_section=[a,b],
其中,所述semihard-section为预设的超参数,所述a和所述b均大于0且小于1,所述a还小于所述b,所述lnon-zero为所述Sortedtnp中非零元素的个数,所述RelU(*)为线性整流函数。
另外,所述方法还包括:根据所述损失函数对所述第一模型进行提升训练,直到所述第一模型收敛,得到提升训练完成的第一模型。由于第一模型仍具有提升潜力,因此可以根据构建的损失函数对第一模型进行提升训练,进一步提升第一模型的人脸识别精度。
另外,所述根据各所述第一特征确定所述批次中ID的第一类间距离,并根据各所述第二特征确定所述批次中ID的第二类间距离,通过以下公式实现:
其中,所述ft(x)i为第x个ID的第i个维度的第一特征,所述ft(y)i为第y个ID的第i个维度的第一特征,所述N为特征维度的总数,所述fs(x)i为第x个ID的第i个维度的第二特征,所述fs(y)i为第y个ID的第i个维度的第二特征,所述similarity(x,y)tnp为所述第一类间距离,所述similarity(x,y)snp为所述第二类间距离。
另外,所述损失函数通过以下公式表示:
total_loss=loss1+λloss2,λ≥1,
其中,所述total_loss为所述损失函数,所述loss1为所述L2损失项,所述loss2为所述类间损失项,所述λ为预设的调节参数,所述ft(x)i为第x个ID的第i个维度的第一特征,所述fs(x)i为第x个ID的第i个维度的第二特征,所述N为特征维度的总数。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
图1是本申请的一个实施例提供的模型训练方法的流程图;
图2是本申请的一个实施例中,构建损失函数中的类间损失项的流程图一;
图3是本申请的另一个实施例中,构建损失函数中的类间损失项的流程图二;
图4是本申请的另一个实施例提供的人脸识别方法的流程图;
图5是本申请的另一个实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本申请的一个实施例涉及一种模型训练方法,应用于电子设备,其中,电子设备可以为终端或服务器,本实施例以及以下各个实施例中电子设备以服务器为例进行说明。下面对本实施例的模型训练方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施例的模型训练方法的具体流程可以如图1所示,包括:
步骤101,将一个批次的样本图像分别输入至第一模型和第二模型中,获取第一模型提取出的第一特征和第二模型提取出的第二特征。
具体而言,第一模型为已训练完成的重量型的人脸识别模型,第二模型为待训练的轻量型的人脸识别模型,第一模型无法部署在嵌入式设备中,第二模型则可以部署在嵌入式设备中。在知识蒸馏过程进行时,第一模型充当教师模型,第二模型充当学生模型。
在具体实现中,在进行模型训练之前,服务器可以先从网络中或本地数据库中获取若干个样本图像,并按照预设的批次尺寸将这若干个样本图像划分成若干个批次。服务器将同一个批次的样本图像分别输入至第一模型和第二模型中,获取第一模型提取出的第一特征和第二模型提取出的第二特征,第一特征可以记为ft,第二特征可以记为fs。
在一些例子中,第一模型和第二模型均可以从样本图像中提取出N个维度的特征,即第一模型提取出的第一特征包括N个维度的第一特征,第二模型提取出的第二特征包括N个维度的第二特征。
步骤102,根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离。
在具体实现中,模型训练的过程引入了ID标签信息,在一个批次的样本图像中,可能包含同一ID的样本图像和不同ID的样本图像,同一ID的样本图像可以视为同一类,不同ID的样本图像可以视为不同类。类内距离(positive-pair similarity)可以衡量从同一ID的样本图像中提取出的特征的相似度,类间距离(negative-pair similarity)则可以衡量从不同ID样本图像中提取出的特征的相似度。通常情况下,一个批次内同一ID的样本图像的数量有限,而不同ID的样本图像则很多,因此本申请可以根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离,也就是将类间距离纳入到模型训练的约束条件中,能够有效削弱训练波动。
在一些例子中,服务器可以根据从不同ID的训练样本中提取出的同一维度的第一特征来确定所述批次中ID的第一类间距离,根据从不同ID的训练样本中提取出的同一维度的第二特征来确定所述批次中ID的第二类间距离。
在一些例子中,服务器根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离,可以通过以下公式实现:
式中,ft(x)i为第x个ID的第i个维度的第一特征,ft(y)i为第y个ID的第i个维度的第一特征,N为特征维度的总数,fs(x)i为第x个ID的第i个维度的第二特征,fs(y)i为第y个ID的第i个维度的第二特征,similarity(x,y)tnp为第一类间距离,similarity(x,y)snp为第二类间距离。
步骤103,构建损失函数,所述损失函数包括L2损失项,以及基于第一类间距离和第二类间距离构建的类间损失项。
在具体实现中,服务器在确定出第一类间距离和第二类间距离后,可以构建损失函数,服务器构建的损失函数包括L2损失项和类间损失项,其中,类间损失项基于第一类间距离和第二类间距离构建。
在一些例子中,服务器构建的损失函数可以通过以下公式表示:
total_loss=loss1+λloss2,λ≥1
式中,total_loss为损失函数,loss1为L2损失项,loss2为类间损失项,λ为预设的调节参数,ft(x)i为第x个ID的第i个维度的第一特征,fs(x)i为第x个ID的第i个维度的第二特征,N为特征维度的总数。
步骤104,根据所述损失函数训练第二模型至收敛,得到训练完成的第二模型。
在具体实现中,服务器构建出损失函数后,可以根据所述损失函数对第二模型进行迭代训练,直到第二模型满足预设的收敛条件,从而得到训练完成的第二模型。
本实施例,对模型进行训练时,先获取第一模型和第二模型,第一模型为已训练完成的重量型的人脸识别模型,第二模型为待训练的轻量型的人脸识别模型,将个批次的样本图像分别输入至第一模型和第二模型中,获取第一模型提取出的第一特征和第二模型提取出的第二特征,再根据各第一特征确定所述批次中ID的第一类间距离,并根据各第二特征确定所述批次中ID的第二类间距离,随即构建损失函数,所述损失函数包括L2损失项,以及基于第一类间距离和第二类间距离构建的类间损失项,最后根据所述损失函数训练第二模型至收敛,得到训练完成的第二模型。考虑到业内通用的知识蒸馏方法仅仅是强调同一ID特征表达的一致性,训练出的学生模型泛化能力较差,而本申请的实施例,不仅考虑同一ID特征表达的一致性,还将类间距离引入约束项,使得学生模型学习到的知识更为全面,兼顾类内关系和类间关系,不仅提升了学生模型的识别准确率,同时还有效提升了学生模型的泛化能力。
在一个实施例中,第一模型的鲁棒程度满足预设标准,即第一模型已经被训练得足够鲁棒,此时服务器可以通过如图2所示的各步骤,构建损失函数中的类间损失项,具体包括:
步骤201,根据预设的排序函数,对第二类间距离与第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列。
在具体实现中,服务器确定第一类间距离和第二类间距离后,可以根据预设的排序函数,对第二类间距离与第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列,其中,预设的排序函数可以为Sort函数。
在一些例子中,服务器根据预设的排序函数,对第二类间距离与第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列,可以通过以下公式实现:
NP1=Sort{RelU[similarity(x,y)snp-similarity(x,y)tnnp]}
式中,similarity(x,y)snp为第二类间距离,similarity(x,y)tnp为第二类间距离对应的第一类间距离,RelU(*)为线性整流函数,Sort(*)为预设的排序函数,NP1为第一序列。
步骤202,根据预设的选取规则,将第一序列中预设位置处的元素选取为困难样本。
在具体实现中,服务器在获得第一序列后,可以根据预设的选取规则,将第一序列中预设位置处的元素选取为困难样本,其中,预设的选取规则可以由本领域的技术人员根据实际需要进行设置。
在一些例子中,在第一序列中选取困难样本的过程由设置的超参数semihard_section=[a,b]来实现,其中,a与b均为大于0且小于1的数,并且a小于b,这样选取的困难样本即第一序列中排序为a到b之间的元素。
在一些例子中,a可以设置为0.25,b可以设置为0.75。
步骤203,根据mean函数和所述困难样本在第一序列中对应的值,构建类间损失项。
在具体实现中,服务器选取出困难样本后,可以根据mean函数和所述困难样本在第一序列中对应的值,构建类间损失项。
在一些例子中,服务器根据mean函数和所述困难样本在第一序列中对应的值,构建类间损失项,可以通过以下公式实现:
loss2=mean(NP1[mask1]),mask1={NP1|where(MIN1≤NP1≤MAX1)}
MIN1=NP1[a*lnon-zero],MAX1=NP1[b*lnon-zero]
semihard_section=[a,b]
式中,semihard_section为预设的超参数,a和b均大于0且小于1,a还小于b,lnon-zero为NP1中非零元素的个数。
本实施例,如果第一模型的鲁棒程度满足预设标准,说明该教师模型已训练的足够鲁棒,蒸馏时保证学生模型输出的特征无线接近教师模型输出的特征即可,从而可以基于学生模型的类间距离与教师模型的类间距离之间的差值排序来快速构建类间损失项,加速了第二模型迭代训练过程中的收敛速度,提升了模型训练的效率。
在一个实施例中,第一模型的鲁棒程度不满足预设标准,也就是第一模型还具备提升的潜力,此时服务器可以通过如图3所示的各步骤,构建损失函数中的类间损失项,具体包括:
步骤301,根据预设的排序函数对第一类间距离进行排序,得到第二序列,并根据第二类间距离和所述第二序列,得到第三序列。
在具体实现中,服务器确定第一类间距离和第二类间距离后,可以根据预设的排序函数对第一类间距离进行排序,得到第二序列,并根据第二类间距离和所述第二序列,得到第三序列,其中,预设的排序函数可以为Sort函数。
在一些例子中,服务器在根据预设的排序函数对第一类间距离进行排序,得到第二序列之后,可以将第二序列作为索引函数,根据第二类间距离和所述索引函数,得到第三序列。
在一些例子中,服务器根据预设的排序函数对第一类间距离进行排序,得到第二序列,并根据第二类间距离和第二序列,得到第三序列,可以通过以下公式实现:
Sortedtnp=Sort[similarity(x,y)tnp],Sortedsnp=similarity(x,y)snp[Sortedtnp]
式中,similarity(x,y)tnp为第一类间距离,Sort(*)为预设的排序函数,Sortedtnp为第二序列,similarity(x,y)snp为第二类间距离,Sortedsnp第三序列。
步骤302,根据预设的选取规则,将第二序列和第三序列中预设位置处的元素选取为困难样本。
在具体实现中,服务器在获得第二序列和第三序列后,可以根据预设的选取规则,将第二序列和第三序列中预设位置处的元素选取为困难样本,其中,预设的选取规则可以由本领域的技术人员根据实际需要进行设置。
在一些例子中,在第二序列和第三序列中选取困难样本的过程由设置的超参数semihard_section=[a,b]来实现,其中,a与b均为大于0且小于1的数,并且a小于b,这样选取的困难样本即第二序列和第三序列中排序为a到b之间的元素。
在一些例子中,a可以设置为0.25,b可以设置为0.75。
步骤303,根据mean函数、所述困难样本在第三序列中对应的值与所述困难样本在第二序列中对应的值之间的差值,构建类间损失项。
在具体实现中,服务器选取出困难样本后,可以根据mean函数、所述困难样本在第三序列中对应的值与所述困难样本在第二序列中对应的值之间的差值,构建类间损失项。
在一些例子中,服务器根据mean函数、所述困难样本在第三序列中对应的值与所述困难样本在第二序列中对应的值之间的差值,构建类间损失项,可以通过以下公式实现:
loss2=mean{RelU[Sortedsnp(mask2)-Sortedtnp(mask2)]non-zero}
mask2={Sortedtnp|where(MIN2≤Sortedtnp≤MAX2)}
MIN2=Sortedtnp[a*lnon-zero],MAX2=Sortedtnp[b*lnon-zero]
semihard_section=[a,b]
式中,semihard_section为预设的超参数,a和b均大于0且小于1,a还小于b,lnon-zero为Sortedtnp中非零元素的个数,RelU(*)为线性整流函数。
本实施例,若第一模型的鲁棒程度满足预设标准,说明该教师模型仍具有提升潜力,此时不完全信任教师模型,而是教师模型与学生模型共同学习,来训练学生模型,从而进一步提升了模型训练的效果,提升了学生模型的人脸识别精度,提升了学生模型的泛化能力。
在一个实施例中,第一模型的鲁棒程度不满足预设标准,也就是第一模型还具备提升的潜力,此时服务器在构建完损失函数后,还可以根据该损失函数对第一模型进行提升训练,直到第一模型收敛,得到提升训练完成的第一模型。,进一步提升第一模型的人脸识别精度。
本申请的另一个实施例涉及一种人脸识别方法,应用于电子设备,其中,电子设备可以为终端或服务器,本实施例以服务器为例进行说明。下面对本实施例的人脸识别方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施例的人脸识别方法的具体流程可以如图4所示,包括:
步骤401,将获取到的待识别人脸图像输入到训练好的人脸识别模型中,得到待识别人脸图像的人脸特征。
步骤402,根据待识别人脸图像的人脸特征确定待识别人脸图像所属的身份类别。
在具体实现中,服务器获取到待识别人脸图像后,可以将获取到的待识别人脸图像输入到训练好的人脸识别模型中,得到所述待识别人脸图像的人脸特征,进而根据待识别人脸图像的人脸特征确定待识别人脸图像所属的身份类别。其中,训练好的人脸识别模型为通过如上述的模型训练方法的实施例提供的模型训练方法来训练完成的第二模型。
可以理解的是,上述的模型训练方法的实施例提供的模型训练方法来训练完成的第二模型,还可以应用于图像特征提取、物体识别、物体检测、活体检测等场景中,以满足不同技术的实际需要。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本申请另一个实施例涉及一种电子设备,如图5所示,包括:至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述各实施例中的模型训练方法,或者执行上述各实施例中的人脸识别模型。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本申请另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (9)
1.一种模型训练方法,其特征在于,包括:
将一个批次的样本图像分别输入至第一模型和第二模型中,获取所述第一模型提取出的第一特征和所述第二模型提取出的第二特征;其中,所述第一模型为己训练完成的重量型的人脸识别模型,所述第二模型为待训练的轻量型的人脸识别模型;
根据各所述第一特征确定所述批次中ID的第一类间距离,并根据各所述第二特征确定所述批次中ID的第二类间距离;
构建损失函数,所述损失函数包括L2损失项,以及基于所述第一类间距离和所述第二类间距离构建的类间损失项;
根据所述损失函数训练所述第二模型至收敛,得到训练完成的第二模型;
若所述第一模型的鲁棒程度满足预设标准,则所述类间损失项通过以下步骤构建:
根据预设的排序函数,对所述第二类间距离与所述第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列;
根据预设的选取规则,将所述第一序列中预设位置处的元素选取为困难样本;
根据mean函数和所述困难样本在所述第一序列中对应的值,构建所述类间损失项;
若所述第一模型的鲁棒程度不满足预设标准,则所述类间损失项通过以下步骤构建:
根据预设的排序函数对所述第一类间距离进行排序,得到第二序列,并根据所述第二类间距离和所述第二序列,得到第三序列;
根据预设的选取规则,将所述第二序列和所述第三序列中预设位置处的元素选取为困难样本;
根据mean函数、所述困难样本在所述第三序列中对应的值与所述困难样本在所述第二序列中对应的值之间的差值,构建所述类间损失项。
2.根据权利要求1所述的模型训练方法,其特征在于,所述根据预设的排序函数,对所述第二类间距离与所述第二类间距离对应的第一类间距离之间的差值进行排序,得到第一序列,通过以下公式实现:
NP1=Sort{RelU[similarity(x,y)snp-similarity(x,y)tnp]}
其中,所述similarity(x,y)snp为所述第二类间距离,所述similarity(x,y)tnp为所述第二类间距离对应的第一类间距离,所述RelU(*)为线性整流函数,所述Sort(*)为所述预设的排序函数,所述NP1为所述第一序列;
所述根据mean函数和所述困难样本在所述第一序列中对应的值,构建所述类间损失项,通过以下公式实现:
loss2=mean(NP1[mask1]),mask1={NP1|where(MIN1≤NP1≤MAX1)}
MIN1=NP1[a*lnon-zero],MAX1=NP1[b*lnon-zero]
semihard_section=[a,b]
其中,所述semihard_section为预设的超参数,所述a和所述b均大于0且小于1,所述a还小于所述b,所述lnon-zero为所述NP1中非零元素的个数。
3.根据权利要求1所述的模型训练方法,其特征在于,所述根据预设的排序函数对所述第一类间距离进行排序,得到第二序列,并根据所述第二类间距离和所述第二序列,得到第三序列,通过以下公式实现:
Sortedtnp=Sort[similarity(x,y)tnp],Sortedsnp=similarity(x,y)snp[Sortedtnp]
其中,所述similarity(x,y)tnp为所述第一类间距离,所述Sort(*)为所述预设的排序函数,所述Sortedtnp为所述第二序列,所述similarity(x,y)snp为所述第二类间距离,所述Sortedsnp所述第三序列;
所述根据mean函数、所述困难样本在所述第三序列中对应的值与所述困难样本在所述第二序列中对应的值之间的差值,构建所述类间损失项,通过以下公式实现:
loss2=mean{RelU[Sortedsnp(mask2)-Sortedtnp(mask2)]non-zero}
mask2={Sortedtnp|where(MIN2≤Sortedtnp≤MAX2)}
MIN2=Sortedtnp[a*lnon-zero],MAX2=Sortedtnp[b*lnon-zero]
semihard_section=[a,b]
其中,所述semihard_section为预设的超参数,所述a和所述b均大于0且小于1,所述a还小于所述b,所述lnon-zero为所述Sortedtnp中非零元素的个数,所述RelU(*)为线性整流函数。
4.根据权利要求1所述的模型训练方法,其特征在于,在所述构建损失函数之后,所述方法还包括:
根据所述损失函数对所述第一模型进行提升训练,直到所述第一模型收敛,得到提升训练完成的第一模型。
5.根据权利要求1至4中任一项所述的模型训练方法,其特征在于,所述根据各所述第一特征确定所述批次中ID的第一类间距离,并根据各所述第二特征确定所述批次中ID的第二类间距离,通过以下公式实现:
其中,所述ft(x)i为第x个ID的第i个维度的第一特征,所述ft(y)i为第y个ID的第i个维度的第一特征,所述N为特征维度的总数,所述fs(x)i为第x个ID的第i个维度的第二特征,所述fs(y)i为第y个ID的第i个维度的第二特征,所述similarity(x,y)tnp为所述第一类间距离,所述similarity(x,y)snp为所述第二类间距离。
6.根据权利要求1至4中任一项所述的模型训练方法,其特征在于,所述损失函数通过以下公式表示:
total_loss=loss1+λloss2,λ≥1
其中,所述total_loss为所述损失函数,所述loss1为所述L2损失项,所述loss2为所述类间损失项,所述λ为预设的调节参数,所述ft(x)i为第x个ID的第i个维度的第一特征,所述fs(x)i为第x个ID的第i个维度的第二特征,所述N为特征维度的总数。
7.一种人脸识别方法,其特征在于,包括:
将获取到的待识别人脸图像输入到训练好的人脸识别模型中,得到所述待识别人脸图像的人脸特征;
根据所述待识别人脸图像的人脸特征确定所述待识别人脸图像所属的身份类别;
其中,所述训练好的人脸识别模型为通过如权利要求1至6中任一项所述的模型训练方法训练完成的第二模型。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的模型训练方法,或者执行如权利要求7所述的人脸识别方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的模型训练方法,或者实现如权利要求7所述的人脸识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295242.7A CN116310648B (zh) | 2023-03-23 | 2023-03-23 | 模型训练方法、人脸识别方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310295242.7A CN116310648B (zh) | 2023-03-23 | 2023-03-23 | 模型训练方法、人脸识别方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116310648A CN116310648A (zh) | 2023-06-23 |
CN116310648B true CN116310648B (zh) | 2023-12-12 |
Family
ID=86830380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310295242.7A Active CN116310648B (zh) | 2023-03-23 | 2023-03-23 | 模型训练方法、人脸识别方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116310648B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679513A (zh) * | 2017-10-20 | 2018-02-09 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及服务器 |
CN111553399A (zh) * | 2020-04-21 | 2020-08-18 | 佳都新太科技股份有限公司 | 特征模型训练方法、装置、设备及存储介质 |
CN112949766A (zh) * | 2021-04-07 | 2021-06-11 | 成都数之联科技有限公司 | 目标区域检测模型训练方法及***及装置及介质 |
CN112990280A (zh) * | 2021-03-01 | 2021-06-18 | 华南理工大学 | 面向图像大数据的类增量分类方法、***、装置及介质 |
CN113052261A (zh) * | 2021-04-22 | 2021-06-29 | 东南大学 | 一种基于余弦空间优化的图像分类损失函数的设计方法 |
CN113326852A (zh) * | 2021-06-11 | 2021-08-31 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备、存储介质及程序产品 |
CN113762331A (zh) * | 2021-07-16 | 2021-12-07 | 北京旷视科技有限公司 | 关系型自蒸馏方法、装置和***及存储介质 |
CN113936246A (zh) * | 2021-09-14 | 2022-01-14 | 河南工业大学 | 基于联合局部特征判别性学习的无监督目标行人重识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3940604A1 (en) * | 2020-07-09 | 2022-01-19 | Nokia Technologies Oy | Federated teacher-student machine learning |
-
2023
- 2023-03-23 CN CN202310295242.7A patent/CN116310648B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679513A (zh) * | 2017-10-20 | 2018-02-09 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置及服务器 |
CN111553399A (zh) * | 2020-04-21 | 2020-08-18 | 佳都新太科技股份有限公司 | 特征模型训练方法、装置、设备及存储介质 |
CN112990280A (zh) * | 2021-03-01 | 2021-06-18 | 华南理工大学 | 面向图像大数据的类增量分类方法、***、装置及介质 |
CN112949766A (zh) * | 2021-04-07 | 2021-06-11 | 成都数之联科技有限公司 | 目标区域检测模型训练方法及***及装置及介质 |
CN113052261A (zh) * | 2021-04-22 | 2021-06-29 | 东南大学 | 一种基于余弦空间优化的图像分类损失函数的设计方法 |
CN113326852A (zh) * | 2021-06-11 | 2021-08-31 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备、存储介质及程序产品 |
CN113762331A (zh) * | 2021-07-16 | 2021-12-07 | 北京旷视科技有限公司 | 关系型自蒸馏方法、装置和***及存储介质 |
CN113936246A (zh) * | 2021-09-14 | 2022-01-14 | 河南工业大学 | 基于联合局部特征判别性学习的无监督目标行人重识别方法 |
Non-Patent Citations (1)
Title |
---|
基于深度特征蒸馏的人脸识别;葛仕明;赵胜伟;***;李晨钰;;北京交通大学学报(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116310648A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111507419B (zh) | 图像分类模型的训练方法及装置 | |
US20210342371A1 (en) | Method and Apparatus for Processing Knowledge Graph | |
CN109508394A (zh) | 一种多媒体文件搜索排序模型的训练方法及装置 | |
CN113449704B (zh) | 人脸识别模型训练方法、装置、电子设备及存储介质 | |
Qi et al. | Personalized sketch-based image retrieval by convolutional neural network and deep transfer learning | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN112287656B (zh) | 文本比对方法、装置、设备和存储介质 | |
CN114005015B (zh) | 图像识别模型的训练方法、电子设备和存储介质 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN117217277A (zh) | 语言模型的预训练方法、装置、设备、存储介质及产品 | |
CN111598000A (zh) | 基于多任务的人脸识别方法、装置、服务器和可读存储介质 | |
CN115081515A (zh) | 能效评价模型构建方法、装置、终端及存储介质 | |
CN114118370A (zh) | 模型训练方法、电子设备和计算机可读存储介质 | |
CN117893839A (zh) | 一种基于图注意力机制的多标记分类方法及*** | |
CN116310648B (zh) | 模型训练方法、人脸识别方法、电子设备和存储介质 | |
CN115270754A (zh) | 跨模态匹配方法及相关装置、电子设备、存储介质 | |
CN112040401B (zh) | 室内定位方法、装置、电子设备和存储介质 | |
CN112699908B (zh) | 标注图片的方法、电子终端、计算机可读存储介质及设备 | |
CN114338058A (zh) | 一种信息处理方法、装置和存储介质 | |
CN111191004A (zh) | 文本标签提取方法、装置及计算机可读存储介质 | |
CN116028627B (zh) | 新闻分类方法及装置、电子设备、计算机可读存储介质 | |
CN113902957B (zh) | 图像生成方法、模型的训练方法、装置、电子设备及介质 | |
CN112417115B (zh) | 基于网络的对话状态优化方法、装置、服务器及存储介质 | |
CN117556275B (zh) | 相关度模型数据处理方法、装置、计算机设备和存储介质 | |
CN118228035B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |