区分真人面部与平坦表面的制作方法

文档序号:6360839阅读:184来源:国知局
专利名称:区分真人面部与平坦表面的制作方法
区分真人面部与平坦表面
背景技术
常常通过只允许所选择的个人访问各种系统或位置来保持个人或企业的隐私。用于限制访问的自动化系统通常具有用户本身的身份,并且所述系统于是认证用户所提供的标识。但是这样的自动化系统也存在其问题。这方面的一个问题在于,自动化系统难以在真实的用户标识与伪造的或错误的用户标识之间进行区分。这样的自动化系统的错误认证可能会导致尽管希望限制个人访问某些系统或位置但是其仍然被允许访问这样的系统或位置。

发明内容
提供本概要是为了以简化形式介绍将在下面的详细描述部分中进一步描述的概念的选择。本概要不意图标识出所要求保护的主题内容的关键特征或本质特征,也不意图被用来限制所要求保护的主题内容的范围。根据一个或更多方面,访问包括由用户呈现的面部的多幅图像。基于所述多幅图像,确定包括在所述多幅图像中的面部是3维(3D)结构还是平坦表面。如果确定包括在所述多幅图像中的面部是3维结构,则提供表明用户可以被认证的指示。但是如果确定包括在所述多幅图像中的面部是平坦表面,则提供表明用户无法被认证的指示。根据一个或更多方面,访问包括由用户呈现的面部的多幅图像。基于所述多幅图像,确定在所述面部的一个或更多组成部分(例如眼睛、嘴等等)中是否存在运动。如果确定在所述面部的一个或更多组成部分中存在运动,则提供表明用户可以被认证的指示。但是如果确定在所述面部的一个或更多组成部分中不存在运动,则提供表明用户无法被认证的指示。


