人脸性别年龄识别方法、装置、电子设备和存储介质与流程

文档序号:28866023发布日期:2022-02-12 04:36阅读:160来源:国知局
人脸性别年龄识别方法、装置、电子设备和存储介质与流程

1.本发明涉及图像处理技术领域,具体地说,涉及一种人脸性别年龄识别方法、装置、电子设备和存储介质。


背景技术:

2.目前,图片是在线服务平台,例如ota(online travel agency,在线旅行社)平台展示商品、供用户浏览和预订的重要手段。通过对图片内容进行挖掘和分析,能够在用户搜索时为用户提供个性化的精准推荐,提升用户的使用体验。在旅游场景下,图片中包含的人物的性别和年龄等信息,是旅游产品搜索推荐的重要参考维度。
3.现有的人脸性别和年龄的识别方法很多,但由于ota场景具有开放性和复杂性的特征,导致现有方法的检测准确率不高,难以在ota场景下落地并发挥作用。具体原因包括:
4.ota场景下含塑像、卡通形象等“脸”的图片比例较其他场景更多,这些“脸”难以过滤;
5.拍摄抖动、聚焦问题、光线问题、各类美化滤镜等问题影响人脸检测;
6.面部过小、面部不清、口罩、墨镜或帽子等遮挡、不同程度的角度偏转等情况造成人脸检测失误。
7.需要说明的是,上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

8.有鉴于此,本发明提供一种人脸性别年龄识别方法、装置、电子设备和存储介质,能够通过人脸检测及人像检测的融合检测,获取可靠的人脸图像,并利用具有双分支卷积神经网络的性别年龄识别模型,同时预测人脸的性别和年龄,从而准确、高效地获得人脸性别年龄的识别结果。
9.根据本发明的一个方面,提供一种人脸性别年龄识别方法,包括:基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像;将所述人脸图像输入性别年龄识别模型,获得所述性别年龄识别模型的性别预测输出和年龄预测输出;其中,所述性别年龄识别模型具有双分支卷积神经网络,所述双分支卷积神经网络分别用于进行性别预测和年龄预测;分别根据所述性别预测输出和所述年龄预测输出,获得所述人脸图像的性别识别结果和年龄识别结果。
10.在一些实施例中,所述性别年龄识别模型的主干网络包括:公共卷积神经网络,用以对所述人脸图像进行公共特征提取;所述双分支卷积神经网络,与所述公共卷积神经网络连接,用以对所述公共卷积神经网络提取的公共特征分别进行性别特征提取和年龄特征提取,并分别输出所述性别预测输出和所述年龄预测输出。
11.在一些实施例中,所述性别年龄识别模型的主干网络采用res2net网络;将所述人脸图像输入性别年龄识别模型之前,还包括模型训练过程,所述模型训练过程包括:对所述
res2net网络进行基于第一样本集的训练,获得具有第一参数集的第一模型;冻结所述res2net网络的前端部分,对所述第一模型进行基于第二样本集的训练,获得具有第二参数集的第二模型;合并所述第一模型和所述第二模型,使所述前端部分形成所述公共卷积神经网络,且所述res2net网络的具有第一参数的后端部分和具有第二参数的后端部分分别形成所述双分支卷积神经网络;其中,所述第一样本集为性别标签样本集且所述第二样本集为年龄标签样本集;或者,所述第一样本集为年龄标签样本集且所述第二样本集为性别标签样本集。
12.在一些实施例中,所述res2net网络包括一预处理模块、四个stage模块和一后处理模块;所述前端部分包括所述预处理模块和前两个stage模块,所述后端部分包括后两个stage模块和所述后处理模块。
13.在一些实施例中,对所述res2net网络进行基于所述性别样本集的训练时,将所述后端部分的输出节点数设置为两个,分别对应两个性别标签,并基于交叉熵计算两个输出节点对每张性别样本图像的性别预测损失;对所述res2net网络进行基于所述年龄样本集的训练时,将所述输出节点数设置为多个,分别对应多个年龄标签,并基于推土机距离和均方误差计算多个输出节点对每张年龄样本图像的年龄预测损失。
14.在一些实施例中,所述性别预测损失的计算公式为:
[0015][0016]
其中,y
gender
为所述性别样本图像的性别标签值,取值范围为{0,1},yi为对应输出节点对所述性别样本图像的性别预测值;
[0017]
所述年龄预测损失的计算公式为:
[0018]
loss
age
=loss
cls
+αloss
reg

