面部属性识别方法、装置、存储介质及处理器与流程

文档序号:21104079发布日期:2020-06-16 21:06阅读:238来源:国知局
面部属性识别方法、装置、存储介质及处理器与流程

【技术领域】

本发明涉及图像识别技术领域,更具体地说,涉及一种面部属性识别方法、装置、存储介质及处理器。



背景技术:

随着计算机视觉技术以及深度学习的蓬勃发展,安防、智能视频监控、城市治安、事故预警等领域中需要不断地对面部进行识别。然而,随着任务需求的不断提高,人们不仅仅是局限于对面部身份的认证,更重要的对面部子属性进行识别认证。这样更加有利于对某人的身份进行识别,同时也更加有利于在安防领域中运用面部信息进行布控。另外,将面部识别和面部属性同时运用在安防领域中,使得任务需求变得更加清晰明了。

面部是一种非常重要的生物特征,具有结构复杂、细节变化多等特点,同时也蕴含了大量的信息,比如性别、种族、年龄、表情等。一个正常的成午人可以轻易的理解面部的信息,但将同样的能力赋予给计算机,并让其代替人类进行类脑思考成为研充学者亟待攻克的科学课题。

现有属性识别的方法中,有的采用训练多个深度卷积神经网络,然后进行分数融合或者特征融合进一步训练。这种方式工作任务繁重复杂,不利于实际应用的技术问题。如有将面部身份认证网络和属性识别网络进行融合形成一个融合网络,采用联合学习的方式同时学习身份特征和面部属性特征,是一个多任务网络;并采用代价敏感的加权函数,使其不依赖于目标域数据分布,而实现在源数据域的平衡训练;且修改后的融合框架仅添加了少量参数,增加了额外计算负荷。

也有提出将多个属性融台进一个网络中完成的,但是其网络结构和损失函数函数过于复杂,不利于网络的训练且仅仅依赖面部属性识别来增加面部识别的准确率。虽然也是多属性网络结构,但其实是将带有多种属性标签的面部图像作为网络结构的输入,相当于是一张图片对应多种标签,不利于网络的训练和学习,同时使用的网络模型为深度残差网络结构,这样造成网络模型过大,对计算资源要求过高,实用性较差。



技术实现要素:

本发明所要解决的技术问题是提供一种面部属性识别方法、装置、存储介质及处理器,能够采用减小网络参数的方法,改变网络模型中某些层如全连接层的参数的个数,减小网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

为解决上述技术问题,一方面,本发明一实施例提供了一种面部属性识别方法,其特征在于,包括:建立多种面部属性的数据集;将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

优选地,所述建立多种面部属性的数据集包括:对所述多种面部属性的数据集进行预处理;对预处理后的所述多种面部属性的数据集进行归一化处理;对归一化处理后的所述多种面部属性进行标注。

优选地,所述将多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合包括:将每一个面部属性数据的输入格式设为数组形式d1[n,c,w,h];将所述多种面部属性的数据集按照输入数组的第一维,即图片的个数进行合并,假设面部属性的种类个数为m,则合并后生成的数据形式为d2[m×n,c,w,h];其中n、c、w、h分别为输入进深度卷积神经网络的所述多种面部属性的数据集图像的个数、通道数、宽度和高度。

优选地,所述建立多任务的深度卷积网络对多种面部属性数据集集合进行训练包括:采用深度残差网络的4个残差模块;

将待识别图像的面部属性数据输入进深度残差网络进行网络训练;

其中第一个残差模块采用两个小的残差模块表示,第一个小的残差模块结构采用64个卷积核大小为3×3的卷积层连接64个卷积核大小为3×3的卷积层,其恒等映射用64个1×1的卷积,二者做和之后输入第二个小的残差模块,第二个小的残差模块结构与所述第一个小的残差模块相同,第二个小的残差模块的恒等映射用第一个小的残差模块的输出表示,

