年龄估计方法、年龄估计模型的训练方法及装置与流程

文档序号:23156498发布日期:2020-12-04 13:51阅读:158来源:国知局
年龄估计方法、年龄估计模型的训练方法及装置与流程

本发明涉及图像处理技术领域,尤其是涉及一种年龄估计方法、年龄估计模型的训练方法及装置。



背景技术:

年龄作为一种重要的人脸属性,在人机交互、智能商务、安全监控和娱乐等领域都有着广泛的应用。相关技术中,可以通过训练好的深度学习模型估计图像中人的年龄;该深度学习模型在训练的过程中,将年龄估计任务看作是分类任务或者回归任务,计算年龄估计的损失值,然后基于该损失值训练深度学习模型,该方式中,深度学习模型在训练过程中所参考的数据有限,从而限制了模型估计年龄的精确度。



技术实现要素:

有鉴于此,本发明的目的在于提供一种年龄估计方法、年龄估计模型的训练方法及装置,以提高年龄估计的精确度。

第一方面,本发明实施例提供了一种年龄估计方法,该方法包括:获取包含有目标对象的待处理图像;将待处理图像输入至预先训练完成的年龄估计模型中;其中,该年龄估计模型包括分类网络和回归网络;通过分类网络输出待处理图像对应的年龄分类结果,通过回归网络输出待处理图像对应的年龄回归结果;基于年龄分类结果和年龄回归结果确定目标对象的年龄。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,上述年龄估计模型还包括特征提取网络;上述通过分类网络输出待处理图像对应的年龄分类结果,通过回归网络输出待处理图像对应的年龄回归结果的步骤,包括:通过特征提取网络提取待处理图像的年龄特征;通过分类网络对年龄特征进行分类,得到年龄分类结果;通过回归网络对年龄特征进行回归运算,得到年龄回归结果。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,上述年龄分类结果包括:在预设的多个年龄值下,目标对象属于每个年龄值的概率;上述基于年龄分类结果和年龄回归结果确定目标对象的年龄的步骤,包括:计算年龄分类结果中概率最大时对应的年龄值与年龄回归结果的平均值;基于该平均值确定目标对象的年龄。

第二方面,本发明实施例提供了一种年龄估计模型的训练方法,该训练方法包括:基于预设的训练集确定样本图像;该样本图像携带有年龄标签,该年龄标签用于指示样本图像中目标对象的年龄;将样本图像输入至初始模型中;该初始模型包括初始分类网络和初始回归网络;通过初始分类网络输出样本图像的第一结果,通过初始回归网络输出样本图像的第二结果;基于第一结果、第二结果和所年龄标签,更新初始模型的权重参数;继续执行基于预设的训练集确定样本图像的步骤,直到初始模型收敛,得到年龄估计模型。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,上述初始模型还包括初始特征提取网络;通过初始分类网络输出样本图像的第一结果,通过初始回归网络输出样本图像的第二结果的步骤,包括:通过初始特征提取网络提取样本图像的年龄特征;通过初始分类网络对年龄特征进行分类,得到第一结果;通过所初始回归网络对年龄特征进行回归运算,得到第二结果。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,上述基于第一结果、第二结果和年龄标签,更新初始模型的权重参数的步骤,包括:基于第一结果和年龄标签,确定第一损失值;基于第二结果和年龄标签,确定第二损失值;基于第一损失值和所第二损失值,更新初始模型的权重参数。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,上述第一结果包括:在预设的多个年龄值下,样本图像中的目标对象属于每个年龄值的概率;该第一损失值通过下述算式确定:第二损失值通过下述算式确定:

其中,lclassification表示第一损失值;lregression表示第二损失值;表示第一结果;a表示年龄标签;表示在第一结果中年龄标签的年龄值对应的概率;表示第二结果;log表示以2为底的对数运算。

