性别和年龄的识别方法、装置、存储介质及服务器与流程

文档序号:22126278发布日期:2020-09-04 17:28阅读:254来源:国知局
性别和年龄的识别方法、装置、存储介质及服务器与流程

本申请实施例涉及视频分析技术领域,特别涉及一种性别和年龄的识别方法、装置、存储介质及服务器。



背景技术:

目前,公共场所都设置有摄像设备,可以通过摄像设备拍摄监控区域的视频,再对该视频进行分析,从而识别视频中行人的性别和年龄。

相关技术中,服务器可以获取到摄像设备拍摄的视频,对该视频进行行人检测,对检测到的行人进行人脸检测。其中,人脸检测包括两个部分,第一个部分是利用训练好的性别识别模型进行人脸检测来识别行人的性别,第二个部分是利用训练好的年龄识别模型进行人脸检测来识别行人的年龄。

由于人脸不同区域对性别识别和年龄识别的影响比重不同,且随场景变化的视频拍摄角度使得人脸特征变得多样化,所以,采用单一尺度的人脸图像进行识别,使得性别识别和年龄识别的准确性不高。另外,性别识别模型和年龄识别模型是两个独立的模型,会增加额外的存储空间和程序运行时间。另外,现有的性别识别模型仅采用一种模型结构,年龄识别模型也仅采用一种模型结构,单一的模型结构对人脸图像提取得到的特征表述能力不够强,最终使得性别识别和年龄识别的准确性不高。



技术实现要素:

本申请实施例提供了一种性别和年龄的识别方法、装置、存储介质及服务器,用于解决采用单一尺度的人脸图像进行识别,使得性别识别和年龄识别的准确性不高,两个独立的模型会增加额外的存储空间和程序运行时间,单一的模型结构对人脸图像提取得到的特征表述能力不够强,最终使得性别识别和年龄识别的准确性不高的问题。所述技术方案如下:

一方面,提供了一种性别和年龄的识别方法,所述方法包括:

按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像,所述n为大于1的正整数;

对于每张局部人脸图像,将所述局部人脸图像输入最优模型组合中与所述局部人脸图像的裁剪规则对应的一个识别模型中,所述最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则;

根据所述最优模型组合的输出结果确定所述行人的性别信息和年龄信息。

一方面,提供了一种性别和年龄的识别装置,所述装置包括:

裁剪模块,用于按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像,所述n为大于1的正整数;

输入模块,用于对于每张局部人脸图像,将所述局部人脸图像输入最优模型组合中与所述局部人脸图像的裁剪规则对应的一个识别模型中,所述最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则;

确定模块,用于根据所述最优模型组合的输出结果确定所述行人的性别信息和年龄信息。

一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的性别和年龄的识别方法。

一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的性别和年龄的识别方法。

本申请实施例提供的技术方案的有益效果至少包括:

通过先按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像;对于每张局部人脸图像,再将局部人脸图像输入最优模型组合中与局部人脸图像的裁剪规则对应的一个识别模型中,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。由于n张局部人脸图像通常具有不同尺度,这样,可以采用多尺度的局部人脸图像进行识别,从而可以提高性别识别和年龄识别的准确性。另外,最优模型组合包括n个识别模型,这些识别模型不是相互独立的,可以减少存储空间和程序运行时间。另外,n个识别模型具有不同的模型结构,对人脸图像提取得到的特征表述能力较强,从而可以提高性别识别和年龄识别的准确性。

附图说明

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

图1是本申请一个实施例提供的性别和年龄的识别方法的方法流程图;

图2是本申请一个实施例提供的性别和年龄的识别方法的简化流程图;

图3是本申请另一实施例提供的最优模型组合的训练方法的方法流程图;

图4是本申请另一实施例提供的人脸中关键点的示意图;

图5是本申请另一实施例提供的性别和年龄的识别方法的流程示意图;

