年龄预估模型训练方法、面部图像识别方法及装置与流程

文档序号:17491011发布日期:2019-04-23 20:31阅读:341来源:国知局
年龄预估模型训练方法、面部图像识别方法及装置与流程

本申请涉及图像处理技术领域,特别是涉及一种年龄预估模型训练方法、面部图像识别方法、装置、计算机可读存储介质和计算机设备。



背景技术:

随着数据处理技术的发展,图像处理技术也得到了飞速发展,使得图像处理技术的应用领域相当广泛,例如交通监控和目标识别等较多的应用领域,在目标识别中可以通过图像处理可以对图像中的目标对象进行识别。

然而,目前的图像处理技术中,可以通过对面部图像的识别,确定面部图像对应的年龄,传统的通过面部图像进行年龄识别方式,识别结果很容易受到图像采集时环境因素的影响,从而导致通过面部图像进行年龄识别的准确性较低。



技术实现要素:

基于此,有必要针对通过面部图像进行年龄识别的准确性较低的技术问题,提供一种年龄预估模型训练方法、面部图像识别方法、装置、计算机可读存储介质和计算机设备。

一种年龄预估模型训练方法,包括:

获取当前阶段对应的面部样本图像集;

对于所述面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值;

根据所述参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件;

根据所述当前阶段的训练中止条件确定下一阶段的训练中止条件;

以下一阶段作为当前阶段,返回所述获取当前阶段对应的面部样本图像集继续对所述待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

一种年龄预估模型训练装置,所述装置包括:

样本图像获取模块,用于获取当前阶段对应的面部样本图像集;

质量参数调整模块,用于对于所述面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值;

模型训练模块,用于根据所述参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件;

停止条件确定模块,用于根据所述当前阶段的训练中止条件确定下一阶段的训练中止条件;

训练循环模块,用于以下一阶段作为当前阶段,通知所述样本图像获取模块获取当前阶段对应的面部样本图像集,以继续对所述待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取当前阶段对应的面部样本图像集;

对于所述面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值;

根据所述参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件;

根据所述当前阶段的训练中止条件确定下一阶段的训练中止条件;

以下一阶段作为当前阶段,返回所述获取当前阶段对应的面部样本图像集继续对所述待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:

获取当前阶段对应的面部样本图像集;

对于所述面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值;

根据所述参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件;

根据所述当前阶段的训练中止条件确定下一阶段的训练中止条件;

以下一阶段作为当前阶段,返回所述获取当前阶段对应的面部样本图像集继续对所述待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

上述年龄预估模型训练方法、装置、计算机可读存储介质和计算机设备,对当前阶段对应的面部样本图像集中每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值,根据参数调整面部图像和选取的年龄标注值进行当前阶段的训练。在训练的过程中通过调整图像质量参数,使得训练得到的模型充分考虑了环境因素对图像质量的影响,从而考虑到图像质量对模型识别结果的影响,在通过多个阶段的训练后,提高了训练得到的年龄预估模型的年龄预估准确性。

一种年龄预估模型训练方法,包括:

获取面部图像;

将所述面部图像年龄预估模型,得到所述年龄预估模型输出的各预设年龄段分别对应的概率值;

根据各预设年龄段分别对应的概率值,确定年龄期望值;

以所述年龄期望值对应的年龄预估值,作为所述面部图像的年龄预估值。

一种面部图像识别装置,所述装置包括:

面部图像获取模块,用于获取面部图像;

面部图像识别模块,用于将所述面部图像年龄预估模型,得到所述年龄预估模型输出的各预设年龄段分别对应的概率值;

年龄期望确定模块,用于根据各预设年龄段分别对应的概率值,确定年龄期望值;

年龄预估模块,用于以所述年龄期望值对应的年龄预估值,作为所述面部图像的年龄预估值。

一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取面部图像;

将所述面部图像年龄预估模型,得到所述年龄预估模型输出的各预设年龄段分别对应的概率值;

根据各预设年龄段分别对应的概率值,确定年龄期望值;

以所述年龄期望值对应的年龄预估值,作为所述面部图像的年龄预估值。

一种存储有计算机程序的存储介质,所述计算机程序被处理器执行时,使得处理器执行如下步骤:

获取面部图像;

将所述面部图像年龄预估模型,得到所述年龄预估模型输出的各预设年龄段分别对应的概率值;

根据各预设年龄段分别对应的概率值,确定年龄期望值;

以所述年龄期望值对应的年龄预估值,作为所述面部图像的年龄预估值。

上述面部图像识别方法、装置、计算机可读存储介质和计算机设备,根据考虑到环境因素对采集到的面部图像的影响的年龄预估模型,对获取到的面部图像进行年龄识别,提高了各预设年龄段分别对应的概率值的准确性。再根据各预设年龄段分别对应的概率值计算年龄期望值,从而根据年龄期望值得到年龄预估值,从而进一步提高了年龄预估值的准确性。

