掌桥专利:专业的专利平台
掌桥专利
首页

一种基于伪标签的人体性别与年龄识别方法

文献发布时间:2024-04-18 19:58:53


一种基于伪标签的人体性别与年龄识别方法

技术领域

本发明涉及数据识别技术领域,尤其涉及一种基于伪标签的人体性别与年龄识别方法。

背景技术

人脸年龄性别因为具有语义特征明显且短期不变的特性而成为描述一个行人身份的重要特征。人体性别和年龄识别的应用领域包括但不限于安全监控、人机交互、个性化推荐、健康监护等。近年来,随着深度学习技术的发展,性别与年龄识别的方法也发生了巨大的变化,现在的方法主要使用深度神经网络来自动学习图片的特征,这种方法不再需要人工设计特征,能够自动提取图片中的有用信息,从而大大提高了性别和年龄识别的性能,但是目前,现有的人体性别与年龄识别方法存在问题如下:

(一)现有的性别与年龄识别模型训练方法,通常假设可用的标记数据足够训练一个好的初始模型,然而在实际应用中,并无法保证初始标记数据即为准确数据。

(二)现有方法生成的伪标签的质量可能会受到初始模型性能的影响,若果初始模型的性能不好,那么生成的伪标签的质量可能也不高,则会进一步降低最终识别结果的准确性。

(三)现有方法通常通过需要大量数据,并对同一份数据的不同变化进行一致性约束,以提高伪标签的质量,从而提高模型的训练效果,而在很多实际场景中,标记数据往往是稀缺的,获取大量的标记数据较为困难且耗时,因此该方法无法适应低数据的处理环境。

发明内容

针对上述现有技术的缺点,本发明的目的是提供一种基于伪标签的人体性别与年龄识别方法,以解决现有技术中的一个或多个问题。

为实现上述目的,本发明的技术方案如下:

一种基于伪标签的人体性别与年龄识别方法,包括以下步骤:

收集图像数据集并进行预处理;

基于预处理后的图像数据建立初始基线模型并训练;

使用训练后的基线模型生成伪标签;

基于伪标签对基线模型进行数据联合训练;

对联合训练后的模型进行迭代训练,直至达到预设迭代次数;

使用迭代训练后的基线模型对待测图像进行性别与年龄的识别预测,并输出识别预测结果。

进一步的,所述图像数据集包括标记数据集、弱标记数据或未标记数据集;

所述预处理包括步骤如下:

对图像数据进行数字化处理;

设置每张图像数据的数据样本为(x,y),其中,x表示图像,y表示图像标签,包括性别和年龄;

设置图像数据集为D,其中,标记数据集为D_l,弱标记数据或未标记数据集为D_u;

将图像数据集划分为训练集和验证集。

进一步的,所述初始基线模型选取深度学习模型中的一种;

所述模型训练为在标记数据集D_l上训练初始基线模型;

所述模型训练还包括性能评估。

进一步的,所述性能评估包括步骤如下:

设置基线模型为f,参数为θ,模型输出为f(x;θ);

在验证集上应用初始基线模型;

通过损失函数评估模型性能。

进一步的,使用训练后的基线模型生成伪标签包括步骤如下:

将训练后的基线模型应用于未标记的数据集;

获取每张图像样本的预测输出,包括年龄预测和性别预测;

将模型的预测年龄作为年龄伪标签,选取模型最可信的性别预测作为性别伪标签。

进一步的,所述生成伪标签还包括:

设置置信度阈值并判断模型预测结果的置信度大小;

若预测结果的置信度超过置信度阈值,则将该预测结果作为伪标签;

若预测结果的置信度未超过所信度阈值,则重新进行模型预测。

进一步的,所述数据联合训练包括步骤如下:

同时使用标记数据集及伪标签数据集进行模型训练;

计算预测性别和预测年龄分别与真实值之间的损失;

得到基线模型的总损失。

进一步的,所述预测性别与真实性别间的损失为:

L_gender=-∑y_true*log(y_pred),

其中,L_gender表示性别预测的损失,y_true表示真实的性别标签或伪标签,y_pred表示模型的预测性别,Σ表示求和;

所述年龄性别与真实性别间的损失为:

L_age=1/N*∑(y_true-y_pred)^2,

其中,L_age表示年龄预测的损失,y_true表示真实的年龄标签或伪标签,y_pred表示模型的预测年龄,Σ表示求和,N表示样本总数;

所述基线模型的总损失为:

L=λ_gender*L_gender+λ_age*L_age,

其中,L表示基线模型的总损失,λ_gender和λ_age分别为性别预测损失权重与年龄预测损失权重。

进一步的,所述迭代训练包括步骤如下:

初始化基线模型参数θ

使用标记数据集及伪标签数据集进行模型训练,更新模型参数θi;

使用模型参数θi生成新的伪标签。

进一步的,所述更新模型参数θi的更新具体为

其中,θi为更新后的模型参数,η为学习率,

