专利名称:立体耦合脸部形状定位的制作方法
技术领域:
本发明针对脸部识别技术,更具体地说,涉及通过使用脸部的多幅图像在脸部特征上定位点,来辨认这些脸部特征。
背景可以用二维来表现三维对象。实际上,通过使用二维视图来表现三维对象在对象建模和合成综合方面具有优点。在这类二维表示法中,不需要清楚地恢复该对象的这些三维特征,这避免了在基于三维的方法中所遇到的困难。相反,常规的做法是使用基于视图的模型,利用多个二维视图投影来表现该对象。当利用一幅以上的二维视图来表现对象时,通常在这些二维视图中的每幅二维视图之间要求像素方面的对应映射。作为选择,可以在这些二维视图中的每幅二维视图之间使用该对象上的一小组特征点或特征边缘之间的稀疏的对应映射。可以计算该对应映射,并应用该对应映射,将该对象的形状与该对象的纹理分离开来。照此,可以从特定的视点,在线性子空间中对该对象的形状和该对象的纹理进行建模。
当利用一幅以上的二维视图来表现对象时,建立点来表现该对象上的特征(特征点)可能是有利的。多幅二维视图之间的基于特征点的对应在一些应用中是有利的,因为它在处理光强度和色调变化中更具鲁棒性,并且,与建立该对象的致密表示相比,它可以涉及较少的计算。相应地,为了精确地对对象的图像类进行建模,可以提出并解决两个问题。第一个问题关于通过使用二维视图的训练集,在该对象的特征上定位特征点。一旦该对象上的这些特征的特征点被定位,就产生第二个问题在来自对应数量的二维视图的两组或更多组的特征点之间建立基础对应。
当使用多幅二维视图在复杂的非刚性对象中定位特征时,会出现额外程度的困难。通过使用有关该对象本身的原先的知识,可以对付这些困难。例如,该对象的可变形模型是这类原先知识的例子。该可变形模型可以提供关于该对象上的特征位置的约束。这些约束(可以从有关该对象的图像数据中获得)可以被用来处理比如该对象的分割或该对象上的特征检测等这些问题。特别是,如Cootes等人所提议的该“活动形状模型”(ASM)(“活动形状模型”,T.F.Cootes,C.Taylor,D.Cooper和J.Graham。“活动形状模型——其训练与其应用”。“计算机视觉和图像理解”,61(1)38-59,1995年1月)提供了这个优点只可以用从该训练集(从其中导出过该模型)中了解的那些方法来使该对象的这个模型的这些实例发生变形。也就是说,这个模型可以容纳该对象的分割中或其特征的检测中的相当大的变异性,但这个模型应该仍然针对这个模型所表现的该对象的类。ASM使用该“主分量分析技术”(PCA),通过对象的二维形状变化和对象的局部灰度级结构来对该对象进行建模。特别是,ASM是一个过程,该过程包括询问该对象的二维图像,并使用分别表示该对象上的每个特征的点(特征点)来近似该对象上的特征形状。
当给出相同对象的两幅或更多幅不同的二维视图时,通过使用ASM,可以使关于每幅视图的该对象上的这些特征与该对象的模型相匹配。在执行关于每幅视图的该模型匹配之后,将会需要在关于这些不同的视图(例如,隐含地越过这些不同的视图中的每幅视图)的该对象的这些特征的各自的特征点之间找到这种对应。但是,跨越这些不同的视图,该对象上的关于每个特征的这些所检测的特征点可能在几何上是不一致的。这种不一致性的发生是因为ASM只考虑单一视图,而不是这些不同的视图之间的对应。该模型与这些不同的视图中的每幅视图的匹配可得益于多视图几何的运用。可以实现这一点,同时,它要求该对象上的每个特征的所有关键特征点在这些二维视图中的每幅二维视图中保持可见。
用于使用ASM的一项技术涉及使用从不同视点观看的一幅脸部视图的一组训练样本。从这一脸部的这些视图中,可以手动标明该脸部上的脸部特征的一组特征点。这种手动标示表现了该脸部变形为其不同的脸部特征以及构成这些脸部特征的各自的点。例如,这些特征可以包括鼻子、眼睛和嘴。这些特征点是为该脸部上的这些脸部特征做标记的那些点。ASM使用表示该脸部变形的这个训练数据集,以便通过使用不同的脸部的视图来分析这个不同的脸部上的脸部特征。但是,这种常规的ASM技术不能精确地定位正在加以分析的该脸部的这些视图中的脸部特征。而且,该常规ASM技术只可以使该正被分析的脸部发生变形,其变形方式为已使这个训练数据集中的该脸部已发生变形的各种方式。克服该固有的不精确性的一种部分的解决方案是使用更大的训练数据库。这种解决方案只是局部的,因为它没有考虑关于该局部灰度级模型对该脸部的这些不同的视图的拟合。局部灰度级模型拟合趋向于解释该数据,以便使脸部特征移向最强的光度边缘,它可能不一定是脸部特征的实际边缘——从而引入进一步的不精确性。而且,使用更大的训练数据库可能会进一步降低精确度,因为该额外的数据趋向于将这些可接受的脸部特征形状进一步延伸进关于正在加以分析的该脸部的不精确的范围。
除前述问题以外,在找到同一脸部的两幅略微不同的视图中的相同的脸部特征的过程中,ASM也不一致。ASM并非总是保证关于训练对象的训练数据中所识别的这些特征在搜索另一个对象的两幅略有不同的视图时,将产生类似的特征。这种无能力可以归因于该对象中的照明变化(这是由于在不同的二维视图中旋转该对象),或者,它可以归因于不同的初始参数。当在此环境中使用常规ASM时,会产生两个负面的结果。一个结果是该常规ASM模型将会错误地识别对象上的特征,或者将会不精确地定位关于该对象上的特征的这些特征点。无论是哪种情况,当使用常规ASM时,同一对象的不同的二维视图将会产生在这些不同的二维视图之间不匹配的特征。因此,当使用常规ASM时,这些不同的视图的被识别的特征之间的对应是不精确的。
该技术领域中需要取得进展,以开发一种技术,该技术将会精确地、一致地识别同一对象的不同视图中的相同的特征。
概述本发明的实施通过为脸部特征(例如,眼角和鼻尖)定位点,来识别这些脸部特征。为了实现这一点,可使用脸部的多幅二维视图的训练集来制定一组训练数据。这个训练数据集用于数学模型中的脸部的两幅不同的二维视图。使用该数学模型来识别这两幅不同的二维视图上的内部和外部脸部特征,从而呈现了一种用于识别该脸部的这两幅不同的视图中的每幅视图上的脸部特征的立体耦合机制。该数学模型使用如基本矩阵内所编码的表极(epipolar)几何学,来约束这两幅不同的视图(脸部特征将被定位在那里)中的每幅视图上的这些区域。在同一脸部的这两幅不同的视图中的每幅视图上,该数学模型分别找到关于每个脸部特征的这些点之间的几何对应。
在本发明的另一项实施中,脸部模型的外部和内部脸部特征与关于第一幅脸部图像的第一模型的特征相匹配,并与关于第二幅脸部图像的第二模型的特征相匹配。使用关于这第一和第二模型的该对应的表极约束,来调整这第一和第二模型的匹配的外部和内部脸部特征中的每个脸部特征。这第一和第二脸部图像是同一脸部在实质上相同的各自的照相机方位处捕捉到的图像。在其他实施中,这些图像具有有偏转不同的脸部姿势范围。
在本发明的另一项实施中,通过为关于各自的第一和第二脸部图像的第一和第二模型使用脸部模型,来执行初始化。这第一和第二模型中的每个模型具有由多个点定义的外部和内部脸部特征。为这第一和第二模型估计基本矩阵。通过使用关于每个点的该各自的局部纹理,来为这第一和第二模型的这些内部脸部特征中的每个脸部特征更新这些点。然后,更新这第一和第二模型的这些内部脸部特征中的每个脸部特征。使用该基本矩阵和该对应的表极约束,来更新关于这第一和第二模型的这些内部脸部特征中的每个脸部特征的这些点。然后,为这第一和第二模型的这些外部脸部特征中的每个脸部特征执行更新。如果第一模型已收敛在该脸部模型的预定容差内,则输出第一模型的内部和外部脸部特征的表示。如果第二模型已收敛在该脸部模型的预定容差内,则输出第二模型的内部和外部特征的表示。
附图简述通过参考以下结合附图所进行的详细说明,可能会更加全面地理解这些实施。在这些附图中
图1a-1b展示了一种机制,用于通过各个点来使不同的脸部特征的角相匹配,这些点在同一脸部的两幅不同的二维视图上的每个脸部特征周围形成轮廓,其中,该脸部处于两(2)个不同的位置,并且,其中,该机制使用基本矩阵估计。
图2展示了脸部分解成内部和外部脸部特征,每个脸部特征由连接多个点的线勾划出轮廓。
图3a-3b表现了处于不同姿势的脸部的各自的二维视图,其中,这些视图表现可以被本发明的各项实施使用的起始图像。
图4a-4b是表极几何说明图,描绘了根据本发明的实施的、一幅图像的两幅不同的二维视图上的各个点之间的对应。
图5a-5b表现了根据本发明的实施的、一种立体耦合机制的第一次迭代,该立体耦合机制通过使用如基本矩阵内所编码的表极几何学来分别识别图3a-3b的这两幅不同的视图上的这些对应的脸部特征。
图6a-6b、7a-7b和8a-8b表现了如根据图5a-5b而使用过的该立体耦合机制的各个迭代。
图9是流程图,表现了根据本发明的实施的、关于使用立体耦合机制的脸部特征检测的程序,其中,可以在图3a-3b中所见的图像上使用该程序,以实现在图5a-5b至图8a-8b中所见的这各个迭代结果。
图10是框图,表现了根据实施的、可以被用来执行服务器或客户机的联网计算机。
详细说明本发明针对脸部建模和脸部特征的识别。本发明的实施在脸部形状分析中使用表极几何学,以确定脸部特征(例如,鼻子、眼睛、眉毛、嘴等)。该详细说明假定该读者理解表极几何学。
估计该基本矩阵图1a-1b表现了两幅目标图像,通过估计这些目标图像之间的基本矩阵E来校准它们。Zhang等人(Z.Zhang,确定该表极几何学及其不确定性评论。“计算机视觉国际期刊”,27(2)161-195,1998年)提供了用于为一对图像计算基本矩阵E的公式的一个例子。这两幅图像被静态照相机拍摄,同时,该头部处于正面的位置并且正在这两幅视图之间的偏转方向上移动。由于当该头部旋转时照明发生变化,因此,这两幅图像中的同一物理点的颜色看起来不同。照此,识别该脸部的脸部特征是有利的,因为与基于光流的方法相比,脸部特征的识别对于亮度变化而言更具鲁棒性。基本矩阵E的该估计可以包括四(4)个不同的步骤1)通过确定这两幅不同的图像之间的差异,来近似脸部的定位;2)检测这些图像中的每个脸部特征的各个角;3)通过这两幅不同的图像之间的相关,来使每个脸部特征的各个角相匹配;以及4)拒绝假匹配,并通过最小的中值平方来估计该基本矩阵。图1a-1b表现了一对脸部图像,以及关于利用这项技术而建立的脸部特征的这个角匹配集。然而,为了这两幅不同的图像之间的脸部特征的更加精确的相关,而需要脸部模型。如图2中所示的和以下所讨论的这种脸部模型是脸部特征(例如,鼻子、眼睛、眉毛、嘴等)的表示。
脸部形状模型的分解可以提供脸部形状的训练集T={Si|i∈0~N},其中,形状矢量由Si={<x1,y1>,<x2,y2>,...,<xx,yx>}∈R2K,K=83来表示。形状矢量Si表示构成脸部上的不同特征的那些点(特征点)。如图2中所见,脸部已被分解成内部脸部特征(眼睛、鼻子和嘴),可见,其中的每个脸部特征由连接多个点的线来绘出轮廓。图2表现了构成这三个不同的内部脸部特征的63个点。该脸部也已被分解成外部脸部特征(一对眉毛以及该上颚、下巴和脸颊的轮廓),可见,其中的每个脸部特征由连接多个点的线来绘出轮廓。图2表现了构成这两个不同的外部脸部特征的19个点。照此,总共83个点构成如图2底部的这些被分解的脸部特征的合成中所见的五(5)个不同的脸部特征。
该轮廓上的这些点可助一臂之力,因为它们可以帮助将该脸部的这个区域从其背景中分割出去。但是,由于该偏转方向上的头部旋转所引入的自我遮挡,因此,该轮廓上的这些点难以与同一脸部的两幅不同的视图发生精确的联系,这体现在这些点将不会遵守该表极约束。为了克服这个困难,可使用该被分解的脸部模型。如图2所示,形状矢量Si被分成两个部分内部矢量Sin和外部矢量Sout。Sin表示构成这三个内部脸部特征的64个点,外部矢量Sout表示定义该眉毛和该轮廓或脸部轮廓的其他19个点。当然,可以选择不同数量的点来表示这些脸部特征中的每个脸部特征。区分出该上颚、下巴和脸颊的轮廓的另一个原因是由于这个事实如果这些训练图像中所呈现的各个背景被弄乱,则它们的局部灰度级模型不如构成这三个内部脸部特征的这些点稳定。考虑到这些眉毛的周边比其他内部脸部特征更难检测,并且更可能受到诸如不同的发型等其他因素的影响,因此,也为这些眉毛分配Sout形状矢量。
在迭代ASM程序中使所有形状矢量(Sin,Sout)与中间形状s的切线空间对齐以后,获得一组归一化形状矢量Si=TX1.Y1.S.θ(S^1),]]>其中,T通过执行旋转θ、定标S和平移(X1,Y1)来表示欧几里得变换。以上所讨论的Cootes等人提供了可以使用的这种迭代ASM程序的例子。
通过遵循该分解策略,可将每个对齐的脸部 去耦为两个矢量S^1=<S^1n,S^out>.]]>使用ASM的该“主分量分析”技术(PCA)来将两个低维形状空间UF和Uin计算成S^1=s‾+UFbi,S^1n=S^1n+Uinbini,]]>其中,UF是由 中的k种主要变化模式组成的矩阵,Uin是一种从 了解的矩阵。关于该训练集的形状i中的每个脸部特征的每个点j,提取围绕该j而居中的灰度级分布gi。gij的导数矢量dij被计算和归一化成d^ij j=dij/Σkdy.k,]]>其中,k是沿该分布的各个点的索引。再次使用PCA来对矢量 的变化进行建模。以上所讨论的Cootes等人提供了如这里所使用的ASM的该PCA的一个例子。
立体耦合模型搜索使同一脸部的两幅视图的对应的脸部特征相匹配的立体耦合模型始于该脸部位置的初始猜测和两幅图像中的该中间形状矢量。将ASM应用于这两幅视图中的每幅视图,以便根据局部纹理统计(例如,邻近每个点的光度数据)来更新每个脸部特征的每个点。为了实现这一点,沿垂直于该模型边界的方向移动这些点。然后,评估该拟合的质量,并且可以根据这一点来提议关于每个点的新位置。经常根据该光度数据的大小,在强边缘上找到最佳匹配。
下一个步骤涉及找到满足该原先的形状分布和该表级约束的最似乎合理的形状。模型拟合可以被公式化成找到这两幅图像中的这些形状模型的最适宜的参数集c,以便将具有两个约束的损失函数L(c)最小化,即,L(c)=||Sin1-S^in1||2+||Sin2-S^in2||2---(1)]]> 受制于这些约束μ^′TEμ^=0---(3)]]>|bi.k|≤3λk---(4)]]>其中,d(x,y)是点x与y之间的欧几里得距离,Sin1和Sin2是在基于局部纹理的更新之后被观察到的特征点,Sin1={μi|μi=<xin.1,yin.1>,i=0~63}]]>Sin2={μi′|μi′=<xin.1′,yin.1′>,i=0~63}]]> 和 表示这些模型实例S^in1=Tin1(S‾in+Uinbin1)---(5)]]>S^in2=Tin2(S‾in+Uinbin2)---(6)]]>参数bin1和bin2应该满足这第二条件,以生成所希望的精确的脸部形状。
使用L(c)来评估模型实例与被观察到的特征点之间的差异。作为选择,按照该表极几何学,也可以将L(c)视作用于找到这些正确的对应点的测定。在该搜索程序期间,形状Sin1、Sin2之中的典型的、被观察到的匹配μ μ’会有噪声的,需要恢复一个正确的匹配。L(c)表示原始特征点μ、μ’与正确的对应点 之间的距离,其中, 是形状实例 中的点。假定点 上将会有μ、μ’的高斯误差分布,这又将会把关于这些最有可能的值的损失函数L(c)减到最小,这些最有可能的值将表示这两幅不同的视图上的各个点之间的精确的对应。
用于定位这两幅不同的视图上的各个点之间的精确对应的程序涉及形状模型的分解以及表极约束(e.q.3)和原先的形状约束(e.q.4)的组合约束。一般而言,通过按照脸部检测结果来对同一脸部的两幅不同的视图上的形状模型进行初始化,使这过程开始。Li等人(S.Z.Li,Q.D.Fu,L.Gu,B.Scholkopf,Y.M.Cheng,H.J.Zhang,“关于多视图脸部检测和姿势估计的基于核心机器的学习”。出于2001年7月9-12日加拿大温哥华的第8届计算机视觉IEEE国际会议的会议录)提供了可以在这里使用的两幅不同的视图上的形状模型的初始化的例子。在这些不同的视图的形状模型已被初始化之后,使用邻近每个点的该纹理(例如,光度数据)来独立地更新关于每个脸部特征的这些点。然后,更新该内部形状图像。为了实现这一点,对内部形状矢量Sin1、Sin2进行初始估计。这个初始估计适合关于该脸部的这两幅不同的视图的该图像数据。为Tin1、Tin2、bin1、bin2的参数寻求优化,并且根据该原先的形状约束,在 内截断bin1、bin2。在该截断之后,根据该表极约束,更新关于这些内部脸部特征(鼻子、眼睛和嘴)的这些点。
由于关于这两幅不同的视图的内部脸部特征的这些点现在可能还没有满足该表极约束,因此,引入非线性优化解决方案,以找到来自μ μ’匹配的 的正确对应。如图4a-4b中所见的这些表极几何图所示,lμ是同一脸部的第二幅视图或图像中的特征点μ的该表极线。从μ’绘制与lμ正交的线l,它在点M处与lμ相交。从e2通过线l上的点v的线lv是表极线。这样,点v定义第二幅图像中的表极线的线锥。可以用参数 来表示该线锥,参数 是v与μ’之间的带符号距离。参数μ’被投影到lv,以获得 参数 是同一脸部的第一幅视图或图像中的 的表极线。参数μ被投影到 以获得 为了找到最佳opi,以便按(2)对L(c)最小化,可以使用经典的Levenberg-Marquardt优化器,其中,的初始值被设置为 可以进行几次迭代,以达到的最佳值。最后,如同在第一个步骤中所实行的那样,更新关于所有脸部特征的所有点S1、S2。
通常,在一项实施中,由前述步骤来近似脸部的形状,以便将内部能量函数最小化。该表极约束表示特殊的能量项,该能量项旨在找到关于同一脸部的两幅不同的二维视图中的每幅视图的这些脸部特征的各个点之间的最好对应。
图5a-5b至图8a-8b描绘了使用表极几何学的立体耦合机制的一项实施的各个迭代的结果,其中,图3a-3b表示同一脸部的两幅初始视图。从图8a-8b中的最后视图中可见,该立体耦合模型精确地定位这两幅不同的视图中的每个脸部特征,其中,这各幅视图中的这些脸部特征的收敛性类似。这个收敛是可能的,因为强加于内部脸部特征(眼睛、鼻子和嘴)的该几何约束可调节这两幅不同的视图模型之间的对应映射。
从图9中可见,程序900展示了本发明的一项实施,它具有对使用脸部模型的同一脸部的两(2)幅不同的视图所执行的步骤一(1)至步骤八(8)。这两幅视图采用与该脸部的相同的相对照相机方位,其中,在这两幅不同的视图之间的偏转方向上旋转该脸部。同时处理这两幅视图。在程序900内,用迭代法重复步骤二至步骤七。
到程序900的输入是两幅脸部图像,图3a-3b提供了其例子。在分别关于第一和第二脸部(例如,同一脸部的两幅不同的视图)的方框902-904处的程序900内的步骤1中,可见这个输入。在过程900的步骤1之后,步骤2继续进行,其中,通过方框908-910处的第一和第二脸部上的该形状模型的初始化,在这两幅图像中的每幅图像内检测每个脸部上的每个脸部特征的各个角点。可以同时执行方框908-910。关于这些内部脸部特征,该嘴的这些角点包括多个嘴角。关于这些眼睛中的每只眼睛的这些角点包括多个眼角,关于该鼻子的角点包括鼻尖。
在检测到每个脸部特征的这些角点之后,方框908-910处的第一和第二脸部上的该形状模型的初始化还包括建立这两个角点集之间的对应。换言之,方框908-910要求关于各自的第一和第二脸部图像的第一和第二模型的初始化。这种初始化使用具有外部和内部脸部特征的脸部模型,其中,每个脸部特征由多个点来定义,并且,其中,这第一和第二模型中的每个模型具有外部和内部脸部特征。举例来讲,图5a-5b提供了其上应用程序900的这两幅不同的视图的例子。图2提供了具有内部和外部脸部特征的该脸部模型的例子,其中的每个脸部特征由多个点来定义。图2中的内部脸部特征是鼻子、嘴和一双眼睛。图2中的外部脸部特征是该脸部的精确的底部边缘和一对眉毛。从图3a-3b的该初始输入中可见,这第一和第二脸部图像是按实质上相同的各自的照相机方位来捕捉到的同一脸部。这第一和第二幅脸部图像的各自的脸部姿势实质上在斜度方面相同,实质上在滚动方面相同,在偏转方面不同——范围从约3度到约10度(10°)不等。
在建立这两幅不同的视图中的这些脸部特征的各个角点之间的对应之后,在方框906处估计关于这第一和第二脸部(模型)的基本矩阵“E”。以上所讨论的Pentland等人描述了可以在过程900的方框905处使用的、用于估计该基本矩阵“E”的技术的一个例子。
在过程900的步骤3中,通过使用关于每个点的该各自的局部纹理,来更新关于第一和第二模型(例如,第一和第二脸部)的每个内部脸部特征的这多个点。该更新发生于过程900的方框912-914处,其中,关于每个点的该局部纹理包括该点处的或邻近该点的光度数据。在步骤4中,在方框916-918处,使用对来自步骤3的这些点实行的这些更新的结果,来更新这第一和第二模型的这些内部脸部特征中的每个脸部特征。
步骤1-4用于更新两个不同的模型——每个模型表现同一脸部的不同的视图。在步骤5中,在方框920处实施单一操作,而不是如同步骤1-4中那样实施一对操作。方框920使用该基本矩阵和该对应的表极约束,以更新关于这第一和第二模型的这些内部脸部特征中的每个脸部特征的这多个点。换言之,在方框920处加以实施的这些操作通过使用在以上的方程式(3)和方程式(4)中用数学方法表达的两个约束,来对被更新的这第一和第二模型进行精细化。
步骤6返回到在方框922-924处实施一对操作,其中,更新这第一和第二模型的这些外部脸部特征中的每个脸部特征。在第七个步骤中实行一对询问。这些询问分别发生于关于这第一和第二模型的方框926和928处。在方框926处,如果第一模型已收敛在该脸部模型的预定容差内,则输出第一脸部模型的内部和外部脸部特征的表示。否则,重复步骤3-7,直到关于第一模型的收敛在该脸部模型的该预定容差以内为止。同样,在方框928处,如果第二模型已收敛在该脸部模型的预定容差内,则输出第二脸部模型的内部和外部脸部特征的表示。否则,重复步骤3-7,直到关于第二模型的收敛度在该脸部模型的该预定公差以内为止。在图5a-5b至图8a-8b中,分别可见步骤3-7的四(4)次迭代的结果的例子。
在这两幅不同的视图之间的脸部特征收敛之后,可以在脸部识别过程中使用过程900的这个结果。例如,可以识别数据库中的某人的脸部,该脸部与这第一和第二脸部图像中的至少一幅图像相匹配。这里,该匹配过程可以使用第一和第二模型中的一个模型或这两个模型的内部和外部脸部特征的该输出表示。
计算机系统图10表现了可以在这里所描述的这些实施中使用的示范计算机系统。计算机1042包括一个或多个处理器或处理单元1044、系统存储器1046和总线1048,总线1048将包括系统存储器1046的各种系统组件耦合到处理器1044。总线1048表示任何几种类型的总线结构(包括存储器总线或存储器控制器、外围总线、加速图形端口和使用各种总线结构中的任何总线结构的处理器或局域总线)中的一种或多种总线结构。系统存储器1046包括只读存储器(ROM)1050和随机存取存储器(RAM)1052。基本输入/输出系统(BIOS)1054被存储在ROM1050中,该基本输入/输出系统包含帮助在计算机1042内的各个元件之间传送信息(例如,在启动期间)的这些基本例行程序。计算机1042进一步包括用于从硬盘(未示出)读取并对其写入的硬盘驱动器1056、用于从可移动磁盘1060读取并对其写入的磁盘驱动器1058,以及用于从可移动光盘1064(例如,CD ROM或其他光学介质)读取或对其写入的光盘驱动器1062。硬盘驱动器1056、磁盘驱动器1058和光盘驱动器1062由SCSI接口1066或其他某个合适的接口连接到总线1048。这些驱动器及其关联的计算机可读介质为计算机1042提供计算机可读指令、数据结构、程序模块和其他数据的非易失存储。虽然这里所描述的该示范环境使用硬盘、可移动磁盘1060和可移动光盘1064,但是,精通该技术领域的人应该理解该示范操作环境中也可以使用可以存储可由计算机存取的数据的其他类型的计算机可读介质(例如,盒式磁带、快闪存储卡、数字化视频光盘、随机存取存储器(RAMs)、只读存储器(ROMs)和类似的介质)。
硬盘1056、磁盘1060、光盘1064、ROM 1050或RAM 1052上可以存储许多程序模块,包括操作系统1070、一个或多个应用程序1072(例如,设计应用程序)、其他程序模块1074和程序数据1076。用户可以通过输入设备(例如,键盘1078)和指点设备1080来将命令和信息输入计算机1042。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪或类似的输入设备。这些和其他的输入设备通过被耦合到总线1048的接口1082而被连接到处理单元1044。监视器1084或其他类型的显示设备也经由接口(例如,视频适配器1086)而被连接到总线1048。除该监视器以外,个人计算机通常还包括诸如扬声器和打印机等其他外围输出设备(未示出)。
计算机1042一般在使用与一台或多台远程计算机(例如,远程计算机1088)的逻辑连接的联网环境中进行操作。远程计算机1088可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,它通常包括以上相对于计算机1042而描述的许多或所有这些单元。图10中所描绘的这些逻辑连接包括局域网(LAN)1090和广域网(WAN)1092。这类联网环境在办公室、企业范围的计算机网络、内联网和因特网中很普遍。当被用于LAN联网环境中时,计算机1042通过网络接口或适配器1094而被连接到该局部网络。当被用于WAN联网环境中时,计算机1042通常包括调制解调器1096或用于在广域网1092(例如,因特网)上建立通信的其他装置。调制解调器1096(可能是内置的,也可能是外置的)经由串行端口接口1068而被连接到总线1048。在联网环境中,相对于个人计算机1042或其各个部分而描绘的程序模块可以被存储在该远程记忆存储设备中。将会理解所示的这些网络连接起示范的作用,可以使用在各台计算机之间建立通信链路的其他装置。
通常,利用在不同时间被存储于计算机1042的这各种计算机可读存储介质中的指令,来为该计算机的这些数据处理器编程。程序和操作系统通常被分布在(例如)软盘或CD-ROM上。它们从那里被安装入或被载入计算机的辅助存储器。在执行时,它们至少被部分地载入该计算机的主要电子存储器。当这类介质包含用于和微处理器或其他数据处理器协力执行所描述的这些块的指令或程序时,这里所描述的该系统包括这些和其他各种类型的计算机可读存储介质。当根据这里所描述的这些方法和技术来加以编程时,所描述的该系统也可以包括该计算机本身。
出于举例说明的目的,程序和其他可执行程序成分(例如,该操作系统)在这里被展示为离散块,尽管已认识到这类程序和组件在不同时间驻留在该计算机的不同的存储部件中,并由该计算机的该数据处理器来执行。
结论实施允许脸部特征的表示以及关于这些脸部特征(例如,这些眼角、鼻尖等)的点的定位。通过使用表极几何学,来找到关于同一脸部的一对不同的视图的这些脸部特征的相关。数学模型捕捉该脸部的内部脸部特征和外部轮廓上的这些形状变化。算法使用被分解成内部和外部脸部特征的脸部模型,以改善同一脸部的这对不同的视图上的这些脸部特征的匹配。
虽然已用针对结构特征和/或方法论动作的语言描述了本发明,但是,将会理解所附权利要求书中所定义的本发明不一定局限于所描述的这些特殊的特征或动作。相反,这些特殊的特征和动作被揭示为执行所声明的本发明的示范形式。
权利要求
1.一种方法,其特征在于包括使脸部模型的外部和内部脸部特征与以下内容相匹配关于第一脸部图像的第一模型的脸部特征;以及,关于第二脸部图像的第二模型的脸部特征;以及,使用关于这第一和第二模型的对应的表极约束,来调整这第一和第二模型的每个所述匹配的外部和内部脸部特征。
2.如权利要求1中所定义的方法,其特征在于其中这些内部脸部特征包括鼻子、嘴和一双眼睛;以及,这些外部脸部特征包括该脸部的精确的底部边缘和一对眉毛。
3.如权利要求1中所定义的方法,其特征在于其中,多个点对应于每个所述内部脸部特征,并包括对应于该嘴的多个嘴角;对应于该眼睛的多个眼角;以及,对应于该鼻子的鼻尖。
4.如权利要求1中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在实质上相同的各自的照相机方位处捕捉到的同一脸部。
5.如权利要求4中所定义的方法,其特征在于其中,这第一和第二幅脸部图像的各自的脸部姿势是实质上在斜度方面相同;实质上在滚动方面相同;以及,在偏转方面不同,范围从约3度到约10度不等。
6.如权利要求1中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在同一脸部的实质上相同的各自的照相机方位处拍摄的照片,它们在实质上相同的脸部姿势范围内、但在偏转方面有所不同。
7.如权利要求1中所定义的方法,其特征在于其中,该脸部姿势范围在这第一和第二幅脸部图像中有所不同,其偏转的不同之处不超过约十度(10°)。
8.如权利要求1中所定义的方法,其特征在于其中这第一幅脸部图像是人脸的正面全照;以及,这第二幅脸部图像不同于这第一幅脸部图像,偏转不超过约十度(10°)。
9.如权利要求1中所定义的方法,其特征在于进一步包括输出这第一和第二模型中的每个模型的表示,每个模型包括其各自的内部和外部脸部特征。
10.如权利要求9中所定义的方法,其特征在于其中,该输出进一步包括重复该匹配和该调整,直到这第一模型上的外部和内部脸部特征的每个所述匹配不大于关于该脸部模型的脸部特征的预定收敛容差;以及,这第二模型上的外部和内部脸部特征的每个所述匹配不大于关于该脸部模型的脸部特征的预定收敛容差。
11.如权利要求1中所定义的方法,其特征在于进一步包括重复该匹配和该调整,直到这第一模型上的外部和内部脸部特征的每个所述匹配不大于关于该脸部模型的脸部特征的预定收敛容差;以及,这第二模型上的外部和内部脸部特征的每个所述匹配不大于关于该脸部模型的脸部特征的预定收敛容差。
12.如权利要求1中所定义的方法,其特征在于进一步包括通过使用这第一和第二模型的各自的外部和内部脸部特征,来识别数据库中的某人的脸部,该脸部与这第一和第二幅脸部图像中的至少一幅脸部图像相匹配。
13.一种包括指令的计算机可读介质,其特征在于当被执行时,这些指令执行权利要求1的方法。
14.一种方法,其特征在于包括使脸部模型的外部和内部脸部特征与以下内容相匹配,每个脸部特征由多个点来表示关于第一脸部图像的第一模型的脸部特征;以及,关于第二脸部图像的第二模型的脸部特征;使用关于这第一和第二模型的该对应的表极约束,来调整关于这第一和第二模型的每个所述匹配的外部和内部脸部特征的这多个点;以及,重复该匹配和该调整,直到关于与该脸部模型的脸部特征相匹配的这第一模型上的外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于一预定的收敛容差的相对偏移;以及,关于与该脸部模型的脸部特征相匹配的这第一模型上的外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于该预定的收敛容差的相对偏移。
15.如权利要求14中所定义的方法,其特征在于进一步包括输出这第一和第二模型中的每个模型的表示,每个模型包括其各自的内部和外部脸部特征。
16.如权利要求14中所定义的方法,其特征在于其中这些内部脸部特征包括鼻子、嘴和一双眼睛;以及,这些外部脸部特征包括该脸部的精确的底部边缘和一对眉毛。
17.如权利要求14中所定义的方法,其特征在于其中,从小组中选择这多个点和对应的所述内部脸部特征,该小组包括对应于嘴的多个嘴角;对应于眼睛的多个眼角;以及,对应于鼻子的鼻尖。
18.如权利要求14中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在实质上相同的各自的照相机方位处捕捉到的同一脸部。
19.如权利要求18中所定义的方法,其特征在于其中,这第一和第二幅脸部图像的各自的脸部姿势实质上在斜度方面相同;实质上在滚动方面相同;以及,在偏转方面不同,范围从约3度到约10度不等。
20.如权利要求14中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在同一脸部的实质上相同的各自的照相机方位处拍摄的照片,它们在实质上相同的脸部姿势范围内、但在偏转方面有所不同。
21.如权利要求14中所定义的方法,其特征在于其中,该脸部姿势范围在这第一和第二幅脸部图像中有所不同,其偏转的不同之处不超过约十度(10°)。
22.如权利要求14中所定义的方法,其特征在于其中这第一幅脸部图像是人脸的正面全照;以及,这第二幅脸部图像不同于这第一幅脸部图像,偏转不超过约十度(10°)。
23.如权利要求14中所定义的方法,其特征在于进一步包括通过使用分别对应于这第一和第二模型的外部和内部脸部特征的这些点,来识别数据库中的某人的脸部,该脸部与这第一和第二幅脸部图像中的至少一幅脸部图像相匹配。
24.一种包括指令的计算机可读介质,其特征在于当被执行时,这些指令执行权利要求14的方法。
25.一种方法,其特征在于包括以下步骤(a)使用具有每个都包括多个点的外部和内部脸部特征的脸部模型,来对关于各自的第一和第二脸部图像的第一和第二模型进行初始化,其中,这第一和第二模型中的每个模型具有每个都包括多个点的外部和内部脸部特征;(b)估计关于这第一和第二模型的基本矩阵;(c)通过使用关于每个所述点的该各自的局部纹理,来更新关于这第一和第二模型的每个所述内部脸部特征的这多个点;(d)更新这第一和第二模型的每个所述内部脸部特征;(e)使用该基本矩阵和该对应的表极约束,来更新关于这第一和第二模型的这些内部脸部特征中的每个脸部特征的这多个点;以及,(f)更新这第一和第二模型的每个所述外部脸部特征。
26.如权利要求25中所定义的方法,其特征在于其中,这些步骤进一步包括(g)如果这第一模型已收敛在该脸部模型的预定容差内,则输出这第一模型的内部和外部脸部特征的表示,否则,重复关于这第一模型的步骤(c)~(f);以及,(h)如果这第二模型已收敛在该脸部模型的预定容差内,则输出这第二模型的内部和外部脸部特征的表示,否则,重复关于这第二模型的步骤(c)~(f)。
27.如权利要求25中所定义的方法,其特征在于其中这些内部脸部特征包括鼻子、嘴和一双眼睛;以及,这些外部脸部特征包括该脸部的精确的底部边缘和一对眉毛。
28.如权利要求27中所定义的方法,其特征在于其中对应于该嘴的该内部脸部特征的这多个点包括多个嘴角;对应于每只所述眼睛的该内部脸部特征的这多个点包括多个眼角;以及,对应于该鼻子的该内部脸部特征的这多个点包括鼻尖。
29.如权利要求25中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在实质上相同的各自的照相机方位处捕捉到的同一脸部。
30.如权利要求29中所定义的方法,其特征在于其中,这第一和第二幅脸部图像的各自的脸部姿势实质上在斜度方面相同;实质上在滚动方面相同;以及,在偏转方面不同,范围从约3度到约10度不等。
31.如权利要求25中所定义的方法,其特征在于其中,这第一和第二幅脸部图像是在同一脸部的实质上相同的各自的照相机方位处拍摄的照片,它们在实质上相同的脸部姿势范围内、但在偏转方面有所不同。
32.如权利要求25中所定义的方法,其特征在于其中,该脸部姿势范围在这第一和第二幅脸部图像中有所不同,其偏转的不同之处不超过约十度(10°)。
33.如权利要求25中所定义的方法,其特征在于其中这第一幅脸部图像是人脸的正面全照;以及,这第二幅脸部图像不同于这第一幅脸部图像,偏转不超过约十度(10°)。
34.如权利要求25中所定义的方法,其特征在于其中,关于每个所述点的该局部纹理包括该点处的或邻近该点的光度数据。
35.如权利要求25中所定义的方法,其特征在于进一步包括通过分别使用这第一模型和这第二模型的内部与外部脸部特征的该输出表示,来识别数据库中的某人的脸部,该脸部与这第一和第二幅脸部图像中的至少一幅脸部图像相匹配。
36.一种包括指令的计算机可读介质,其特征在于当被执行时,这些指令执行权利要求25的方法。
37.一种装置,其特征在于包括存储器,包括一个或多个程序;脸部模型的外部和内部脸部特征,每个脸部特征由多个点来表示;第一幅脸部图像;以及,第二幅脸部图像;一个或多个处理器,它们被配置成执行该存储器中的这一个或多个程序,以执行一些步骤,这些步骤包括使该脸部模型的外部和内部脸部特征的这多个点与以下内容相匹配关于这第一幅脸部图像的第一模型的脸部特征;以及,关于这第二幅脸部图像的第二模型的脸部特征;使用关于这第一和第二模型的该对应的表极约束,来调整关于这第一和第二模型的每个所述匹配的外部和内部脸部特征的这多个点;以及,重复该匹配步骤和调整步骤,直到关于与该脸部模型的脸部特征相匹配的这第一模型上的这些外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于预定收敛容差的相对偏移;以及,关于与该脸部模型的脸部特征相匹配的这第一模型上的这些外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于该预定收敛容差的相对偏移。
38.如权利要求37中所定义的装置,其特征在于其中,这些步骤进一步包括输出这第一和第二模型中的每个模型的表示,每个模型包括其各自的内部和外部脸部特征。
39.如权利要求37中所定义的装置,其特征在于其中这些内部脸部特征包括鼻子、嘴和一双眼睛;以及,这些外部脸部特征包括该脸部的精确的底部边缘和一对眉毛。
40.如权利要求37中所定义的装置,其特征在于其中,从小组中选择这多个点和对应的所述内部脸部特征,该小组包括对应于嘴的多个嘴角;对应于眼睛的多个眼角;以及,对应于鼻子的鼻尖。
41.如权利要求37中所定义的装置,其特征在于其中,这第一和第二幅脸部图像是在实质上相同的各自的照相机方位处捕捉到的同一脸部。
42.如权利要求41中所定义的装置,其特征在于其中,这第一和第二幅脸部图像的各自的脸部姿势是实质上在斜度方面相同;实质上在滚动方面相同;以及,在偏转方面不同,范围从约3度到约10度不等。
43.如权利要求37中所定义的装置,其特征在于其中,这第一和第二幅脸部图像是在同一脸部的实质上相同的各自的照相机方位处拍摄的照片,它们在实质上相同的脸部姿势范围内、但在偏转方面有所不同。
44.如权利要求37中所定义的装置,其特征在于其中,该脸部姿势范围在这第一和第二幅脸部图像中有所不同,其偏转的不同之处不超过约十度(10°)。
45.如权利要求37中所定义的装置,其特征在于其中这第一幅脸部图像是人脸的正面全照;以及,这第二幅脸部图像不同于这第一幅脸部图像,偏转不超过约十度(10°)。
46.一种装置,其特征在于包括工具,用于使用具有每个都包括多个点的外部和内部脸部特征的脸部模型,来对关于各自的第一和第二脸部图像的第一和第二模型进行初始化,其中,这第一和第二模型中的每个模型具有每个都包括多个点的外部和内部脸部特征;工具,用于为这第一和第二模型估计基本矩阵;工具,用于通过使用关于每个所述点的该各自的局部纹理,来更新关于这第一和第二模型的每个所述内部和外部脸部特征的这多个点;工具,用于更新这第一和第二模型的每个所述内部脸部特征;工具,用于使用该基本矩阵和该对应的表极约束,来更新关于这第一和第二模型的这些内部脸部特征中的每个脸部特征的这多个点;以及,工具,用于使用关于这第一和第二模型的这些内部脸部特征中的每个脸部特征的这多个点,来更新这第一和第二模型的每个所述外部脸部特征。
47.如权利要求46中所定义的装置,其特征在于进一步包括工具,如果关于与该脸部模型的脸部特征相匹配的这第一模型上的这些外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于预定收敛容差的相对偏移,则用于输出这第一模型的内部和外部脸部特征的表示;以及,工具,如果关于与该脸部模型的脸部特征相匹配的这第一模型上的这些外部和内部脸部特征中的每个脸部特征的这些大多数点具有其间不大于该预定收敛容差的相对偏移,则用于输出这第二模型的内部和外部脸部特征的表示。
48.如权利要求46中所定义的装置,其特征在于其中这些内部脸部特征包括鼻子、嘴和一双眼睛;以及,这些外部脸部特征包括该脸部的精确的底部边缘和一对眉毛。
49.如权利要求48中所定义的装置,其特征在于其中对应于该嘴的该内部脸部特征的这多个点包括多个嘴角;对应于每只所述眼睛的该内部脸部特征的这多个点包括多个眼角;以及,对应于该鼻子的该内部脸部特征的这多个点包括鼻尖。
50.如权利要求46中所定义的装置,其特征在于其中,这第一和第二幅脸部图像是在实质上相同的各自的照相机方位处捕捉到的同一脸部。
51.如权利要求46中所定义的装置,其特征在于其中,这第一和第二幅脸部图像的各自的脸部姿势是实质上在斜度方面相同;实质上在滚动方面相同;以及,在偏转方面不同,范围从约3度到约10度不等。
52.如权利要求46中所定义的装置,其特征在于其中,这第一和第二幅脸部图像是在同一脸部的实质上相同的各自的照相机方位处拍摄的照片,它们在实质上相同的脸部姿势范围内、但在偏转方面有所不同。
53.如权利要求46中所定义的装置,其特征在于其中,该脸部姿势范围在这第一和第二幅脸部图像中有所不同,其偏转的不同之处不超过约十度(10°)。
54.如权利要求46中所定义的装置,其特征在于其中这第一幅脸部图像是人脸的正面全照;以及,这第二幅脸部图像不同于这第一幅脸部图像,偏转不超过约十度(10°)。
55.如权利要求46中所定义的装置,其特征在于其中,关于每个所述点的该局部纹理包括该点处的或邻近该点的光度数据。
全文摘要
具有外部和内部脸部特征的脸部模型与第一和第二模型的脸部特征相匹配。这第一和第二模型的每个脸部特征由多个点来表示,使用1)关于这第一和第二模型的这些内部特征的该对应的表极约束、以及2)这第一和第二模型的外部和内部特征的局部灰度级结构,来为这第一和第二模型的每个外部和内部脸部特征的匹配调整这多个点。为这第一和第二模型中的每个模型重复该匹配和该调整,直到关于被发现与该脸部模型的脸部特征相匹配的这各自的第一和第二模型上的这些外部和内部脸部特征中的每个脸部特征的这些点具有其间不大于预定收敛容差的相对偏移。这些内部脸部特征可以包括一双眼睛、鼻子和嘴。这些外部脸部特征可以包括一对眉毛,以及该上颚、下巴和脸颊的轮廓。
文档编号G01B11/24GK1577379SQ20041006325
公开日2005年2月9日 申请日期2004年6月30日 优先权日2003年6月30日
发明者顾烈, L·子青, H·J·张 申请人:微软公司