人脸属性识别方法、装置和模型建立方法与流程

文档序号:11231204阅读:639来源:国知局
人脸属性识别方法、装置和模型建立方法与流程

本发明涉及一种图像识别技术,尤其涉及一种人脸属性识别方法、装置和模型建立方法。



背景技术:

人脸属性识别是指对人脸图像所表现出来的属性进行估计、判别和分析。人脸属性包括性别,年龄,表情,动作,是否戴眼镜,是否戴墨镜,眼睛大小,眼睛睁开或者闭着,嘴巴张开或者闭着,头发长短或者直发卷发类别,正面或侧面等。由此可知,人脸的属性可以划分为长期属性和短期属性。长期属性指一段时间内不会变化的属性,如性别、年龄等,短期属性指附加在人脸上的可以随时去除的属性,如戴口罩、戴眼镜、戴项链、化妆、发型等。

目前,人脸属性识别的方法通常分为两种:全局方法和局部方法。

全局方法直接从整张人脸提取特征,并利用得到的特征进行分类。这种方法考虑了全局的特征,对一些响应位置较大的属性,如戴眼镜、黑头发等,可以较容易地正确识别,但是对于一些比较响应位置比较小的属性,如弧形眉毛等,就不能进行精确的识别,而且全局方法对于人脸这种有形变的对象来说鲁棒性较差,一旦有表情、角度等变化,识别准确率就会降低。

局部方法都是依赖于人工判定属性归属的区域,然后对这些特定的区域来提取特征,再判断属性是否存在。如判断一个人是否有戴眼镜就要把眼睛区域提取出来再做判断,判断头发颜色要把头发区域标注出来,判断是否光头要先把头顶区域提取出来等等。所以要实现人脸属性的识别,首先要先对人脸的关键点进行精确的定位,才能提取到相关的区域。这种人工定义的方法比较繁琐,而且不能完全准确地描述出关联的区域。除此之外,这些人工定义的区域并不一定能准确表示属性的位置,比如判别性别,不同的人或许会对性别的表示区域有不同的看法,或许可以通过喉结、头发长度、面型等等来判断。

在现有的局部人脸属性识别算法中,通常针对特定的关键部位提取手工特征。比如,kumar等研究者通过从人脸的多个部位提取人工设计的hog特征,从而预测属性和进行人脸比对(faceverification);bourdev等通过构建三层的svm系统去提取高层次的信息,从而提高手工特征的判别性。近年来,由于深度学习能学到紧凑和具有判别性的特征,它在属性预测上取得了巨大的成功。razavian等研究者展示了通过cnn和imagenet学到的现成特征可以有效地适用于属性分类;zhang的实验证明组合多个cnns所学的特征,可以提高性能。但是这些方法都存在一个缺点——依赖于对于训练和测试数据集的准确的关键点定位以及人工定义属性的关联区域。

人脸相关的属性有很多,但是其关联区域的尺度大小不一,如发型的关联区域可能是整个人头区域,而涂口红的关联区域仅在嘴唇的部位,因此要通过统一的模型来学习多个属性是比较困难的。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种人脸属性识别方法,其能解决现有的人脸属性识别方法依赖于训练和测试数据集的准确的关键点定位以及人工定义属性的关联区域,要通过统一的模型来学习多个属性是比较困难的问题。

本发明的目的之二在于提供一种人脸属性识别模型建立方法,其能解决现有的人脸属性识别方法依赖于训练和测试数据集的准确的关键点定位以及人工定义属性的关联区域,要通过统一的模型来学习多个属性是比较困难的问题。

本发明的目的之三在于提供一种人脸属性识别装置,其能解决现有的人脸属性识别方法依赖于训练和测试数据集的准确的关键点定位以及人工定义属性的关联区域,要通过统一的模型来学习多个属性是比较困难的问题。

本发明的目的之四在于提供一种人脸属性识别装置,其能解决现有的人脸属性识别方法依赖于训练和测试数据集的准确的关键点定位以及人工定义属性的关联区域,要通过统一的模型来学习多个属性是比较困难的问题。

本发明的目的之一采用以下技术方案实现:

一种人脸属性识别方法,包括以下步骤:

从当前图像获取当前响应区域;

根据平均响应区域和所述当前响应区域计算属性关联区域;

对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图;

根据所述待定特征图预测人脸属性。

进一步地,所述从当前图像获取当前响应区域,具体为通过卷积神经网络从当前图像获取当前响应区域,所述卷积神经网络包括卷积层。

进一步地,所述从当前图像获取当前响应区域,具体包括以下步骤:

计算所述当前图像的初始特征图;

计算所述初始特征图的响应图;

根据所述响应图提取所述当前响应区域。

进一步地,所述当前响应区域具体为所述响应图中响应值大于响应阈值的连通区域。

进一步地,所述根据平均响应区域和所述当前响应区域计算属性关联区域,具体为:将所述平均响应区域和所述当前响应区域按预设比例加权平均,响应值较大的区域作为属性关联区域。

进一步地,所述对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图,具体包括以下步骤:

从所述属性关联区域裁剪出感兴趣区域;

通过双线性插值法将所述感兴趣区域缩放为所述预设大小的待定特征图。

本发明的目的之二采用以下技术方案实现:

一种人脸属性识别模型建立方法,包括以下步骤:

建立卷积神经网络,所述卷积神经网络包括共享卷积网络、第一任务分支和第二任务分支;所述共享卷积网络用于对当前图像进行处理,所述第一任务分支用于从处理后的所述当前图像获取当前响应区域,并根据平均响应区域和所述当前响应区域计算属性关联区域,所述第二任务分支用于对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图,并根据所述待定特征图预测人脸属性;

训练所述共享卷积网络和第一任务分支;

训练所述第二任务分支,同时对所述第一任务分支进行再训练。

本发明的目的之三采用以下技术方案实现:

一种人脸属性识别装置,包括:

获取模块,用于从当前图像获取当前响应区域;

计算模块,用于根据平均响应区域和所述当前响应区域计算属性关联区域;

区域模块,用于对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图;

预测模块,用于根据所述待定特征图预测人脸属性。

进一步地,所述获取模块包括:

第一计算单元,用于计算所述当前图像的初始特征图;

第二计算单元,用于计算所述初始特征图的响应图;

提取单元,用于根据所述响应图提取所述当前响应区域;

所述区域模块包括:

裁剪单元,用于从所述属性关联区域裁剪出感兴趣区域;

缩放单元,用于通过双线性插值法将所述感兴趣区域缩放为所述预设大小的待定特征图。

本发明的目的之四采用以下技术方案实现:

一种人脸属性识别装置,包括:

处理器以及用于存储处理器可执行的指令的存储器;

所述处理器被配置为:

从当前图像获取当前响应区域;

根据平均响应区域和所述当前响应区域计算属性关联区域;

对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图;

根据所述待定特征图预测人脸属性。

相比现有技术,本发明的有益效果在于:基于人脸属性识别模型建立方法得到的卷积神经网络,人脸属性识别方法可以通过感兴趣区域池化,把属性关联区域变形池化为预设大小的待定特征图,解决了现有的各属性对应的关联区域尺度不一,不利于后续基于统一模型的多属性识别的问题,从而实现了通过一个卷积神经网络即可实现人脸图像的多个属性的识别。

进一步地,人脸属性识别模型建立方法,第一步是学习任务一,第二步是两个任务同时进行端到端的学习。由于两个任务之间是有先后顺序的,任务二的学习依赖于任务一的输出,因此需要先训练好任务一,同时还可以得到基于训练图像的相应属性的平均响应区域;接着开始学习任务二,与此同时,任务一也在不断地继续学习。一方面可以防止共享卷积网络输出的共享特征只是适应于任务二,而导致任务一的属性关联区域定位效果下降;另一方面进行端到端的学习,能够同时优化两个任务,从而达到更好的人脸属性识别效果。

附图说明

图1是本发明实施例一的人脸属性识别方法的流程示意图;

图2是图1中人脸属性识别方法的过程示意图;

图3是本发明实施例二的人脸属性识别模型建立方法的流程示意图;

图4是人脸属性识别模型的结构示意图;