[0019]
其中,loss
cls
为基于推土机距离的分类损失,loss
reg
为基于均方误差的回归损失,α为权重因子;
[0020]
所述基于推土机距离的分类损失的计算公式为:
[0021][0022]
其中,y[0:100]为所述多个输出节点对所述年龄样本图像的年龄预测分布,softmax(
·
)表示softmax操作;age为所述年龄样本图像的年龄标签值,取值范围为{0,1,...,100},onehot(
·
)表示one hot编码;cdfi(
·
)表示概率分布中的第i个元素;
[0023]
所述基于均方误差的回归损失的计算公式为:
[0024][0025]
其中,yi和yk为对应输出节点对所述年龄样本图像的年龄预测值。
[0026]
在一些实施例中,所述模型训练过程还包括样本构建过程,所述样本构建过程包括:获得样本图像集;对所述样本图像集分别进行性别标签标注和年龄标签标注;根据数据场景特征,对所述样本图像集进行数据增强,获得所述性别标签样本集和所述年龄标签样本集。
[0027]
在一些实施例中,对所述样本图像集进行数据增强,包括:将所述样本图像集分为
多组;为每组样本图像设置随机选取概率和数据增强方式,各组所述样本图像的数据增强方式覆盖所述数据场景特征;对每组所述样本图像,根据所述随机选取概率进行图像随机选取,并根据所述数据增强方式进行图像增强处理。
[0028]
在一些实施例中,所述基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像,包括:对所述初始图像进行人脸检测以获得人脸框,并对所述初始图像进行人像检测以获得人像框;判断获得的每个人脸框是否具有匹配的人像框,所述匹配的人像框与所述人脸框的相交区域面积大于所述人脸框的预设比例面积;保留具有匹配的人像框的人脸框,作为真实人脸框;以及,根据所述真实人脸框自所述初始图像中截取获得所述人脸图像。
[0029]
在一些实施例中,根据所述真实人脸框自所述初始图像中截取获得所述人脸图像,包括:对所述真实人脸框进行等比外扩,获得外扩人脸框;根据所述真实人脸框的两人眼关键点,计算所述初始图像的人脸倾斜角度,并根据所述人脸倾斜角度,以所述真实人脸框的中心为旋转中心对所述初始图像进行旋转;根据所述外扩人脸框对应的区域,自旋转后的所述初始图像中截取获得所述人脸图像。
[0030]
在一些实施例中,所述性别预测输出对应两个性别标签,所述年龄预测输出对应多个年龄标签;获得所述人脸图像的性别识别结果和年龄识别结果,包括:分别对所述性别预测输出和所述年龄预测输出进行softmax操作,获得对应两个所述性别标签的性别预测概率和对应多个所述年龄标签的年龄预测概率;根据所述性别预测概率中的较大概率值对应的性别标签,获得所述性别识别结果;根据所述年龄预测概率和多个所述年龄标签计算数学期望,获得所述年龄识别结果。
[0031]
根据本发明的一个方面,提供一种人脸性别年龄识别装置,包括:人脸图像获取模块,用于基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像;性别年龄预测模块,用于将所述人脸图像输入性别年龄识别模型,获得所述性别年龄识别模型的性别预测输出和年龄预测输出;其中,所述性别年龄识别模型具有双分支卷积神经网络,所述双分支卷积神经网络分别用于进行性别预测和年龄预测;性别年龄计算模块,用于分别根据所述性别预测输出和所述年龄预测输出,获得所述人脸图像的性别识别结果和年龄识别结果。
[0032]
根据本发明的一个方面,提供一种电子设备,包括:一处理器;一存储器,所述存储器中存储有可执行指令;其中,所述可执行指令被所述处理器执行时,实现如上述任意实施例所述的人脸性别年龄识别方法。
[0033]
根据本发明的一个方面,提供一种计算机可读的存储介质,用于存储程序,所述程序被处理器执行时实现如上述任意实施例所述的人脸性别年龄识别方法。
[0034]
本发明与现有技术相比的有益效果至少包括:
[0035]
本发明通过人脸检测和人像检测的融合检测,关联聚合人脸检测结果及人像检测结果,以获取可靠的人脸图像;并利用具有双分支卷积神经网络的性别年龄识别模型,同时预测人脸的性别和年龄,从而准确、高效地获得人脸性别年龄的识别结果;
[0036]
本发明的技术方案,基于深度学习人脸处理技术,自动识别预测图库中人脸的性别和年龄等信息,建立图片人脸检测及性别年龄识别的自动化流程;能够利用机器替代人工查看筛选的工作,大幅度节约人工运维成本,提升性别和年龄识别的处理效率和准度;同
时,人脸性别和年龄等信息的挖掘与运用,能够提升图片的搜索推荐精准度,提升产品的点击率和用户的浏览体验,树立良好的ota的品牌形象。
[0037]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
[0038]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]
图1示出本发明一实施例中人脸性别年龄识别方法的步骤示意图;
[0040]
图2示出本发明一实施例中性别年龄识别模型的网络结构图;
[0041]
图3示出本发明一实施例中性别年龄识别模型的训练步骤图;
[0042]
图4示出本发明一实施例中样本图像集的数据增强示意图;
[0043]
图5示出本发明一实施例中性别年龄识别模型的训练结构图;
[0044]
图6示出本发明一实施例中人脸性别年龄识别装置的模块示意图;
[0045]
图7示出本发明一实施例中电子设备的结构示意图。
具体实施方式
[0046]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使本发明全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
[0047]
附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0048]
此外,附图中所示的流程仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤可以分解,有的步骤可以合并或部分合并,且实际执行的顺序有可能根据实际情况改变。具体描述时使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。需要说明的是,在不冲突的情况下,本发明的实施例及不同实施例中的特征可以相互组合。
[0049]
图1示出一实施例中人脸性别年龄识别方法的主要步骤,参照图1所示,本实施例的人脸性别年龄识别方法包括:
[0050]
步骤s110,基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像。
[0051]
利用人脸检测算法和人像检测算法分别对图片进行人脸检测和人像检测,并对结果进行关联聚合,能够过滤剔除误检测人脸,提升人脸检测的准确率。
[0052]
在一个实施例中,基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像,具体包括:对初始图像进行人脸检测以获得人脸框,并对初始图像进行人像检测以获
得人像框;判断获得的每个人脸框是否具有匹配的人像框,匹配的人像框与人脸框的相交区域面积大于人脸框的预设比例面积;保留具有匹配的人像框的人脸框,作为真实人脸框;以及,根据真实人脸框自初始图像中截取获得人脸图像。
[0053]
人脸检测可采用已有的人脸检测算法。利用人脸检测算法对初始图像o进行检测得到n个人脸框b
face
={b
f1
,b
f2
,...,b
fn
}及对应的人脸关键点l
face
={l
f1
,l
f2
,...,l
fn
},每个人脸框的人脸关键点包含左眼、右眼、鼻子、左嘴角和右嘴角5个关键点。人像检测可采用已有的人像检测算法。利用人像检测算法对初始图像进行检测得到m个人像框b
person
={b
p1
,b
p2
,...,b
pm
}。对于每个人脸框b
fn
,若可以找到1个人像框b
pm
,使得b
fn
和b
pm
相交的区域面积大于b
fn
面积的80%,则保留,反之,剔除人脸框b
fn
及其对应的关键点l
fn