与现有技术相比,本发明的有益技术效果如下:

(一)本发明通过利用未标记或弱标记的数据进行训练,使用图像级别的标签作为监督信号,以有效地利用未标记或弱标记的数据提高模型的训练效果。

(二)通过引入联合学习,从像素精确(即标记数据)和粗糙标记(即未标记或弱标记的数据)的数据中联合学习,实现良好的性别和年龄识别性能,通过精确和粗糙的标签共享网络的权重,有效地利用了每一种类型的数据,即使在数据稀疏的环境下也能实现良好的性能。

(三)通过在每一次迭代中生成伪标签,并使用一致性正则化来保证伪标签的质量,进一步有效地提高了在低数据环境中生成的伪标签的质量和模型的训练效果。

附图说明

图1示出了本发明实施例一种基于伪标签的人体性别与年龄识别方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和具体实施方式对本发明提出的一种基于伪标签的人体性别与年龄识别方法作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

一种基于伪标签的人体性别与年龄识别方法,包括以下步骤:

步骤S1:收集图像数据集并进行预处理。

所述图像数据集包括标记数据集、弱标记数据或未标记数据集,其中,标记的数据具体指已清楚注明性别和年龄的图片,弱标记的数据具体指那些性别和年龄信息不明确或不完全的图片,未标记的数据具体指那些没有任何关于性别和年龄信息的图片。更进一步的,在数据收集的过程中,需选取多样化数据,例如各年龄段、角度、姿态、光照等图像数据,以增强后续训练模型的泛化能力,使其在处理未见过的数据时也能有良好的表现;

进一步的,所述预处理包括步骤如下:

步骤S11:对图像数据进行数字化处理,具体的,数字化处理包括尺寸统一、灰度化、归一化,以便于机器学习算法可以更有效地对数据进行运用。

步骤S12:设置每张图像数据的数据样本为(x,y),其中,x表示图像,y表示图像标签,包括性别和年龄。

步骤S13:设置图像数据集为D,其中,标记数据集为D_l,弱标记数据或未标记数据集为D_u。

步骤S14:将图像数据集划分为训练集和验证集,训练集用于训练模型,验证集用于评估模型的性能和调整模型的超参数。

步骤S2:基于预处理后的图像数据建立初始基线模型并训练。

所述初始基线模型选取深度学习模型中的一种,具体的,在本发明中,所述基线模型选用卷积神经网络(CNN)模型,且在本实施例中,可以使用预训练的CNN模型,如ResNet或VGG。

所述模型训练为在标记数据集D_l上训练初始基线模型,以此初步学习图像的性别和年龄特征。

所述模型训练还包括性能评估。

进一步的,所述性能评估包括步骤如下:

步骤S21:设置基线模型为f,参数为θ,模型输出为f(x;θ);

步骤S22:在验证集上应用初始基线模型。

步骤S23:通过损失函数评估模型性能,较低的损失值通常表示模型预测的更准确,具体的,在本实施例中,采用交叉熵损失函数来评估模型的性能,初始基线模型的损失函数为:

L(θ)=-1/N*sum∑[ylog(f(x;θ))+(1-y)log(1-f(x;θ))],

其中,L(θ)为交叉熵损失函数,N是数据样本的数量,y是实际标签,即已标记数据集,f(x;θ)是初始基线模型对输入x的预测输出。当然,在发明的其他实施例中,还可通过使用准确率(accuracy)、召回率(recall)、精确度(precision)等作为评估指标,对模型进行性能评估。

步骤S3:使用训练后的基线模型生成伪标签。

进一步的,所述使用训练后的基线模型生成伪标签包括步骤如下:

步骤S31:将训练后的基线模型应用于未标记的数据集;

步骤S32:获取每张图像样本的预测输出,包括年龄预测和性别预测,其中,性别预测输出为概率分布,表示该样本为男性或女性的概率,年龄预测直接输出预测的年龄值。

步骤S33:将模型的预测年龄作为年龄伪标签,选取模型最可信的性别预测作为性别伪标签,具体的,伪标签数据集为D_v。

更具体的,最可信即为模型预测的概率最高类别,具体公式为:

y_pseudo=argmax(y_pred),

其中,y_pseudo表示生成的伪标签,y_pred表示模型的预测输出,argmax()表示函数返回最大值对应的索引值,即预测的类别。

其中,所述生成伪标签的过程还包括:

设置置信度阈值并判断模型预测结果的置信度大小,其中,置信度为模型输出概率分布中的最大值。

若预测结果的置信度超过置信度阈值,则将该预测结果作为伪标签。

若预测结果的置信度未超过所信度阈值,则重新进行模型预测,以此减小噪声对预测结果的影响。

更进一步的,在本实施例中,所述置信度的计算具体为:

C=max_y P(y|x;theta),