第三方面,本发明实施例提供了一种年龄估计装置,该装置包括:图像获取模块,用于获取包含有目标对象的待处理图像;图像输入模块,用于将待处理图像输入至预先训练完成的年龄估计模型中;其中,所述该年龄估计模型包括分类网络和回归网络;结果输出模块,用于通过分类网络输出待处理图像对应的年龄分类结果,通过所回归网络输出所待处理图像对应的年龄回归结果;年龄确定模块,用于基于年龄分类结果和年龄回归结果确定目标对象的年龄。

第四方面,本发明实施例提供了一种年龄估计模型的训练装置,该训练装置包括:样本确定模块,用于基于预设的训练集确定样本图像;该样本图像携带有年龄标签,该年龄标签用于指示样本图像中目标对象的年龄;该样本输入模块,用于将样本图像输入至初始模型中;该初始模型包括初始分类网络和初始回归网络;样本处理模块,用于通过初始分类网络输出样本图像的第一结果,通过初始回归网络输出样本图像的第二结果;参数调整模块,用于基于第一结果、第二结果和所年龄标签,更新初始模型的权重参数;继续执行基于预设的训练集确定样本图像的步骤,直到初始模型收敛,得到年龄估计模型。

第五方面,本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的年龄估计方法或者前述实施方式任一项所述的年龄估计模型的训练方法。

第六方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现前述实施方式任一项所述的年龄估计方法或者前述实施方式任一项所述的年龄估计模型的训练方法。

本发明实施例带来了以下有益效果:

本发明提供的一种年龄估计方法、年龄估计模型的训练方法及装置,首先获取包含有目标对象的待处理图像;进而将该待处理图像输入至预先训练完成的年龄估计模型中;再通过年龄估计模型的分类网络输出待处理图像对应的年龄分类结果,通过年龄估计模型的回归网络输出待处理图像对应的年龄回归结果;然后基于年龄分类结果和年龄回归结果确定目标对象的年龄。该方式在通过年龄估计模型估计目标对象的年龄时,可以对待处理图像进行分类处理得到年龄分类结果,对待处理图像进行回归处理得到年龄回归结果,并根据年龄分类结果和年龄回归结果确定目标对象的年龄,这种分类回归相集成的方式提高了年龄估计的精度。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种年龄估计方法的流程图;

图2为本发明实施例提供的另一种年龄估计方法的流程图;

图3为本发明实施例提供的一种年龄估计模型的结构示意图;

图4为本发明实施例提供的一种年龄估计装置的训练方法的流程图;

图5为本发明实施例提供的一种年龄估计装置的结构示意图;

图6为本发明实施例提供的一种年龄估计模型的训练装置的结构示意图;

图7为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

自动人脸年龄估计作为一种重要的生物特征识别技术,目前已经成为模式识别和计算机视觉领域内的热门研究课题。人脸年龄估计问题通常是指采用计算机视觉等技术根据输入的人脸图像自动估计出人脸图像中人的真实年龄。

在实际实现时,年龄估计是一个非常特殊的模式识别问题。具体来说,如果将不同的年龄当作是不同的类别,那么,年龄估计问题可以看作是一个分类任务,比如,假设训练数据集的年龄跨度为1到80岁,在该数据集上可以将年龄估计看作是一个80类的多分类问题;同时,一个人的年龄代表了他/她从出生到现在所经历的时间,这是一个连续的过程,因此,年龄估计问题也可以形式化为一个回归问题。

相关技术中,通常采用两种年龄估计方法,第一种是传统人脸年龄估计算法,通常需要人工提取人脸图像中的人脸特征(如主动外观特征、人体测量学特征、生物启发特征等),然后训练一个由人脸特征得到年龄的分类或回归器,通过该分类或回归器可以估计人脸图像中人的年龄,但是该方式缺乏人脸的高层语义信息,导致该方式得到的年龄估计结果的精度较低。