图6是本申请另一实施例提供的性别和年龄的识别方法的流程示意图;

图7是本申请再一实施例提供的性别和年龄的识别装置的结构框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本发明的目的在于提供一种同时实现性别识别和年龄识别的方法,考虑到人脸不同区域对性别识别和年龄识别的影响比重不同,因此,本发明采用了多个区域多个尺度的人脸图像作为输入数据;考虑到丰富的模型结构可以提供更全面更详细的图像特征,因此,本发明采用了多种不同的模型结构,这些识别模型可以同时实现性别识别和年龄识别,这些不同的识别模型会根据测试结果保留最佳的模型组合以供实际使用。本发明在不同场景下对行人的性别识别和年龄识别都有很高的准确率,并且处理速度较快,鲁棒性较强,在工程部署上节省了部分空间,提高了用户体验。

请参考图1,其示出了本申请一个实施例提供的性别和年龄的识别方法的方法流程图,该性别和年龄的识别方法可以应用于服务器中。该性别和年龄的识别方法,可以包括:

步骤101,按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像。

本实施例中,服务器可以先获取最优模型组合,该最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则,可以根据该最优模型组合获取n种裁剪规则。其中,n为大于1的正整数。

其中,裁剪规则用于指示对人脸图像进行裁剪的规则。通常,裁剪规则可以指示裁剪中心点和裁剪尺度,该裁剪中心点可以用坐标表示,裁剪尺度可以用像素表示。其中,上下方向和左右方向的裁剪尺度可以相同,也可以不同。

若上下方向和左右方向的裁剪尺度相同,假设裁剪尺度为40像素,则可以以裁剪中心点为中心,分别向上向左向右向下扩40像素,即可获得80×80像素的局部人脸图像;假设裁剪尺度为56像素,则可以以裁剪中心点为中心,分别向上向左向右向下扩56像素,即可获得112×112像素的局部人脸图像。若上下方向和左右方向的裁剪尺度不同,假设上下方向的裁剪尺度为56像素,左右方向的裁剪尺度为48像素,则可以以裁剪中心点为中心,分别向上向下扩56像素,向左向右扩48像素,即可获得96×112像素的局部人脸图像。

本实施例中的人脸图像可以是服务器获取到的,也可以是服务器采集到的原始图像,采用人脸检测技术对该原始图像进行处理后得到的,本实施例不作限定。

其中,最优模型组合可以由服务器训练得到,也可以由其他设备训练得到,服务器从其他设备中获取到的,本实施例不限定最优模型组合的来源。

步骤102,对于每张局部人脸图像,将该局部人脸图像输入最优模型组合中与该局部人脸图像的裁剪规则对应的一个识别模型中,该最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则。

本实施例中的n个识别模型具有不同的模型结构,下面以n为3为例,对3个识别模型的模型结构进行举例说明。需要说明的是,下面的3种模型结构仅仅是举例,在实际实现时,也可以选用其他模型结构,本实施例不作赘述。

本实施例中的3个识别模型是三种轻量级的深度神经网络,第一种深度神经网络模型采用了五层卷积层,第一层全连接层连接第五层卷积层,第二层的两个全连接层并行连接第一层全连接层,其中,第二层的第一个全连接层负责输出性别特征向量,第二层的第二个全连接层负责输出年龄特征向量。第二种深度神经网络模型由三个到四个基础模块串联,每个基础模块包括普通卷积层,逐深度卷积层,逐点卷积层,激活函数层,批归一化层,在最后一个基础模块之后连接全连接层,全连接层结构与第一种深度神经网络模型的全连接层结构相同。第三种深度神经网络模型采用了类似残差网络的结构,在该结构之后连接全连接层,全连接层结构与第一种深度神经网络模型的全连接层结构相同。

服务器在获取到n张局部人脸图像后,对于其中的第i张局部人脸图像,可以先确定第i张局部人脸图像的裁剪规则,再在最优模型组合中查找得到与该裁剪规则对应的一个识别模型,将第i张局部人脸图像输入查找到的识别模型中,i≤n。

