基于人脸图像序列的属性识别方法及装置与流程

文档序号:12273010阅读:265来源:国知局
基于人脸图像序列的属性识别方法及装置与流程

本发明实施例涉及图像识别技术领域,尤其涉及一种基于人脸图像序列的属性识别方法及装置。



背景技术:

生物特征由于具有唯一性、安全性和使用便捷等特点,已经被广泛地应用于日常生活中的方方面面。由于人脸生物特征识别技术具有方便易用、用户友好性及非接触式等优点,在近年来取得了突飞猛进的发展。这些发展体现在了各个研究领域,包括人脸检测、人脸特征提取、分类器设计以及硬件设备制造等方面。

人脸生物特征识别技术除了应用于身份认证,基于人脸图像的软生物特征分析技术也受到了人们的青睐,同时得到了许多成功的应用。人脸软生物特征识别,亦称为人脸属性分析,包括性别识别、年龄估计、种族分析和表情分析等。人脸属性分析在客流分析、广告定向投放和公共安全防范等领域有着广阔的应用价值。

然而,现有技术当中基于人脸属性分析方法通常是基于单张人脸图像,例如,一种常用的方式是对人脸图像序列中的单张人脸图像分别进行属性分析,然后对人脸图像序列中不同图像的属性分析结果进行分数层或者决策层融合。虽然这种方式在一定程度上能够提升人脸属性分析结果的准确性,但是该方式并没有充分挖掘人脸图像序列中不同图像间的互补信息,对人脸属性识别准确性不高。



技术实现要素:

为克服相关技术中存在的通过基于单张人脸图像人脸属性分析方式,进而造成对人脸属性识别准确性不高的问题,本发明实施例提供一种基于人脸图像序列的属性识别方法及装置。

根据本发明实施例的第一方面,提供一种基于人脸图像序列的属性识别方法,包括:

分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征;

通过机器学习模型选取所述人脸属性特征中的目标人脸属性特征;

获取多个预设分类器分别对所述目标人脸属性特征识别的多个初级属性识别结果;

将所述多个初级识别结果进行融合,生成所述人脸图像序列属性识别的高级识别结果。

根据本发明实施例的第二方面,提供一种基于人脸图像序列的属性识别装置,包括:

人脸属性特征提取模块,用于分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征;

目标人脸属性特征提取模块,用于通过机器学习模型选取所述人脸属性特征中的目标人脸属性特征;

初级属性识别结果获取模块,用于获取多个预设分类器分别对所述目标人脸属性特征识别的多个初级属性识别结果;

初级识别结果进行融合模块,用于将所述多个初级识别结果进行融合,生成所述人脸图像序列属性识别的高级识别结果。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明实施例提供的基于人脸图像序列的属性识别方法及装置,分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征,并通过机器学习模型选取人脸属性特征中的目标人脸属性特征,在获取到多个预设分类器分别对该目标人脸属性特征识别的多个初级属性识别结果时,将该多个初级识别结果进行融合,生成人脸图像序列属性识别的高级识别结果。这样将人脸图像序列中不同的人脸图像之间的特征相互关联,充分挖掘人脸图像序列中不同图像间的互补关系,可以很好的避免现有技术中基于单张人脸图像属性识别时带来的准确性不高的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明实施例的原理。

图1是根据本发明一示例性实施例示出的一种基于人脸图像序列的属性识别方法的流程图;

图2是根据本发明一示例性实施例示出的一种基于人脸图像序列的属性识别方法的流程图;

图3是图1中步骤S110的流程图;

图4是图1中步骤S120的流程图;

图5是图1中步骤S130的流程图;

图6是根据本发明一示例性实施例示出的一种基于人脸图像序列的属性识别装置的结构示意图;

图7是根据本发明一示例性实施例示出的一种基于人脸图像序列的属性识别装置的结构示意图;

图8是图6中人脸属性特征提取模块的示意图;

图9是图6中目标人脸属性特征提取模块的示意图;

图10是图6中初级属性识别结果获取模块的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明实施例的一些方面相一致的装置和方法的例子。

人脸属性分析方法可以分为单属性分析方法和多属性分析方式,下面分别简要介绍一下这两种分析方式。

首先,人脸单属性分析方式可以大致分为如下两类:

1)利用人工设计的特征训练属性分类器。常用的人脸图像特征包括Gabor滤波器,LBP(Local Binary Patterns,局部二元模式),HOG(Histogram of Oriented Gradient,梯度方向直方图)等。常用的分类器包括迭代算法Adaboost,SVM(Support Vector Machine,支持向量机)等。在训练阶段,首先从各人脸图像中提取相应的人脸特征,利用不同属性的人脸训练样本训练得到属性分类器。测试时,待从输入图像中提取得到人脸特征后,用训练得到的属性分类器进行分类,得到人脸属性识别结果。