第二种是基于训练好的深度学习模型进行年龄估计;该深度学习模型在训练的过程中,将年龄估计任务看作是分类任务或者回归任务,计算年龄估计的损失值,然后基于该损失值训练深度学习模型,从而可以建立输入人脸与年龄的映射关系,该方式相较于传统人脸年龄估计算法可以考虑到人脸的高层语义信息,年龄估计精度有所提高,但是深度学习模型在训练过程中只是单纯的将年龄估计任务视为分类任务或者回归任务,缺乏分类和回归的互补性,从而限制了模型估计年龄的精确度。

基于上述描述,本发明实施例提供了一种年龄估计方法、年龄估计模型的训练方法及装置。该技术可以应用于人机交互、智能商务、安全监控和娱乐等领域的年龄估计的场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种年龄估计方法进行详细介绍,如图1所示,该方法包括如下步骤:

步骤s102,获取包含有目标对象的待处理图像。

上述目标对象通常是指图像中的人的人脸,该人脸可以有多种姿态和表情,但是一张图像中一个人脸只有一种姿态或者表情,例如,可以是正脸、侧脸、笑脸、哭脸等。上述待处理图像可以是通过摄像机或者照相机拍摄的图片或者照片,也可以是从特定的视频文件得到的某一视频帧。在具体实现时,可以通过下述方式获取待处理图像:通过通信连接的照相机、摄像头等设备拍摄后传入,或从存储有已经拍摄完成的图像的存储设备中获取。

步骤s104,将上述待处理图像输入至预先训练完成的年龄估计模型中;其中,该年龄估计模型包括分类网络和回归网络。

上述年龄估计模型可以采用深度学习模型或者神经网络模型,为了充分考虑年龄估计问题的分类和回归的互补性,该年龄估计模型包括独立的分类网络和回归网络。该年龄估计模型通常是根据预设的训练集通过机器学习训练得到的,在训练过程中,将年龄估计任务既看作分类任务又看作回归任务,然后根据分类网络对应的损失值和回归网络对应的损失值共同训练年龄估计模型,直到模型收敛,得到训练完成的年龄估计模型。

步骤s106,通过分类网络输出待处理图像对应的年龄分类结果,通过回归网络输出待处理图像对应的年龄回归结果。

年龄估计模型中的分类网络可以对待处理图像的特征进行分类处理,得到年龄分类结果;年龄估计模型中的回归网络可以对待处理图像的特征进行回归运算,得到年龄回归结果。在具体实现时,上述年龄分类结果可以是在预设的多个年龄值下,目标对象的年龄为每个年龄值的概率值,例如,预设的多个年龄值为0-100之间的整数,也即是代表了0-100岁,那么年龄分类结果也即是目标对象分别为0-100岁的概率值。上述年龄回归结果通常为一个实数,该实数代表了回归网络输出的年龄预测值。

步骤s108,基于年龄分类结果和年龄回归结果,确定目标对象的年龄。

融合年龄分类结果和年龄结果,可以得到目标对象的年龄,在具体实现时,可以将年龄分类结果中的最大值对应的年龄值和年龄回归结果求平均,将该平均值确定为目标对象的年龄;也可以按照预设规则(该预设规则可以根据研发需求设定)从年龄分类结果得到预估年龄值,然后将该预估年龄值和年龄回归结果的均值作为目标对象的年龄;还可以将年龄分类结果中的最大值对应的年龄值和年龄回归结果对应的年龄值中的较大值或者较小值作为目标对象的年龄。

本发明提供的一种年龄估计方法,首先获取包含有目标对象的待处理图像;进而将该待处理图像输入至预先训练完成的年龄估计模型中;再通过年龄估计模型的分类网络输出待处理图像对应的年龄分类结果,通过年龄估计模型的回归网络输出待处理图像对应的年龄回归结果;然后基于年龄分类结果和年龄回归结果确定目标对象的年龄。该方式在通过年龄估计模型估计目标对象的年龄时,可以对待处理图像进行分类处理得到年龄分类结果,对待处理图像进行回归处理得到年龄回归结果,并根据年龄分类结果和年龄回归结果确定目标对象的年龄,这种分类回归相集成的方式提高了年龄估计的精度。