其中,C表示置信度,P(y|x;theta)表示模型f(x;theta)针对输入值x及参数theta后预测的输出值y的条件概率,max_y表示取最大概率值。更具体的,设置置信度阈值为T,若C>T,则y=argmax_y P(y|x;theta)作为伪标签,若C≤T,则重新进行模型预测或者不采用该样本生成伪标签,其中,argmax_y表示返回最大值对应的y。通过该方法,保证只有高置信度的预测结果才会被用于生成伪标签,从而进一步提高模型训练的准确性。

步骤S4:基于伪标签对基线模型进行数据联合训练。

进一步的,所述数据联合训练包括步骤如下:

步骤S41:同时使用标记数据集D_l及伪标签数据集D_v进行模型训练。

步骤S42:计算预测性别和预测年龄分别与真实值之间的损失。在本实施例中,所述预测性别与真实性别间的损失采用交叉熵损失函数计算,具体为:

L_gender=-∑y_true*log(y_pred),

其中,L_gender表示性别预测的损失,y_true表示真实的性别标签或伪标签,y_pred表示模型的预测性别,Σ表示求和;

在本实施例中,所述年龄性别与真实性别间的损失采用均方误差损失函数计算,具体为:

L_age=1/N*∑(y_true-y_pred)^2,

其中,L_age表示年龄预测的损失,y_true表示真实的年龄标签或伪标签,y_pred表示模型的预测年龄,Σ表示求和,N表示样本总数。

步骤S43:得到基线模型的总损失,具体的,所述基线模型的总损失为:

L=λ_gender*L_gender+λ_age*L_age,

其中,λ_gender和λ_age分别为性别预测损失权重与年龄预测损失权重,具体的,权重λ_gender和λ_age通常取自闭区间[0,1],但也可扩展到其他范围,具体取决于模型的应用场景和目标,且两个权重与总损失L呈正相关,权重越高,则对应的损失项在优化过程中的影响更大,更进一步的,若λ_gender较大,模型在训练过程中会更注重性别预测的准确性,相反,若λ_age较大,则会更注重年龄预测的准确性,在实际应用中,两者权重的选择需要综合考虑,可通过交叉验证或其他优化手段来确定,通过计算并优化模型的总损失函数,可以同时从带有真实标签的数据和带有伪标签的数据中学习,进一步提高模型的泛化能力。

步骤S5:对联合训练后的模型进行迭代训练,直至达到预设迭代次数,当然,在本发明的其他实施例中,也可通过判断模型的性能是否停止提高,从而判断是否迭代完成,以此使得模型在每次的迭代中不断地自我提升,从而提高性别和年龄识别的准确性。

更进一步的,在本实施例中,所述迭代次数通常为一个超参数,其设定可以基于以下因素通过交叉验证或网格搜索等方法,以确定最佳的迭代次数。迭代次数的影响因素具体包括:数据集大小:较大的数据集可能需要更多的迭代次数。模型复杂度:更复杂的模型可能需要更多的迭代次数以便充分训练。早停策略:使用验证集性能来动态决定是否继续训练。计算资源:有限的计算资源可能限制可设定的迭代次数。经验或先验知识:根据类似问题或先前的实验结果,可以有一定的经验性设置。优化目标:例如,如果目标是最小化某种损失函数,那么当损失函数收敛到一个可接受的范围时,迭代就可以停止。过拟合与欠拟合:过多的迭代可能导致过拟合,过少则可能导致欠拟合。

进一步的,所述迭代训练包括步骤如下:

步骤S51:初始化基线模型参数θ

步骤S521:使用标记数据集D_l及伪标签数据集D_v进行模型训练,更新模型参数θ

更进一步的,模型参数θi的更新通过梯度下降实现,具体的,通过计算总损失函数相对于模型参数θ的梯度,并按照此梯度方向更新θ,以最小化损失函数,公式为

步骤S53:使用模型参数θ

更进一步的,为了防止模型过拟合到伪标签数据,需定期在原始的标记数据上验证模型的性能,以确保模型在标记数据上的性能持续稳定或提升,通过迭代训练过程,使得模型在数据稀疏的情况下,仍能够逐渐提高在性别和年龄识别任务上的性能。

步骤S6:使用迭代训练后的基线模型对待测图像进行性别与年龄的识别预测,并输出预测结果。

具体的,性别预测输出为:gender_pred=argmax(P(male),P(female)),其中,argmax函数返回的是具有最大概率值的性别类别。

对于年龄预测,模型将输出一个连续的值,代表预测的年龄,具体的,设定模型对年龄的原始预测值为a,则年龄预测输出为:age_pred=round(a),更进一步的,在年龄预测输出过程中,还需通过统计方法如取整数、四舍五入等对年龄预测值进行后处理,以较小预测误差。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

相关技术
  • 一种基于人体姿态的年龄识别方法和装置
  • 一种基于三维人体骨架的人体基本动作实时识别方法
  • 一种基于人脸的单模型多输出的年龄性别识别方法及系统
  • 基于语音的用户性别年龄识别方法、装置及计算机设备
技术分类

06120116510600