2)利用CNN(Convolutional Neural Network,卷积神经网络)训练属性分类器,与传统的基于人工设计相比,CNN方法可以从训练数据中自动学习得到卷积滤波器,通常比基于人工经验设计的方法能够学习得到更有效的人脸属性特征表示,从而提高人脸属性分析的准确率。

其次,人脸多属性分析方式通常可以也可以分为两大类:

1)综合各单项属性分类器的结果,将各个人脸属性分类器(如性别,年龄,种族,表情等)独立训练。

2)采用多任务学习的方法,将人脸多个属性分类器同时学习和优化。由于不同属性之间有可能存在互相辅助的信息,例如性别信息有助于年龄估计,采用多任务学习的方式通常能够提高人脸多属性分析的准确率和鲁棒性。

为了解决现有技术中基于人脸属性分析方法通常是基于单张人脸图像,造成人脸属性识别准确性不高的问题,本发明实施例中提供了一种基于人脸图像序列的属性识别方法及装置,可以用于人脸单属性分析方式和人脸多属性分析方式当中。

在本发明提供的一实施例中,首先提供了一种基于人脸图像序列的属性识别方法,如图1所示,该方法可以包括以下步骤:

在步骤S110中,分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征。

由于本发明实施例是对图像序列中的人脸图像进行识别,给图像序列可以包括同一个人的多张人脸图像,该图像序列可以是同一个人的人脸在不同时刻时的图像呈现,例如一个人的人脸在一段视频中的呈现等,这样通过提取图像序列中每个人脸图像的属性特征,并考虑这些属性特征之间的相互关系,可以得到更加正确的人脸属性识别结果。

其中,卷积神经网络主要用于提取人脸图像序列中的每张人脸图像的人脸属性特征,递归神经网络主要用于通过建模,获取人脸图像序列中的不同人脸图像间的时序信息,使得各人脸图像的输出响应与属性标记相一致,并通过随机梯度下降法同时训练卷积神经网络和递归神经网络。本发明实施例通过同时学习卷积神经网络和递归神经网络,在学习人脸图像空域信息的同时,通过记忆构造,还可以挖掘图像序列中的时序信息,提取更多的属性相关判别特征,便于提升属性分析的准确率。

在步骤S120中,通过机器学习模型选取人脸属性特征中的目标人脸属性特征。

在本发明提供的实施例中,可以根据需要,对人脸图像中的性别、年龄、种族和表情中的一种或几种进行识别,因此,针对所需的识别结果,提取人脸图像中相应的特征,即目标人脸属性特征。

该机器学习模型可以是Adaboost,Adaboost是一种将弱分类器组合成强分类器,以提高样本分类的准确度。假设每个弱分类器对应一个特征,则Adaboost在弱分类器构造的过程中也起到了特征选择的作用。以单种或多种属性分类准确率为目标,采用Adaboost的学习方式,可以挑选得到D维(如D=8000)属性特征。

在步骤S130中,获取多个预设分类器分别对目标人脸属性特征识别的多个初级属性识别结果。

预设分类器可以是卷积神经网络,还可以是支持向量机SVM、线性判别分析LDA或多任务学习方法等传统模式识别分类器。由于递归神经网络本身是一个端到端的学习过程,可以直接输出属性分类结果,因此,可以将递归神经网络记为分类器为A。

通过预先获取与人脸图像序列相关的训练样本,并通过该训练样本对支持向量机SVM、线性判别分析LDA或多任务学习方法等进行训练,得到分类器B。分别通过分类器A和分类器B对上述提取的目标人脸属性特征进行识别,分别得到分类器A的识别结果和分类器B的识别结果,即多个初级识别结果。

在步骤S140中,将多个初级识别结果进行融合,生成人脸图像序列属性识别的高级识别结果。

将上述得到的分类器A和分类器B的输出结果分别在分数层或者决策层进行融合,得到最终的人脸属性分析结果,即生成人脸图像序列属性识别的高级识别结果。

本发明实施例提供的基于人脸图像序列的属性识别方法,分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征,并通过机器学习模型选取人脸属性特征中的目标人脸属性特征,在获取到多个预设分类器分别对该目标人脸属性特征识别的多个初级属性识别结果时,将该多个初级识别结果进行融合,生成人脸图像序列属性识别的高级识别结果。这样将人脸图像序列中不同的人脸图像之间的特征相互关联,充分挖掘人脸图像序列中不同图像间的互补关系,可以很好的避免现有技术中基于单张人脸图像属性识别时带来的准确性不高的问题。