本发明实施例还提供了另一种年龄估计方法,该方法在上述实施例方法的基础上实现;该方法重点描述年龄估计模型包括特征提取网络、分类网络和回归网络的情况下,通过分类网络输出待处理图像对应的年龄分类结果,通过回归网络输出待处理图像对应的年龄回归结果的具体过程(通过下述步骤s206-s210实现),以及基于年龄分类结果和年龄回归结果确定目标对象的年龄的具体过程(通过下述步骤s212-s214实现);如图2所示,该方法包括如下步骤:

步骤s202,获取包含有目标对象的待处理图像。

步骤s204,将上述待处理图像输入至预先训练完成的年龄估计模型中;该年龄估计模型包括特征提取网络、分类网络和回归网络。

步骤s206,通过特征提取网络提取待处理图像的年龄特征。

在年龄估计模型中,特征提取网络分别与分类网络和回归网络连接。特征提取网络用于接收输入的待处理图像,并提取待处理图像中的年龄特征,将该年龄特征分别输入至分类网络和回归网络。

上述特征提取网络可以提取待处理图像的图像特征,得到年龄特征,从而可以获得图像特征的高层语义信息。上述特征提取网络可以包括依次连接的卷积层和激活函数层,该激活函数层可以对卷积层输出的特征图进行函数变换,该变换过程可打破卷积层输入的线性组合,该激活函数层具体可以为sigmoid函数、tanh函数、relu函数等。为了提高特征提取网络的性能,通常该特征提取网络可以包括多组依次连接的卷积层和激活函数层,具体包含多少组依次连接的卷积层和激活函数层,以及每组包括多少个依次连接的卷积层和激活函数层,可以由具体应用的速度与精度需求决定,一般来说,个数越多网络整体越深,性能越好,速度则越慢。

在一些实施例中,上述特征提取网络中的卷积层和激活函数成可以通过归一化层连接,该归一化层可以对卷积层输出的特征图进行归一化处理,该过程可以加快特征提取网络以及模型的收敛速度,并且可以缓解在多层卷积成中梯度弥散的问题,使得特征提取网络更加稳定。

步骤s208,通过分类网络对年龄特征进行分类,得到年龄分类结果;该年龄分类结果包括:在预设的多个年龄值下,目标对象属于每个年龄值的概率。

上述预设的多个年龄值可以是用户根据实际需求设置的年龄范围,例如,可以是0-80之间的整数,代表了0到80岁这81个类别;可以是0-100之间的整数,代表了0到100岁这101个类别。分类网络接收到特征提取网络输入的年龄特征时,针对与预设的多个年龄值,对该年龄特征进行分类处理,得到该年龄特征在预设的多个年龄值中归类为每个年龄值的概率值,该概率值也即是目标对象属于每个年龄值的概率。

在具体实现时,上述分类网络可以是现有的分类模型,例如,svm(supportvectormachine,支持向量机)、lr(linearregression,线性回归模型)等;也可以是由一个或者多个全连接层(fullyconnectedlayers,简称fc)组成的网络,该全连接层可以输出指定维数(该维数通常与预设的多个年龄值的个数相同)的年龄分类结果对应的向量,向量中每一维的数值对应一个年龄值的概率。

上述年龄分类结果中的概率可以是归一化后的概率,也可以是未归一化后的概率,如果需要将未归一化后的概率变换为归一化后的概率时,可以在分类网络的最后加入归一化层,该归一化层中包含有softmax函数,也即是通过softmax函数对概率进行归一化,得到0~1范围内的概率。例如,假设未归一化的年龄分类结果为中的每个元素均送入softmax函数中,可得到概率归一化后的年龄分类结果

其中,表示归一化后的年龄分类结果中的第j个年龄值对应的概率;表示未归一化的年龄分类结果中的第j个年龄值对应的概率;表示未归一化的年龄分类结果中的第m个年龄至对应的概率。

