一种人脸年龄识别方法及装置
技术领域
本发明涉及图像处理技术领域,尤其涉及一种人脸年龄识别方法及装置。
背景技术
人脸年龄识别技术广泛应用于拍照、安防、目标跟踪等场景中,通过对用户的人脸图像进行分析,从而确定用户的年龄。
现如今,关于人脸年龄识别,通常的做法是将其转化成分类问题,再结合回归方法去实现。具体地,将年龄数据集按照一岁一个类别进行划分,构建100类左右的分类模型,用其进行人脸年龄的识别。
但是,由于现有的人脸年龄数据集噪声较大,错误较多,导致最终的识别结果准确率较低。
发明内容
本申请实施例通过提供一种人脸年龄识别方法及装置,解决了现有技术中的人脸年龄识别方法,存在准确率较低的技术问题,实现了提高人脸年龄识别的准确率的技术效果。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种人脸年龄识别方法,包括:
获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;
基于所述第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型;
基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。
优选地,所述获得第一人脸样本图片数据集和第二人脸样本图片数据集,包括:
获取多个人脸样本图片数据集,其中,每个人脸样本图片数据集都包含多张人脸样本图片,且每张人脸样本图片都携带有所述年龄标签;
对所述多个人脸样本图片数据集进行整合,获得所述第一人脸样本图片数据集和所述第二人脸样本图片数据集。
优选地,所述对所述多个人脸样本图片数据集进行整合,获得所述第一人脸样本图片数据集,包括:
基于年龄标签对应的年龄段的不同,将所述多个人脸样本图片数据集中的人脸样本图片划分为M个类别,获得M个类别的人脸样本图片,其中,所述M个类别的人脸样本图片与M个年龄段一一对应,M为大于等于2的整数;
将每个类别的人脸样本图片所携带的年龄标签修改为对应的年龄段标签,获得所述第一人脸样本图片数据集。
优选地,所述对所述多个人脸样本图片数据集进行整合,获得所述第二人脸样本图片数据集,包括:
基于年龄标签对应的年龄段的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组,获得M个子数据集,其中,所述M个子数据集与所述M个年龄段一一对应,所述M个子数据集组成所述第二人脸样本图片数据集。
优选地,所述基于年龄标签的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组之前,还包括:
从所述多个人脸样本图片数据集中过滤掉除噪声大于一预设值的人脸样本图片。
优选地,所述基于所述第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型,包括:
基于所述第一人脸样本图片数据集进行模型训练,获得第一人脸年龄识别模型;
基于所述M个子数据集分别进行模型训练,获得M个第二人脸年龄识别模型,所述M个第二人脸年龄识别模型与所述M个年龄段一一对应。
优选地,所述基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,包括:
将所述目标图片输入到所述第一人脸年龄识别模型中,确定所述目标人脸图像对应的目标年龄段;
从所述M个第二人脸年龄识别模型中,选出与所述目标年龄段对应的第二人脸年龄识别模型作为目标人脸年龄识别模型;
将所述目标图片输入到所述目标人脸年龄识别模型中,确定所述目标人脸图像对应的具体年龄。
优选地,所述确定所述目标人脸图像对应的具体年龄之后,还包括:
检测所述目标图片中是否存在预设特征;
若存在所述预设特征,则基于所述预设特征的类型,对所述目标人脸图像对应的具体年龄进行修正。
基于同一发明构思,第二方面,本申请通过本申请的一实施例,提供如下技术方案:
一种人脸年龄识别装置,包括:
获得单元,用于获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;
训练单元,用于基于所述第一人脸样本图片数据集和第二人脸样本图片数据集,进行模型训练,获得人脸年龄识别模型;
识别单元,用于基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。
优选地,所述获得单元,具体用于:
获取多个人脸样本图片数据集,其中,每个人脸样本图片数据集都包含多张人脸样本图片,且每张人脸样本图片都携带有所述年龄标签;对所述多个人脸样本图片数据集进行整合,获得所述第一人脸样本图片数据集和所述第二人脸样本图片数据集。
优选地,所述获得单元,具体用于:
基于年龄标签对应的年龄段的不同,将所述多个人脸样本图片数据集中的人脸样本图片划分为M个类别,获得M个类别的人脸样本图片,其中,所述M个类别的人脸样本图片与M个年龄段一一对应,M为大于等于2的整数;将每个类别的人脸样本图片所携带的年龄标签修改为对应的年龄段标签,获得所述第一人脸样本图片数据集。
优选地,所述获得单元,具体用于:
基于年龄标签对应的年龄段的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组,获得M个子数据集,其中,所述M个子数据集与所述M个年龄段一一对应,所述M个子数据集组成所述第二人脸样本图片数据集。
优选地,所述装置,还包括:
过滤单元,用于在所述基于年龄标签的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组之前,从所述多个人脸样本图片数据集中过滤掉除噪声大于一预设值的人脸样本图片。
优选地,所述训练单元,具体用于:
基于所述第一人脸样本图片数据集进行模型训练,获得第一人脸年龄识别模型;基于所述M个子数据集分别进行模型训练,获得M个第二人脸年龄识别模型,所述M个第二人脸年龄识别模型与所述M个年龄段一一对应。
优选地,所述识别单元,具体用于:
将所述目标图片输入到所述第一人脸年龄识别模型中,确定所述目标人脸图像对应的目标年龄段;从所述M个第二人脸年龄识别模型中,选出与所述目标年龄段对应的第二人脸年龄识别模型作为目标人脸年龄识别模型;将所述目标图片输入到所述目标人脸年龄识别模型中,确定所述目标人脸图像对应的具体年龄。
优选地,所述的装置,还包括:
检测单元,用于在所述确定所述目标人脸图像对应的具体年龄之后,检测所述目标图片中是否存在预设特征;
修正单元,用于若存在所述预设特征,则基于所述预设特征的类型,对所述目标人脸图像对应的具体年龄进行修正。
基于同一发明构思,第三方面,本申请通过本申请的一实施例,提供如下技术方案:
一种人脸年龄识别装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可以实现上述第一方面任一实施方式中的。
基于同一发明构思,第四方面,本申请通过本申请的一实施例,提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现上述第一方面任一实施方式中的方法步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
在本申请实施例中,公开了一种人脸年龄识别方法,包括:获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;基于所述第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型;基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。由于采用双标签数据集作为训练样本(即:携带有年龄段标签的第一人脸样本图片数据集和携带有年龄标签的第二人脸样本图片数据集)来进行模型训练,如此,可以提高了模型训练的效果,使得模型具备更强的人脸年龄识别能力,从而提高了人脸年龄识别的准确率。故而解决了现有技术中的人脸年龄识别方法,存在准确率较低的技术问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种人脸年龄识别方法的流程图;
图2为本发明实施例中一种人脸年龄识别装置的结构图;
图3为本发明实施例中一种人脸年龄识别装置的结构图;
图4为本发明实施例中一种人脸年龄识别装置作为服务器时的结构图。
具体实施方式
本申请实施例通过提供一种人脸年龄识别方法及装置,解决了现有技术中的人脸年龄识别方法,存在准确率较低的技术问题,实现了提高人脸年龄识别的准确率的技术效果。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
一种人脸年龄识别方法,包括:获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;基于所述第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型;基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
其次说明,本文中出现的术语“人脸年龄识别”是指:通过对人物的人脸图像进行分析,获得该人物的年龄的过程。
实施例一
本实施例提供了一种人脸年龄识别方法,应用于电子设备中,所述电子设备可以为网络侧的服务器,也可以为用户侧的终端设备。其中,所述终端设备可以为:PC(PersonalComputer,个人电脑)、或智能手机、或平板电脑、或车载电脑、或数码相机、或游戏机、或智能电视、等等,此处,对于所述终端设备具体是何种设备,本实施例不做具体限定。
如图1所示,所述人脸年龄识别方法,包括:
步骤S101:获得第一人脸样本图片数据集和第二人脸样本图片数据集,其中,第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签。
在具体实施过程中,在第一人脸样本图片数据集中包含有大量的人脸样本图片,其中,每张人脸样本图片均携带有一个年龄段标签,该年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段。
在具体实施过程中,在第一人脸样本图片数据集中包含有M个类别的人脸样本图片,所述M个类别的人脸样本图片与M个年龄段一一对应,其中,相同类别的人脸样本图片均携带有相同的年龄段标签,M为大于等于2的整数。
举例来讲,第一人脸样本图片数据集中的人脸样本图片可以粗分为3个大类,对应3个不同的年龄段,例如,0~13岁,14~77岁,78~100岁。其中,可以用标签“0#”可以代表0~13岁这个年龄段,用标签“1#”可以代表14~77岁这个年龄段,用标签“2#”可以代表78~100岁这个年龄段。
在具体实施过程中,在第二人脸样本图片数据集中也包含有大量的人脸样本图片,其中,每张人脸样本图片均携带有一个年龄标签,该年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄。
举例来讲,第二人脸样本图片数据集中的人脸样本图片可以细分为101个小类,分别对应0~100岁之间的每个具体年龄。其中,可以用标签“0”代表0岁,标签“1”代表1岁,标签“2”代表2岁,……,标签“50”代表50岁,标签“51”代表51岁,……标签“98”代表98岁,标签“99”代表99岁,标签“100”代表100岁。
一般来讲,在进行人脸年龄识别时,识别结果通常在0~100岁之间,所以,在本实施例中,提供范围在0~100岁之间年龄段标签以及年龄标签的人脸样本图片数据集,即可满足绝大部分的应用场景。
在本实施例中,提供了两种不同的人脸样本图片数据集(即:第一人脸样本图片数据集和第二人脸样本图片数据集),且分别携带有两种不同的标签(即:年龄段标签和年龄标签),基于这样的训练样本进行模型训练,可以提高模型训练的效果,使得模型具备更强的人脸年龄识别能力,从而提高了人脸年龄识别的准确率。
作为一种可选的实施例,步骤S101,包括:
获取多个人脸样本图片数据集,其中,每个人脸样本图片数据集都包含多张人脸样本图片,且每张人脸样本图片都携带有年龄标签;对多个人脸样本图片数据集进行整合,获得第一人脸样本图片数据集和第二人脸样本图片数据集。
在具体实施过程中,可以对现有的多种人脸样本图片数据集进行整合,获得第一人脸样本图片数据集和第二人脸样本图片数据集。
举例来讲,所述多个人脸样本图片数据集,可以包括:IMDB-WIKI、Morph、FGnet、CACD、Adience、LAP、等等。
IMDB-WIKI数据集,包含约52万张人脸样本图片,其年龄标签从0岁~100多岁,但噪音较大,错误较多。
Morph数据集,包含约55000张人脸样本图片,其年龄标签从16岁~77岁,数据准确。
FGnet数据集,包含约1000张人脸样本图片,其年龄标签从0岁~69岁,数据准确。
CACD数据集,以CACD2000为例,包含约160000张人脸样本图片,其年龄标签从14岁~62岁,错误较多。
Adience数据集,包含约26000张人脸样本图片,其年龄标签分布与0~2岁、4~6岁、8~13岁、15~20岁、25~32岁、38~43岁、48~53岁、60岁以上,数据准确。
其中,所谓“噪音”是指人脸样本图片中包含的除人脸图像以外的其它图像(例如:头发、躯干、四肢、饰品、等等),这部分图像会对模型训练造成干扰,且这部分图像越多,干扰越大,噪音也就越大。
其中,所谓“错误”是指年龄标签的错误,例如,某一张人脸样本图片,其年龄标签表示的年龄为“30岁”,但实际上真实的年龄只有“16岁”,则视为“错误”。
其中,所谓“准确”是指年龄标签的准确,例如,某一张人脸样本图片,其年龄标签表示的年龄为“30岁”,实际上真实的年龄也是“30岁”,则视为“准确”。
作为一种可选的实施例,上述所采用的多个人脸样本图片数据集应该与具体的识别场景对应。例如,若识别场景主要针对欧美人,则所述多个人脸样本图片数据集应该为欧美人的人脸样本图片数据集,从而有利于对欧美人进行准确的人脸年龄识别。若识别场景主要针对亚洲人,则所述多个人脸样本图片数据集应该为亚洲人的人脸样本图片数据集,从而有利于对亚洲人进行准确的人脸年龄识别。
作为一种可选的实施例,获得第一人脸样本图片数据集的方法,包括:
基于年龄标签对应的年龄段的不同,将多个人脸样本图片数据集中的人脸样本图片划分为M个类别,获得M个类别的人脸样本图片,其中,M个类别的人脸样本图片与M个年龄段一一对应,M为大于等于2的整数;将每个类别的人脸样本图片所携带的年龄标签修改为对应的年龄段标签,获得第一人脸样本图片数据集。
举例来讲,可以先将上述多个人脸样本图片数据集中的人脸样本图片整合在一起,然后按照0~13岁、14~77岁和78~100岁三个年龄段对这些人脸样本图片进行分类,分成3个大类,也就是说,将年龄标签属于0~13岁的人脸样本图片归为一个大类(记为第一类人脸样本图片),将年龄标签属于14~77岁的人脸样本图片归为一个大类(记为第二类人脸样本图片),将年龄标签属于78~100岁的人脸样本图片归为一个大类(记为第三类人脸样本图片)。最后,将每一类人脸样本图片的年龄标签替换成对应的年龄段标签。
此处,虽然所述多个人脸样本图片数据集中存在噪声,年龄标签不准确等缺陷,但是本实施例并没有使用其年龄标签,而是按照M个年龄段对所述多个人脸样本图片数据集进行了重新归类,并且丢弃了原来的年龄标签,启用了新的年龄段标签,采用跨度较大的年龄段标签来标记每张人脸样本图片,使得标签更准确,且在每个年龄段内,数据中的噪声和错误可以被忽略,从而可以将所述多个人脸样本图片数据集全部可以保留,保证了人脸样本图片的数量足够多,有利于后续进行模型训练时,获得更好的训练效果。
举例来讲,标签“0#”代表0~13岁这个年龄段,标签“1#”代表14~77岁这个年龄段,标签“2#”代表78~100岁这个年龄段。可以将第一类人脸样本图片中的每张人脸样本图片的年龄标签都替换成年龄段标签“0#”,可以将第二类人脸样本图片中的每张人脸样本图片的年龄标签都替换成年龄段标签“1#”,可以将第三类人脸样本图片中的每张人脸样本图片的年龄标签都替换成年龄段标签“2#”。
这样,在基于第一人脸样本图片数据集进行模型训练,就可以使机器模型学习到如何根据目标图片中的目标人脸图像确定其对应的年龄段,训练获得的模型(即:第一人脸年龄识别模型)即具备确定目标人脸图对应的年龄段的能力。
作为一种可选的实施例,获得第二人脸样本图片数据集的方法,包括:
基于年龄标签对应的年龄段的不同,对多个人脸样本图片数据集中的人脸样本图片进行分组,获得M个子数据集,其中,M个子数据集与M个年龄段一一对应,所述M个子数据集组成了第二人脸样本图片数据集。
在具体实施过程中,首先,可以从多个人脸样本图片数据集中过滤掉噪声大于一预设值的人脸样本图片;然后,基于年龄标签的不同,对剩下的人脸样本图片进行分组,获得M个子数据集,所述M个子数据集与M个年龄段一一对应,所述M个子数据集即构成了第二人脸样本图片数据集。
举例来讲,在进行噪声过滤时,可以将所述多个人脸样本图片数据集中的存在噪声或噪声较大的人脸样本图片删除,或者,将噪声较大的人脸样本图片数据集直接删除(例如:删除IMDB-WIKI数据集),从而提高第二人脸样本图片数据集中数据的准确性。
然后,基于0~15岁、14~77岁和76~100岁三个年龄段,对剩下的人脸样本图片进行分组,获得年龄标签位于0~15岁的子数据集1,年龄标签位于14~77岁的子数据集2,年龄标签位于76~100岁的子数据集3。例如:对于某一张人脸样本图片,若其年龄标签为“5”(代表5岁),则归入子数据集1中;若其年龄标签为“30”(代表30岁),则归入子数据集2中;若其年龄标签为“80”(代表80岁),则归入子数据集3中。
在具体实施过程中,相邻的子数据集之间存在部分重合,能很好的避免第一人脸年龄识别模型对于所述M个年龄段的边界分类的失误问题,进一步保证了第一人脸年龄识别模型可以获得更准确的识别结果。
举例来讲,子数据集1和子数据集2之间存在两岁(即:14~15岁)的重合,子数据集2和子数据集3之间存在两岁(即:76~77岁)的重合,这样,能很好的避免第一人脸年龄识别模型对于3个大类(即:0~13岁、14~77岁和78~100岁)边界分类的失误问题,进一步保证了第一人脸年龄识别模型可以获得更准确的识别结果。
步骤S102:基于第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型。
其中,所选用的模型具体为卷积神经网络模型,例如,VGG模型、或Resnet50模型、或Alexnet模型、或SEnet模型、等等。此处,优选VGG模型,其具有参数少,速度快的优点。
作为一种可选的实施例,步骤S102,包括:
基于第一人脸样本图片数据集进行模型训练,获得第一人脸年龄识别模型;以及,基于M个子数据集分别进行模型训练,获得M个第二人脸年龄识别模型,M个第二人脸年龄识别模型与M个年龄段一一对应。
举例来讲,将第一人脸样本图片数据集作为训练样本,进行模型训练时,由于第一人脸样本图片数据集中包含0~13岁、14~77岁和78~100岁三个大类的人脸样本图片,分别携带有年龄标签“0#”(对应于0~13岁年龄段)、“1#”(对应于14~77岁年龄段)、“2#”(对应于78~100岁年龄段),训练获得的模型A即可具备对这三个年龄段的人脸图像进行识别的能力。
举例来讲,将子数据集1作为训练样本进行模型训,获得模型B,模型B可以识别出人脸图像在0~15岁之间的具体年龄;同时,将子数据集2作为训练样本进行模型训,获得模型C,模型C可以识别出人脸图像中在14~77岁之间的具体年龄;同时,将子数据集3作为训练样本进行模型训,获得模型D,模型D可以识别出人脸图像在76~100岁之间的具体年龄。
其中,所述M个第二人脸年龄识别模型与所述M个年龄段一一对应。例如,模型B与年龄段0~13岁对应,模型C与年龄段14~77岁对应,模型D与年龄段78~100岁对应。
在经过步骤S101~S102之后,即完成了对人脸年龄识别模型的训练。后续即可执行步骤S103.。其中,步骤S103与步骤S101~S102,可以在同一个电子设备中执行,也可以在不同的电子设备中执行(例如:由第一电子设备执行步骤S101~S102,来进行模型训练;由第二电子设备执行步骤S103,来使用人脸年龄识别模型进行人脸年龄识别)。
步骤S103:基于人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定目标人脸图像对应的具体年龄。
作为一种可选的实施例,步骤S103,包括:
将目标图片输入到第一人脸年龄识别模型中,确定目标人脸图像对应的目标年龄段;从M个第二人脸年龄识别模型中,选出与目标年龄段对应的第二人脸年龄识别模型作为目标人脸年龄识别模型;将目标图片输入到目标人脸年龄识别模型中,确定目标人脸图像对应的具体年龄。
在具体实施过程中,目标图片即为待识别人脸年龄的任一图片,其中包含待识别年龄的人脸图像(即:目标人脸图像)。
举例来讲,将目标图片输入到模型A中,模型A可以识别出目标人脸图像对应的年龄段,并输出一识别结果。若目标人脸图像对应的年龄段为“0~13岁”,则输出第一识别结果(例如:携带标签“0#”);若目标人脸图像对应的年龄段为“14~77岁”,则输出第二识别结果(例如:携带标签“1#”);若目标人脸图像对应的年龄段为“78~100岁”,则输出第三识别结果(例如:携带标签“2#”)。
进一步,若通过模型A确定目标人脸图像对应的年龄段为“0~13岁”,则将目标图片输入到模型B中,通过模型B确定目标人脸图像对应的具体年龄,并输出相应的识别结果(例如:若具体年龄为5岁,则输出“5”);若通过模型A确定目标人脸图像对应的年龄段为“14~77岁”,则将目标图片输入到模型C中,通过模型C确定目标人脸图像对应的具体年龄,并输出相应的识别结果(例如:若具体年龄为30岁,则输出“30”);若通过模型A确定目标人脸图像对应的年龄段为“78~100岁”,则将目标图片输入到模型D中,通过模型D确定目标人脸图像对应的具体年龄,并输出相应的识别结果(例如:若具体年龄为80岁,则输出“80”)。
作为一种可选的实施例,在步骤S103之后,还包括:
检测目标图片中是否存在预设特征;若存在预设特征,则基于预设特征的类型,对目标人脸图像对应的具体年龄进行修正,从而提高最终识别结果的准确率。
在具体实施过程中,所述预设特征具体是指各种美妆特征,例如,画眼影、涂口红、浓眉、等等,这些美妆特征会影响到模型的正常识别,使得识别结果偏小。例如,模型C输出的年龄为“30”岁,而实际年龄要比30岁大。
对此,可以针对每种美妆特征的类型,设置相应的修正值。例如,“画眼影”对应的修正值为“+5岁”,“涂口红”对应的修正值为“+4岁”,“浓眉”对应的修正值为“+3岁”,等等。
举例来讲,若模型B输出的具体年龄为30岁,而检测到目标图片中存在“画眼影”特征,则需要进行修正,修正过程为:30+5=35(岁),也就是说,修成后的具体年龄为35岁,识别结果更接近真实情况。
举例来讲,若模型B输出的具体年龄为28岁,而检测到目标图片中存在“涂口红”和“浓眉”特征,则进行修正,修正过程为:29+4+3=36(岁),也就是说,修成后的具体年龄为36岁,识别结果更接近真实情况。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种人脸年龄识别方法,包括:获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签,年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;基于第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型;基于人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定目标人脸图像对应的具体年龄。由于采用双标签数据集作为训练样本(即:携带有年龄段标签的第一人脸样本图片数据集和携带有年龄标签的第二人脸样本图片数据集)来进行模型训练,如此,可以提高了模型训练的效果,使得模型具备更强的人脸年龄识别能力,从而提高了人脸年龄识别的准确率。故而解决了现有技术中的人脸年龄识别方法,存在准确率较低的技术问题。
实施例二
基于同一发明构思,如图2所示,本实施例提供了一种人脸年龄识别装置200,包括:
获得单元201,用于获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;
训练单元202,用于基于所述第一人脸样本图片数据集和第二人脸样本图片数据集,进行模型训练,获得人脸年龄识别模型;
识别单元203,用于基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。
作为一种可选的实施例,获得单元201,具体用于:
获取多个人脸样本图片数据集,其中,每个人脸样本图片数据集都包含多张人脸样本图片,且每张人脸样本图片都携带有所述年龄标签;对所述多个人脸样本图片数据集进行整合,获得所述第一人脸样本图片数据集和所述第二人脸样本图片数据集。
作为一种可选的实施例,获得单元201,具体用于:
基于年龄标签对应的年龄段的不同,将所述多个人脸样本图片数据集中的人脸样本图片划分为M个类别,获得M个类别的人脸样本图片,其中,所述M个类别的人脸样本图片与M个年龄段一一对应,M为大于等于2的整数;将每个类别的人脸样本图片所携带的年龄标签修改为对应的年龄段标签,获得所述第一人脸样本图片数据集。
作为一种可选的实施例,获得单元201,具体用于:
基于年龄标签对应的年龄段的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组,获得M个子数据集,其中,所述M个子数据集与所述M个年龄段一一对应,所述M个子数据集组成所述第二人脸样本图片数据集。
作为一种可选的实施例,所述人脸年龄识别装置200,还包括:
过滤单元,用于在所述基于年龄标签的不同,对所述多个人脸样本图片数据集中的人脸样本图片进行分组之前,从所述多个人脸样本图片数据集中过滤掉除噪声大于一预设值的人脸样本图片。
作为一种可选的实施例,训练单元203,具体用于:
基于所述第一人脸样本图片数据集进行模型训练,获得第一人脸年龄识别模型;基于所述M个子数据集分别进行模型训练,获得M个第二人脸年龄识别模型,所述M个第二人脸年龄识别模型与所述M个年龄段一一对应。
作为一种可选的实施例,识别单元203,具体用于:
将所述目标图片输入到所述第一人脸年龄识别模型中,确定所述目标人脸图像对应的目标年龄段;从所述M个第二人脸年龄识别模型中,选出与所述目标年龄段对应的第二人脸年龄识别模型作为目标人脸年龄识别模型;将所述目标图片输入到所述目标人脸年龄识别模型中,确定所述目标人脸图像对应的具体年龄。
作为一种可选的实施例,所述人脸年龄识别装置200,还包括:
检测单元,用于在所述确定所述目标人脸图像对应的具体年龄之后,检测所述目标图片中是否存在预设特征;
修正单元,用于若存在所述预设特征,则基于所述预设特征的类型,对所述目标人脸图像对应的具体年龄进行修正。
由于本实施例所介绍的人脸年龄识别装置为实施本申请实施例中人脸年龄识别方法所采用的人脸年龄识别装置,故而基于本申请实施例中所介绍的人脸年龄识别方法,本领域所属技术人员能够了解本实施例的人脸年龄识别装置的具体实施方式以及其各种变化形式,所以在此对于该人脸年龄识别装置如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中人脸年龄识别方法所采用的人脸年龄识别装置,都属于本申请所欲保护的范围。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
在本申请实施例中,公开了一种人脸年龄识别装置200,包括:获得单元,用于获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;训练单元,用于基于所述第一人脸样本图片数据集和第二人脸样本图片数据集,进行模型训练,获得人脸年龄识别模型;识别单元,用于基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。由于采用双标签数据集作为训练样本(即:携带有年龄段标签的第一人脸样本图片数据集和携带有年龄标签的第二人脸样本图片数据集)来进行模型训练,如此,可以提高了模型训练的效果,使得模型具备更强的人脸年龄识别能力,从而提高了人脸年龄识别的准确率。故而解决了现有技术中的人脸年龄识别方法,存在准确率较低的技术问题。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种人脸年龄识别装置的结构图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理***,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置800的处理器执行时,使得装置800能够执行一种人脸年龄识别方法,包括:获得第一人脸样本图片数据集和第二人脸样本图片数据集;其中,所述第一人脸样本图片数据集中的每张人脸样本图片均携带有一年龄段标签,所述年龄段标签用于表示对应人脸样本图片中的人脸图像对应的年龄段;所述第二人脸样本图片数据集中的每张人脸样本图片均携带有一年龄标签,所述年龄标签用于表示对应人脸样本图片中的人脸图像对应的具体年龄;基于所述第一人脸样本图片数据集和第二人脸样本图片数据集进行模型训练,获得人脸年龄识别模型;基于所述人脸年龄识别模型,对目标图片中的目标人脸图像进行人脸年龄识别,确定所述目标人脸图像对应的具体年龄。
图4是本发明实施例中一种人脸年龄识别装置作为服务器时的结构图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作***1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。