用于人脸识别的方法和系统与流程

文档序号:11635470阅读:328来源:国知局
用于人脸识别的方法和系统与流程

本申请涉及用于人脸识别的系统及其方法。



背景技术:

近来,深度学习在人脸识别方面取得巨大成功并且明显优于使用低级特征的系统。有两个值得注意的突破。第一个是利用深度神经网络的大规模人脸识别。通过将人脸图像分类成数千或甚至数百万个身份,最后的隐藏层形成对身份具有高度鉴别性的特征。第二个是利用识别和验证任务来监督深度神经网络。验证任务将同一身份的特征之间的距离最小化,并且减小个人内部的变化。通过组合从很多人脸区域学习的特征,联合的识别-验证在最广泛评估的lfw人脸识别数据集上实现当前现有技术水平的99.15%人脸验证准确性。

已经致力于首先学习属性分类器,随后使用属性预测进行人脸识别。此外,已经广泛地研究了基于稀疏表示(sparserepresentation-based)的分类并在具有遮挡(occlusions)的情况下进行的人脸识别。还已经提出了鲁棒玻尔兹曼机来区别损坏的像素并且学习潜在表示(representation)。这些方法设计明确地处理遮挡的部件。



技术实现要素:

目前已有的是首先学习属性分类器,随后使用属性预测进行人脸识别,但本申请尝试相反过程:首先预测身份,随后使用学习的身份相关特征来预测属性。可以观察到,神经网络的较高层中的特征对身份和身份相关属性(诸如,性别和种族)具有高度选择性。当呈现身份(其可以在训练数据之外)或属性时,可以识别不断被激励的特征的子集,并且也可以识别不断被抑制的特征的另一子集。这两个子集中的任一子集的特征有力地指示该身份或属性的存在/不存在,并且本申请表明仅单个特征对特定身份或属性的识别也具有较高的准确性。换言之,深度神经网络中的特征在身份和属性上具有稀疏性。尽管并没有教导本申请中的深度神经网络在训练期间区分属性,但它们已经隐式地学习此类高级概念。和广泛使用的手工制作的特征(诸如,高维lbp(局部二值模式))相比,直接使用由深度神经网络学习的特征在身份相关属性方面具有高得多的分类准确性。

与传统的基于稀疏表示的分类相反,本申请表明,在训练期间未添加人工遮挡模式(pattern)的情况下,由神经网络人脸图像训练的深度神经网络对遮挡具有隐式编码不变性。

在本申请中观察到,由深度神经网络学习的特征的稀疏性是适度的。针对输入的人脸图像,激活顶部隐藏层中的特征的大约一半。另一方面,在大约一半的人脸图像上激活每个特征。此类稀疏性分布可以最大化深度神经网络的鉴别能力以及图像之间的距离。不同身份激活特征的不同子集。同一身份的两个图像具有类似激活模式。这激励本申请将深度神经网络的顶部隐藏层中的实值特征二值化,并且使用二进制代码进行识别。结果取得了预料不到的效果。lfw的验证准确性只稍微下降少于1%。它对因海量存储而造成的大规模人脸搜索产生显著影响,并且节省了计算时间。这也表明,二值激活模式比深度神经网络中的激活幅度重要。

在本申请的一方面,公开用于人脸识别的设备。所述设备可以包括特征提取器和识别单元。特征提取器被配置成具有多个级联的特征提取模块,其中特征提取模块中的每个包括:卷积层,所述卷积层用于从输入人脸图像中或者从在多个级联的特征提取模块中的前一特征提取模块中提取的特征中提取局部特征;以及全连接层,全连接层连接到相同特征提取模块中的卷积层并且从提取的局部特征中提取全局特征。根据提取的全局特征之间的距离,识别器用于确定:输入图像中的两个人脸图像是否来自同一身份,或者输入图像中作为搜索人脸图像(probefaceimage)的一个图像与包括所述输入图像的人脸图像册中的其中一个图像是否属于同一身份。