[0054]
进一步地,根据真实人脸框自初始图像中截取获得人脸图像,具体包括:对真实人脸框进行等比外扩,获得外扩人脸框;根据真实人脸框的两人眼关键点,计算初始图像的人脸倾斜角度,并根据人脸倾斜角度,以真实人脸框的中心为旋转中心对初始图像进行旋转;根据外扩人脸框对应的区域,自旋转后的初始图像中截取获得人脸图像。
[0055]
如上述实施例,获得了n’个真实人脸框。将n’个真实人脸框分别在横向和纵向外扩0.4倍,得到n’个外扩人脸框利用每个真实人脸框对应的人脸关键点l
fn
的双眼关键点计算人脸倾斜角度,基于人脸倾斜角度,以真实人脸框的中心为旋转中心对初始图像o进行旋转,然后以外扩人脸框对应的区域从旋转后的初始图像中截出人脸图像i
fn
,resize成224
×
224作为人脸性别年龄识别模型的输入。
[0056]
通过等比外扩获得外扩人脸框,能够包含更多有用面部信息,同时利用两人眼关键点计算人脸倾角,将原图按人脸倾角进行旋转,能够获得便于模型识别的真实有效人脸图像。从而,不仅能够对动画、雕塑等非真人脸进行区分与过滤,还能对人脸过小及人脸过于模糊等情况进行区分和过滤,实现准确识别不同年龄段、不同偏转角度的人脸的性别年龄等属性信息。
[0057]
步骤s120,将人脸图像输入性别年龄识别模型,获得性别年龄识别模型的性别预测输出和年龄预测输出;其中,性别年龄识别模型具有双分支卷积神经网络,双分支卷积神经网络分别用于进行性别预测和年龄预测。
[0058]
性别年龄识别模型的主干网络具体可包括:公共卷积神经网络,用以对人脸图像进行公共特征提取;双分支卷积神经网络,与公共卷积神经网络连接,用以对公共卷积神经网络提取的公共特征分别进行性别特征提取和年龄特征提取,并分别输出性别预测输出和年龄预测输出。
[0059]
图2示出一实施例中性别年龄识别模型的网络结构,参照图2所示,本实施例中性别年龄识别模型200的主干网络采用res2net网络,具体是res2net-50网络。res2net网络是resnet网络也即残差网络的升级版,res2net网络有多个版本,res2net-50网络是指有50个层的res2net网络。res2net网络包括一预处理模块、四个stage模块(stage1、stage2、stage3和stage4)和一后处理模块。
[0060]
性别年龄识别模型200的输入为224
×
224
×
3维度的人脸图像。预处理模块的操作依次包含卷积操作(conv)、批归一化操作(bn)和激活函数(relu)。预处理模块的操作还可包含最大池化,图中未具体示出。四个stage模块都由bottleneck组成,结构较为相似。
stage1可包含3个bottleneck,stage2可包含4个bottleneck,stage3可包含6个bottleneck,stage4可包含3个bottleneck。res2net网络的具体结构及其bottleneck结构是已有的,因此不再展开说明。后处理模块0的操作依次包含平均池化(avg pool)和全连接操作(fc)。预处理模块、stage1和stage2组成了性别年龄识别模型200的公共卷积神经网络;两组具有不同参数的stage3、stage4和后处理模块组成了性别年龄识别模型200的双分支卷积神经网络,包含性别分支卷积神经网络和年龄分支卷积神经网络。
[0061]
性别年龄识别模型200的输出即分别为性别分支卷积神经网络的性别预测输出和年龄分支卷积神经网络的年龄预测输出。性别预测输出为1
×
2维度,对应性别男和性别女2个性别标签;年龄预测输出为1
×
101维度,对应0岁~100岁共101个年龄标签。
[0062]
步骤s130,分别根据性别预测输出和年龄预测输出,获得人脸图像的性别识别结果和年龄识别结果。
[0063]
在一个实施例中,获得人脸图像的性别识别结果和年龄识别结果,具体包括:分别对性别预测输出和年龄预测输出进行softmax操作,获得对应两个性别标签的性别预测概率和对应多个年龄标签的年龄预测概率;根据性别预测概率中的较大概率值对应的性别标签,获得性别识别结果;根据年龄预测概率和多个年龄标签计算数学期望,获得年龄识别结果。
[0064]
从而,上述的人脸性别年龄识别方法,通过人脸检测和人像检测的融合检测,关联聚合人脸检测结果及人像检测结果,能够获取可靠的人脸图像;并利用具有双分支卷积神经网络的性别年龄识别模型,同时预测人脸的性别和年龄,从而准确、高效地获得人脸性别年龄的识别结果;采用上述的人脸性别年龄识别方法,能够针对ota图库中人脸性别和年龄等内容信息挖不充分的现状,建立自动化的算法处理流程,基于深度学习人脸处理技术,对图库中的图片进行自动化的、高准确率的人脸检测、筛选过滤和人脸性别及年龄的识别预测。
[0065]
下面对性别年龄识别模型的训练过程进行详细说明。
[0066]
图3示出一实施例中性别年龄识别模型的主要训练步骤,参照图3所示,包括:s310,训练数据收集及增强;s320,模型构建、训练及合并。s320具体包括:训练性别分支分类模型;训练年龄分支预测模型;合并得到双分支人脸性别年龄识别模型。
[0067]
样本构建过程,即训练数据收集及增强具体包括:获得样本图像集;对样本图像集分别进行性别标签标注和年龄标签标注;根据数据场景特征,对样本图像集进行数据增强,获得性别标签样本集和年龄标签样本集。
[0068]
可以收集人脸性别识别、年龄预测相关开源数据集,并整合ota自有积累的相关数据,补充标注数据加入到训练数据中,形成初始的样本图像集。
[0069]
进一步地,为了使训练数据更加贴近真实应用场景下的数据分布,对训练数据进行数据增强。主要包括各类噪声、各类模糊、各类遮挡、画面风格色调改变等。
[0070]
在一个实施例中,对样本图像集进行数据增强,具体包括:将样本图像集分为多组;为每组样本图像设置随机选取概率和数据增强方式,各组样本图像的数据增强方式覆盖数据场景特征;对每组样本图像,根据随机选取概率进行图像随机选取,并根据数据增强方式进行图像增强处理。其中,各组样本图像的数据增强方式覆盖数据场景特征是指,若ota场景下的人脸图片存在口罩遮挡和滤镜调光,则在进行数据增强时,为图片添加各类遮
挡和各种滤镜,以使训练数据贴近真实应用场景下的数据分布。
[0071]
图4示出一实施例中样本图像集的数据增强示意,参照图4所示,为了使训练数据更加接近ota场景下的真实数据分布,利用albumentations数据增强库对训练数据进行数据增强。具体实现时,将样本图像集410划分为7个独立的组,训练过程中每个组按预设概率对图片进行处理,当某个组被触发时,从组内随机选取一种图像处理方法进行处理,该过程使用albumentations中的oneof方法进行控制。
[0072]
第一组样本图像420的随机选取概率p1=0.2,数据增强方式包括:coarsedropout(区域丢弃)和griddropout(网络丢弃)。第二组样本图像430的随机选取概率p2=0.2,数据增强方式包括:randomfog(雾化处理)、randomrain(雨化处理)、randomshadow(阴影处理)、randomsnow(积雪处理)和randomsunflare(光照处理)。第三组样本图像440的随机选取概率p3=0.5,数据增强方式包括:horizontalflip(水平翻转)和verticalflip(垂直翻转)。第四组样本图像450的随机选取概率p4=0.3,数据增强方式包括:alb.rgbshift(rgb转换)、huesaturationvalue(hsv,色调、饱和度、明度处理)、channelshuffle(通道转换)、channeldropout(通道丢弃)、clahe(限制对比度的自适应直方图均衡)、randomgamma(伽马随机)、randombrightness(亮度随机)、contrast(对比度处理)、imagecompression(图像压缩)、posterize(色调分离)和equalize(色调均化)。第五组样本图像460的随机选取概率p5=0.2,数据增强方式包括:medianblur(中值滤波)、gaussianblur(高斯滤波)、motionblur(运动模糊)和glassblur(毛玻璃处理)。第六组样本图像470的随机选取概率p6=0.2,数据增强方式包括:togray(灰度处理)、tosepia(黄褐色特效)和tofloat(浮点型处理)。第七组样本图像480的随机选取概率p7=0.3,数据增强方式包括:gaussnoise(高斯噪声)、isonoise(iso噪声)、multiplicativenoise(乘性噪声)和iaaadditivegaussiannoise(加性高斯噪声)。
[0073]
通过数据增强处理,获得了处理后的含性别标签样本集和年龄标签样本集的样本图像集490。其中,性别标签样本集和年龄标签样本集的图像可以是一样的,只是添加的标注有所不同。
[0074]
模型构建、训练及合并过程,具体包括:以res2net网络为主干网络,对res2net网络进行基于第一样本集的训练,获得具有第一参数集的第一模型;冻结res2net网络的前端部分,对第一模型进行基于第二样本集的训练,获得具有第二参数集的第二模型;合并第一模型和第二模型,使前端部分形成公共卷积神经网络,且res2net网络的具有第一参数的后端部分和具有第二参数的后端部分分别形成双分支卷积神经网络;其中,第一样本集为性别标签样本集且第二样本集为年龄标签样本集;或者,第一样本集为年龄标签样本集且第二样本集为性别标签样本集。
[0075]
图5示出一实施例中性别年龄识别模型的训练结构,参照图5所示,res2net网络500(具体可以是res2net-50网络)具体包括一预处理模块510、四个stage模块(520~550)和一后处理模块560;res2net网络500的前端部分包括预处理模块510和前两个stage模块(520和530),后端部分包括后两个stage模块(540和550)和后处理模块560。
[0076]
基于res2net网络500构建深度卷积神经网络后,独立训练性别分支和年龄分支,性别分支和年龄分支的训练顺序可互换,本实施例以先性别后年龄的顺序进行说明。首先对res2net网络500进行基于性别标签样本集的训练,获得具有第一参数集的第一模型510;
性别分支训练时,将网络后端部分的输出节点数设为2,分别对应两个性别标签,并采用交叉熵计算2个输出节点对每张性别样本图像的性别预测损失,反向传播优化模型。然后对res2net网络500进行基于年龄标签样本集的训练,将网络后端部分的输出节点数设为101,分别对应101个年龄标签;加载训练好的第一模型510的参数,并冻结网络前端,对后端参数权重重新训练;训练时,基于推土机距离(emd)和均方误差(mse)计算101个输出节点对每张年龄样本图像的年龄预测损失,反向传播优化模型,获得具有第二参数集的第二模型520。最后,合并两个模型的前端参数权重相同的部分,后端参数权重不同的部分,分别形成性别分支和年龄分支,从而整个模型形成双分支的性别年龄识别模型200,能够同时对人脸的性别和年龄进行识别。性别年龄识别模型200中的各个模块结构可以参照上述图2的说明,此处不再重复。
[0077]
进行性别分支训练时,将输出节点修改为2个,对应性别标签男和女,使用交叉熵计算性别识别的分类损失,具体公式为:
[0078][0079]
其中,y
gender
为性别样本图像的性别标签值,取值范围为{0,1},yi为对应输出节点对性别样本图像的性别预测值。
[0080]
进行年龄分支训练时,将输出节点修改为101个,对应年龄标签0岁-100岁,加载训练好的性别模型参数权重,冻结网络stage2及其之前的层,对网络stage2后的参数权重重新训练。采用emd loss和mse loss分别计算年龄预测的分类损失和回归损失,两种损失进行加权求和,来训练模型。分类损失、回归损失、及年龄预测总损失分别表示为loss
cls
、loss
reg
和loss
age