在将n张局部人脸图像全部输入最优模型组合之后,最优模型组合可以对n张局部人脸图像进行处理,得到输出结果,该输出结果中包括行人的性别信息和年龄信息。比如,输出结果中包括的性别信息为女,年龄信息为25岁。

步骤103,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。

服务器可以获取最优模型组合的输出结果,从该输出结果中读取性别信息和年龄信息。

概括来说,本实施例中,服务器可以将人脸图像输入最优识别模型,即可得到行人的性别信息和年龄信息,请参考图2。

综上所述,本申请实施例提供的性别和年龄的识别方法,通过先按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像;对于每张局部人脸图像,再将局部人脸图像输入最优模型组合中与局部人脸图像的裁剪规则对应的一个识别模型中,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。由于n张局部人脸图像通常具有不同尺度,这样,可以采用多尺度的局部人脸图像进行识别,从而可以提高性别识别和年龄识别的准确性。另外,最优模型组合包括n个识别模型,这些识别模型不是相互独立的,可以减少存储空间和程序运行时间。另外,n个识别模型具有不同的模型结构,对人脸图像提取得到的特征表述能力较强,从而可以提高性别识别和年龄识别的准确性。

请参考图3,下面以最优模型组合由服务器训练得到,对最优模型组合的训练过程进行说明。

步骤301,获取训练数据集和测试数据集,训练数据集包括多个训练数据组,每个训练数据组是按照m种裁剪规则,对一张训练人脸图像裁剪得到的m张局部人脸图像,测试数据集包括多个测试数据组,每个测试数据组是按照m种裁剪规则,对一张测试人脸图像裁剪得到的m张局部人脸图像,m≥n。

服务器可以通过图像采集设备采集原始图像,采用人脸检测技术对原始图像进行处理,获得可能包含人脸的区域,即候选人脸区域。由于人脸检测存在检测错误的可能性,所以,可以对候选人脸区域进行人脸对齐,若人脸对齐成功,且得到68个关键点,则说明该候选人脸区域存在完整的人脸,那么保留该候选人脸区域及其对应的68个关键点,该候选人脸区域即可称为人脸图像;若人脸对齐失败,,说明候选人脸区域不完整,那么丢弃该候选人脸区域。其中,68个关键点分布如下:左眉轮廓共5个关键点,左眼轮廓共6个关键点,右眉轮廓共5个关键点,右眼轮廓共6个关键点,鼻轮廓共9个关键点,上下唇轮廓共20个关键点,人脸轮廓共17个关键点。

请参考图4,图4中的(a)图示出了左眉最左侧的关键点、眉心关键点、右眉最右侧关键点、鼻尖关键点和嘴唇关键点,(b)图示出了左眼中心关键点、右眼中心关键点和嘴唇中心关键点,(c)图示出了左眉眼区域、右眉眼区域和嘴唇区域,(d)图示出了人脸中的多个关键点。

在得到关键点后,可以根据关键点生成裁剪中心点,下面对裁剪中心点的生成流程进行说明。

在获得人脸图像和对应的关键点后,可以以鼻梁为中轴,选取对称五官的关键点,或者,对称五官关键点结合鼻尖关键点的方式进行组合,得到四类组合。这四类组合包括:左眼中心关键点和右眼中心关键点;或者,左眼中心关键点、右眼中心关键点、左侧嘴角关键点和右侧嘴角关键点;或者,左眼中心关键点、右眼中心关键点和鼻尖关键点;或者,左侧嘴角关键点、右侧嘴角关键点和鼻尖关键点。

在求解中心关键点时,可以计算部位的关键点的横坐标的平均值和纵坐标的平均值,将该平均值作为部位的中心关键点。以左眼为例,可以将左眼轮廓6个关键点的横坐标相加求解得到对应的横坐标的平均值,将纵坐标相加求解得到对应的纵坐标的平均值,该平均值可以作为左眼中心关键点的坐标。