图5是本发明实施例三的人脸属性识别装置的结构示意图;

图6是本发明实施例四的人脸属性识别装置的结构示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例:

实施例一:

图1是本发明实施例一的人脸属性识别方法的流程示意图;图2是图1中人脸属性识别方法的过程示意图,本领域技术人员应了解,图2中的共享卷积网络、第一卷积层和第二卷积层均可以包括一个或多个卷积层,可对相应的输入进行多次运算。

如图1和2所示,本实施例的一种人脸属性识别方法,其包括以下步骤:

步骤s110,从当前图像获取当前响应区域。

进一步地,所述从当前图像获取当前响应区域,具体为通过卷积神经网络从当前图像获取当前响应区域,所述卷积神经网络包括卷积层。

具体地,所述从当前图像获取当前响应区域,包括以下步骤:

步骤s111,计算所述当前图像的初始特征图;

步骤s112,计算所述初始特征图的响应图;

步骤s113,根据所述响应图提取所述当前响应区域。

所述当前响应区域具体为所述响应图中响应值大于响应阈值的连通区域。

在卷积神经网络中,特征图的响应值与学习目标密切相关,在本实施例中,特征图的响应值与要识别的属性密切相关。对应于某个属性的特征图中,响应值越大,表示该区域存在该属性的可能性越大,也就是说特征图中响应值越大表示关联性越强。通过卷积神经网络的前向传播过程即可以求得每层特征图的响应值。优选的,本文以第一卷积层的输出映射到原图大小之后得到的特征图作为响应图;进一步地,以响应图中的响应值大于一定响应阈值的连通区域作为当前响应区域。响应阈值可以通过经验或有限次的试验得到,如响应阈值设置为经验值0.5。

在本实施例中,第一卷积层最后的响应具有较强的属性信息,因此本实施例以第一卷积层最后的响应值映射回原图以作为响应图。如果直接把响应图通过双线性插值放大到原图的大小没有考虑到输出点的接受域(receptivefield),会导致响应位置的不准确。因此本实施例通过先求出第一卷积层每个输出点对应回输入图像的接受域,再把该输出点的值通过双线性插值的方法对应到原图大小的区域上。这样会求得更加准确的响应区域。

步骤s120,根据平均响应区域和所述当前响应区域计算属性关联区域。

由于当前响应区域没有对应真实的属性标签,不能保证每张图像都能得到很好的响应区域,而后续的属性识别是基于特定响应区域的,如果当前响应区域不准确,就会造成在进行后续任务时丢失一定的信息。因此在本实施例中引入了属性的平均响应区域作为辅助信息,根据平均响应区域和所述当前响应区域计算属性关联区域,对当前响应区域进行修正。进一步地,所述根据平均响应区域和所述当前响应区域计算属性关联区域,具体为将所述平均响应区域和所述当前响应区域按预设比例加权平均,响应值较大的区域作为属性关联区域。对应于某一属性的平均响应区域是利用多张训练图像对应于该属性的响应区域平均而来的。如戴眼镜这一属性,可将多张戴眼镜的人脸图像在眼镜部位的响应区域进行平均,得到戴眼镜这一属性的平均响应区域。训练图像可以利用公开的数据集celebadataset。

优选的,可以通过将当前响应区域和平均响应区域以1:1的比例加权平均,取出响应值较大的区域作为当前属性的属性关联区域。

步骤s130,对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图。

感兴趣区域池化层(roipoolinglayer)是在特征图上离散区域根据扫描框的大小执行池化的。本实施例使用的是加入了形变功能的感兴趣区域池化层。其首先把感兴趣区域进行形变,接着使用最大池化层把感兴趣区域缩放成统一的大小。

进一步地,所述对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图,具体包括以下步骤:

步骤s131,从所述属性关联区域裁剪出感兴趣区域;

步骤s132,通过双线性插值法将所述感兴趣区域缩放为所述预设大小的待定特征图。

首先通过形变层在全图的特征图,即属性关联区域上裁剪出相关的响应区域,即感兴趣区域;然后通过双线性插值法把感兴趣区域缩放成预设大小。