步骤s210,通过回归网络对年龄特征进行回归运算,得到年龄回归结果。

在具体实现时,上述回归网络可以是现有的回归模型,例如,神经网络回归模型、自回归模型、线性回归模型等;也可以是由一个或者多个全连接层组成的网络,该全连接层可以输出一个实数,该实数即为回归网络对待处理图像中目标对象的年龄的预测值。

为了便于对本发明实施例中的年龄估计模型进行理解,如图3所示给出了一种年龄估计模型的结构示意图。图3中的block1、block2和fc1组成了特征提取网络,其中,block1由一组卷积层和激活函数层组成、block2也由一组卷积层和激活函数层组成,fc1表示一个全连接层;图3中的fc2表示分类网络,fc3表示回归网络,其中,fc2和fc3均为全连接层。

在具体实现时,将待处理图像输入至block1中,依次经过block2和fc1的处理后,得到一个维数为c(c的数值根据任务需求设定,通常c值越大效果越好)的年龄向量,该年龄向量也即是提取到的待处理图像的年龄特征;其中,block2输出的数据的维数通常较大,fc1可以理解为一个降维的过程,也即是将block2输出的特征向量降至c维,得到年龄向量。然后将该年龄特征分别送入分类网络和回归网络,可以得到分类网络输出的与预设的多个年龄值的个数相同维数的年龄分类结果,以及回归网络输出的一维的年龄回归结果。

在具体实现时,上述年龄估计模型中各个网络的权重参数是在机器学习的过程中根据损失值确定的;其中,该损失值根据分类网络输出的年龄分类结果和回归网络输出的年龄回归结果,以及样本图像对应的年龄标签确定;该年龄标签用于指示样本图像中包含的目标对象的年龄;该年龄估计模型的具体训练过程会在下述年龄估计模型的训练方法的实施例中进行详细介绍,在此不再赘述。

步骤s212,计算年龄分类结果中概率最大时对应的年龄值与年龄回归结果的平均值。

步骤s214,基于上述平均值确定目标对象的年龄。

在具体实现时,如果该平均值为整数,可以将该平均值确定为目标对象的年龄;如果该年龄均值为小数,可以采用向上取整、向下取整或者四舍五入的方式,得到目标对象的年龄。

上述年龄估计方法,首先获取包含有目标对象的待处理图像,进而将待处理图像输入至预先训练完成的年龄估计模型中;再通过特征提取网络提取待处理图像的年龄特征;通过分类网络对年龄特征进行分类,得到年龄分类结果;通过回归网络对年龄特征进行回归运算,得到年龄回归结果;然后计算年龄分类结果中概率最大时对应的年龄值与年龄回归结果的平均值;最后基于该平均值确定目标对象的年龄。该方式中的年龄估计模型在估计年龄时,可以自动学习到待处理图像中与年龄有关的多层级语义特征,从而可以提高年龄估计的精度;同时,该方式将分类网络输出的年龄分类结果和回归网络输出的年龄回归结果融合起来,得到目标对象的年龄,这种结果的融合可以看作是一种类型的集成式学习,相较于单独利用分类或回归估计年龄的方式,该方式能进一步提高年龄估计的精度。

针对于上述年龄估计方法的实施例,本发明实施例还提供了一种年龄估计模型的训练方法,该年龄估计模型为上述实施例中采用的估计年龄的模型,如图4所示,该训练方法包括如下步骤:

步骤s402,基于预设的训练集确定样本图像;该样本图像携带有年龄标签,该年龄标签用于指示样本图像中目标对象的年龄。