附图说明

图1为一个实施例中年龄预估模型训练方法的应用环境图;

图2为一个实施例中年龄预估模型训练方法的流程示意图;

图3为一个实施例中获取面部样本图像集的步骤的流程示意图;

图4为一个实施例中调整图像质量参数的步骤的流程示意图;

图5为一个实施例中面部样本图像的年龄标注的示意图;

图6为另一个实施例中年龄预估模型训练方法的流程示意图;

图7为一个实施例中调整图像质量参数的示意图;

图8为一个实施例中面部图像识别方法的流程示意图;

图9为一个实施例中对面部图像的年龄识别示意图;

图10为一个实施例中得到面部图像的步骤的流程示意图;

图11为一个实施例中顾客详情展示示意图;

图12为一个实施例中展示顾客访问统计结果的示意图;

图13为一个实施例中年龄预估模型训练装置的结构框图;

图14为一个实施例中面部图像识别装置的结构框图;

图15为一个实施例中计算机设备的结构框图;

图16为另一个实施例中计算机设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中年龄预估模型训练方法的应用环境图。参照图1,该年龄预估模型训练方法应用于年龄预估模型训练系统。该年龄预估模型训练系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

如图2所示,在一个实施例中,提供了一种年龄预估模型训练方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明,也可以应用在图1中的终端110。参照图2,该年龄预估模型训练方法具体包括如下步骤:

s202,获取当前阶段对应的面部样本图像集。

其中,服务器中设置有存储样本图像训练集的数据库,样本图像训练集包括各年龄段分别对应的面部样本图像。当前阶段对应的面部样本图像集为当前的模型训练阶段所需要的面部样本图像的集合。面部样本图像为对目标对象的面部进行图像采集得到的图像,面部样本图像可以是人脸样本图像。

具体地,服务器接收到终端发送的模型训练指令,根据模型训练指令对存储样本图像训练集的数据库进行访问,从数据库中提取当前阶段对应的面部样本图像,得到当前阶段对应的面部样本图像集。

在一个实施例中,服务器获取当前阶段对应的预设图像数量,根据预设图像数量从存储样本图像训练集中筛选面部样本图像,以筛选到的面部样本图像作为当前阶段对应面部样本图像集。

s204,对于面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值。

其中,图像质量参数表示面部样本图像的图像质量的参数,图像质量参数具体可以包括图像模糊度和图像亮度,还可以包括像素数量、分辨率和透明度等。面部样本图像集中的每一面部样本图像都对应标注了年龄标注范围,例如年龄标注范围可以是2-4岁,2-3岁的年龄标注范围中的年龄标注值为2岁、3岁和4岁。

具体地,服务器读取面部样本图像集中的每一面部样本图像,获取读取到的面部样本图像的图像质量参数,对获取到的图像质量参数中的每个参数进行调大或调小,得到参数调整面部图像。服务器提取与读取到的面部样本图像对应的年龄标注范围,确定提取到的年龄标注范围内的年龄标注值,从确定的年龄标注值中选取年龄标注值。服务器提取到的年龄标注范围与读取到的面部样本图像对应,参数调整面部图像与读取到的面部样本图像对应,同一面部样本图像对应的年龄标注范围和参数调整面部图像相应。

s206,根据参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件。

其中,当前阶段的训练中止条件为中止当前阶段、并进入下一阶段所要满足的条件。

具体地,服务器以同一面部样本图像对应的参数调整面部图像和选取的年龄标注值,分别作为待训练模型的输入和输出进行当前阶段的训练,直至满足当前阶段的训练中止条件。

在一个实施例中,当前阶段的训练中止条件可以为训练中止时长,服务器以当前阶段对应的面部样本图像集中,每一张面部样本图像分别对应的参数调整面部图像和选取的年龄标注值,分别作为待训练模型的输入和输出进行当前阶段的训练,并统计训练耗费时长,当统计到的训练耗费时长等于当前阶段对应训练中止时长,则满足当前阶段的训练中止条件,停止当前阶段的模型训练。

s208,根据当前阶段的训练中止条件确定下一阶段的训练中止条件。

其中,下一阶段的训练中止条件依赖于当前阶段的训练中止条件。

具体地,当训练中止条件为训练中止轮数时,当统计到的当前阶段对应的训练轮数等于当前阶段对应的训练中止轮数时,服务器中止当前阶段对应的模型训练,按照预设中止条件调整方式,对当前阶段对应的训练中止轮数进行调整,得到下一阶段的训练中止轮数。

在一个实施例中,当训练中止条件为训练中止时长时,当统计到的当前阶段对应的训练耗费时长等于当前阶段对应的训练中止时长时,服务器中止当前阶段对应的模型训练,按照预设中止条件调整方式,对当前阶段对应的训练中止时长进行调整,得到下一阶段的训练中止时长。