在本申请的一个实施例中,级联的特征提取模块中的第一特征提取模块中的卷积层连接到输入人脸图像,并且后续的特征提取模块中的每个的卷积层连接到前一特征提取模块中的卷积层。每个特征提取模块中的全连接层连接到同一特征提取模块中的卷积层。

所述设备还可以包括训练器,所述训练器被配置成通过将识别监督信号和验证监督信号反向传播通过级联的特征提取模块来更新同一特征提取模块中的每个卷积层与对应全连接层之间的连接上的神经元权值。

更新的过程可以包括:分别将两个人脸图像输入到神经网络,得到两个人脸图像中的每个的特征表示;通过将神经网络的每个全连接层中的、每个人脸图像的特征表示分类到多个身份中的一个来计算识别误差;通过验证每个全连接层中的两个人脸图像的各自特征表示是否来自同一身份来计算验证误差,识别误差和验证误差分别被视作识别监督信号和验证监督信号;以及将所有的识别监督信号和验证监督信号反向传播通过神经网络,以便更新同一特征提取模块中的每个卷积层与对应全连接层之间的连接的神经元权值。

本申请发现并且证明在之后的特征提取模块中提取的特征的三个性质,即,稀疏性、选择性和稳健性,它们对人脸识别都很关键,其中在每个人脸图像的特征具有大约一半零值和一半正值以及每个特征在所有的人脸图像上具有大约一半的时间为零并且一半的时间为正,在这种意义上说特征具有稀疏性;对于给定身份或含有给定身份相关属性的所有人脸图像,具有取正值(被激活)或零值(被抑制)的特征,在这个意义上说,特征对于身份和身份相关属性(诸如,性别和种族)具有选择性;特征对于图像损坏(诸如,遮挡)具有稳健性,其中在适度图像损坏的情况下,特征值大部分保持不变。

附图说明

下文参考附图描述本发明的示例性非限制实施例。附图是说明性的,并且一般不按确切比例。不同图上的相同或类似元件引用相同的附图标号。

图1是示出符合一些公开实施例的用于人脸识别的设备的示意图。

图2是示出在之后的特征提取模块中提取的特征的稀疏性、选择性和稳健性的示意图。

图3是示出特征提取器中的级联特征提取模块的结构以及训练器中的输入人脸图像和监督信号的示意图。

图4是示出单独人脸图像上的激活特征(神经元)的稀疏性以及在所有人脸图像上激活的单独特征(神经元)的稀疏性的示意直方图。

图5是示出特定身份的人脸图像上的选择性激活和抑制的示意直方图。

图6是示出含有特定属性的人脸图像上的选择性激活和抑制的示意直方图。

图7是示出用来测试由特征提取器提取的特征对图像损坏的稳健性的具有随机块遮挡的人脸图像的示意图。

图8是示出在各种程度的随机块遮挡的情况下单独身份的人脸图像上的平均特征激活的示意图。

图9是示出符合一些公开实施例的如图1所示的训练器的示意流程图。

图10是示出符合一些公开实施例的如图1所示的特征提取器的示意流程图。

图11是示出符合一些公开实施例的如图1所示的识别器的示意流程图。

具体实施方式

现在将详细地参考本发明的一些具体实施例,包括发明人预期的用于实施本发明的最佳模式。附图中示出这些具体实施例的示例。尽管结合这些具体实施例描述本发明,但应理解,并不意味着将本发明限于这里描述的实施例。相反,意图涵盖可以包括在如所附权利要求书限定的本发明的精神和范围内的替代方案、修改和等效物。以下描述中列出了许多具体细节,以便提供对本申请的全面理解。可以在没有这些具体细节中的一些或全部的情况下实践本发明。在其他情况下,没有详细地描述公知的过程操作,以免不必要地使对本发明的理解产生障碍。

本文中使用的术语仅仅是出于描述特定实施例的目的,而不意图限制本发明。除非上下文另有明确指出,否则本文中使用的单数形式“一”、“一个”和“所述”也可以包括复数形式。还应理解,本说明书中使用的术语“包括”和/或“包括”用于说明存在所述特征、整数、步骤、操作、元件和/或部件,但并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或它们的组合。