上述训练集中包含有大量的样本,每个样本中均包含有一个样本图像以及该样本图像对应的年龄标签,且每个样本图像中均包含有目标对象,该目标对象也即是样本图像中人的人脸,该人脸可以有多种姿态和表情,但是一样本图像中的人脸只有一种姿态或者表情,例如,可以是正脸、侧脸、笑脸、哭脸等。该样本图像可以是预先通过摄像机或者照相机拍摄的图片或者照片,也可以是预先存储的视频文件中得到的某一视频帧,具体地,该样本图像可以用x标识,x∈rh×w×3,其中h表示高度,w表示宽度,3表示rgb(r表示red,红色;g表示green,绿色;b表示blue,蓝色)三个通道,r表示训练集。

上述年龄标签标识了样本图像中人的年龄,该年龄标签可以通过下述步骤10-11确定:

步骤10,获取样本图像对应的多个标注结果;该标注结果用于标识样本图像中目标对象的年龄值;该标注结果中标注的年龄值为预设的多个年龄值中的一个年龄值。

上述预设的多个年龄值是用户设置的年龄范围内的年龄值,例如,可以设置年龄值为0至100之间的整数,分别代表0岁到100岁。在具体实现时,预设的n个人对样本图像中的目标对象进行年龄标注,可以得到n个标注结果,这n个标注结果也即是样本图像对应的多个标注结果。

步骤11,计算多个标注结果对应的年龄值的平均值,将该平均值确定为样本图像的年龄标签。

例如,假设预设的多个年龄值为0至100之间的整数,n个人对样本图像中的目标对象进行年龄标注,得到n个标注结果其中,k的取值范围为1到n,表示第k个人对样本图像的标注结果,根据n个标注结果,可得到样本图像的年龄标签为:

其中,a表示样本图像的年龄标签;表示对*进行向下取整。

步骤s404,将上述样本图像输入至初始模型中;该初始模型包括初始分类网络和初始回归网络。

步骤s406,通过上述初始分类网络输出样本图像的第一结果,通过初始回归网络输出样本图像的第二结果。

在具体实现时,上述初始模型包括初始特征提取网络、初始分类模型和初始回归模型;上述步骤s406可以通过下述步骤20-22实现:

步骤20,通过初始特征提取网络提取样本图像的年龄特征。

在初始模型中,初始特征提取网络分别与初始分类网络和初始回归网络连接,该初始特征提取网络用于接收输入的样本图像,并提取该样本图像中的年龄特征,将提取到的年龄特征分别输入至分类网络和回归网络。

步骤21,通过初始分类网络对年龄特征进行分类,得到第一结果。

步骤22,通过初始回归网络对年龄特征进行回归运算,得到第二结果。

上述第一结果包括:在预设的多个年龄值下,样本图像中的目标对象属于每个年龄值的概率;上述第二结果为回归网络预测的目标对象的年龄值。上述初始特征提取网络、初始分类模型和初始回归模型的结构可以参考图3所示的示意图中的结构,但是图3中的示意图中的结构只是一种实例,还可以通过其他的结构实现。

步骤s408,基于第一结果、第二结果和年龄标签,更新初始模型的权重参数;继续执行基于预设的训练集确定样本图像的步骤,直到初始模型收敛,得到年龄估计模型。

在具体实现时,可基于第一结果和年龄标签,确定第一损失值;基于第二结果和年龄标签,确定第二损失值;然后基于第一损失值和第二损失值,更新初始模型的权重参数。具体地,上述第一损失值可以通过下述算式确定:

上述第二损失值可以通过下述算式确定:

其中,lclassification表示第一损失值;lregression表示第二损失值;表示第一结果;a表示年龄标签;表示在第一结果中年龄标签的年龄值对应的概率;表示第二结果;log表示以2为底的对数运算。

上述第一损失值也可以称为分类损失值,通常第一结果中年龄标签对应的年龄值的概率越大,第一损失值越小,因此,随着训练的进行第一结果中年龄标签对应的年龄值会越来越大,也即是分类结果越来越接近真实值(也即是年龄标签对应的年龄值);上述第二损失值也可以称为回归损失值,该第二损失值表示年龄回归结果与年龄标签之间的距离,年龄回归结果与年龄标签越接近,第二损失值越小,因此,随着训练的进行年龄回归结果会越来越接近真实值。