另外三个残差模块结构和第一个残差模块结构一样,但是卷积核的个数分别为128、256、512。

优选地,建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型包括:

根据训练好的网络模型,在图片识别阶段一次性得到所述多种面部属性的面部各个属性的概率最高的识别结果,即面部属性的多属性值。

优选地,对所述多种面部属性的数据集进行预处理包括:使用多任务卷积神经网络算法对图片中的面部进行检测,获得面部图像。

优选地,所述使用多任务卷积神经网络算法对图片中的面部进行检测,获得面部图像包括:卷积神经网络采用全连接的方式,利用边界框向量微调候选窗体,从而对面部在图像中的坐标点进行检测,得到面部图像。

优选地,对所述多种面部属性的数据集进行归一化处理包括:对多种面部属性的数据集面部图像归一化宽高大小为128像素×128像素。

优选地,所述对面部属性进行标注包括:标注面部戴眼镜、戴口罩、发型、脸型、年龄、性别属性。

优选地:所述根据训练好的网络模型,在图片识别阶段一次性得到所述多种面部属性的面部各个属性的概率最高的识别结果包括:在网络训练计算损失函数时,按照每个数组的第一维度进行分割,并按照每个属性对应的图片个数将其切开,即最终的结果为每个属性的数组形式d3[n,c,w,h];在进行分割时,按照对应的图片个数进行并将每个属性数据输入对应的损失函数;损失函数采用概率形式,公式为:

其中,j代表面部属性中的一个属性的子属性的当前序号,k代表面部属性中的一个属性的子属性的序号,t代表面部属性中的一个属性的子属性的总个数,sj代表面部属性中的一个属性的第j子属性的概率,k从1开始取值,t个子属性的概率之和为1,为数据的某一种属性的的指数形式,aj和ak代表面部属性中的某一个属性值标,分母表示将所有属性标签的指数相加,从而得到面部属性是具体属性标签的概率。

另一方面,本发明一实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述的面部属性识别方法。

另一方面,本发明一实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的面部属性识别方法。

另一方面,本发明一实施例提供了一种面部识别装置,所述装置包括依次电连接的数据建立模块、数据合并模块、训练模块和预测模块:数据建立模块用于建立多种面部属性的数据集;数据合并模块用于将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;训练模块用于建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;预测模块用于运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

优选地,所述数据建立模块包括:数据预处理模块,所述数据预处理模块用于对面部图像数据进行预处理;数据归一化处理模块,所述数据归一化处理模块用于对面部图像数据进行归一化处理;数据标注模块,所述数据标注模块用于对面部属性进行标注。

优选地,所述数据合并模块包括:第一存储模块,所述第一存储模块用于存储每一种属性的面部图像。

优选地,所述训练模块包括深度残差网络,所述深度残差网络包括4个残差模块,其中第一个残差模块采用两个小的残差模块表示,第一个小的残差模块结构采用64个卷积核大小为3×3的卷积层连接64个卷积核大小为3×3的卷积层,其恒等映射用64个1×1的卷积,二者做和之后输入第二个小的残差模块,第二个小的残差模块结构与所述第一个小的残差模块相同,第二个小的残差模块的恒等映射用第一个小的残差模块的输出表示,另外三个残差模块结构和第一个残差模块结构一样,卷积核的个数分别为128、256、512。

优选地,所述预测模块包括第三存储模块,所述第三存储模块用于存储根据训练好的网络模型,从而一次性得到的面部各个属性的概率最高的识别结果,即面部属性的多属性值。

优选地,所述数据归一化处理模块用于对面部图像数据进行归一化处理包括:对多种面部属性的数据集面部图像归一化宽高大小为128像素×128像素。

与现有技术相比,上述技术方案具有以下优点:本发明采用减小网络参数的方法,即改变网络模型中某些层如全连接层的参数的个数,减小了网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

【附图说明】

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