例如,当前阶段对应的训练中止时长为100分钟,则预设中止条件调整方式为下降调整10%,则对100分钟下降调整10%,得到90分钟,则90分钟为下一阶段对应的训练中止时长。

s210,以下一阶段作为当前阶段,返回获取当前阶段对应的面部样本图像集继续对待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

具体地,服务器以下一阶段作为当前阶段,返回s202重新获取当前阶段对应的面部样本图像集,根据重新获取到的面部样本图像集对待训练模型继续进行训练,当下一阶段对应的训练中止条件满足训练完成条件时,停止训练,以训练得到的模型作为年龄预估模型。

在一个实施例中,当训练中止条件为训练中止时长时,根据当前阶段的训练中止时长确定下一阶段的训练中止时长,当下一阶段的训练中止时长等于预设训练完成时长时,则满足训练完成条件。预设训练完成时长可以为0。

本实施例中,对当前阶段对应的面部样本图像集中每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值,根据参数调整面部图像和选取的年龄标注值进行当前阶段的训练。在训练的过程中通过调整图像质量参数,使得训练得到的模型充分考虑了环境因素对图像质量的影响,从而考虑到图像质量对模型识别结果的影响,在通过多个阶段的训练后,提高了训练得到的年龄预估模型的年龄预估准确性。

如图3所示,在一个实施例中,s202具体包括获取面部样本图像集的步骤,该步骤具体包括以下内容:

s302,获取预设样本数量和各年龄段的样本年龄比例。

其中,预设样本数量为面部样本图像集中包括的面部样本图像的数量。各年龄段的样本年龄比例,为面部样本图像集中各年龄段的面部样本图像的数量的比例。

具体地,服务器在接收到终端发送训练开始指令后,对训练开始指令进行解析,通过解析提取训练开始指令中的预设样本数量和各年龄段的样本年龄比例。

举例说明,各年龄段可以包括0-12岁、13-65岁和大于65岁三个年龄段,0-12岁、13-65岁和大于65岁三个年龄段的样本年龄比例为1:3:1,则表示0-12岁年龄段的面部样本图像数量占面部样本图像集中面部样本数量的1/5,13-65岁年龄段的面部样本图像数量占面部样本图像集中面部样本数量的3/5,大于65岁年龄段的面部样本图像数量占面部样本图像集中面部样本数量的1/5。各年龄段也可以其他年龄段划分。

s304,根据预设样本数量和各年龄段的样本比例,确定各年龄段分别对应的图像样本数量。

具体地,服务器获取预设样本数量和各年龄段的样本比例后,根据各年龄段的样本比例确定各年龄段对应的样本占比,根据各年龄段对应的样本占比和预设样本数量,确定各年龄段分别对应的图像样本数量。

举例说明,若各年龄段包括0-12岁、13-65岁和大于65岁三个年龄段,0-12岁、13-65岁和大于65岁三个年龄段的样本年龄比例为1:3:1,则确定0-12岁、13-65岁和大于65岁三个年龄段分别对应的样本占比为1/5、3/5和1/5。若预设样本数量为1000,则0-12岁的年龄段对应的图像样本数量=1000×1/5=200,13-65的年龄段对应的图像样本数量=1000×3/5=600,大于65岁的年龄段对应的图像样本数量=1000×1/5=200。

s306,按照各年龄段分别对应的图像样本数量,从面部样本训练集中筛选面部样本图像,得到当前阶段对应的面部样本图像集。

具体地,服务器按照各年龄段分别对应的图像样本数量,从面部样本训练集中筛选与各年龄段分别对应的图像样本数量匹配的各年龄段的面部样本图像,由筛选得到的面部样本图像组成当前阶段对应的面部样本图像集。

在一个实施例中,服务器根据面部样本训练集中每个面部样本图像的年龄标注范围,确定分别属于各年龄段的面部样本图像,按照各年龄段分别对应的图像样本数量从分别属于各年龄段的面部样本图像中,筛选面部样本图像,得到当前阶段对应的面部样本图像集。

本实施例中,根据预设样本数量和各年龄段的样本年龄比例,根据预设样本数量和各年龄段的样本比例,确定各年龄段分别对应的图像样本数量,根据各年龄段分别对应的图像样本数量筛选面部样本图像,保证得到面部样本图像集中面部样本图像对应的年龄的准确分布,进一步提高了根据面部样本图像集训练得到的年龄预估模型的准确性。

如图4所示,在一个实施例中,s204具体还包括调整图像质量参数的步骤,该步骤具体包括以下内容:

s402,读取面部样本图像集中的每一面部样本图像。

具体地,服务器在筛选到当前阶段对应的面部样本图像集后,读取面部样本图像集中的每一面部样本图像。

