本发明涉及一种人脸数据验证的方法及其系统。
背景技术:
人脸验证是一项确定一对人脸图像是否来自同一个人的任务,其数十年来在计算机视觉领域中一直是一个活跃的研究课题。它有很多重要应用,包括个人计算机或移动设备的监控、访问控制、图像获取以及自动登录。然而,各种视觉混乱降低了人脸验证的性能。对自然界中真实人脸图像的许多研究尤其证明了这点。
现代人脸验证方法主要分为两类:提取底层特征以及构建分类模型。尽管这些现有方法在人脸验证方面取得了巨大进步,但是它们大多数在处理复杂数据分布时缺乏灵活性。对于第一类中的方法,手工制作底层特征,等等。甚至对于从数据中得到的特征,算法参数(诸如随机投影树的深度,或者k-means的中心的数目)也需要由用户指定。类似地,对于第二类中的方法,神经网络架构(例如,层的数目、每层节点的数目,等等)以及模型的参数(例如,高斯的数目、分类器的数目,等等)也必须提前确定。由于大多数现有方法需要对数据结构做出假设,所以它们在假设无效的情况下无法很好地执行。而且,由于假设存在,使用这些方法很难捕获数据的内在结构。
大多数现有的人脸验证方法适用于根据下面的基本假设来处理验证任务:训练数据和测试数据从相同特征空间提取并遵循相同分布。当分布改变时,这些方法的性能可能下降很多。然而,许多实际场景涉及从不同人脸外观分布中提取的跨域数据。在新场景中很难重新收集必要的训练数据和重建模型。而且,指定的目标域中通常没有足够的训练数据来训练足够好的模型以进行高准确的人脸验证,这是因为源数据不够多样化而导致过度拟合这一事实。在这些情况下,利用多个源域中的更多数据来提高目标域中人脸验证方法的性能变得尤其重要。
技术实现要素:
为了解决这些问题,本发明提出了基于判别高斯过程隐变量模型的多任务学习方法(Multi-Task Learning approach based on Discriminative Gaussian Process Latent Variable Model,MTL-DGPLVM)用于人脸验证。所述MTL-DGPLVM模型以高斯过程(Gaussian Process,GP)为基础,所述GP是一种非参数贝氏核方法。
本发明采用GP方法,主要是因为以下三个显著优点中的至少一个。首先,它是一个非参数方法,这意味着它很灵活且能够覆盖现实中的复杂数据分布。其次,GP方法能够高效计算,因为它的边缘概率是一个封闭形式的表达式。此外,其超参数能够在不使用交叉确认等模型选择方法的情况下自动从数据中得到,从而避免了高计算成本。最后,GP的推理以基于贝氏法则为基础,从而导致抗过拟合性。
根据本发明一项实施例,判别信息约束用于增强GP的判别能力。考虑到GP依赖于协方差函数,将核Fisher判别分析(Kernel Fisher Discriminant Analysis,KFDA)作为判别正则化项采用是符合逻辑的。为了利用多个源域中的更多数据来提高目标域中的性能,本发明还将多任务学习约束引入到GP中。这里,本发明研究非对称多任务学习,因为本发明仅注重目标任务的性能提高。从信息理论的角度来看,这种约束是为了使目标域数据与多个源域数据的分布之间的交互信息最大化。所述MLT-DGPLVM模型能够使用梯度下降方法进行有效优化。
所提出的MLT-DGPLVM模型能够以两种不同方式应用于人脸验证:作为二元分类器以及作为特征提取器。在第一种方式中,假如有一对人脸图像,直接计算每类的后验似然以做出预测。在第二种方式中,自动提取每对人脸图像的高维特征,然后将它们传送到分类器以做出最终决定。
一方面,公开了一种人脸数据验证的方法,包括以下步骤:
从第一数据库中获取多个源域数据集以及从不同于所述第一数据库的第二数据库中获取目标域数据集;
确定与目标域数据集最佳匹配的隐子空间以及根据所述目标域数据集和所述源域数据集确定所述确定的隐子空间的后验分布;
确定在所述目标域数据集和所述源域数据集之间共享的信息;以及
根据所述后验分布P以及关于所述目标域数据集和所述源域数据集的所述共享信息M建立多任务学习模型。
本发明的另一方面,公开了一种人脸数据验证的装置,包括模型建立模块,其中所述模型建立模块包括:
获取单元,用于从第一数据库中获取多个源域数据集以及从不同于所述第一数据库的第二数据库中获取目标域数据集;以及
模型建立器,用于:
确定与目标域数据集最佳匹配的隐子空间以及根据所述目标域数据集和所述源域数据集确定所述确定的隐子空间的后验分布;
确定在所述目标域数据集和所述源域数据集之间共享的信息;以及
根据所述后验分布以及关于所述目标域数据集和所述源域数据集的所述共享信息建立多任务学习模型。
本发明的又一方面,本发明还提出了人脸数据验证的系统,包括:
从第一数据库中获取多个源域数据集以及从不同于所述第一数据库的第二数据库中获取目标域数据集的构件;
确定与目标域数据集最佳匹配的隐子空间以及根据所述目标域数据集和所述源域数据集确定所述确定的隐子空间的后验分布的构件;
确定在所述目标域数据集和所述源域数据集之间共享的信息的构件;以及
根据所述后验分布以及关于所述目标域数据集和所述源域数据集的所述共享信息建立多任务学习模型的构件。
附图说明
下文参照附图描述了本发明的示例性非限制性实施例。附图为说明性的,通常不是确切尺寸。不同附图上的相同或类似元素参考相同参考编号。
图1为根据一些公开实施例的图示人脸数据验证装置的示意图;
图2为根据一些公开实施例的图示在软件中实施的人脸数据验证装置的示意图;
图3为根据第一公开实施例的图示人脸数据验证方法的示意图;
图4为根据第二公开实施例的图示人脸数据验证方法的示意图;以及
图5(a)和5(b)分别为图示如图3和图4所示的第一和第二实施例的场景的示意图。
具体实施方式
现在将详细地参考示例性实施例,其示例在附图中示出。适当时,在附图中使用相同参考标号来指代相同或类似部件。图1为根据一些公开实施例的人脸数据验证的示例性装置1000的示意图。
应认识到,装置1000可使用某个硬件、软件或其组合来实施。另外,本发明各实施例可适用于位于包含计算机程序代码的一个或多个计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光存储器,等等)的计算机程序产品。
在装置1000通过软件实施的情况下,装置1000可包括通用计算机、计算机集群、主流计算机、专用于提供在线内容的计算设备,或者包括一组集中或分布操作的计算机的计算机网络。如图2所示,装置1000可包括一个或多个处理器(处理器102、104、106等)、存储器112、存储设备116、通信接口114和帮助装置1000的各种部件之间的信息交换的总线。处理器102至106可包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)或者其它合适的信息处理设备。根据使用中的硬件类型,处理器102至106可以包括一个或多个印刷电路板,和/或一个或多个微处理器芯片。处理器102至106可以执行计算机程序指令序列,以执行将在下文更详细解释的各种方法。
除其它之外,存储器112可以包括随机存取存储器(random access memory,RAM)和只读存储器(read-only memory,ROM)。计算机程序指令可以被存储、被访问以及从存储器112中读取,以供一个或多个处理器102至106执行。例如,存储器112可存储一个或多个软件应用。此外,存储器112可存储整个软件应用或可由一个或多个处理器102至106执行的仅一部分软件应用。需要注意的是,尽管图1仅示出了一个方框,但是存储器112可包括安装在中央计算设备或不同计算设备上的多个物理设备。
再次参考图1,其中装置1000通过硬件实施,可包括用于建立人脸数据的多任务学习模型的设备1001。设备1001包括获取单元1011,用于从第一数据库中获取多个源域数据集Xi以及从不同于第一数据库的第二数据库中获取目标域数据集Xt。在现有技术中,大多数现有人脸验证方法适用于根据下面的基本假设来处理验证任务:训练数据和测试数据从相同特征空间提取并遵循相同分布。当分布改变时,这些方法的性能可能下降很多。然而,许多实际场景涉及从不同人脸外观分布中提取的跨域数据。在新场景中很难重新收集必要的训练数据和重建模型。而且,指定的目标域中通常没有足够的训练数据来训练足够好的模型以进行高准确的人脸验证,这是因为源数据不够多样化而导致过度拟合这一事实。在这些情况下,利用多个源域中的更多数据来提高目标域中人脸验证方法的性能变得尤其重要。因此,除了在现有技术中所使用的目标域数据集之外,本发明还利用至少四个源域数据集。例如,对于四个源域数据集中的每一个,可收集由约(例如)20,000对匹配图像和约(例如)20,000对不匹配图像组成的训练集。
在本发明一项实施例中,源域数据集可包括不同类型的数据集,其可包括(例如):
Web图像 该数据集包含来自3261个主体的约40,000张人脸图像,也就是,每个人约10张图像。这些图像从Web中收集而来,在姿势、表情和照明条件方面存在显著变化。
多PIE.该数据集包含来自337个主体的人脸图像,受四个记录会话中的15个视点和19个照明条件影响。这些图像在受控条件下收集。
YouTube人脸该数据集包含无约束环境下的1595个不同主体的3425个视频。所有视频都是从YouTude上下载的。每个主体拥有一个大规模的带标签图像集合,分辨率低。
LifePhotosred2.该数据集包含在线收集的400个主体的约5000张图像。每个主体拥有约10张图像。
目标域数据集可包括,例如,如现有技术中公开的人脸验证LFW的标准测试集。该数据集包含5749个公众人物的13,233张不受控的人脸图像,种族、性别、年龄等各种各样种。这些图像都是从Web收集来的。在本发明中,LFW数据集可用作目标域数据集,因为相比于其它现有人脸验证方法,LFW数据集是非常难的标准测试集。
设备101还包括模型建立器1012,用于基于由获取单元1011获取到的源域数据集Xi和目标域数据集Xt来建立脸部数据的多任务学习模型。具体而言,模型建立器1012用于确定与目标域数据集Xt最佳匹配的隐子空间Z以及根据所确定的隐子空间Z和源域数据集Xi确定目标域数据集Xt的后验分布P。模型建立器1012用于进一步确定在目标域数据集Xt和源域数据集Xi之间共享的信息M,然后根据后验分布P、共享信息M和目标域数据集Xt来建立多任务学习模型Lmodel,稍后将参考本发明另一方面公开的过程进行详细论述。
如图1所示,装置1000还可包括验证设备102。验证设备1002用于:在两张人脸A和B的不同标志处,从第一人脸A获取第一多个多尺度特征m1、m2、……mp以及从第二人脸B获取第二多个多尺度特征n1、n2、……np。然后,以传统方式计算相同标志处的每两个特征的相似性S1、S2、……Sp。也就是,S1是指m1和n2的相似性,S2是指m2和n2的相似性,Sp是指mp和np的相似性。S1、S2、……Sp形成多任务学习模型的输入向量X,以确定第一和第二多尺度特征是否来自同一个人,这将稍后详细论述。
图2所示为根据一些公开实施例的人脸数据验证方法的流程图。在图2中,过程100包括可由一个或多个处理器102至106或装置1000的每个模块/单元执行的一系列步骤,以实施数据处理操作。为了说明,参考装置1000的每个模块/单元以硬件或硬件和软件组合来制造的情况进行以下论述。
在步骤S501处,装置1000用于通过获取单元1011从第一数据库中获取多个源域数据集Xi、X2、……Xs以及从第二数据库中获取目标域数据集Xt。例如,源域数据集包括不同类型的数据集,这已经在上文论述过。
在步骤S102处,装置1000用于通过模型建立器1012基于传统高斯过程隐变量模型(Gaussian Process Latent Variable Model,GPLVM)确定与Xt最佳匹配的隐子空间Z。然后,在本步骤中,根据隐子空间Z和源域数据集Xi确定目标数据集Xt的后验分布P,这在如下详细论述。
具体地,假设Z=[z1,…,zN]T表示矩阵,矩阵的各行表示X在隐空间中的对应位置,其中z1∈Rd(d<<D)。高斯过程隐变量模型(Gaussian Process Latent Variable Model,GPLVM)可以解释为低维隐空间到高维数据集的高斯过程映射,其中通过使高斯过程似然相对于Z最大化来确定隐空间中的点的地点。假如有针对高斯过程的协方差函数,标记为k(·,·),假如有隐位置,数据的似然如下所示:
其中Ki,j=k(zi,zj)。因此,后验分布P可以写为
其中Za是归一化常数,θ的无信息先验分布,Z的简单球形高斯先验分布在现有技术中有介绍,因此此处省略详细描述。为了获得最优θ和Z,需要分别相对于θ和Z优化上述似然。换言之,假如有数据X,该公式描述了数据Z的后验分布和超参数θ,这意味着隐位置Z和超函数θ与数据X最佳匹配。
在步骤S103处,模型建立器1012通过将互信息熵扩展到在步骤S102中获得的后验分布P来确定在目标数据Xt和源数据集Xi之间共享的信息M。
从非对称多任务学习的角度看,应该可以使任务共享协方差函数的通用超函数。而且,从信息理论的角度看,目标任务和多个源任务之间的信息成本应被最小化。一种量化信息成本的简单方式是使用互信息熵,因为它是两种分布相互依存的标准。对于多任务学习,将互信息熵扩展到多种分布,如下所示:
其中H(·)为边缘熵,H(·|·)为条件熵,S为源任务数目,和pt分别为源任务和目标任务的概率分布。
pt可公式化为
其中Zb为归一化常数,σ2表示先验分布的全局扩展。
在步骤S104处,模型建立器1012用于通过以下规则根据后验分布P、共享信息M和目标域数据集Xt建立多任务学习模型Lmodel:
LModel=-logp(ZT,θ|XT)-βM, (5)
其中预设参数β以平衡目标域数据Xt和多任务学习约束M(即共享信息)之间的相对重要性。
P表示如前公式(2)所述的目标数据Xt的后验分布;
Zt表示Xt的隐子空间,其与Xt最佳匹配,如步骤S102中所论述;
M表示如公式(3)所论述的通过将互信息熵扩展到多种分布P在目标数据Xt和源数据Xi之间共享的信息。
多任务学习模型由两项组成:
p(ZT,θ|XT)和M。第一项是为了求解给定目标域数据集中的最优超参数和隐子空间。所以应使p(ZT,θ|XT)最大化,这意味着应获得与数据Xt最佳匹配的隐位置ZT和超参数θ。为了简单起见,使p(ZT,θ|XT)最大化等同于使logp(ZT,θ|XT)最大化。第二项是多任务学习约束,描述了有多少信息在隐子空间中的目标域数据集和源域数据集之间共享。
因此,也应使第二项最大化。为了方便,两项的最大化等同于两项否定形式的最小化。
如果将公式(2)纳入(3)中,则得到
M=H(p(ZT,θ|XT))
其中H(·)为边缘熵,H(·|·)为条件熵,S为源域数据集的数目,和p(ZT)分别为源域数据集和目标域数据集的先验分布。
其中Zb为归一化常数,σ2表示先验分布的全局扩展。
其中
这里,IN表示N×N单位矩阵,lN表示RN中所有为1的长度–N向量。
由于人脸验证是一个二元分类问题,而且GP主要取决于核函数,所以很自然使用核Fisher判别分析(Kernel Fisher Discriminant Analysis,KFDA)在核空间中建立类结构。为了下面推理简单,引入KFDA的另一等价公式来替代现有技术中的公式。KFDA是线性判别分析方法的核化版本。其发现特征空间中由核定义的方向,在该方向上,正类和反类的投影通过使类间协方差与类内协方差的比最大化得到很好地分隔。
在形式上,假设表示正类,表示反类,其中正类和反类的数目分别为N+和N_=N–N+。假设K为核矩阵。因此,在特征空间中,两个集合和分别表示正类和反类。
综上所述,为了结合多任务学习模型的(参数K的)形式,只需要确定一个参数K,这反过来取决于θ。在步骤S104处,先随机初始化超参数θ0,然后将梯度下降方法通过以下规则应用到如公式(5)所示的多任务学习模型中:
然后,将迭代过程通过规则应用到
在第t次迭代中,使用上面得到的所有源域数据集X1、X2……Xs和目标域Xt以根据等式(9)使用梯度下降方法得到θt。通过多次运行迭代,θ将收敛到一些最优值θ*。最优θ*用于通过以下规则确定K
其中d为数据点的维度。
一旦确定了K,将收敛(基于判别高斯过程隐变量模型的)多任务学习模型。
在步骤S105,装置1000用于控制验证设备102以基于旋转状模型验证两张人脸。首先,装置1000用于通过运行获取单元1011确定多个训练数据。具体而言,假设具有S个源域数据集,而且每个数据集包含N个匹配对和N个不匹配对,则从每张图像中提取P个多尺度特征。这里,P个多尺度特征是指在人脸图像中从大小不同的块中得到的特征。如图1(a)所示,对于每对人脸图像,计算一个图像的一个多尺度特征及其对应的另一图像的多尺度特征之间的相似性分数。由于每对人脸图像具有P对多尺度特征,那么可以为每对人脸图像获得大小为P的相似性向量。相似性向量被认为是输入xi。所以每对人脸图像可以转换为相似性向量以通过上述方式作为输入。因此,对于每个源域数据集xi,其由N个正输入和N个负输入组成。
例如,如图5(a)所示,在两张人脸A和B的不同标志处,从第一人脸A获得第一多个多尺度特征m1、m2、……mp,以及从第二人脸B获得第二多个多尺度特征n1、n2、……np。然后以传统方式计算相同标志处每两个特征的相似性S1、S2、……Sp。也就是,S1是指m1和n2的相似性,S2是指m2和n2的相似性,Sp是指mp和np的相似性。S1、S2、……Sp构成为多任务学习模型的输入向量x以在步骤S106处通过以下规则确定第一和第二多尺度特征是否来自同一人。
假如有由S1、S2、……Sp形成的x*的任何看即席测试点,其隐函数f*的概率为
其中
也就是,假如有训练数据X、训练数据y的标签以及看不见的测试输入x*,则其对应的隐函数f*应遵循均值为且协方差为的多元高斯分布。
最后,本发明对f*积分以求出类成员关系的概率,如下所示:
换言之,假如有训练数据X、训练数据y的标签、看不见的测试输入x*以及其对应隐函数f*的分布,通过看不见的测试输入x*的隐函数f*整合所有可能性以预测其标签。
如果人脸对的第一和第二多尺度特征来自同一个人,那么其对应的标签yi=1,否则yi=–1。
在下文中,将论述根据本发明的其它实施例的人脸数据验证的过程200。类似于过程100,过程200还包括可由装置1000的一个或多个处理器102至106执行的一系列步骤,以实施数据处理操作。
过程200包括以下步骤:S201:通过运行获取单元1011从第一数据库中获取多个源域数据集Xi、X2……Xs以及从第二数据库中获取目标域数据集Xt;S202:通过运行模型建立器1012基于传统高斯过程隐变量模型(Gaussian Process Latent Variable Model,GPLVM)确定与Xt最佳匹配的隐子空间Z。然后,在步骤S202中,根据隐子空间Z和源域数据集Xi确定目标数据Xt的后验分布P。另外,过程200还包括以下步骤:S203:通过将互信息熵扩展到在步骤S202中得到的后验分布P来确定在目标数据Xt和源数据Xi之间共享的信息M;以及S204:将梯度下降方法应用于多任务学习模型。
步骤S201至步骤S204与步骤S101至步骤S104相同,因此省略其详细描述。
然后,在步骤205中,确定所提出模型(MTL-DGPLVM)的输入。具体地,假设有S个源域数据集,而且每个数据集包含N个匹配对和N个不匹配对,那么从每个图像中提取P个多尺度特征。这里,P个多尺度特征是指人脸图像中从大小不同的块中得到的特征。每对多尺度特征及其翻转版本随后如图5(b)所示串联,这在下文论述。
假定每个多尺度特征的长度为L,那么每对人脸图像可以生成大小为2L的2P个多尺度特征。如果这对图像来自同一个人,那么每个大小为2L的多尺度特征的对应标签为yi=1,否则,yi=–1。因此,对于每个源域数据集Xi,其由2PN个正输入和2PN个负输入组成。例如,如图5(b)所示,在两个人脸A和B的不同标志处,从第一人脸A获得第一多个多尺度特征m1、m2、……mp以及从第二人B获得第二多个多尺度特征n1、n2、……np。然后,每对多尺度特征及其翻转版本串联以获得[m1,n1]和[n1,m1]。因此,对于每对人脸,产生大小为2L的2P个多尺度特征,如下所示:[m1,n1]、[n1,m1]……[mp,np]、[np,mp]。形成向量作为多任务学习模型的输入向量x。
在步骤S206处,使用以下方法自动将输入数据点分组到不同的类。具体地,GP聚类的原则是以下面的关键观察为基础:预测值的协方差在密集区域较小而在稀疏区域较大。协方差可以作为支持概率密度函数的良好估计,其中每个独立的支持域可以认为是一个类。这种观察可以根据任何预测数据点x*的协方差函数来解释:
如果x*在稀疏区,那么变小,产生大的协方差σ2(x*),反之亦然。等式(12)的另一良好性能在于,不依赖于标签,这意味着可以应用于未标签数据。
为了执行聚类,下面与等式(12)相关的动力系统可以写作
现有定理能够保证几乎所有轨迹接近于从等式(13)中检测到的其中一个稳定的平衡点。在每个数据点找到其对应的稳定的平衡点之后,可以采用一个完全图来分配集群标签给具有稳定平衡点的数据点。显然,等式(12)中的协方差函数完全确定了聚类的性能。
假定最终获得了C个类。这些类的中心标记为这些类的协方差标记为它们的权重标记为其中wi为第i个类中的数据点的数目与所有数据点的数目之比。可以计算所有上述变量。
然后,将每个ci称为等式(11)的输入,而且可以获得其对应的概率pi和协方差
对于任何看不见的人脸图像对,如图5(b)所示,首先要为每对块计算其联合特征向量x*。然后,将计算其对中心的一阶和二阶统计量。x*的统计和协方差表示为其高维人脸特征,标记为其中和
随后,每对块中的所有新的高维特征串联形成该人脸图像对的最终的新高维特征,以便确定第一和第二多个多尺度特征是否来自同一个人,例如通过使用线性支持向量机(Support Vector Machine,SVM)。
在MTL-DGPLVM模型中,进行推理和预测时需要逆转大矩阵。对于大问题,存储该矩阵和求解相关线性系统的计算都是昂贵的。在本发明一项实施例中,可使用熟知的锚图方法来加快该过程。简言之,本发明首先选择q(q=n)个锚来覆盖大量n数据点,并形成n×q矩阵Q,其中Qi,j=kθ(xi,xj)。xi和xj分别来自n个训练数据点和q个锚。随后,原始核矩阵K可以近似为K=QQT。使用矩阵求逆引理,计算n×n矩阵QQT可以转换为计算q×q矩阵QTQ,这更有效。
推理加速 当优化本发明所提出的模型时,需要逆转两个大的矩阵(K–1+W)和(λIn+AKA)。使用熟知的Woodbury恒等式可以推导以下等式
其中W为对角矩阵,
推理过程中,将q个k-means聚类中心作为锚以形成Q。将K=QQT替换到B中,得到
其中(Iq+QTWQ)为q×q矩阵。
类似地,可以得到
(λIn+AKA)-1=(λIn+AQQTA)-1
=λ-1In-λ-1AQ(λIq+QTAAQ)-1QTA. (16)
预测加速 计算预测协方差σ(x*)时,需要逆转矩阵(K+W-1)。此时,如上文论述的用于聚类的高斯过程可用来计算被认为是锚的准确聚类。再次使用Woodbury恒等式,得到
(K+W-1)-1=W-WQ(Iq+QTWQ)-1QTW (17)
其中(Iq+QTWQ)只是一个q×q矩阵,而且其逆转矩阵可以更有效地计算。
尽管已经描述了本发明的优选示例,但是本领域技术人员可以在了解基本发明概念之后对这些示例做出变更或修改。所附权利要求旨在被认为包括优选示例,所有变更或修改落入本发明范围。
显然,本领域技术人员可以在不脱离本发明精神和范围的情况下对本发明做出变更或修改。因此,如果这些变更或修改术语权利要求和等同技术的范围,它们也可落入本发明的范围内。