图1是本发明面部属性识别方法的流程图。

图2是本发明面部属性识别方法中使用的残差网络的基础模块图。

图3是本发明一种面部属性识别方法的流程图的一实施例。

图4是面部形状类别图。

图5本发明一种面部属性识别装置结构图。

【具体实施方式】

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

实施例一

图1是本发明面部属性识别方法的流程图。如图1所述,本发明面部属性识别方法包括步骤:包括步骤:

s11、建立多种面部属性的数据集;

s12、将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;

s13、建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;

s14、运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

具体实施时,步骤s11建立多种面部属性的数据集包括:对多种面部属性的数据集进行预处理、归一化处理、标注。

对多种面部属性的数据集进行预处理进一步包括:

使用多任务卷积神经网络算法对图片中的面部进行检测,获得面部图像。可以采取卷积神经网络全连接的方式,利用边界框向量微调候选窗体,对面部在图像中的坐标点进行检测,检测到面部之后把面部图像截取下来进行训练。

将图像归一化到某一大小,是由网络输入大小决定的。不同的网络有不同的输入大小。本发明作为一个实施例,对多种面部属性的数据集进行归一化处理包括:对多种面部属性的数据集面部图像归一化宽高大小为但是不限于128像素×128像素。

对面部属性进行标注包括但是不局限于:标注面部戴眼镜、戴口罩、发型、脸型、年龄、性别属性等。

具体实施时,步骤s12将多种面部属性的数据集进行合并,形成多种面部属性的数据集集合包括:

将每一个面部属性数据的输入格式设为数组形式d1[n,c,w,h];

将多种面部属性的数据集按照输入数组的第一维,即图片的个数进行合并,假设面部属性的种类个数为m,则合并后生成的数据形式为d2[m×n,c,w,h];

其中n、c、w、h分别为输入进深度卷积神经网络的所述多种面部属性的数据集图像的个数、通道数、宽度和高度。

具体实施时,步骤s13建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型包括:采用深度残差网络的4个残差模块,4个残差模块其中第一个残差模块采用两个小的残差模块表示,第一个小的残差模块结构采用64个卷积核大小为3×3的卷积层连接64个卷积核大小为3×3的卷积层,其恒等映射用64个1×1的卷积,二者做和之后输入第二个小的残差模块,第二个小的残差模块结构与所述第一个小的残差模块相同,第二个小的残差模块的恒等映射用第一个小的残差模块的输出表示,另外三个残差模块结构和第一个残差模块结构一样,但是卷积核的个数分别为128、256、512;将待识别图像的面部属性数据输入进深度残差网络进行网络训练。在具体实施过程中,残差模块的数量可以根据实际需要进行选取,此处以4个残差模块进行举例说明。

具体实施时,步骤s14运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性包括:根据训练好的网络模型,在图片识别阶段一次性得到所述多种面部属性的面部各个属性的概率最高的识别结果,即面部属性的多属性值。

在网络训练阶段,计算损失函数时,按照每个数组的第一维度进行分割,并按照每个属性对应的图片一个数将其切开,即最终的结果为每个属性的数组形式d3[n,c,w,h];

在进行分割时,按照对应的图片个数进行并将每个属性数据输入对应的损失函数;

损失函数采用概率形式,公式为:

其中,j代表面部属性中的一个属性的子属性的当前序号,k代表面部某一属性中的子属性的序号,t代表面部属性中的一个属性的子属性的总个数,sj代表面部属性中的一个属性的第j子属性的概率,k从1开始取值,t个子属性的概率之和为1,为数据的某一种属性的的指数形式,aj和ak代表面部属性中的某一个属性值标,分母表示将所有属性标签的指数相加,从而得到面部属性是具体属性标签的概率。