[0081]
基于推土机距离的分类损失loss
cls
的计算公式为:
[0082][0083]
其中,y[0:100]为多个输出节点对年龄样本图像的年龄预测分布,softmax(
·
)表示softmax操作;age为年龄样本图像的年龄标签值,取值范围为{0,1,...,100},onehot(
·
)表示one hot编码;cdfi(
·
)表示概率分布中的第i个元素。
[0084]
基于均方误差的回归损失loss
reg
的计算公式为:
[0085][0086]
其中,yi和yk为对应输出节点对年龄样本图像的年龄预测值。
[0087]
年龄预测损失loss
age
的计算公式为:
[0088]
loss
age
=loss
cls
+αloss
reg

[0089]
其中,α为权重因子,用于平衡年龄的分类损失和回归损失。
[0090]
最后,将性别和年龄两个模型进行合并,选取性别模型stage2及其之前的部分或年龄模型stage2及其之前的部分(两者完全相等),同时拼接上性别模型stage2后的部分和年龄模型stage2后的部分,形成一个新的双分支的网络模型,即性别年龄识别模型。
[0091]
综上,本发明的基于深度学习的人脸性别年龄识别方法,能够有效提取挖掘开放场景中包含的人脸性别和年龄等信息。本发明首先聚合人脸检测算法及人像检测算法的检
测结果,过滤误检测的人脸,以获取更可靠的人脸信息,然后针对ota数据的特点基于现有训练集进行数据增强,使得训练集更加贴近ota场景的数据分布。此外,在模型训练上通过多种损失函数独立训练两个独立的深度卷积神经网络,然后将两个网络参数相同部分进行合并,得到一个双分支的网络同时识别人脸的性别和年龄。采用本发明的方案,能够实现自动化的人脸检测及人脸性别年龄识别,不仅可以大幅节省人力成本并提高处理效率,同时还便于后续的生产应用中基于图库中的人脸性别年龄等内容信息,提高个性化推荐的精准度,进而提升产品的点击率和用户的浏览体验,树立良好的ota的品牌形象。
[0092]
本发明实施例还提供一种人脸性别年龄识别装置,可用于实现上述任意实施例描述的人脸性别年龄识别方法。上述任意实施例描述的人脸性别年龄识别方法的特征和原理均可应用至下面的人脸性别年龄识别装置实施例。在下面的人脸性别年龄识别装置实施例中,对已经阐明的关于人脸性别年龄识别的特征和原理不再重复说明。
[0093]
图6示出一实施例中人脸性别年龄识别装置的主要模块,参照图6所示,本实施例的人脸性别年龄识别装置800包括:人脸图像获取模块810,用于基于人脸检测和人像检测的融合检测,自初始图像中截取人脸图像;性别年龄预测模块820,用于将人脸图像输入性别年龄识别模型,获得性别年龄识别模型的性别预测输出和年龄预测输出;其中,性别年龄识别模型具有双分支卷积神经网络,双分支卷积神经网络分别用于进行性别预测和年龄预测;性别年龄计算模块830,用于分别根据性别预测输出和年龄预测输出,获得人脸图像的性别识别结果和年龄识别结果。
[0094]
进一步地,人脸性别年龄识别装置800还可包括实现上述各人脸性别年龄识别方法实施例的其他流程步骤的模块,各个模块的具体原理可参照上述各人脸性别年龄识别方法实施例的描述,此处不再重复说明。
[0095]
本发明的人脸性别年龄识别装置,能够通过人脸检测和人像检测的融合检测,获取到可靠的人脸信息;通过数据增强,获得匹配数据场景特征的训练数据分布;利用一个模型通过多种损失函数独立训练性别年龄分支,获得双分支的性别年龄识别模型;从而,能够实现自动化、高精度的人脸检测、筛选及性别年龄识别,便于挖掘图片中的人脸性别年龄等内容信息,提高搜索推荐的精准度,提升用户的使用体验。
[0096]
本发明实施例还提供一种电子设备,包括处理器和存储器,存储器中存储有可执行指令,可执行指令被处理器执行时,实现上述任意实施例描述的人脸性别年龄识别方法。
[0097]
本发明的电子设备,能够通过人脸检测和人像检测的融合检测,获取到可靠的人脸信息;通过数据增强,获得匹配数据场景特征的训练数据分布;利用一个模型通过多种损失函数独立训练性别年龄分支,获得双分支的性别年龄识别模型;从而,能够实现自动化、高精度的人脸检测、筛选及性别年龄识别,便于挖掘图片中的人脸性别年龄等内容信息,提高搜索推荐的精准度,提升用户的使用体验。
[0098]
图7是本发明实施例中电子设备的结构示意图,应当理解的是,图7仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本发明的保护范围之内。
[0099]
如图7所示,电子设备600以通用计算设备的形式表现。电子设备600的组件包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
[0100]
其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行上述任意实施例描述的人脸性别年龄识别方法的步骤。例如,处理单元610可以执行如图1和图3所示的步骤。
[0101]
存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
[0102]
存储单元620还可以包括具有一个或多个程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0103]
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0104]
电子设备600也可以与一个或多个外部设备700通信,外部设备700可以是键盘、指向设备、蓝牙设备等设备中的一种或多种。这些外部设备700使得用户能与该电子设备600进行交互通信。电子设备600也能与一个或多个其它计算设备进行通信,所示计算机设备包括路由器、调制解调器。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储平台等。
[0105]
本发明实施例还提供一种计算机可读的存储介质,用于存储程序,程序被执行时实现上述任意实施例描述的人脸性别年龄识别方法。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行上述任意实施例描述的人脸性别年龄识别方法。
[0106]
本发明的存储介质在被执行时,能够通过人脸检测和人像检测的融合检测,获取到可靠的人脸信息;通过数据增强,获得匹配数据场景特征的训练数据分布;利用一个模型通过多种损失函数独立训练性别年龄分支,获得双分支的性别年龄识别模型;从而,能够实现自动化、高精度的人脸检测、筛选及性别年龄识别,便于挖掘图片中的人脸性别年龄等内容信息,提高搜索推荐的精准度,提升用户的使用体验。
[0107]
程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,其可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0108]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0109]
可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载
了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0110]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
[0111]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1