在一个实施例中,服务器按照并行图像处理数量,从当前阶段对应的面部样本图像集中,读取与并行图像处理数量匹配的面部样本图像,以读取到的面部样本图像作为当前轮次对应的面部样本图像。

s404,获取与读取到的面部样本图像对应的图像质量参数和年龄标注范围。

其中,图像质量参数为表示图像质量的参数。图像质量参数可以包括图像亮度和图像模糊度。年龄标注范围为对面部样本图像标注的年龄范围。

具体地,服务器在读取到面部样本图像后,解析读取到的面部样本图像的参数,通过解析从读取到的面部样本图像的参数中获取图像质量参数。服务器提取读取到的面部样本图像的图像标识,查询与提取到的图像标识对应的年龄标注范围。

s406,确定获取到的图像质量参数中各图像质量参数分别对应的参数调整方式。

具体地,服务器读取到的图像质量参数中有各种图像质量参数,每种图像质量参数对应的参数调整方式也不相同。服务器确定获取到的图像质量参数中各中图像质量参数所属的参数类型,根据查询与确定的参数类型对应的参数调整方式。

s408,按照确定的参数调整方式对图像质量参数进行调整,得到参数调整面部图像。

具体地,当确定的参数调整方式为随机调整时,服务器确定的各图像质量参数分别对应的参数范围,在各图像质量参数分别对应的参数范围内随机选取图像质量参数,根据选取的图像质量参数对读取到的面部样本图像进行调整,得到参数调整面部图像。

在一个实施例中,当确定的参数调整方式为随机调整时,服务器确定的各图像质量参数分别对应的参数候选集,从参数候选集中随机选取图像质量参数。

在一个实施例中,图像质量参数包括图像亮度和图像模糊度。当图像亮度对应的参数调整方式为随机调整时,服务器确定图像亮度的参数范围,在确定的参数范围中随机选取图像亮度。当图像模糊度对应的参数调整方式为像素调整方式,则随机生成采样参数,根据随机生成的采样参数对读取到的面部样本图像的像素进行下采样或者上采样处理,得到采样后的面部样本图像,按照随机选取的图像亮度对采样后的面部样本图像进行调整,得到参数调整面部图像。

在一个实施例中,服务器中对于每一面部样本图像,都设置一个与该面部样本图像对应的面部图像集合,面部图像集合中存储着多个与该面部样本图像对应参数调整面部图像,且每个参数调整面部图像的图像质量参数都不相同。服务器从读取到的面部样本图像对应的面部图像集合中选取参数调整面部图像。

s410,从年龄标准范围中选取年龄标注值,作为参数调整面部图像对应的年龄标注值。

具体地,服务器确定读取到的面部样本图像对应的年龄标准范围内的年龄标注值,在确定的年龄标注值中随机选取一个年龄标注值,以选取的年龄标注值作为参数调整面部图像对应的年龄标注值。

举例说明,可以参照图5,图5为一个实施例中面部样本图像的年龄标注的示意图。图5中的面部样本图像对应的年龄标注范围为2-4岁,则年龄标注范围2-4岁对应的年龄标注值包括2岁、3岁和4岁,在训练的时候从2岁、3岁和4岁中选取一个年龄标注值。

本实施例中,对读取到面部样本图像的图像质量参数进行调整,得到参数调整图像,从相应的年龄标注范围中选取年龄标注值作为参数调整面部图像对应的年龄标注值,根据参数调整面部图像和对应的年龄标注值训练模型,保证训练到的模型考虑了图像参数变化和年龄变化,提高了训练得到的模型的准确性。

在一个实施例中,s410具体包括以下内容:确定年龄标准范围中各年龄标注值分别对应的选取概率;按照确定的选取概率从各年龄标注值中选取年龄标注值;以选取的年龄标注值作为参数调整面部图像对应的年龄标注值。

举例说明,面部样本图像对应的年龄标注范围为2-4岁,则年龄标注范围2-4岁对应的年龄标注值包括2岁、3岁和4岁,每个年龄标注值都设置有相应的选取概率,若各年龄标准值分别对应的选取概率均为1/3时,服务器随机从2岁、3岁和4岁中选取一个年龄标注值;若2岁的选取概率值为1/5、3岁的选取概率值为3/5和4岁的选取概率值为1/5,则选取3岁的概率最大。

如图6所示,在一个实施例中,提供一种年龄预估模型训练方法,训练中止条件为目标训练轮数;该方法具体包括以下内容:

s602,获取当前阶段对应的面部样本图像集。

s604,对于所述面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值。

具体地,服务器从当前阶段对应的面部样本图像集中,按照并行图像处理数量读取当前训练轮次对应的面部样本图像,对于读取到的面部样本图像中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值。

举例说明,图7为一个实施例中调整图像质量参数的示意图。图像质量参数包括图像模糊度和图像亮度,服务器对读取到的面部样本图像的图像模糊度和图像亮度进行随机调整,得到参数调整面部图像。参照图7,图7中示意了对图像亮度或图像模糊度进行随机调整的多种调整结果。