在具体实现时,初始模型的模型损失值可以与第一损失值与第二损失值的和:

l=lclassification+lregression;

其中,l表示模型损失值,那么可以根据模型损失值,更新初始模型的权重参数,具体的实现方式可以为下述步骤30-33:

步骤30,计算模型损失值对初始模型中待更新权重参数的导数w表示待更新权重参数;该待更新权重参数可以为初始模型中的所有参数,也可以为随机从初始模型中确定的部分参数;该更新权重参数也即是初始模型中各层网络的权值。通常可以根据反向传播算法求解待更新权重参数的导数;如果模型损失值较大,则说明当前的初始模型的估计结果与期望结果相差较多,则求出模型损失值对初始模型中待更新权重参数的导数,该导数可以作为更新待更新权重参数的依据。

步骤31,更新待更新权重参数,得到更新后的待更新权重参数

其中,α为预设系数,该预设系数为人工预先设定的超参数,例如,为0.01、0.001等数值。

步骤32,判断更新后的初始模型的权重参数是否均收敛,如果权重参数均收敛,执行步骤s402;否则,执行步骤33。

步骤33,将参数更新后的初始模型确定为训练后的年龄估计模型。

在具体实现时,可以将预设的样本数据集中的样本图像按照预设比例(例如,10:1或者20:1等)划分为用来训练模型的训练集,以及用来验证模型的测试集。通过测试集可以确定训练后的年龄估计模型的识别精度;通常可以从测试集中确定测试样本,该测试样本包含有样本图像,以及该样本图像对应的年龄标签,将该测试样本输入至通过训练集训练完成的年龄估计模型中,可输出样本图像对应的年龄分类结果和年龄回归结果;基于该年龄分类结果和年龄回归结果确定目标对象的年龄,将该年龄与年龄标签比对,判定该年龄是否正确,继续从测试集中确定测试样本,直到测试集中的所有样本选取完毕;统计每个测试样本对应的测试结果对应的正确性,得到训练后的年龄估计模型的预测精度。

上述年龄估计模型的训练方法,首先基于预设的训练集确定样本图像;进而将该样本图像输入至初始模型中;再通过该初始模型的初始分类网络输出样本图像的第一结果,通过该初始模型的初始回归网络输出样本图像的第二结果;然后基于第一结果、第二结果和年龄标签,更新初始模型的权重参数,直到初始模型收敛,得到年龄估计模型。该方式中的年龄估计模型可以自动学习与年龄有关的多层级语义特征,从而可提高年龄估计的精度;同时,该方式将年龄估计任务既看作分类任务又看作回归任务,并通过分类损失和回归损失来同时训练年龄估计模型,相较于单独利用分类或回归来进行年龄估计的方式,该方式将分类回归相集成可进一步提高年龄估计的精度。

对应于上述年龄估计方法的实施例,本发明实施例还提供了一种年龄估计装置,如图5所示,该装置包括:

图像获取模块50,用于获取包含有目标对象的待处理图像。

图像输入模块51,用于将待处理图像输入至预先训练完成的年龄估计模型中;其中,该年龄估计模型包括分类网络和回归网络。

结果输出模块52,用于通过分类网络输出待处理图像对应的年龄分类结果,通过回归网络输出待处理图像对应的年龄回归结果。

年龄确定模块53,用于基于年龄分类结果和年龄回归结果确定目标对象的年龄。

上述年龄估计装置,首先获取包含有目标对象的待处理图像;进而将该待处理图像输入至预先训练完成的年龄估计模型中;再通过年龄估计模型的分类网络输出待处理图像对应的年龄分类结果,通过年龄估计模型的回归网络输出待处理图像对应的年龄回归结果;然后基于年龄分类结果和年龄回归结果确定目标对象的年龄。该方式在通过年龄估计模型估计目标对象的年龄时,可以对待处理图像进行分类处理得到年龄分类结果,对待处理图像进行回归处理得到年龄回归结果,并根据年龄分类结果和年龄回归结果确定目标对象的年龄,这种分类回归相集成的方式提高了年龄估计的精度。