如本领域的技术人员将了解,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以采用以下形式:全硬件实施例、全软件实施例(包括固件、常驻软件、微码等),或者将在本文中通常都可称为“电路”、“装置”、“模块”或“系统”的软件和硬件方面组合起来的实施例。此外,本发明可以采用计算机程序产品的形式,所述计算机程序产品体现在任何有形的表达介质中,所述介质具有体现在介质中的计算机可用程序代码。

还应理解,诸如第一和第二等等相关术语(若有的话)单独使用,以将一个实体、项目或动作与另一个区分开来,而未必要求或暗示这些实体、项目或动作之间的任何实际关系或顺序。

本发明功能中的很多功能和本发明原理中的很多原理在实施时由软件或集成电路(ic)最好地支持,诸如,数字信号处理器和软件或者专用ic。尽管存在可能大量的努力和由例如可用时间、当前技术和经济考虑因素激励的很多设计选择,但预期本领域的技术人员在由本文中公开的概念和原理引导时将容易能够利用最少的实验生成此类软件指令或ic。因此,为了简洁并且最小化模糊根据本发明的原理和概念的任何风险,此类软件和ic的进一步论述(若有的话)将限于优选实施例所使用的必要原理和概念。

图1是示出符合一些公开实施例的用于人脸识别的示例性设备100的示意图。如图所示,设备100可以包括特征提取器10和识别器20。特征提取器10被配置成从输入人脸图像中提取特征。在本申请的一个实施例中,特征提取器10可以包括神经网络,该神经网络可以构造成具有多个级联的特征提取模块。级联中的每个特征提取模块包括卷积层和全连接层。级联的特征提取模块可以由软件、集成电路(ic)或它们的组合实施。图3示出特征提取器10中的级联的特征提取模块的结构的示意图。如图所示,级联的特征提取模块中的第一特征提取模块中的卷积层连接到输入人脸图像,并且后续的每个特征提取模块中的卷积层连接到前一特征提取模块中的卷积层。每个特征提取模块中的全连接层连接到同一特征提取模块中的卷积层。

参考图1,为了使神经网络能够有效地工作,设备100还包括训练器30,训练器30被配置成通过将识别监督信号和验证监督信号反向传播通过级联的特征提取模块来更新用于以下连接的神经权值:

第一特征提取模块中的卷积层与含有输入人脸图像的输入层之间的连接;

第二到最后特征提取模块中的每个卷积层与前一特征提取模块中的对应卷积层之间的连接;以及

同一特征提取模块中的每个卷积层与对应全连接层之间的连接,

从而使得在级联的特征提取模块中的最后/最高特征提取模块中提取的特征具有稀疏性、选择性和稳健性,这将在之后论述。

识别器20可由软件、集成电路(ic)或它们的组合实施,并且被配置成计算从不同的人脸图像中提取的特征之间的距离,以确定两个人脸图像是否来自同一身份以用于人脸验证,或者输入图像中作为搜索人脸图像的其中一个图像与包括所述输入图像的人脸图像册中的一个图像是否属于同一身份。

特征提取器10

特征提取器10含有多个级联的特征提取模块,并且操作以分层次地从输入人脸图像中提取特征。图3示出特征提取器10中的级联的特征提取模块的结构的示例,例如,所述特征提取器包括四个级联的特征提取模块,每个特征提取模块包括卷积层conv-n和全连接层fc-n,其中n=1、……、4。特征提取器10的第一特征提取模块中的卷积层conv-1连接到输入人脸图像,作为输入层,而特征提取器10的后续的每个特征提取模块中的卷积层conv-n(n>1)连接到前一特征提取模块中的卷积层conv-(n-1)。特征提取器10的每个特征提取模块中的全连接层fc-n连接到同一特征提取模块中的卷积层conv-n。

图10是示出特征提取器10中的特征提取过程的示意流程图。在步骤101中,特征提取器10将输入人脸图像前向传播通过特征提取器10的所有特征提取模块中的卷积层。随后,在步骤102中,特征提取器10将卷积层中的每个的输出前向传播到同一特征提取模块内的对应全连接层。最后,在步骤103中,它将来自全连接层中的最后一个全连接层的输出/表示作为特征,如下文论述。