s606,以参数调整面部图像作为输入、且以选取的年龄标注值作为输出,对待训练模型进行当前阶段的训练。

具体地,对于面部样本图像集中的每一页面样本图像对应的参数调整面部图像和选取的年龄标注值,服务器以参数调整面部图像作为待训练模型的输入、且以选取到的年龄标注值作为待训练模型的输出,对待训练模型进行训练。

在一个实施例中,服务器读取到当前训练轮次对应的面部样本图像,以读取到的每一面部样本图像对应的参数调整面部图像作为输入、且以选取的年龄标注值作为输出,对待训练模型进行当前阶段中当前训练轮次的训练,当根据当前训练轮次对应的面部样本图像训练完毕后,再从当前阶段对应的面部样本图像集中,读取下一训练轮次对应的面部样本图像继续对待训练模型进行训练。

在一个实施例中,服务器提取参数调整面部图像中图像特征,将提取到图像特征输入待训练模型的输入层,获取待训练模型的输出层中各输出节点根据提取到的图像特征输出的训练输出值,根据获取到的训练输出值和选取的年龄标注值构建损失函数,根据损失函数对待训练模型的参数进行调整。

在一个实施例中,服务器获取待训练模型的输出层中各输出节点根据提取到的图像特征输出的训练输出值,对各输出节点输出的训练输出值进行归一化处理,得到各输出节点对应的归一化值。服务器根据各输出节点分别对应的归一化值和选取的年龄标注值构建损失函数。

在一个实施例中,可以通过下述公式对各输出节点输出的训练输出值进行归一化处理:

其中,ai为第i个输出节点对应的归一化值,zi为第i个输出节点对应的训练输出值,e为自然常数,k为输出节点的数量;

可以通过以下公式构建损失函数:

其中,c表示损失函数,i表示第i个输出节点,ai为第i个输出节点对应的归一化值,yi表示第i个输出节点对应的年龄标注值。

s608,统计当前阶段对应的训练轮数。

具体地,服务器根据当前阶段的面部样本图像集训练模型时,每次读取预设数量的面部样本图像,完成根据读取到的样本图像训练模型的训练过程,即完成当前阶段的一轮训练。服务器在根据当前阶段的面部样本图像集训练模型时,统计当前阶段对应的训练轮数。

s610,当统计的训练轮数大于等于当前阶段的目标训练轮数,则停止当前阶段的训练。

具体地,服务器获取当前阶段的目标训练轮数,将统计的训练轮数与当前阶段的目标训练轮数进行比较,当统计的训练轮数大于等于当前阶段的目标训练轮数时,则停止当前阶段的训练;当统计的训练轮数小于当前阶段的目标训练轮数时,继续根据当前阶段对应的面部样本图像集中的面部样本图像对待训练模型进行训练。

s612,按照预设轮数下降比例和当前阶段的目标训练轮数,确定下一阶段的目标训练轮数。

其中,预设轮数下降比例为下一阶段对应的目标训练轮数相对于当前阶段对应的目标训练轮数,训练轮数减少的比例。

具体地,服务器将预设轮数下降比例与当前阶段的目标训练轮数进行相乘,得到减少轮数,对当前阶段的目标训练数据和减少轮数做减法运算,得到下一阶段的目标训练轮数。

举例说明,预设轮数下降比例为20%,若当前阶段对应的目标训练轮数为5000轮,则减少轮数=5000×20%=1000轮,下一阶段的目标训练轮数=5000-1000=4000轮。

s614,当下一阶段的目标训练轮数大于0时,以一下阶段作为当前阶段;返回s602。

具体地,服务器在确定下一阶段的目标训练轮数后,将下一阶段的目标训练轮数与0进行比较,当下一阶段的目标训练轮数大于0时,表示未满足训练完成条件,以下一阶段作为当前阶段,返回s602重新获取当前阶段对应的面部样本图像集,根据重新获取到的面部样本图像集继续对待训练模型进行训练。

s616,当下一阶段的目标训练轮数等于0时,则满足训练完成条件,得到年龄预估模型。

具体地,当下一阶段的目标训练轮数等于0时,则满足训练完成条件,服务器停止模型训练,以当前阶段训练好的模型作为年龄预估模型。

本实施例中,通过预设轮数下降比例控制下一阶段的目标训练轮数,提高了训练过程中的下降速度,节省了模型训练所耗费的时间。每一阶段都需要重新选取面部样本图像集,根据重新选取的面部样本图像集继续对模型进行训练,避免了训练得到的模型对面部样本图像集中的图像过分拟合,从而降低了训练得到的年龄预估模型的准确性。