具体地,上述年龄估计模型还包括特征提取网络;上述结果输出模块52,还用于:通过特征提取网络提取待处理图像的年龄特征;通过分类网络对年龄特征进行分类,得到年龄分类结果;通过回归网络对年龄特征进行回归运算,得到年龄回归结果。

进一步地,上述年龄分类结果包括:在预设的多个年龄值下,目标对象属于每个年龄值的概率;上述年龄确定模块53,用于:计算年龄分类结果中概率最大时对应的年龄值与年龄回归结果的平均值;基于该平均值确定目标对象的年龄。

本发明实施例所提供的年龄估计装置,其实现原理及产生的技术效果和前述年龄估计方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

对应于上述年龄估计模型的训练方法实施例,本发明实施例还提供了一种年龄估计模型的训练装置,如图6所示,该训练装置包括:

样本确定模块60,用于基于预设的训练集确定样本图像;该样本图像携带有年龄标签,该年龄标签用于指示样本图像中目标对象的年龄。

样本输入模块61,用于将样本图像输入至初始模型中;该初始模型包括初始分类网络和初始回归网络。

样本处理模块62,用于通过初始分类网络输出样本图像的第一结果,通过初始回归网络输出所样本图像的第二结果。

参数调整模块63,用于基于第一结果、第二结果和年龄标签,更新初始模型的权重参数;继续执行基于预设的训练集确定样本图像的步骤,直到初始模型收敛,得到年龄估计模型。

上述年龄估计模型的训练装置,首先基于预设的训练集确定样本图像;进而将该样本图像输入至初始模型中;再通过该初始模型的初始分类网络输出样本图像的第一结果,通过该初始模型的初始回归网络输出样本图像的第二结果;然后基于第一结果、第二结果和年龄标签,更新初始模型的权重参数,直到初始模型收敛,得到年龄估计模型。该方式中的年龄估计模型可以自动学习与年龄有关的多层级语义特征,从而可提高年龄估计的精度;同时,该方式将年龄估计任务既看作分类任务又看作回归任务,并通过分类损失和回归损失来同时训练年龄估计模型,相较于单独利用分类或回归来进行年龄估计的方式,该方式将分类回归相集成可进一步提高年龄估计的精度。

具体地,上述初始模型还包括初始特征提取网络;上述样本处理模块62,用于:通过初始特征提取网络提取样本图像的年龄特征;通过初始分类网络对年龄特征进行分类,得到第一结果;通过初始回归网络对年龄特征进行回归运算,得到第二结果。

进一步地,上述参数调整模块63,用于:基于第一结果和年龄标签,确定第一损失值;基于第二结果和年龄标签,确定第二损失值;基于第一损失值和第二损失值,更新初始模型的权重参数。

在具体实现时,上述第一结果包括:在预设的多个年龄值下,样本图像中的目标对象属于每个年龄值的概率;该第一损失值通过下述算式确定:

上述第二损失值通过下述算式确定:

其中,lclassification表示第一损失值;lregression表示第二损失值;表示第一结果;a表示年龄标签;表示在第一结果中年龄标签的年龄值对应的概率;表示第二结果;log表示以2为底的对数运算。

本发明实施例所提供的年龄估计模型的训练装置,其实现原理及产生的技术效果和前述年龄估计模型的训练方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例还提供了一种电子设备,参见图7所示,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器执行机器可执行指令以实现上述年龄估计方法或者上述年龄估计模型的训练方法。

进一步地,图7所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。

其中,存储器100可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。

本发明实施例还提供一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述年龄估计方法或上述年龄估计模型的训练方法,具体实现可参见方法实施例,在此不再赘述。

本发明实施例所提供的年龄估计方法、年龄估计模型的训练方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1