特征提取器10中的卷积层被配置成从输入图像(用于第一卷积层)或特征图(如本领域已知的那样,其是前一卷积层(其后面是最大池化)的输出特征图)中提取局部人脸特征(即,从输入图像或输入特征的局部区域中提取的特征),以形成当前卷积层的输出特征图。每个特征图是以2d组织的某一种特征。在前一卷积层(紧接着是最大池化)和当前卷积层中相应的输入特征图与输出特征图之间具有相同的神经连接权值集合w的情况下,相同输出特征图中或相同特征图的局部区域中的特征从输入特征图中提取。每个卷积层中的卷积操作可以表示为:

其中xi和yj分别是第i个输入特征图和第j个输出特征图。kij是第i个输入特征图与第j个输出特征图之间的卷积核。*表示卷积。bj是第j个输出特征图的偏差。在本文中,将relu非线性函数y=max(0,x)用于神经元。convnets的较高卷积层中的权值是局部共享的。r表示共享权值的局部区域。

每个卷积层之后可以是最大池化,最大池化用公式表示成:

其中第i个输出特征图yi中的每个神经元在第i个输入特征图xi中的s×s非重叠局部区域上池化。

特征提取器10中的全连接层中的每个被配置成从获取自同一特征提取模块上的卷积层的特征图中提取全局特征(从输入特征图的整个区域中提取的特征)。换言之,全连接层fc-n从卷积层conv-n中提取全局特征。全连接层也用作在训练期间接收监督信号并且在特征提取期间输出特征的接口。全连接层可以用公式表示成:

其中xi表示前一卷积层(紧接着是最大池化)中的第i个神经元的输出。yj表示当前的全连接层中的第j个神经元的输出。wi,j是前一卷积层(紧接着是最大池化)中的第i个神经元与当前的全连接层中的第j个神经元之间的连接上的权值。bj是当前的全连接层中的第j个神经元的偏差。max(0,x)是relu非线性。

在特征提取器10的最后/最高特征提取模块中提取的特征(例如,如图3所示的fc-4层中的那些)具有稀疏性、选择性和稳健性:在每个人脸图像的特征具有大约一半零值和一半正值以及每个特征在所有的人脸图像上具有大约一半的时间为零并且一半的时间为正,从这两点上说特征具有稀疏性;对于给定身份或含有给定身份相关属性的所有人脸图像具有取正值(被激活)或零值(被抑制)的特征,在这个意义上说特征对于身份和身份相关属性(诸如,性别和种族)具有选择性;特征对于图像损坏(诸如,遮挡)具有稳健性,其中在适度图像损坏的情况下,特征值大部分保持不变。稀疏特征可以通过与阈值进行比较而转换成二进制代码,其中二进制代码可以用于人脸识别。

图2示出在fc-4层中提取的特征的三个性质:稀疏性、选择性和稳健性。图2左侧示出布什(bush)的三个人脸图像和鲍威尔(powell)的一个人脸图像上的特征。布什的第二个人脸图像部分损坏。在本申请的一个实施例中,fc-4层中有512个特征,图2示出了从这些特征中对32个进行二次抽样,以示作示例。特征在每个人脸图像上稀疏地激活,其中大约一半的特征为正并且一半为零。同一身份的人脸图像的特征具有类似激活模式,而针对不同身份则不同。特征的稳健性在于:当呈现遮挡时,如在布什的第二个人脸上示出,特征的激活模式大部分保持不变。图2右侧示出所有人脸图像(作为背景)、属于布什的所有图像、具有属性“男性”的所有图像和具有属性“女性”的所有图像上的一些选择特征的激活直方图,特征通常在约一半的人脸图像上被激活。但对于属于特定属性身份的所有图像,这些特征可以持续地被激活(或不激活)。在这个意义上说,特征对身份和属性具有稀疏性和选择性。