如图8所示,在一个实施例中,提供一种面部图像识别方法。本实施例主要以该方法应用于图1中的终端110来举例说明,也可以应用在图1中的服务器120。其中,年龄预估模型是根据年龄预估模型训练方法训练得到的。参照图8,该面部图像识别方法具体包括以下步骤:

s802,获取面部图像。

具体地,终端中安装有图像采集设备,调用图像采集设备对目标对象的面部进行图像采集,通过调用图像采集设备获取面部图像。

在一个实施例中,终端与图像采集设备通过网络连接。图像采集设备对目标场景中的目标对象进行图像采集,将采集到的图像发送至终端。终端接收图像采集设备发送的图像,从采集到的图像中提取面部图像。

在一个实施例中,终端中设置有图像库,终端获取触发的图像选择指令,根据图像选择指令,从图像库中选取面部图像。

s804,将面部图像输入年龄预估模型,得到年龄预估模型输出的各预设年龄段分别对应的概率值。

具体地,终端在获取面部图像后,提取面部图像的图像特征,将提取到的图像特征输入到年龄预估模型的输入层,获取年龄预估模型根据提取到的图像特征输出的各预设年龄段分别对应的概率值。

举例说明,图9为一个实施例中对面部图像的年龄识别示意图。参照图9将面部图像输入年龄预估模型,年龄预估模型的输出入图9所示的各年龄段对应的概率值,例如,0岁对应的概率值是0.01、1岁对应的概率值是0.09、……、64岁对应的概率值是0.002和65岁对应的概率值是0.001,其中65岁表示的可以是大于等于65岁。

在一个实施例中,s804具体还包括以下内容:提取面部图像中的图像特征;将提取到的图像特征输入至年龄预估模型中的输入层;获取输出层输出的与各预设年龄段分别对应的输出值;对获取到的输出值进行归一化处理,得到各预设年龄段分别对应的概率值。

具体地,终端从面部图像中提取图像特征,将提取到的图像特征输入至年龄预估模型中输入层各个输入节点。终端获取年龄预估模型中输出层的各输出节点输出的与各预设年龄段分别对应的输出值,对获取到的各概率值进行归一化处理,得到各预设年龄段分别对应的概率值。

在一个实施例中,终端将各预设年龄段分别对应的输出值进行相加,得到输出值的和,分别用每个预设年龄段各自对应的输出值除以输出值的和,得到各预设年龄段对应的概率值。

在一个实施例中,可以通过下述公式对各预设年龄段分别对应的输出值进行归一化处理:

其中,ai为第i个预设年龄段对应的归一化值,zi为第i个预设年龄段对应的训练输出值,e为自然常数,k为预设年龄段的数量。

s806,根据各预设年龄段分别对应的概率值,确定年龄期望值。

具体地,终端获取各预设年龄段分别对应的概率值后,将各预设年龄段分别与对应的概率值相乘,得到各预设年龄段对应的乘积,对各预设年龄段对应的乘积进行求和得到年龄期望值。

在一个实施例中,年龄期望值可以根据以下公式计算得到:

年龄期望值=∑m×p(m)

其中,m表示年龄段,p(m)表示年龄段m对应的概率值。

s808,以年龄期望值对应的年龄预估值,作为面部图像的年龄预估值。

具体地,终端确定年龄期望值,提取确定的年龄期望值中的整数,以提取到的整数作为面部图像的年龄预估值。例如,年龄期望值为23.24,取整得到23,则23为面部图像的年龄预估值;年龄期望值为24.68,取整得到24,则24为面部图像的年龄预估值。

在一个实时例中,终端确定年龄期望值后,对确定的年龄期望值进行四舍五入,以四舍五入得到的年龄期望值作为面部图像的年龄预估值。例如,年龄期望值为23.24,对23.24进行四舍五入得到23,则23为面部图像的年龄预估值;年龄期望值为24.68,对24.68进行四舍五入得到25,则25为面部图像的年龄预估值。

本实施例中,根据考虑到环境因素对采集到的面部图像的影响的年龄预估模型,对获取到的面部图像进行年龄识别,提高了各预设年龄段分别对应的概率值的准确性。再根据各预设年龄段分别对应的概率值计算年龄期望值,从而根据年龄期望值得到年龄预估值,从而进一步提高了年龄预估值的准确性。

如图10所示,在一个实施例中,s802具体包括得到面部图像的步骤,该步骤具体包括以下内容:

s1002,采集视频图像。

具体地,终端通过网络连接图像采集设备,图像采集设备对所在场景进行视频图像采集,将采集到的视频图像采集发送至终端。终端接收图像采集设备发送的视频图像。图像采集设备所在场景可以智能商店、自动售货机和智能机器人等应用场景。

s1004,识别视频图像中的面部区域。

具体地,终端对视频图像中的视频帧进行识别,提取视频帧中的图像特征,对图像特征进行分析,确定是否存在面部特征,若存在面部特征,则确定视频帧中的面部区域。