对于上述四类组合,服务器可以将每一类组合中的关键点的横坐标的平均值和纵坐标的平均值,将该平均值作为裁剪中心点。在得到裁剪中心点后,服务器可以以该裁剪中心点为中心,裁剪出不同裁剪尺度的多张局部人脸图像。

以左眼中心关键点和右眼中心关键点的组合为例,服务器首先计算左眼中心关键点和右眼中心关键点的平均值,以该平均值为裁剪中心点,分别向上向左向右向下扩40像素,即可获得80×80像素的局部人脸图像。

服务器可以对所有的原始图像都进行相同的处理,得到多张局部人脸图像,再随机地挑选占样本总数的80%的局部人脸图像作为训练数据,剩余20%的局部人脸图像作为测试数据。

需要说明的是,本步骤中所述的裁剪规则是预先设定的,本实施例的目的是训练识别模型,并从这些预先设定的裁剪规则中确定识别模型所适用的裁剪规则。

步骤302,创建n个具有不同模型结构的模型。

其中,模型的模型结构详见步骤102中的说明,此处不作赘述。

步骤303,将每个训练数据组中的m张局部人脸图像全部输入n个模型中的每个模型进行训练,得到m×n个识别模型,每个识别模型对应于一种裁剪规则。

本实施例中,服务器可以将训练数据组输入n个模型中,最终得到m×n个识别模型。每个识别模型中,第一个全连接层负责输出性别特征向量,因为性别只有男女两类,所以,性别特征向量共1×2维;第二个全连接层负责输出年龄特征向量,因为年龄可以分为7个年龄段,分别是0-10岁,11-20岁,21-30岁,31-40岁,41-50岁,51-60岁,61-70岁,所以,年龄特征向量共1×7维。在上述两个全连接层之后可以分别连接一个softmax分类器,训练时可以通过softmax分类器计算性别对应的概率值与性别类标交叉熵,年龄对应的概率值与年龄类标交叉熵,将年龄类标交叉熵和性别类标交叉熵相加,通过网络反向传播,从而对网络进行优化。

步骤304,利用测试数据集对m×n个识别模型进行测试,得到每个识别模型的测试精度。

在训练结束后,服务器可以利用测试数据集对m×n个识别模型进行测试。在测试时,服务器可以将每个测试数据组中的m张局部人脸图像中的每张局部人脸图像分别输入n个不同模型结构的识别模型中,每张局部人脸图像经过各个识别模型处理后,可以得到1×7维的年龄特征向量和1×2维的性别特征向量,再通过softmax分类器计算可以得到1×7维的年龄概率和1×2维的性别概率。在根据年龄概率计算年龄时,1×7维的年龄概率中列数索引对着0-10岁,11-20岁,21-30岁,31-40岁,41-50岁,51-60岁,61-70岁的类标,将1×7维的年龄概率与1×7维年龄段的中位值点乘后相加,就可以得到识别的年龄。在根据性别概率计算性别时,可以比较性别概率的大小,再获取最大概率的索引,该索引与类别属于一一映射的关系,比如,索引0表示性别类别为0,性别为男,索引1表示性别类别为1,性别为女,将索引映射到性别类别,即可获得性别。

步骤305,从m×n个识别模型中选择测试精度满足预定条件的k个识别模型,k≥n。

在得到对每张测试人脸图像的测试结果后,服务器可以将得到的测试结果与该测试人脸图像的实际年龄信息和实际性别信息进行比较,从而确定测试结果是否准确。

然后,服务器可以计算每个识别模型识别性别的准确率和年龄误差,按照预定条件保留k个识别模型。其中,预定条件可以是预先设置的,本实施例不作限定。

在一种可能的实例中,预定条件是保留性别识别精度高于95%且年龄误差小于5岁的识别模型,则服务器可以根据该预定条件从m×n个识别模型中选择k个识别模型。