比如面部属性中的一种脸型属性,脸型属性有三种子属性:圆脸、方脸、尖脸。则t=3,k从1开始取值。在一次判断中,所有子属性圆脸、方脸、尖脸的概率和加在一起为1。圆脸的概率计算:通过神经网络计算得到的网络输出值为a1=3。方脸的概率计算:通过神经网络计算得到的网络输出值为a2=1。尖脸的概率计算:通过神经网络计算得到的网络输出值为a3=-3。根据损失函数概率形式的公式:

则此次判断为圆脸的概率值s1为:

则此次判断为方脸的概率值s2为:

则此次判断为尖脸的概率值s3为:

根据此次判断为圆脸、方脸、尖脸的概率值s1、s2、s3型值大小,则此次判断脸型属性属于三种子属性中的圆脸属性。

由此可见,通过采用本发明面部属性识别方法,减小了深度卷积神经网络参数,即改变网络模型中某些层如全连接层的参数的个数,减小了网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

实施例二

本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述的面部属性识别方法流程。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下面部属性识别方法流程的程序代码:

s11、建立多种面部属性的数据集;

s12、将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;

s13、建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;

s14、运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

由此可见,通过采用本发明存储介质,减小了存储容量,内置的面部属性识别方法流程的程序运行速度更快,从而快速高效完成所有面部属性的识别。

实施例三

本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述的面部属性识别方法中的步骤。

可选地,在本实施例中,上述程序用于执行以下步骤:

s11、建立多种面部属性的数据集;

s12、将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;

s13、建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;

s14、运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

可选地,本实施例中的具体示例可以参考上述实施例及具体实施时所描述的示例,本实施例在此不再赘述。

由此可见,通过采用本发明处理器,减小了待处理数据量,内置的面部属性识别方法流程的程序运行速度更快,从而快速高效完成所有面部属性的识别。

实施例四

图2是本发明一种面部属性识别方法的流程图的一实施例。在如今社会,从业人员可以从各个渠道得到很多种数据。这为深度学习提供了很好的数据支持。为了更加方便的介绍本发明的具体实施例,以年龄、性别、脸型作为训练集介绍该发明的流程图。

假设已经收集到足够多各种姿态的年龄、性别、脸型样本,该样本作为训练数据预处理样本。面部属性识别开始,然后训练数据预处理。训练数据预处理的样本包括带午龄信息的数据图片、带性别信息的数据图片、带脸型信息的数据图片。

在构建网络输入的训练集要先对图片进行预处理,本方案的数据预处理步骤遵循如下步骤:

第一步:使用多任务卷积神经网络(mtcnn)算法对图片中的面部进行检测,该算法采用三个卷积神经网络级联对面部进行检测,首先采用全卷积神经网络获得面部的候选窗体和边界回归量,同时候选窗体根据边界框进行校准后,利用非极大值抑制方法去除重叠窗体;其次,该步骤的卷积神经网络采用全连接的方式,利用边界框向量微调候选窗体,对面部在图像中的坐标点进行检测,检测到面部之后把面部图像截取下来进行训练。最后采用比之前多一层的卷积神经网络继续优化面部检测框的位置。经过面部检测算法,得到归一化大小为128像素×128像素的面部图片。

第二步:对面部属性进行标注,标注的属性包括是否戴眼镜、是否戴口罩、发型、脸型、午龄、性别等。标注方法采用现有公共属性数据集market1501训练一个初始模型后对面部检测得到的图片进行粗分类,每一个属性会给其一个数值标签,然后通过人为对分好的面部属性图片记性细分类,从而构建不同面部属性的数据集。例如:同一张图片中的不同属性可以将其放在不同的文件夹中。

进入进行训练数据合并和多任务训练数据准备阶段:采用多任务网络学习机制可以使网络共享到其他数据的特征。现如今很多深度学习网络仅专注于单一任务,会使很多具有相同共性的数据特性得不到共享。多任务学习的提出可以很好地解决这个问题,它是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标,即可以在学习一个问题的同时,使用共享表示来获取其他相关问题的知识。因此多任务学习是一种专注于将解决一个问题的知识应用到其他相关问题的方法。本方案使用数据合并的方式实现多任务学习训练数据的准备。在数据合并的过程(以脸型、性别、午龄数据为例,其他属性均可按照此步骤进行)中需要遵循以下步骤:

a、数据进行合并的前提每个输入进网络的数据集中的每一副图像的通道数、宽度、高要保证一样,该步骤已经在数据预处理过程中完成。

b、在进行三种面部属性数据集合并时,每一个面部属性数据的输入格式为数组形式,由于其数据格式为:d1[n,c,w,h],其中n为输入进网络的图片的个数,c为图像的通道数(一般为3通道),w、h为图像的宽和高。在满足a的条件下,将数据集按照输入数组的第一维,即图片的个数进行合并,合并后生成的数据形式是d2[m×n,c,w,h];其中n、c、w、h分别为输入进深度卷积神经网络的所述多种面部属性的数据集图像的个数、通道数、宽度和高度。

以上两个步骤完成了多任务学习的数据准备阶段。通过合并的数据输入网络进行学习,使网络可以学习到每个数据集之间的相关性,达到了多任务学习的目的。

进入深度卷积神经网络训练阶段:本发明以深度残差网络为基础网络对网络输入数据进行特征提取。残差网络为2015午提出的网络,其性能优于其他深度网络,但是由于其网络结构过深、参数过多,导致其显存占用较大。本发明运用检测网络中的分类思想对深度残差网络进行修改,将网络中的残差模块减少、并丢弃全连接层,形成新的网络结构,使得网络结构变得简单,网络模型大大减小的同时,显存占用也大幅度减小。

本方案采用的深度残差网络结构比较简单,如图3所示,x为残差模块的输入,f(x)为卷积神经网络的原始映射。relu为深度残差模块中的激活函数,h(x)为深度残差模块的输出函数,深度残差模块采用原始映射f(x)和输入x构成行的网络输出函数。本方案采用深度残差网络的4个残差模块,其中第一个残差模块采用两个小的残差模块表示,第一个小的残差模块结构采用64个卷积核大小为3×3的卷积层连接64个卷积核大小为3×3的卷积层,其恒等映射用64个1×1的卷积,二者做和之后输入第二个小的残差模块,第二个小的残差模块结构与所述第一个小的残差模块相同,第二个小的残差模块的恒等映射用第一个小的残差模块的输出表示,另外三个残差模块结构和第一个残差模块结构一样,但是卷积核的个数分别为128、256、512。只采用深度残差网络中的四个残差模块,这样结构更小更有利于实现对网络输入数据进行特征提取。通过深度残差网络,可以很好的提取到图像的深度特征,从而可以便于更好进行分类。

进入网络输出阶段:在网络训练开始之前对数据进行了合并,以方便学习到数据的共享知识。经过网络的训练学习,网络学习到了较好的特征,且网络在学习的过程中,训练数据的图像的个数没有发生改变。因此,为了得到各个面部属性数据集的学习情况,在网络输出计算损失函数时,按照每个属数组的第一维度进行分割,并按照每个属性切开,即最终的结果依然是每个属性的数组形式为d3[n,c,w,h],并将每个属性数据输入对应的损失函数。

在进行数据合并时根据输入进网络的面部属性图片的个数进行合并。在进行数据分离时,按照每个数据集输入进网络的图片的个数进行切割,必须保证与原始个数相同。

切割之后的数据集输入进相对应的损失函数层,从而进行相应的损失函数计算,得到相应的权重更新,并得到对应的每一个面部属性数据集中的种类输出。

损失函数可以根据学习到共享特征计算各个属性数据相对应的损失函数,本方案采用的损失函数采用概率形式,公式为:

其中,为数据的某一种结果的指数形式,aj和ak代表面部属性中的某一个属性值标,分母表示将所有属性标签的指数相加,从而得到面部属性是具体属性标签的概率。根据网络损失函数,运用反向传播算法更新权重,使网络达到最优状态,从而得到输入样本对应的面部属性,如午龄识别集、性别识别集、脸型识别集。

以午龄为例,我们会将年龄标注为:少年、青年、中午、老年四个标签。网络最后的一层的输出会根据损失函数和对应的标签进行计算,得到四个概率,分别表示对应类别(少午、青年、中年、老午)的概率,如果少午的概率最高,则会被判定为少年。本发明在最后网络结构中会有每个属性对应的损失函数,所以每个属性都会根据自己对应的损失函数计算其对应的概率。根据概率的高低决定其属于哪一个属性。根据网络损失函数,运用反向传播算法更新权重,使网络达到最优状态,从而得到输入样本对应的面部属性。

以性别为例,我们会将性别标注为:男、女两个标签。网络最后的一层的输出会根据损失函数和对应的标签进行计算,得到两个概率,分别表示对应类别(男、女)的概率,如果男的概率最高,则会被判定为男。本发明在最后网络结构中会有每个属性对应的损失函数,所以每个属性都会根据自己对应的损失函数计算其对应的概率。根据概率的高低决定其属于哪一个属性。根据网络损失函数,运用反向传播算法更新权重,使网络达到最优状态,从而得到输入样本对应的面部属性。

图4是面部形状类别图。按照常见的多数面部型,我们大致可以划分为7种:圆脸、椭圆形脸、心形脸(倒三角脸)、菱形脸、方形脸、长形脸、梨形脸(正三角脸)。对脸型(脸型的种类为从业人员根据业务需求人为规定的,以上述七种脸型为例)的判断过程为:

第一步:经过数据预处理的过程,通过面部检测和数据标注过程建立训练网络和测试网络的数据集。

第二步:将各个属性的训练数据输入进网络,将数据合并(以性别、年龄、脸型为例),输入进网络模型中,对网络模型进行训练。

第三步:网络模型训练结束后,利用训练好的模型,将待识别的图片输入进网络模型,从而得到该图片包含的面部的性别、午龄、脸型的类别。

通过网络输出后的年龄识别集元素可以是以上午龄(少午、青年、中午、老午)中的任何一种。

通过网络输出后的脸型识别集元素可以是以上脸型(圆脸、椭圆形脸、心形脸(倒三角脸)、菱形脸、方形脸、长形脸、梨形脸(正三角脸))中的任何一种。

对于其他面部属性的识别,如戴眼镜、戴口罩、发型、肤色、表情情绪、有胡子、头发颜色、戴帽子、种族、魅力值等,则可以通过如上类似的方法来准确识别。

由此可见,通过采用本发明面部属性识别方法,减小了深度卷积神经网络参数,即改变网络模型中某些层如全连接层的参数的个数,减小了网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

实施例五

本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行实施例四所述的面部属性识别方法流程。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

由此可见,通过采用本发明存储介质,减小了存储容量,内置的面部属性识别方法流程的程序运行速度更快,从而快速高效完成所有面部属性的识别。

实施例六

本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行实施例四所述的面部属性识别方法中的步骤。

可选地,本实施例中的具体示例可以参考上述实施例及具体实施时所描述的示例,本实施例在此不再赘述。

由此可见,通过采用本发明处理器,减小了待处理数据量,内置的面部属性识别方法流程的程序运行速度更快,从而快速高效完成所有面部属性的识别。

实施例七

图5本发明一种面部属性识别装置结构图。所述装置包括:数据建立模块,所述数据建立模块用于建立多种面部属性的数据集;数据合并模块,所述数据合并模块用于将所述多种面部属性的数据集进行合并,形成所述多种面部属性的数据集集合;训练模块,所述训练模块用于建立多任务的深度卷积神经网络对所述多种面部属性的数据集集合进行训练,得到可以识别多种面部属性的多属性网络模型;预测模块,所述预测模块用于运用所述多属性网络模型对待识别图像的面部属性进行多属性预测,以识别所述待识别图像中的多种面部属性。