作为图1方法的细化,在本发明提供的又一实施例中,如图2所示,在步骤S110之前,该方法还可以包括如下步骤:

在步骤S101中,获取预设视频。

该预设视频可以是包含某目标对象(即需要识别的某个特定的人)脸部图像的视频,由于一个视频由多个图像帧组成,因此,该视频中应当包含多个目标对象人脸图像的图像帧。

在步骤S102中,通过人脸检测方式从预设视频中提取包含目标人脸图像的图像帧。

将目标对象的人脸图像称为目标人脸图像,目前的人脸检测(或称为人脸识别)技术已经比较成熟,可以通过已有的人脸识别算法提取包含目标人脸图像的图像帧。

在步骤S103中,通过人脸跟踪方式提取图像帧中包含目标人脸图像的人脸图像区域。

一般情况下,人脸图像不会占据整个图像帧图像,即图像帧中包含的图像除了人脸图像,还会有其他(如景色、物体)的图像,因此,可以利用人脸跟踪的方式提取图像帧的目标人脸的图像区域,例如,该区域可以是一个矩形。如果提取出的每个矩形区域有大有小,还可以将其归一化,以便后续的人脸属性识别。

在步骤S104中,将图像帧中包含目标人脸图像的所有人脸图像区域作为人脸图像序列。

通过上述的方式提取出的多张包含人脸图像区域的图像,可以将这些图像作为人脸图像序列。该人脸图像序列中,每张图像之间,例如为目标人脸表情的连续变化、动作的连续变化等,本发明实施例可以通过每张人脸图像之间特征的相互关系,进一步提升人脸属性识别的准确率。

为了详细阐述如何分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征,作为图1方法的细化,在本发明提供的又一实施例中,如图3所示,步骤S110可以包括如下步骤:

在步骤S111中,分别通过卷积神经网络的卷积操作和池化操作提取人脸图像序列中每个人脸图像的特征信息。

由于卷积神经网络包含多个层,例如卷积层和池化层,池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善结果。因此,本发明实施例可以通过卷积操作和池化操作逐层提取人脸图像相关特征。

在步骤S112中,通过递归神经网络建立的预设模型,获取人脸图像序列中时序信息。

在步骤S113中,根据人脸图像序列中每个人脸图像的特征信息和时序信息,确定人脸图像信息中的人脸属性特征。

由于递归神经网络负责建模图像序列中不同图像的时序信息,使得各人脸图像的输出响应与属性标记相一致。通过随机梯度下降法同时训练卷积神经网络和递归神经网络网络,本发明实施例可以同时学习卷积神经网络和递归神经网络,在学习人脸图像空域信息的同时,通过记忆结构,也可以挖掘图像序列中的时序信息,提取更多的属性相关判别特征,有助于提升人脸属性识别的准确率。

为了进一步阐述如何通过机器学习模型选取人脸特征中的目标人脸属性特征,作为图1方法的细化,在本发明提供的又一实施例中,如图4所示,步骤S120可以包括如下步骤:

在步骤S121中,获取卷积神经网络的卷积层中全部特征信息,并将卷积层中全部特征信息作为候选特征集。

在步骤S122中,通过机器学习模型从候选特征集中选取目标人脸属性特征。

设卷积神经网络有N个卷积层,记第i个卷积层的输出为Ci,将这Ci层特征全部合并在一起,得到特征候选集F。采用机器学习模型(如Adaboost)对这些候选特征进行特征选择。Adaboost是一种将弱分类器组合成强分类器,提高样本分类准确度的方法。假设每个弱分类器对应一个特征,则Adaboost在弱分类器构造的过程中也起到了特征选择的作用。以单种或多种属性分类准确率为目标,采用Adaboost学习方法,挑选得到D维(如D=8000)属性特征。

作为图1方法的细化,在本发明提供的又一实施例中,多个预设分类器包括:第一分类器和第二分类器;第一分类器包括递归神经网络,第二分类器包括被预设人脸特征训练样本训练的支持向量机SVM、线性判别式分析LDA或多任务学习模型;如图5所示,步骤S130可以包括如下步骤:

在步骤S131中,分别通过第一分类器和第二分类器对目标人脸属性特征进行识别,分别得到第一属性识别结果和第二属性识别结果。

在步骤S132中,将第一识别结果和第二识别结果作为初级属性识别结果。