需要说明的是,服务器还可以保留每个识别模型通过测试数据集得到的1×7维的年龄特征向量和1×2维的性别特征向量。

步骤306,对k个识别模型进行遍历,得到v个模型组合,每个模型组合中包括n个具有不同模型结构的识别模型,v为正整数。

服务器可以在保留的k个识别模型中遍历所有n种不同模型的组合方式,得到v个模型组合。

步骤307,对于每个模型组合,获取模型组合针对同一测试人脸图像得到的n个测试性别特征向量和n个测试年龄特征向量;对n个测试性别特征向量进行处理得到测试性别信息;对n个测试年龄特征向量进行处理得到测试年龄信息;将测试性别信息和测试年龄信息作为模型组合的一组测试结果。

服务器可以获取每个模型组合中n种识别模型得到的所有年龄特征向量和性别特征向量,根据图像名称将n个识别模型对同一张测试人脸图像的n个1×7维的年龄特征向量进行逐元素按位累加运算,对累加后的年龄特征向量进行归一化,采用softmax分类器对归一化后的年龄特征向量计算概率,最后按照步骤304中所记载的算法计算年龄。服务器还可以对同一张图像的n个1×2维的性别特征向量进行逐元素按位累加运算,对累加后的性别特征向量进行归一化,采用softmax分类器对归一化后的性别特征向量计算概率,最后按照步骤304中所记载的算法计算性别。

步骤308,根据每个模型组合针对不同测试人脸图像的测试结果计算每个模型组合的识别精度,将识别精度最高的模型组合确定为最优模型组合。

在所有的模型组合识别完年龄和对性别后,保留性别精度最高的模型组合,并将该模型组合确定为最优模型组合以供使用。

在得到最优模型组合后,服务器可以将该最优模型组合及其配置文件部署于工程,利用该最优模型组合来识别视频中行人的性别和年龄。请参考图5,其示出了本申请另一实施例提供的性别和年龄的识别方法的方法流程图,该性别和年龄的识别方法可以应用于服务器中。该性别和年龄的识别方法,可以包括:

步骤501,按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像。

本实施例中,按照n种裁剪规则,对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像,可以包括:

步骤5011,获取最优模型组合对应的n种裁剪规则,每种裁剪规则用于指示关键点名称组合和裁剪尺度,关键点名称组合包括人脸中多个关键点的名称。

其中,关键点名称组合即步骤301中所述的四种组合。这四类组合包括:左眼中心关键点和右眼中心关键点;或者,左眼中心关键点、右眼中心关键点、左侧嘴角关键点和右侧嘴角关键点;或者,左眼中心关键点、右眼中心关键点和鼻尖关键点;或者,左侧嘴角关键点、右侧嘴角关键点和鼻尖关键点。

步骤5012,从待识别的行人的人脸图像中提取多个关键点。

按照步骤301中的提取方式,服务器可以从人脸图像中提取68个关键点的坐标。

步骤5013,对于每种裁剪规则,确定裁剪规则所指示的关键点名称组合和裁剪尺度,从多个关键点中选择名称属于关键点名称组合的关键点,根据选出的关键点生成裁剪中心点,根据裁剪中心点和裁剪尺度对人脸图像进行裁剪,得到一张局部人脸图像。

假设一种裁剪规则中的关键点名称组合为左眼中心关键点和右眼中心关键点,且裁剪尺度是分别向上向左向右向下扩40像素,则服务器可以从68个关键点的坐标中选择左眼轮廓共6个点,根据这6个点的坐标计算左眼中心关键点的坐标;从68个关键点的坐标中选择右眼轮廓共6个点,根据这6个点的坐标计算右眼中心关键点的坐标;再根据左眼中心关键点的坐标和右眼中心关键点的坐标计算裁剪中心点;最后,以裁剪中心点为中心,分别向上向左向右向下扩40像素,即可获得80×80像素的局部人脸图像。