图像上的适度稀疏性使不同身份的人脸可最大程度地区分开,而特征上的适度稀疏性使它们具有最大鉴别能力。图4左侧示出验证数据集中的46594个(例如)人脸图像中的每个的被激活(正)特征数量的直方图,并且图4右侧示出每个特征被激活(为正)的图像的数量的直方图。评估基于由fc-4层提取的特征。在本申请的一个实施例中,与fc-4层中的全部512个(例如)特征相比,图像上的被激活的神经元的数量的平均和标准偏差是292±34,而与全部46594个验证图像相比,每个特征被激活的图像的数量的平均标准偏差是26565±5754,它们都大约在所有特征/图像的一半上居中。

激活模式(即,特征是否被激活(具有正值))比精确的激活值更重要。通过取阈值来将特征激活转换成二进制代码只牺牲了少于1%的人脸验证准确性。这表明特征的激励或抑制状态已含有大多数的辨别性信息。二进制代码对存储而言比较经济并且快速用于图像搜索。

图5和图6分别示出给定的身份和属性的特征的激活直方图的示例。给定的身份的直方图呈现出较强的选择性。针对给定的身份,一些特征持续被激活,其中直方图分布在大于零的值中,如图5中的前两行所示;而一些其他特征持续被抑制,其中直方图累积在零或较小值处,如图5中的后两行所示。至于属性,图7的每行示出一些相关属性(与性别、种族和年龄相关的那些属性)上的单个特征的直方图。在每一行左侧给定的每个属性上,所选择的特征是被激活的。如图6所示,特征对性别、种族和某些年龄(诸如,儿童和老年人)呈现出较强的选择性,其中特征针对给定的属性被有力地激活,而针对相同种类的其他属性被抑制。针对一些其他属性,诸如,青年和中年人,选择性较弱,其中没有单独针对这些属性的每个激活特征,这是因为年龄并不确切地对应于身份。例如,在人脸识别中,特征对于在青年和中年拍摄的同一身份具有不变性。

图7和图8示出在后续特征提取模块(fc-4层)中提取的特征对图像损坏的稳健性。人脸图像被从10×10到70×70的各种大小的随机块遮挡,如图7所示。图8示出具有随机块遮挡的图像上的平均特征激活,其中每一列示出了在其顶部给定的单个身份的人脸图像上的平均激活,其中每一行的左侧给定各种程度的遮挡。特征值映射到颜色图,其中暖色表示正值并且冷色表示零或较小值。每一列中的图中的特征的顺序分别由每个身份的原始人脸图像上的特征激活值分类。如可以在图8中看出,激活模式大部分保持不变(其中多数被激活的特征仍被激活并且多数被抑制的特征仍被抑制),直到出现较大程度的遮挡为止。

识别器20

识别器20操作以计算由特征提取器10的全连接层提取的不同人脸图像的全局特征之间的距离,以确定两个人脸图像是否来自同一身份以用于人脸验证,或者确定输入图像中作为搜索人脸图像的其中一个图像与包括输入图像的人脸图像册中的其中一个图像是否属于同一身份,以用于人脸识别。图10是示出识别器20的识别过程的示意流程图。在步骤201中,识别器20计算由特征提取器10从不同的人脸图像中提取的特征(即,由全连接层提取的不同人脸图像的全局特征)之间的距离。最后,在步骤202,识别器20确定两个人脸图像是否来自同一身份以用于人脸验证,或者在步骤203中,确定输入图像中作为搜索人脸图像的其中一个图像与包括输入图像的人脸图像册中的其中一个图像是否属于同一身份,以用于人脸识别。

在识别器20中,如果两个人脸图像的特征距离小于阈值,则确定它们属于同一身份;或者与该搜索人脸图像到所有其他人脸图像册的特征距离相比,如果搜索人脸图像和人脸图像册中的一个的特征距离是最小的,则确定它们属于同一身份。其中,由识别器20确定的特征距离可以是欧几里得距离、联合贝叶斯距离、余弦距离、汉明距离或者任何其他距离。

在本申请的一个实施例中,将联合贝叶斯距离用作特征距离。联合贝叶斯已经成为人脸的普及相似性度量,它用两个独立的高斯变量之和来表示所提取的人脸特征x(减去均值之后):