表示w×h大小的全图的卷积特征图,从全图的卷积特征图中裁剪出wroi×hroi大小的感兴趣区域,通过变形操作,缩放到w′×h′大小的待定特征图。预设大小w′×h′可以根据实际要识别的人脸图像计算,以便于后续人脸属性识别为优选。

步骤s140,根据所述待定特征图预测人脸属性。

根据特征图预测人脸属性可以根据现有技术实现。

本实施例所述的人脸属性识别方法,通过感兴趣区域池化,把属性关联区域变形池化为预设大小的待定特征图,解决了现有的各属性对应的关联区域尺度不一,不利于后续基于统一模型的多属性识别的问题,从而实现了通过一个卷积神经网络即可实现人脸图像的多个属性的识别。

进一步地,根据所述待定特征图预测人脸属性也可由卷积神经网络实现。作为本发明的进一步改进,本发明提出了通过级联的多任务卷积神经网络模型来实现属性关联区域定位和属性识别,如实施例二。

实施例二:

如图3所示的一种人脸属性识别模型建立方法,图4是一种人脸属性识别模型的结构示意图。人脸属性识别模型建立方法包括以下步骤:

步骤s210,建立卷积神经网络,所述卷积神经网络包括共享卷积网络、第一任务分支和第二任务分支;所述共享卷积网络用于对当前图像进行处理,所述第一任务分支用于从处理后的所述当前图像获取当前响应区域,并根据平均响应区域和所述当前响应区域计算属性关联区域,所述第二任务分支用于对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图,并根据所述待定特征图预测人脸属性。

所述共享卷积网络、第一任务分支和第二任务分支均可以包括一个或多个卷积层,可对相应的输入进行多次运算。所述共享卷积网络对当前图像进行处理,所述处理可以包括获取人脸图像的色彩、纹理、轮廓等信息。第一任务分支和第二任务分支可以共享卷积网络输出的特征,不仅能够在一定程度上提高属性识别的效果,而且还能减少一定量的计算资源。

通过第一任务分支实现第一任务,即从处理后的所述当前图像获取当前响应区域,并根据平均响应区域和所述当前响应区域计算属性关联区域的具体方法如实施例一所述;通过第二任务分支实现第二任务,即对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图,并根据所述待定特征图预测人脸属性如实施例一所述,不再赘述。

步骤s220,训练所述共享卷积网络和第一任务分支。

图4中的符号①表示全局最大值池化操作,②表示感兴趣区域变形池化,③表示连接操作。进一步地,在训练的时候,在第一任务分支的最后一个卷积层后面接上全局池化层,得到一个最大值,作为属性的预测值,并和真实值作比较,从而对共享卷积网络和第一任务分支调整。

本实施例中,定义第一任务分支的损失函数如下:

其中,θ表示网络所需要优化的所有参数,r是第一任务分支的输出,表示属性关联区域,可写成r={x,y,w,h}的形式,其中(x,y)表示属性关联区域的中心坐标,h和w分别为属性关联区域的高度和宽度。

由于属性关联区域的学习是弱监督学习,本实施例以属性标签为学习目标,设定以下损失函数:

其中rj(xi)表示第xi个样本在第一任务分支的最后一个卷积层的第j个输出。

如实施例一所述,属性关联区域r的获得可以通过把第一任务分支的最后一个卷积层输出的特征映射为人脸图像的大小得到当前响应区域,再将当前响应区域和平均响应区域求平均获得。

步骤s230,训练所述第二任务分支,同时对所述第一任务分支进行再训练。

第二任务分支在最后一个卷积层后面接上一个全局池化层以得到属性的预测值,预测值与真实值做sigmoid交叉熵比较,以预测属性。

任务二的学习是在任务一输出的基础上进行的,本实施例把第二任务分支的损失函数定义如下:

其中r(θ)是在网络参数θ下,任务一得到的属性关联区域,p表示任务二对属性的预测值。任务二的学习方式与任务一相似,均是利用属性的标签信息来学习,同样也使用了全局最大值池化功能对属性关联区域获取属性信息。