步骤502,对于每张局部人脸图像,将该局部人脸图像输入最优模型组合中与该局部人脸图像的裁剪规则对应的一个识别模型中,该最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则。

服务器在获取到n张局部人脸图像后,对于其中的第i张局部人脸图像,可以先确定第i张局部人脸图像的裁剪规则,再在最优模型组合中查找得到与该裁剪规则对应的一个识别模型,将第i张局部人脸图像输入查找到的识别模型中,i≤n。

步骤503,利用最优模型组合对n张局部人脸图像进行处理,得到n个性别特征向量和n个年龄特征向量。

仍然以上述实例进行说明,则n个识别模型可以得到n个1×7维的年龄特征向量和n个1×2维的性别特征向量。

步骤504,对n个性别特征向量进行逐元素累加运算和归一化运算,对得到的第一运算结果进行分类,得到行人的性别信息。

服务器可以通过softmax分类器计算可以得到1×7维的年龄概率。在根据年龄概率计算年龄时,1×7维的年龄概率中列数索引对着0-10岁,11-20岁,21-30岁,31-40岁,41-50岁,51-60岁,61-70岁的类标,将1×7维的年龄概率与1×7维年龄段的中位值点乘后相加,就可以得到识别的年龄信息。

步骤505,对n个年龄特征向量进行逐元素累加运算和归一化运算,对得到的第二运算结果进行分类,得到行人的年龄信息。

服务器通过softmax分类器计算可以得到1×2维的性别概率。在根据性别概率计算性别时,可以比较性别概率的大小,再获取最大概率的索引,该索引与类别属于一一映射的关系,比如,索引0表示性别类别为0,性别为男,索引1表示性别类别为1,性别为女,将索引映射到性别类别,即可获得性别信息。

步骤506,利用最优模型组合将性别信息和年龄信息作为输出结果进行输出。

最优模型组合可以将输出结果输出给服务器。

步骤507,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。

服务器可以获取最优模型组合的输出结果,从该输出结果中读取性别信息和年龄信息。

综上所述,本申请实施例提供的性别和年龄的识别方法,通过先按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像;对于每张局部人脸图像,再将局部人脸图像输入最优模型组合中与局部人脸图像的裁剪规则对应的一个识别模型中,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。由于n张局部人脸图像通常具有不同尺度,这样,可以采用多尺度的局部人脸图像进行识别,从而可以提高性别识别和年龄识别的准确性。另外,最优模型组合包括n个识别模型,这些识别模型不是相互独立的,可以减少存储空间和程序运行时间。另外,n个识别模型具有不同的模型结构,对人脸图像提取得到的特征表述能力较强,从而可以提高性别识别和年龄识别的准确性。

请参考图6,下面以n为3,对训练最优模型组合以及利用最优模型组合识别性别和年龄的流程进行说明。

步骤一,服务器获取输入的原始图像。

步骤二,服务器对输入的原始图像进行人脸检测,通过人脸检测回归出所有可能是人脸区域的左上顶点坐标和右下顶点坐标,根据各区域的左上顶点坐标和右下顶点坐标裁剪图像,获得所有候选人脸区域。

步骤三,对于每个候选人脸区域,服务器对候选人脸区域进行人脸对齐,如果对候选人脸区域进行人脸对齐后,返回68个关键点的坐标,说明该张候选人脸区域包含人脸,那么保留该张图像和对应的68个关键点的坐标,该图像即为人脸图像;反之,不能返回68个关键点的坐标,说明该张图像不可用,丢弃该张图像。

步骤四,服务器可以获取每张人脸图像对应的68个关键点,取左眼中心关键点,右眼中心关键点,鼻尖关键点,左侧嘴角关键点,右侧嘴角关键点共5个关键点进行组合,共有左眼中心关键点右眼中心关键点,左眼中心关键点右眼中心关键点左侧嘴角关键点右侧嘴角关键点,左眼中心关键点右眼中心关键点鼻尖关键点,鼻尖关键点左侧嘴角关键点右侧嘴角关键点这四种组合方式。