在一个实施例中,s1004具体还包括:将采集到的视频图像输入面部识别模型,得到面部识别结果;在采集到的视频图像中,根据面部识别结果确定包含面部区域的视频帧;对确定的视频帧中的面部区域进行标注。

具体地,终端中设置有面部识别模型,面部识别模型用于对视频图像中的面部图像进行识别。终端将采集到的视频图像输入面部识别模型,获取面部识别模型输出的面部识别结果,面部识别结果包括面部图像所在位置。终端根据面部识别结果从采集到的视频图像中提取包括面部图像的视频帧,根据面部识别结果在视频帧中确定面部区域,对确定的视频帧中的面部区域添加标注。添加标注具体可以是添加能标注面部区域的具有闭合边界的框,可以是方框。

s1006,从视频图像中截取识别到的面部区域,得到面部图像。

具体地,终端在识别到视频图像中的视频帧中的面部区域后,按照识别到的面部区域从视频帧中截取部分图像,以截取到的部分图像作为面部图像。

本实施例中,通过采集视频图像,识别视频图像中的面部区域,从视频图像中截取识别到的面部区域,提取面部图像,通过对视频图像中面部区域的识别,提高了面部图像的获取效率和准确性。

应该理解的是,各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,面部图像识别方法应用在智能商店中,图像采集设备采集每一位顾客的面部图像,将面部图像传输给终端。终端对采集到的面部图像进行识别,可以得到面部图像对应的年龄,还可以从数据库中提取与采集到的面部图像对应的商店到场信息。

举例说明,图11为一个实施例中顾客详情展示示意图。参照图11,终端对面部图像进行识别,得到顾客详情,将顾客详情进行展示,顾客详情包括面部图像、类型为普通顾客、面部编号faceid为41865、性别为男、年龄为43、首次到场时间为2018-09-2313:49:58、历史到访次数为318次。

图12为一个实施例中展示顾客访问统计结果的示意图。参照图12,根据对面部图像的识别结果可以统计预设时间段内各年龄段内到访的男女所占比例。图中深色部分为男性、浅色部分为女性、百分比标识各年段段到访任务所占比例,例如,图12中青年男性到访人数占比为27.3%,青年女性到访人数占比为30.2%。

如图13所示,在一个实施例中,提供一种年龄预估模型训练装置1300,该装置具体包括以下内容:样本图像获取模块1302、质量参数调整模块1304、模型训练模块1306、停止条件确定模块1308和训练循环模块1310。

样本图像获取模块1302,用于获取当前阶段对应的面部样本图像集。

质量参数调整模块1304,用于对于面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值。

模型训练模块1306,用于根据参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件。

停止条件确定模块1308,用于根据当前阶段的训练中止条件确定下一阶段的训练中止条件。

训练循环模块1310,用于以下一阶段作为当前阶段,通知样本图像获取模块1302获取当前阶段对应的面部样本图像集,以继续对待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

在一个实施例中,样本图像获取模块1302还用于获取预设样本数量和各年龄段的样本年龄比例;根据预设样本数量和各年龄段的样本比例,确定各年龄段分别对应的图像样本数量;按照各年龄段分别对应的图像样本数量,从面部样本训练集中筛选面部样本图像,得到当前阶段对应的面部样本图像集。

在一个实施例中,质量参数调整模块1304还用于读取面部样本图像集中的每一面部样本图像;获取与读取到的面部样本图像对应的图像质量参数和年龄标注范围;确定获取到的图像质量参数中各图像质量参数分别对应的参数调整方式;按照确定的参数调整方式对图像质量参数进行调整,得到参数调整面部图像;从年龄标准范围中选取年龄标注值,作为参数调整面部图像对应的年龄标注值。

在一个实施例中,质量参数调整模块1304还用于确定年龄标准范围中各年龄标注值分别对应的选取概率;按照确定的选取概率从各年龄标注值中选取年龄标注值;以选取的年龄标注值作为参数调整面部图像对应的年龄标注值。

在一个实施例中,训练中止条件为目标训练轮数;模型训练模块1306还用于以参数调整面部图像作为输入、且以选取的年龄标注值作为输出,对待训练模型进行当前阶段的训练;统计当前阶段对应的训练轮数;当统计的训练轮数大于等于当前阶段的目标训练轮数,则停止当前阶段的训练。

在一个实施例中,停止条件确定模块1308还用于按照预设轮数下降比例和当前阶段的目标训练轮数,确定下一阶段的目标训练轮数。

在一个实施例中,训练循环模块1310还用于当下一阶段的目标训练轮数大于0时,以一下阶段作为当前阶段,通知样本图像获取模块1302获取当前阶段对应的面部样本图像集,以继续对待训练模型进行训练;当下一阶段的目标训练轮数等于0时,则满足训练完成条件,得到年龄预估模型。