所述卷积神经网络的学习过程分成两步,第一步是学习任务一,第二步是两个任务同时进行端到端的学习。由于两个任务之间是有先后顺序的,任务二的学习依赖于任务一的输出,因此需要先训练好任务一,同时还可以得到基于训练图像的相应属性的平均响应区域;接着开始学习任务二,与此同时,任务一也在不断地继续学习。一方面可以防止共享卷积网络输出的共享特征只是适应于任务二,而导致任务一的属性关联区域定位效果下降;另一方面进行端到端的学习,能够同时优化两个任务,从而达到更好的人脸属性识别效果。

对于人脸图像的多属性识别,人脸的许多特征是独立的,并没有关联关系。本文针对多个属性的识别问题提出了相应的损失函数。

作为本发明的进一步改进,在另一实施例中,将每个属性的识别问题看作是一个独立的二类划分问题,因此该损失函数可以定义为个二类的sigmoid交叉熵损失函数的和,其中k表示要识别的属性的个数。因而,k个属性的损失函数可以表示为如下形式:

其中,xi表示第i张输入图像,k∈{1,2,...,k}表示要识别的属性,yk∈{0,1}表示输入图像的属性标签,0表示属性k不存在,1表示属性k存在。pk(xi)表示图像xi是否有属性k的后验概率,可以表示成以下sigmoid函数的形式:

其中,fk(xi)表示输入图像xi时卷积神经网络的第k个输出。

由本实施例所述的人脸属性识别模型建立方法得到的卷积神经网络,可以通过感兴趣区域池化,把属性关联区域变形池化为预设大小的待定特征图,解决了现有的各属性对应的关联区域尺度不一,不利于后续基于统一模型的多属性识别的问题,从而实现了通过一个卷积神经网络即可实现人脸图像的多个属性的识别。

本实施例所述的人脸属性识别模型建立方法,第一步是学习任务一,第二步是两个任务同时进行端到端的学习。由于两个任务之间是有先后顺序的,任务二的学习依赖于任务一的输出,因此需要先训练好任务一,同时还可以得到基于训练图像的相应属性的平均响应区域;接着开始学习任务二,与此同时,任务一也在不断地继续学习。一方面可以防止共享卷积网络输出的共享特征只是适应于任务二,而导致任务一的属性关联区域定位效果下降;另一方面进行端到端的学习,能够同时优化两个任务,从而达到更好的人脸属性识别效果。实施例三:

如图5所示的人脸属性识别装置,包括:

获取模块110,用于从当前图像获取当前响应区域;

进一步的,所述获取模块110包括:

第一计算单元,用于计算所述当前图像的初始特征图;

第二计算单元,用于计算所述初始特征图的响应图;

提取单元,用于根据所述响应图提取所述当前响应区域;

计算模块120,用于根据平均响应区域和所述当前响应区域计算属性关联区域;

区域模块130,用于对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图;

进一步的,所述区域模块130包括:

裁剪单元,用于从所述属性关联区域裁剪出感兴趣区域;

缩放单元,用于通过双线性插值法将所述感兴趣区域缩放为所述预设大小的待定特征图。

预测模块140,用于根据所述待定特征图预测人脸属性。

本实施例中的装置与前述实施例中的人脸属性识别方法是基于同一发明构思下的两个方面,在前面已经对人脸属性识别方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元示意的部件可以是或者也可以不是物理模块,既可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等,如实施例四。

实施例四:

如图6所示的人脸属性识别装置,包括:处理器200以及用于存储处理器200可执行的指令的存储器300;

所述处理器200被配置为:

从当前图像获取当前响应区域;

根据平均响应区域和所述当前响应区域计算属性关联区域;

对所述属性关联区域作感兴趣区域池化,得到预设大小的待定特征图;

根据所述待定特征图预测人脸属性。

本实施例中的装置与前述实施例中的方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。

本发明实施例提供的人脸属性识别装置,通过感兴趣区域池化,把属性关联区域变形池化为预设大小的待定特征图,解决了现有的各属性对应的关联区域尺度不一,不利于后续基于统一模型的多属性识别的问题,从而实现了通过一个卷积神经网络即可实现人脸图像的多个属性的识别。

对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。

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