步骤五,服务器对步骤四中的四种组合方式进行遍历,对每一种组合计算对应关键点的裁剪中心点,以该裁剪中心点为局部人脸图像的中心点,裁剪80×80像素,96×112像素,112×112像素的局部人脸图像。

步骤六,服务器将裁剪出的三种裁剪尺度的局部人脸图像分别送入3个不同模型结构的识别模型中进行训练,每个识别模型可以同时输出性别信息和年龄信息。其中,识别模型可以是深度神经网络。

步骤七,服务器可以针对训练得到的多个识别模型在测试数据集上进行测试,各识别模型对测试数据集每张测试人脸图像进行性别识别和年龄识别,统计每个识别模型在测试数据集上性别识别的准确率和年龄识别的误差,保留性别分类准确率高于95%且年龄误差小于5岁的识别模型。

步骤八,服务器对步骤七筛选得到的性别识别准确率高于95%且年龄误差小于5岁的识别模型在测试数据集上再次进行测试。在保留的所有识别模型中,遍历所有3个识别模型的组合方式,将每种组合方式中的3个识别模型对同一张测试人脸图像的1×7维年龄特征向量进行累加和归一化,采用softmax分类器对归一化后的年龄特征向量计算年龄概率,将年龄概率与对应年龄段的中值数点乘后累加得到识别的年龄信息;将每种组合方式中的3个识别模型对同一张测试人脸图像的1×2维年龄特征向量进行累加和归一化,采用softmax分类器对归一化后的性别特征向量计算性别概率,根据性别概率获取最大概率的索引,将索引映射到性别类别,获得性别信息,保留性别精度最高的模型组合作为最优模型组合。

步骤九,服务器根据筛选得到的最优模型组合配置文件,再读取3个识别模型对应的裁剪规则,利用步骤一返回的关键点截取3张局部人脸图像,将3张局部人脸图像分别输入3个识别模型中。

步骤十,3个识别模型对3张局部人脸图像计算得到3个1×7维的年龄特征向量和3个1×2维的性别特征向量,对3个1×7维的年龄特征向量进行累加和归一化,采用softmax分类器对归一化后的年龄特征向量计算年龄概率,根据年龄概率计算年龄;对3个1×2维的性别特征向量进行累加和归一化,采用softmax分类器对归一化后的性别特征向量进行识别,这样就可以得到对该人脸图像的年龄识别和性别识别。

请参考图7,其示出了本申请一个实施例提供的性别和年龄的识别装置的结构框图,该性别和年龄的识别装置可以应用于服务器中。该性别和年龄的识别装置,可以包括:

裁剪模块710,用于按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像,n为大于1的正整数;

输入模块720,用于对于每张局部人脸图像,将局部人脸图像输入最优模型组合中与局部人脸图像的裁剪规则对应的一个识别模型中,最优模型组合包括n个具有不同模型结构的识别模型,且每个识别模型训练后对应于一种裁剪规则;

确定模块730,用于根据最优模型组合的输出结果确定行人的性别信息和年龄信息。

在一种可能的实施方式中,裁剪模块710还用于:

获取最优模型组合对应的n种裁剪规则,每种裁剪规则用于指示关键点名称组合和裁剪尺度,关键点名称组合包括人脸中多个关键点的名称;

从待识别的行人的人脸图像中提取多个关键点;

对于每种裁剪规则,确定裁剪规则所指示的关键点名称组合和裁剪尺度,从多个关键点中选择名称属于关键点名称组合的关键点,根据选出的关键点生成裁剪中心点,根据裁剪中心点和裁剪尺度对人脸图像进行裁剪,得到一张局部人脸图像。