相同的附图标记在各幅图中始终被用来指代相同的特征。图1示出了根据一个或更多实施例的实施真人面部与平坦表面的区分的示例性系统。图2是示出了根据一个或更多实施例的用于区分真人面部与平坦表面的示例性处理的流程图。图3是示出了根据一个或更多实施例的使用基于同形的技术来确定多幅图像中的面部是3D结构还是平坦表面的示例性处理的流程图。图4是示出了根据一个或更多实施例的使用来自运动估计技术的结构来确定多幅图像中的面部是3D结构还是平坦表面的示例性处理的流程图。图5是示出了根据一个或更多实施例的用于确定在面部的一个或更多组成部分中是否存在运动的示例性处理的流程图。图6示出了根据一个或更多实施例的可以被配置成实施真人面部与平坦表面的区分的示例性计算设备。
具体实施例方式在这里讨论区分真人面部与平坦表面。为了针对特定访问(例如访问计算机或网络、访问建筑物或其他位置等等)认证用户,捕获并分析由用户呈现的面部的多幅图像。由用户呈现的面部可以是用户的实际面部,或者可以是由冒充者呈现的用户面部的照片。尝试确定图像包括真人面部(例如所捕获的图像属于真人)还是面部照片。如果确定图像包括真人面部,则假设由用户呈现的面部是请求特定访问的实际用户的面部,并且可以针对访问认证用户。但是如果确定图像包括照片,则假设由用户呈现的面部是使用照片的冒充者的面部,并且无法针对访问认证用户。图1示出了根据一个或更多实施例的实施真人面部与平坦表面的区分的示例性系统100。系统100包括图像捕获组件102和真人面部检测模块104。图像捕获组件102和真人面部检测模块104可以分别由一个或更多计算设备实施。多种不同类型的计算设备可以被用来实施图像捕获组件102和真人面部检测模块104,比如台式计算机、膝上型或笔记本计算机、记事本计算机、移动站、娱乐电器、可通信地耦合到显示设备的机顶盒、电视、蜂窝或其他无线电话、数字摄影机或视频摄影机、游戏机、汽车计算机等等。图像捕获组件102和真人面部检测模块104可以被实施为同一计算设备的一部分,或者可替换地可以被实施为单独的设备。当被实施为单独的设备时,实施图像捕获组件102和真人面部检测模块104的设备可以通过多种不同网络当中的任一种彼此通信,比如因特网、局域网(LAN)、公共电话网、内联网、其他公共和/或专有网络或者其组合等等。可替换地,当被实施为单独的设备时,实施图像捕获组件102和真人面部检测模块104的设备可以通过其他有线和/或无线连接机制彼此通信,比如通用串行总线(USB)、无线USB、Bluetooth、射频等等。系统100是访问控制系统的一部分或者与之通信。这样的访问控制系统可以被用来限制对于特定系统、资源、位置等等的访问。举例来说,系统100可以被用在访问控制系统中,其限制哪些用户可以访问(例如进入)特定建筑物、哪些用户可以访问(例如登录)特定计算设备、哪些用户可以访问(例如登录)特定网络等等。系统100通过确定图像包括真人面部还是面部照片而促进限制这样的访问,正如下面将更加详细地描述的那样。图像捕获组件102捕获分别包括由用户108呈现的面部的多幅图像106,并且使得图像106可用于真人面部检测模块104。图像捕获组件102可以通过多种不同方式捕获图像106,比如使用各种数字成像技术(例如电荷耦合设备(CXD)、互补金属氧化物半导体(CMOS)传感器等等)。通常来说,用户108将其自己呈现到图像捕获组件102,从而允许组件102捕获用户108的图像106。在这种情况下,由用户108呈现的面部是真人的面部,并且包括在图像106中的面部是真人的面部。但是冒充者可能试图通过向图像捕获组件102呈现他人面部的照片来蒙混访问控制系统。在这种情况下,由用户108呈现的面部是照片,并且包括在图像106中的面部是所述面部的照片。真人面部检测模块104分析图像106以便确定图像106包括真人面部还是面部照片,并且输出表明图像106包括真人面部还是面部照片的指示110。指示110例如可以是用以表明图像106包括真人面部的第一值(例如“真人”、“是”、“认证”等等)以及用以表明图像106包括面部照片的第二值(例如“照片”、“否”、“不认证”等等)。真人面部指的是实际人类的面部(即图像捕获组件102捕获到实际人类的图像)而不是人类面部的照片。如果检测模块104确定图像106包括真人面部,则真人面部指示110表明图像106包括真人面部。在这种情况下,真人面部指示110表明可以针对访问(例如用户108请求访问的任何系统、资源、位置等等)认证用户108,这是因为认定作为用户108的实际人类正请求特定访问。对于用户108的认证可以由另一个组件或模块(未示出)通过多种不同方式施行,比如通过把一个或更多图像106与先前捕获的用户108的图像进行比较。可替换地,可以在模块104施行的真人面部检测之前施行认证,在这种情况下,真人面部指示110表明对于用户108的任何先前认证是有效的。但是如果确定图像106包括平坦表面上的面部,则认定用户108是使用照片的冒充者。在这种情况下,真人面部指示110表明无法针对访问(例如用户108请求访问的任何系统、资源、位置等等)认证用户108,这是因为认定用户108是请求特定访问的冒充者。如果用户108在由模块104施行的真人面部检测之前被另一个组件或模块(未示出)认证,则真人面部指示110表明对于用户108的任何先前认证是无效的。真人面部检测模块104可以通过多种不同方式确定图像106包括真人面部还是面部照片。在一个或更多实施例中,真人面部检测模块104包括3维(3D)结构确定模块112和面部组成部分移动确定模块114的其中之一或全部二者。通常来说,3D结构确定模块112确定图像106包括作为3D结构(例如实际人类)的面部还是平坦表面(例如相片),并且面部组成部分移动确定模块114确定在图像106中的面部的一个或更多组成部分中是否存在运动。下面将更加详细地讨论由模块112和114做出这些确定的方式。图2是示出了根据一个或更多实施例的用于区分真人面部与平坦表面的示例性处理200的流程图。处理200由真人面部检测模块实施,比如图1的真人面部检测模块104,并且可以用软件、固件、硬件或其组合来实施。处理200被显示为步骤集合,并且不限于针对施行各个步骤的操作所示出的顺序。处理200是用于区分真人面部与平坦表面的示例性处理;在这里参照不同的附图包括了关于区分真人面部与平坦表面的附加讨论。在处理200中,访问包括由用户呈现的面部的多幅图像(步骤202)。所述多幅图像可以是包括真人面部的图像或者包括面部照片的图像。所述多幅图像是由图像捕获组件(例如图1的图像捕获组件102)捕获的图像。可以在步骤202中通过多种不同方式来访问所述多幅图像,比如响应于发送到图像捕获组件的针对所述多幅图像的请求而接收、响应于发送到另一个组件或设备的请求而接收(其中所述图像由图像捕获组件存储)、(例如从图像捕获组件)被流送或推送到实施处理200的真人面部检测模块的图像等等。处理200继续确定所述面部是3D结构还是平坦表面(步骤204),并且/或者确定在面部的一个或更多组成部分中是否存在运动(步骤206)。可以施行步骤204和206的其中之一,或者可替换地可以施行全部两个步骤204和206。如果施行全部两个步骤204和206,则可以同时施行步骤204和206,或者可替换地可以先施行步骤204和206的其中之一并且随后施行步骤204和206当中的另一步骤。处理200基于所述面部是否被确定为3D结构以及/或者在一个或更多面部组成部分中是否存在运动而继续(步骤208)。如果面部被确定为3D结构并且/或者在一个或更多面部组成部分中存在运动,则确定图像106包括真人面部并且提供表明可以认证用户的指示(步骤210)。但是如果面部被确定为平坦表面并且/或者在一个或更多面部组成部分中不存在运动,则确定图像106不包括真人面部并且提供表明无法认证用户的指示(步骤212)。如果步骤204和206都被施行,则只有在步骤204中将面部确定为3D结构并且同时在步骤206中确定在一个或更多面部组成部分中存在运动的情况下,才能确定图像106包括真人面部。可替换地,在步骤204和206都被施行的情况下,如果在步骤204中将面部确定为3D结构以及在步骤206中确定在一个或更多面部组成部分中存在运动二者当中的至少一项成立,就可以确定图像106包括真人面部。回到图1,在一个或更多实施例中,3D结构确定模块112使用基于同形的技术来确定包括在图像106中的面部是3D结构还是平坦表面。可替换地也可以使用其他技术,比如来自运动估计技术的结构。基于同形的技术使用3x3同形矩阵,其在这里也被称作矩阵H。基于同形的技术利用以下事实平坦(平面状)表面的两个视图基于同形矩阵H而相关。相应地,在分析第一图像和第二图像时,可以利用同形矩阵H扭曲或变换第一图像从而生成扭曲图像。随后把扭曲图像与第二图像进行比较。如果第一和第二图像是平坦表面(例如面部的照片)的视图,则扭曲图像将与第二图像相似。因此,如果第二图像与扭曲图像之间的差异较小(例如低于一定阈值),则第一和第二图像包括作为平坦表面而非真人面部的面部。但是如果第二图像与扭曲图像之间的差异较大(例如至少是一定阈值),则第一和第二图像包括作为真人面部而非平坦表面的面部。图3是示出了根据一个或更多实施例的使用基于同形的技术来确定多幅图像中的面部是3D结构还是平坦表面的示例性处理300的流程图。处理300由3D结构确定模块实施,比如图1的3D结构确定模块112,并且可以用软件、固件、硬件或其组合来实施。处理300例如可以实施图2的步骤204。处理300被显示为步骤集合,并且不限于针对施行各个步骤的操作所示出的顺序。在处理300中,从两幅图像中提取出一个或更多特征点,所述两幅图像在处理300中被称作第一和第二图像(步骤302)。第一和第二图像分别包括同一人的面部,并且例如可以是图1的图像106。所述一个或更多特征点是第一和第二图像中的面部的特征点。可以提取多种不同的特征点,比如眼角、嘴角、鼻尖等等。每一个特征点可以是单个像素或者包括多个像素的一个区段。可以通过多种不同的传统方式提取这些特征点,比如使用模板匹配算法、特征匹配算法等等。在一个或更多实施例中,在Zhang等人的“A RobustTechnique for Matching Two Uncalibrated Images Through the Recovery of theUnknown Epipolar Geometry,,(French National Institute for Research in ComputerScience and Control, 1994年)中讨论了用于提取特征点的技术。在第一和第二图像上匹配在步骤302中提取的特征点(步骤304)。在第一和第二图像上针对特征点的这一匹配指的是识别出两幅图像当中的每一幅中的相同特征点的位置。举例来说,识别出第一和第二图像中的面部中的同一只眼的同一眼角的位置。可以通过多种不同的传统方式来施行第一和第二图像之间的特征点匹配,比如使用模板匹配技术、特征匹配技术等等。在匹配之后就知晓两幅图像上的匹配特征点以及两幅图像中的处于这些特征的匹配特征点内的相应像素。生成第一和第二图像之间的同形矩阵H (步骤306)。第一和第二图像如下通过同形矩阵H相关x'=Mx
其中i指代第一图像中的位置指代第二图像中的位置,H指代同形矩阵,并且』指代非零标量值。第一图像中的位置被表示成[ivf,其中《和r是第一图像中的位置的坐标。第二图像中的位置被表示成其中V和V1是第二图像中的位置的坐标。当计算同形矩阵H时,f = b,v,l]T ,并且=。给定两幅图像中的两个位置并且;是
两幅图像当中的第一幅中的位置,计算同形矩阵H,这是通过确定使得通过;计算的F与第二图像中的实际位置之间的差异较小的同形矩阵H而实现的。可以通过不同方式来确定该同形矩阵,比如利用多种传统算法当中的任一种来确定通过P= 2HS计算的与第二图像中的实际位置之间的差异被最小化、低于一定阈值等等。在一个或更多实施例中,可以从两幅图像中的4对或更多对相应位置确定同形矩阵,正如下面将描述的那样。设