x=μ+ò,(5)

其中μ~n(0,sμ)表示人脸身份并且ò~n(0,sò)表示个人内部的变化。在给定个人内部或外部变化假设p(x1,x2∣hi)和p(x1,x2∣he)的情况下,联合贝叶斯对两个人脸的联合概率进行建模。从等式(5)中易于表明,这两个概率也是分别具有下列变化的高斯分布:

可以利用em算法送数据中学习sμ和sò。在测试中,计算出似然比:

它具有封闭解并且有效。

训练器30

训练器30用来通过输入特征值提取器10的卷积层和全连接层的神经元之间的连接的初始权值、多个识别监督信号和多个验证监督信号,更新特征提取器10的卷积层和全连接层的神经元之间的连接的权值w,使得在提取器中的级联特征提取模块中的最后一个提取模块提取的特征具有稀疏性、选择性和稳健性。

如图3所示,训练器30中的识别监督信号和验证监督信号(分别表示为“id”和“ve”)同时添加到特征提取器10中的每个特征提取模块的全连接层fc-n中的每个全连接层,其中n=1、……、4,并且分别反向传播到输入人脸图像,以更新所有的级联特征提取模块的神经元之间的连接的权值。

通过将单个人脸图像的所有全连接层表示/输出(即,公式(4))分类为n个身份的一个,从而生成用于训练器30的识别监督信号“id”,其中将分类误差用作识别监督信号。

通过在每个特征提取模块中分别验证两个比较的人脸图像的全连接层表示,确定两个比较的人脸图像是否属于同一身份,从而生成训练器30中的验证监督信号,其中将验证误差用作验证监督信号。给定一对训练人脸图像,特征提取器10分别从每个特征提取模块的两个人脸图像中提取两个特征矢量fi和fj。如果fi和fj是同一身份的人脸图像的特征,那么验证误差是或者如果fi和fj是不同身份的人脸图像的特征,那么验证误差是其中||fi-fj||2是两个特征矢量的欧几里得距离,m是正常数值。如果fi和fj对于同一身份而言不相似,或者如果fi和fj对于不同身份而言相似,那么存在误差。

图9是示出训练器30的训练过程的示意流程图。在步骤101中,训练器30对两个人脸图像取样并且分别将它们输入到特征提取器10,以得到特征提取器10的所有全连接层中的、两个人脸图像的特征表示。随后,在步骤102中,训练器30通过将每个全连接层中的、每个人脸图像的特征表示分类为多个(n个)身份中的一个来计算识别误差。同时,在步骤103中,训练器30通过验证每个全连接层中的、两个人脸图像的相应特征表示是否来自同一身份来计算验证误差。分别将识别误差和验证误差用作识别监督信号和验证监督信号。在步骤104中,训练器30同时将所有的识别监督信号和验证监督信号反向传播通过特征提取器10,以更新特征提取器10中的神经元之间的连接的权值。将同时添加到全连接层fc-n(其中n=1、2、3、4)的识别监督信号和验证监督信号(或误差)反向传播通过特征提取模块的级联,直到传播到输入图像。在反向传播之后,将特征提取模块的级联中的每层中得到的误差累加。根据误差的大小来更新特征提取器10中的神经元之间的连接上的权值。最后,在步骤105中,训练器30评估训练过程是否收敛,并且如果没有达到收敛点,则重复步骤101到104。

所附权利要求书中的所有构件或步骤加上功能元件的对应结构、材料、动作和等效物旨在包括:用于与特别要求保护的、其他要求保护的元件相结合执行功能的任何结构、材料或动作。上面对本发明的描述仅仅是出于说明和描述的目的,而并非是穷举的以及并非是将本发明限于所公开的形式。在不脱离本发明的范围和精神的情况下,本领域的技术人员应该清楚许多更改和变化。通过选择并描述上述的实施方式,目的在于最好地阐释本发明的原理和实际应用,并且使本领域的技术人员能够以适于预期的特定用途的各种实施例和各种更改来理解本发明。

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