在一种可能的实施方式中,关键点名称组合包括以下关键点的名称组合:

左眼中心关键点和右眼中心关键点;或者,

左眼中心关键点、右眼中心关键点、左侧嘴角关键点和右侧嘴角关键点;或者,

左眼中心关键点、右眼中心关键点和鼻尖关键点;或者,

左侧嘴角关键点、右侧嘴角关键点和鼻尖关键点。

在一种可能的实施方式中,该装置还包括:

处理模块,用于利用最优模型组合对n张局部人脸图像进行处理,得到n个性别特征向量和n个年龄特征向量;

第一运算模块,用于对n个性别特征向量进行逐元素累加运算和归一化运算,对得到的第一运算结果进行分类,得到行人的性别信息;

第二运算模块,用于对n个年龄特征向量进行逐元素累加运算和归一化运算,对得到的第二运算结果进行分类,得到行人的年龄信息;

输出模块,用于利用最优模型组合将性别信息和年龄信息作为输出结果进行输出。

在一种可能的实施方式中,该装置还包括:

获取模块,用于获取训练数据集和测试数据集,训练数据集包括多个训练数据组,每个训练数据组是按照m种裁剪规则,对一张训练人脸图像裁剪得到的m张局部人脸图像,测试数据集包括多个测试数据组,每个测试数据组是按照m种裁剪规则,对一张测试人脸图像裁剪得到的m张局部人脸图像,m≥n;

创建模块,用于创建n个具有不同模型结构的模型;

训练模块,用于将每个训练数据组中的m张局部人脸图像全部输入n个模型中的每个模型进行训练,得到m×n个识别模型,每个识别模型对应于一种裁剪规则;

测试模块,用于利用测试数据集对m×n个识别模型进行测试,将根据测试精度选择的n个识别模型确定为最优模型组合。

在一种可能的实施方式中,测试模块还用于:

利用测试数据集对m×n个识别模型进行测试,得到每个识别模型的测试精度;

从m×n个识别模型中选择测试精度满足预定条件的k个识别模型,k≥n;

对k个识别模型进行遍历,得到v个模型组合,每个模型组合中包括n个具有不同模型结构的识别模型,v为正整数;

将v个模型组合中识别精度最高的模型组合确定为最优模型组合。

在一种可能的实施方式中,测试模块还用于:

对于每个模型组合,获取模型组合针对同一测试人脸图像得到的n个测试性别特征向量和n个测试年龄特征向量;对n个测试性别特征向量进行处理得到测试性别信息;对n个测试年龄特征向量进行处理得到测试年龄信息;将测试性别信息和测试年龄信息作为模型组合的一组测试结果;

根据每个模型组合针对不同测试人脸图像的测试结果计算每个模型组合的识别精度,将识别精度最高的模型组合确定为最优模型组合。

综上所述,本申请实施例提供的性别和年龄的识别装置,通过先按照n种裁剪规则,分别对待识别的行人的人脸图像进行裁剪,得到n张局部人脸图像;对于每张局部人脸图像,再将局部人脸图像输入最优模型组合中与局部人脸图像的裁剪规则对应的一个识别模型中,根据最优模型组合的输出结果确定行人的性别信息和年龄信息。由于n张局部人脸图像通常具有不同尺度,这样,可以采用多尺度的局部人脸图像进行识别,从而可以提高性别识别和年龄识别的准确性。另外,最优模型组合包括n个识别模型,这些识别模型不是相互独立的,可以减少存储空间和程序运行时间。另外,n个识别模型具有不同的模型结构,对人脸图像提取得到的特征表述能力较强,从而可以提高性别识别和年龄识别的准确性。

本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的性别和年龄的识别方法。

本申请一个实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的性别和年龄的识别方法。

需要说明的是:上述实施例提供的性别和年龄的识别装置在进行性别和年龄的识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将性别和年龄的识别装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的性别和年龄的识别装置与性别和年龄的识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

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