权利要求
1.一种方法,其包括 访问包括由用户呈现的面部的多幅图像; 基于所述多幅图像,确定包括在所述多幅图像中的面部是3维结构还是平坦表面; 如果包括在所述多幅图像中的面部是3维结构,则表明用户可以被认证;以及 如果包括在所述多幅图像中的面部是平坦表面,则表明用户无法被认证。
2.如权利要求I所述的方法,其中,确定包括在所述多幅图像中的面部是3维结构还是平坦表面包括 访问所述多幅图像当中的第一图像和第二图像; 通过利用同形矩阵扭曲第一图像而生成扭曲图像; 确定扭曲图像与第二图像之间的图像差异;以及 如果扭曲图像与第二图像之间的差异满足一定阈值则确定包括在所述多幅图像中的面部是3维结构,否则确定包括在所述多幅图像中的面部是平坦表面。
3.如权利要求2所述的方法,其还包括 提取出来自第一图像的一个或更多特征点以及来自第二图像的一个或更多特征点; 在第一图像与第二图像上匹配特征点;以及 使用在第一图像与第二图像上匹配的特征点来生成同形矩阵。
4.如权利要求2所述的方法,其中,确定所述图像差异包括识别出第一图像中的第一子区段集合、第二图像中的第二子区段集合,以及确定第一子区段集合与第二子区段集合中的像素的颜色值之间的差。
5.如权利要求2所述的方法,其还包括 重复访问第一图像和第二图像、生成扭曲图像以及针对所述多幅图像的多个图像对确定图像差异; 利用针对所述多个图像对所确定的图像差异来确定包括在所述多幅图像中的面部是3维结构还是平坦表面。
6.如权利要求2所述的方法,其中,所述多幅图像包括由三幅或更多幅图像构成的序列,并且其中所述由三幅或更多幅图像构成的序列中的一幅或更多幅中间图像处于所述由三幅或更多幅图像构成的序列中的第一图像与第二图像之间。
7.如权利要求I所述的方法,其中,确定包括在所述多幅图像中的面部是3维结构还是平坦表面包括 访问所述多幅图像当中的第一图像和第二图像; 利用来自运动估计的结构基于第一图像和第二图像重建3维场景; 把所述3维场景拟合到平面; 分析拟合到所述平面的3维场景的特性;以及 如果所述特性满足一定阈值则确定包括在所述多幅图像中的面部是3维结构,否则确定包括在所述多幅图像中的面部是平坦表面。
8.如权利要求7所述的方法,其还包括 提取出来自第一图像的一个或更多特征点以及来自第二图像的一个或更多特征点; 在第一图像与第二图像上匹配特征点;以及 使用在第一图像与第二图像上匹配的特征点来重建所述3维场景。
9.如权利要求7所述的方法,其中,所述分析包括 生成作为所述重建3维场景中的特征与所述平面之间的距离的第一值; 生成作为所述平面上的两个面部组成部分之间的距离的第二值;以及 计算第一值与第二值的比值。
10.如权利要求7所述的方法,其还包括 重复访问第一图像和第二图像、重建3维场景以及针对所述多幅图像的多个图像对确定所述面部是3维结构还是平坦表面; 利用针对所述多个图像对确定所述面部是3维结构还是平坦表面来确定包括在所述多幅图像中的面部是3维结构还是平坦表面。
11.如权利要求I所述的方法,其还包括 基于所述多幅图像确定在所述面部的一个或更多组成部分中是否存在运动;以及只有在包括在所述多幅图像中的面部是3维结构并且同时在所述面部的一个或更多组成部分中存在运动的情况下,才表明用户可以被认证。
12.—种计算设备,其包括 处理器;以及 其中存储有多条指令的一个或更多计算机可读介质,当由处理器执行时,所述指令使得处理器访问包括由用户呈现的面部的多幅图像;基于所述多幅图像,确定在所述面部的一个或更多组成部分中是否存在运动;如果在所述面部的一个或更多组成部分中存在运动,则表明用户可以被认证;以及如果在所述面部的一个或更多组成部分中不存在运动,则表明用户无法被认证。
13.如权利要求12所述的计算设备,其中,要确定在所述面部的一个或更多组成部分中是否存在运动即是要 从所述多幅图像当中的每一幅提取出面部组成部分; 在所述多幅图像上匹配面部组成部分; 确定所述多幅图像当中的两幅之间的面部组成部分差异;以及至少部分地基于所述多幅图像当中的两幅之间的面部组成部分差异来确定在所述一个或更多组成部分中是否存在运动。
14.如权利要求13所述的计算设备,其中,要确定在所述面部的一个或更多组成部分中是否存在运动即是要在所述多幅图像当中的两幅之间的面部组成部分差异满足一定阈值的情况下确定在所述一个或更多组成部分中存在运动。
15.如权利要求12所述的计算设备,其中,所述多条指令还使得所述一个或更多处理器 基于所述多幅图像确定包括在所述多幅图像中的面部是3维结构还是平坦表面;以及只有在包括在所述多幅图像中的面部是3维结构以及在所述面部的一个或更多组成部分中存在运动这两个条件的其中之一或全部二者成立的情况下,才表明用户可以被认证。
全文摘要
访问包括由用户呈现的面部的多幅图像。基于所述多幅图像做出一项或更多项确定,比如确定包括在所述多幅图像中的面部是3维结构还是平坦表面,以及/或者确定在一个或更多面部组成部分(例如眼睛或嘴)中是否存在运动。如果确定包括在所述多幅图像中的面部是3维结构或者确定在一个或更多面部组成部分中存在运动,则提供表明用户可以被认证的指示。但是如果确定包括在所述多幅图像中的面部是平坦表面或者确定在一个或更多面部组成部分中不存在运动,则提供表明用户无法被认证的指示。
文档编号G06K9/46GK102985933SQ201180028586
公开日2013年3月20日 申请日期2011年5月26日 优先权日2010年6月8日
发明者Z.张, Q.蔡, P.R.凯塞尔曼, A.H.贝克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1