其中,所述数据建立模块包括:数据预处理模块,所述数据预处理模块用于对面部图像数据进行预处理;数据归一化处理模块,所述数据归一化处理模块用于对面部图像数据进行归一化处理;数据标注模块,所述数据标注模块用于对面部属性进行标注。数据归一化处理模块包括:对多种面部属性的数据集面部图像归一化宽高大小为但是不限于128像素×128像素。对面部属性进行标注指的是:标注面部属性是否戴眼镜、是否戴口罩、是什么发型、是什么脸型、是什么午龄、是什么性别。

数据合并模块包括:第一存储模块;所述第一存储模块用于存储每一种属性的面部图像数据当面部属性识别装置上执行面部属性识别方法时,软件程序动态生成每一个面部属性数据的输入数组d1[n,c,w,h],将所述多种面部属性的数据集按照输入数组的第一维,即图片的个数进行合并,假设面部属性的种类个数为m,则合并后生成的数据数组d2[m×n,c,w,h],其中n为输入进深度卷积神经网络的图像的个数,c为输入进深度卷积神经网络的图像的通道数,w为输入进深度卷积神经网络的图像的宽度,h为输入进深度卷积神经网络的图像的高度。

训练模块包括深度残差网络,所述深度残差网络包括4个残差模块,其中第一个残差模块采用两个小的残差模块表示,第一个小的残差模块结构采用64个卷积核大小为3×3的卷积层连接64个卷积核大小为3×3的卷积层,其恒等映射用64个1×1的卷积,二者做和之后输入第二个小的残差模块,第二个小的残差模块结构与所述第一个小的残差模块相同,第二个小的残差模块的恒等映射用第一个小的残差模块的输出表示,另外三个残差模块结构和第一个残差模块结构一样,卷积核的个数分别为128、256、512。

预测模块包括第二存储模块,所述第二存储模块用于存储根据训练好的网络模型,从而一次性得到的面部各个属性的概率最高的识别结果,即面部属性的多属性值。

由此可见,通过采用本发明面部属性识别装置,减小了深度卷积神经网络参数,即改变网络模型中某些层如全连接层的参数的个数,减小了网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

利用原始的面部属性识别方法过程是:建立年龄、性别、脸型对应的数据集(包括训练和测试);将午龄、性别、脸型分别输入进其对应的网络模型(此时需要训练三个网络模型);将测试图片分别输入进训练好的三个网络模型,根据每个网络模型的最高概率对应的属性,从而得到每个网络模型对应的属性识别结果。

由此可见,采用多任务深度学习的识别方法进行面部识别,在深度卷积神经网络中,网络中的参数的个数决定了网络的大小,网络大小决定了网络占用显存的大小。采用减小网络参数的方法,即改变网络中某些层(例如全连接层)的参数的个数,从而减小网络显存占用,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络完成所有面部属性的识别。在原始的深度残差网络中,最后全连接层需要学习的参数为1000个,由于全连接层占用了网络参数中的大部分比例,因此本方案对网络进行剪枝,即将原始网络结构中的全连接层去掉,使得卷积层直接和损失层相连接,直接回归面部属性的概率,从而完成网络结构的修改和剪枝,这样的网络剪枝会使网络的计算参数的个数减少,使得网络大小和显存占用减小。

由上述说明可知,使用根据本发明的面部属性识别方法、装置、存储介质及处理器,减小了网络参数,即改变网络模型中某些层如全连接层的参数的个数,减小了网络显存占用率,且通过数据合并的方式,将多种属性的数据输入进卷积神经网络,使其在网络中对所有属性进行学习和训练,从而使同一网络快速高效完成所有面部属性的识别。

以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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