由于递归神经网络本身是一个端到端的学习过程,可以直接输出属性分类结果,记该分类器为A。此外,也可以根据挑选得到的不同层的人脸属性特征,利用人脸属性训练样本重新训练分类器,记为分类器B。分类器B可以采用传统的模式识别分类器,如支持向量机(SVM),线性判别分析方法(LDA),或者多任务学习方法等。将分类器A和分类器B的输出结果在分数层或者决策层进行融合,得到最终的人脸属性分析结果。

本发明实施例提供的基于人脸图像序列的属性识别方法,分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征,并通过机器学习模型选取人脸属性特征中的目标人脸属性特征,在获取到多个预设分类器分别对该目标人脸属性特征识别的多个初级属性识别结果时,将该多个初级识别结果进行融合,生成人脸图像序列属性识别的高级识别结果。这样将人脸图像序列中不同的人脸图像之间的特征相互关联,充分挖掘人脸图像序列中不同图像间的互补关系,可以很好的避免现有技术中基于单张人脸图像属性识别时带来的准确性不高的问题。

通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

另外,作为对上述各实施例的实现,本发明实施例还提供了一种基于人脸图像序列的属性识别装置,该装置位于服务器中,如图6所示,该装置包括:

人脸属性特征提取模块10,用于分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征;

目标人脸属性特征提取模块20,用于通过机器学习模型选取所述人脸属性特征中的目标人脸属性特征;

初级属性识别结果获取模块30,用于获取多个预设分类器分别对所述目标人脸属性特征识别的多个初级属性识别结果;

初级识别结果进行融合模块40,用于将所述多个初级识别结果进行融合,生成所述人脸图像序列属性识别的高级识别结果。

在本发明又一实施例中,基于图6,如图7所示,所述装置还包括:

视频获取模块50,用于获取预设视频;

图像帧提取模块60,用于通过所述人脸检测方式从所述预设视频中提取包含目标人脸图像的图像帧;

人脸图像区域提取模块70,用于通过人脸跟踪方式提取所述图像帧中包含所述目标人脸图像的人脸图像区域;

人脸图像序列确定模块80,用于将所述图像帧中包含所述目标人脸图像的所有人脸图像区域作为所述人脸图像序列。

在本发明又一实施例中,基于图6,如图8所示,所述人脸属性特征提取模块10,包括:

特征提取子模块11,用于分别通过所述卷积神经网络的卷积操作和池化操作提取所述人脸图像序列中每个人脸图像的特征信息;

时序信息获取子模块12,用于通过所述递归神经网络建立的预设模型,获取所述人脸图像序列中时序信息;

人脸属性特征确定子模块13,用于根据所述人脸图像序列中每个人脸图像的特征信息和所述时序信息,确定所述人脸图像信息中的人脸属性特征。

在本发明又一实施例中,基于图6,如图9所示,所述目标人脸属性特征提取模块20,包括:

特征信息获取子模块21,用于获取所述卷积神经网络的卷积层中全部特征信息;

候选特征集确定子模块22,用于将所述卷积层中全部特征信息作为候选特征集;

特征选取子模块23,用于通过所述机器学习模型从所述候选特征集中选取所述目标人脸属性特征。

在本发明又一实施例中,基于图6,如图10所示,所述多个预设分类器包括:第一分类器和第二分类器;所述第一分类器包括递归神经网络,所述第二分类器包括被预设人脸特征训练样本训练的支持向量机SVM、线性判别式分析LDA或多任务学习模型;

所述初级属性识别结果获取模块30,包括:

识别结果获取子模块31,用于分别通过所述第一分类器和所述第二分类器对所述目标人脸属性特征进行识别,分别得到第一属性识别结果和第二属性识别结果;

初级属性识别结果确定子模块32,用于将所述第一识别结果和第二识别结果作为所述初级属性识别结果。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例提供的基于人脸图像序列的属性识别装置,分别通过卷积神经网络和递归神经网络提取人脸图像序列中的人脸属性特征,并通过机器学习模型选取人脸属性特征中的目标人脸属性特征,在获取到多个预设分类器分别对该目标人脸属性特征识别的多个初级属性识别结果时,将该多个初级识别结果进行融合,生成人脸图像序列属性识别的高级识别结果。这样将人脸图像序列中不同的人脸图像之间的特征相互关联,充分挖掘人脸图像序列中不同图像间的互补关系,可以很好的避免现有技术中基于单张人脸图像属性识别时带来的准确性不高的问题。

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

本发明实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域技术人员在考虑说明书及实践这里公开的发明实施例后,将容易想到本发明实施例的其它实施方案。本申请旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求来限制。

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