本实施例中,对当前阶段对应的面部样本图像集中每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值,根据参数调整面部图像和选取的年龄标注值进行当前阶段的训练。在训练的过程中通过调整图像质量参数,使得训练得到的模型充分考虑了环境因素对图像质量的影响,从而考虑到图像质量对模型识别结果的影响,在通过多个阶段的训练后,提高了训练得到的年龄预估模型的年龄预估准确性。

如图14所示,在一个实施例中,提供一种面部图像识别装置1400,该装置具体包括以下内容:面部图像获取模块1402、面部图像识别模块1404、年龄期望确定模块1406和年龄预估模块1408。

面部图像获取模块1402,用于获取面部图像。

面部图像识别模块1404,用于将面部图像年龄预估模型,得到年龄预估模型输出的各预设年龄段分别对应的概率值。

年龄期望确定模块1406,用于根据各预设年龄段分别对应的概率值,确定年龄期望值。

年龄预估模块1408,用于以年龄期望值对应的年龄预估值,作为面部图像的年龄预估值。

在一个实施例中,面部图像获取模块1402还用于采集视频图像;识别视频图像中的面部区域;从视频图像中截取识别到的面部区域,得到面部图像。

在一个实施例中,面部图像获取模块1402还用于将采集到的视频图像输入面部识别模型,得到面部识别结果;在采集到的视频图像中,根据面部识别结果确定包含面部区域的视频帧;对确定的视频帧中的面部区域进行标注。

在一个实施例中,面部图像识别模块1404还用于提取面部图像中的图像特征;将提取到的图像特征输入至年龄预估模型中的输入层;获取输出层输出的与各预设年龄段分别对应的输出值;对获取到的输出值进行归一化处理,得到各预设年龄段分别对应的概率值。

本实施例中,根据考虑到环境因素对采集到的面部图像的影响的年龄预估模型,对获取到的面部图像进行年龄识别,提高了各预设年龄段分别对应的概率值的准确性。再根据各预设年龄段分别对应的概率值计算年龄期望值,从而根据年龄期望值得到年龄预估值,从而进一步提高了年龄预估值的准确性。

图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图15所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现年龄预估模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行年龄预估模型训练方法。

图16示出了另一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端140。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现面部图像识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行面部图像识别方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图15和16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的年龄预估模型训练装置可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该年龄预估模型训练装置的各个程序模块,比如,图13所示的样本图像获取模块1302、质量参数调整模块1304、模型训练模块1306、停止条件确定模块1308和训练循环模块1310。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的年龄预估模型训练方法中的步骤。

例如,图15所示的计算机设备可以通过如图13所示的年龄预估模型训练装置中的样本图像获取模块1302获取当前阶段对应的面部样本图像集。计算机设备可通过质量参数调整模块1304对于面部样本图像集中的每一面部样本图像,调整图像质量参数得到参数调整面部图像,并从相应的年龄标注范围中选取年龄标注值。计算机设备可通过模型训练模块1306根据参数调整面部图像和选取的年龄标注值,对待训练模型进行当前阶段的训练,直至满足当前阶段的训练中止条件。计算机设备可通过停止条件确定模块1308根据当前阶段的训练中止条件确定下一阶段的训练中止条件。计算机设备可通过训练循环模块1310以下一阶段作为当前阶段,通知样本图像获取模块1302获取当前阶段对应的面部样本图像集,以继续对待训练模型进行训练,直至下一阶段的训练中止条件满足训练完成条件,得到年龄预估模型。

在一个实施例中,本申请提供的年龄预估模型训练装置可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该面部图像识别装置的各个程序模块,比如,图14所示的面部图像获取模块1402、面部图像识别模块1404、年龄期望确定模块1406和年龄预估模块1408。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的面部图像识别方法中的步骤。

例如,图16所示的计算机设备可以通过如图14所示的面部图像识别装置中的面部图像获取模块1402获取面部图像。计算机设备可通过面部图像识别模块1404将面部图像年龄预估模型,得到年龄预估模型输出的各预设年龄段分别对应的概率值。计算机设备可通过年龄期望确定模块1406根据各预设年龄段分别对应的概率值,确定年龄期望值。计算机设备可通过年龄预估模块1408以年龄期望值对应的年龄预估值,作为面部图像的年龄预估值。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述年龄预估模型训练方法的步骤。此处年龄预估模型训练方法的步骤可以是上述各个实施例的年龄预估模型训练方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述年龄预估模型训练方法的步骤。此处年龄预估模型训练方法的步骤可以是上述各个实施例的年龄预估模型训练方法中的步骤。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述面部图像识别方法的步骤。此处面部图像识别方法的步骤可以是上述各个实施例的面部图像识别方法中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述面部图像识别方法的步骤。此处面部图像识别方法的步骤可以是上述各个实施例的面部图像识别方法中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

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

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

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