用于图像识别的面部印记生成转让专利

申请号 : CN201280060598.2

文献号 : CN104054091B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伊万·科夫通沃洛季米尔·屈科尤里·S·穆萨坚科迈克尔·杰森·米图拉劳伦特·吉尔

申请人 : 视德公司

摘要 :

服务器确定表示在客户端设备处多个被识别的用户的多个面部印记。每个面部印记包含用来识别在客户端设备中捕获的媒体中检测出的用户的面部图像的、用于给定用户的多个参考图像。基于在客户端设备中捕获的图像中可能被检测到的用户,被传送到客户端设备的面部印记对于客户端设备被确定。基于它们在标识在客户端设备中捕获的图像中可能被检测到的用户的识别值,由服务器选择具有传送到客户端设备的给定面部印记的参考图像。

权利要求 :

1.一种用于优化给定用户的面部印记的计算机实现方法,所述面部印记包括用于在客户端处设备执行面部识别的多个参考图像,所述优化包括:计算面部候选与在多个用户中的所述给定用户的所述面部印记的所述多个参考图像之间的一个或多个距离,所述面部候选被评估以确定对于所述客户端设备优化的面部印记;

在所述多个参考图像中选择具有到所述面部候选的一个或多个最小距离的参考图像集;

计算所述面部候选与所述多个用户中的其他用户的面部印记中的参考图像之间的距离,以及所述参考图像集与所述多个用户中的其他用户的面部印记中的所述参考图像之间的距离;

从所述面部候选以及所述参考图像集中选择具有到所述多个用户中的其他用户的面部印记中的所述参考图像的一个或多个最大距离的、减少的参考图像集;以及将所述减少的参考图像集提供给在所述优化的面部印记中的所述客户端设备,其中,具有到所述多个用户中的其他用户的面部印记中的所述参考图像的一个或多个最大距离的、所述减少的参考图像集减少了提供错误肯定识别结果的比较的数目。

2.根据权利要求1所述的计算机实现方法,其中,所述面部候选是所述给定用户的新的图像。

3.根据权利要求1所述的计算机实现方法,其中,在所述多个参考图像中选择具有到面部候选的一个或多个最小距离的所述参考图像集包括:基于最接近的参考图像的方位标识所述面部候选的近似方位。

4.根据权利要求1所述的计算机实现方法,其中,如果到参考图像的最小距离低于阈值,则所述面部候选被拒绝,所述阈值指示所述面部候选未提供作为参考图像的额外的识别值。

5.根据权利要求4所述的计算机实现方法,其中,对于具有所述最小距离的所述参考图像的存在率响应于所述面部候选的拒绝而增加,所述存在率指示所述参考图像的所述识别值。

6.根据权利要求1所述的计算机实现方法,进一步包括所述减少的参考图像集的分析以标识所述用户面部的缺失的方位并且在所述缺失的方位处生成补充的参考图像,所述生成包括:从所述减少的参考图像集中选择具有与所述缺失的方位最近的方位的参考图像;

从所述参考图像中创建所述用户的3D面部表示;以及

将3维表示旋转到所述缺失的方位以捕获2维图像用于补充所述减少的参考图像集。

7.一种用于优化给定用户的面部印记的系统,所述面部印记包括用于在客户端设备处执行面部识别的多个参考图像,所述系统包括:面部印记服务器,所述面部印记服务器被配置为优化在多个用户中的所述给定用户的所述面部印记,所述优化包括以下步骤:计算面部候选与在所述多个用户中的所述给定用户的所述面部印记的所述多个参考图像之间的一个或多个距离,所述面部候选被评估以确定优化的面部印记;

在所述多个参考图像中选择具有到所述面部候选的一个或多个最小距离的参考图像集;

计算所述面部候选与所述多个用户中的其他用户的面部印记中的参考图像之间的距离,以及所述参考图像集与所述多个用户中的其他用户的面部印记中的所述参考图像之间的距离;以及从所述面部候选以及所述参考图像集中选择具有到所述多个用户中的其他用户的面部印记中的所述参考图像的一个或多个最大距离的减少的参考图像集,对于所述用户的所述优化的面部印记包括所述减少的参考图像集;以及识别模块,所述识别模块被配置为接收所述优化的面部印记以及用于多个其他用户的所述面部印记,以用于识别在所述客户端设备处捕获的图像中的一个或多个用户,其中,具有到所述多个用户中的其他用户的面部印记中的所述参考图像的一个或多个最大距离的、所述减少的参考图像集减少了在所述识别模块处提供错误肯定识别结果的比较的数目。

8.根据权利要求7所述的系统,其中,所述面部候选是从所述识别模块接收的所述给定用户的新的图像。

9.根据权利要求7所述的系统,其中,在所述多个参考图像中选择具有到面部候选的一个或多个最小距离的所述参考图像集包括:基于最接近的参考图像的方位标识所述面部候选的近似方位。

10.根据权利要求7所述的系统,其中,如果到参考图像的最小距离低于阈值,则所述面部候选被拒绝,所述阈值指示所述面部候选未提供作为参考图像的额外的识别值。

说明书 :

用于图像识别的面部印记生成

[0001] 相关申请的交叉引用
[0002] 本申请要求于2011年12月9日提交的美国临时申请第61/569,168号和于2011年12月9日提交的美国临时申请第61/569,171号的权益,其通过引用而被整体结合于此。

技术领域

[0003] 本公开涉及面部图像比较和面部识别领域。

背景技术

[0004] 当用户选择从其便携设备经由网络上传媒体内容,例如到网站或另一用户设备时,用户时常执行手动的面部与对象关联操作,并提供哪些用户应当接收或被允许查看媒体内容的选择。例如,用户可以通过在线媒体分享服务器注释、分类或组织图像和视频,来与其他用户分享媒体,如果用户标记了它们,则这些可通过媒体可被用于查看的服务而被通知。时常地,然而,用户没有时间或精力来手动执行这些操作。通过面部和对象识别的自动操作,花在分类、注释、标记等上的用户时间可以被减到最少。
[0005] 然而,在移动设备上很难将识别技术应用到诸如视频和图像的媒体上。一些难点涉及测量视频对象之间差别的计算复杂度。在这些视频对象中的面部和对象经常被诸如亮度、定位以及表情的差异的因素影响。参考图像的大量语料库以及用于精确识别结果所需的大量的比较使这些难点进一步恶化。

附图说明

[0006] 公开的实施例具有优势和特点,优势和特点从详细的说明书、所附权利要求以及附图(或图画)将更加显而易见。下面是图片的简介。
[0007] 图1图示出能够从机器可读介质中读取指令并且在处理器(或控制器)中执行它们的示例性机器的部件的一个示例性实施例。
[0008] 图2是图示出根据一个示例性实施例的用于产生面部印记的环境的框图。
[0009] 图3是图示出根据一个示例性实施例的面部印记创建和优化的流程图。
[0010] 图4A图示出根据一个示例性实施例的使用从3D模型中的2D捕获来补充用户的面部印记的示例性情况。
[0011] 图4B图示出根据一个示例性实施例的用于为2D识别生成2D图像捕获的3D图像估计方法。

具体实施方式

[0012] 仅通过说明,附图(FIGS.)和下述说明书涉及优选实施例。值得注意的是,从下面的论述中,在此公开的结构和方法的可替换实施例将会被很容易的认作可行的替代品,其可以在不偏离所声明的原则的情况下使用。
[0013] 现将详细的参考几个实施例,在附图中图示其示例。值得注意的是,只要可行,相似或相同的附图标记都可用于附图中,并且可以指示相似或相同的功能。附图仅为说明之意描述了公开的系统(或方法)的实施例。本领域的技术人员将会容易的从以下说明书中认识到在不偏离本文描述的原则的情况下可以使用本文说明的结构和方法的替换性实施例。
[0014] 为了识别出在诸如图像和视频中检测出的面部图像,检测出的面部图像与多个具有已知身份的参考图像相比较。导致在给定的参考图像和检测出的图像之间最短距离(即,最高相似度)的比较与预先确定的阈值进行比较。大于阈值的距离拒绝该比较为识别出检测的图像,而小于阈值的距离识别该检测的图像为具有参考图像的身份。为了优化在客户端设备的面部图像识别,优选减少用于获得结果所需的比较数目和/或比较的计算强度。优化这些因素使客户端设备能够减少执行识别所需的时间和/或处理功率,因此在不降低电池供电设备的使用性的情况下为用户提供更快的结果。
[0015] 在实施例中,服务器传送面部印记集到客户端设备,这面部印记集优化在客户端设备中执行的面部图像识别。通过减少客户端设备在捕获的媒体中获得识别结果所需的比较数目,该服务器可以优化在客户端设备的面部图像的识别。该服务器标识具有相关联的面部印记的用户的子集,该面部印记很可能出现在由客户端设备捕获/上传的图像中。因此,服务器将仅关于用户的子集的面部印记传送到客户端设备。
[0016] 服务器可以通过与客户端设备相关联的图像以及客户端设备的用户的分析来标识用户的子集。具体地,某些实施例,服务器可以从指示伴随着用户出现的用户的身份的社交网络服务以及在由用户利用客户端设备捕获的图像中检索图像。
[0017] 此外,服务器可以优化用于执行用户识别的参考图像的选择。具体地,当与用于在客户端设备上执行识别的其他参考图像比较时,服务器可以选择用在基于参考图像的独特性标识用户的参考图像。服务器可以基于与表示客户端设备上的其他用户的其他参考图像的距离来表示参考图像的独特性。表示不同人的参考图像之间的距离越大,更多的参考图像可以在距离计算之前被压缩或者使用更少的计算密集型计算被比较。
[0018] 预计随着处理能力的增强,客户端设备可以执行上面描述的服务器的操作。
[0019] 计算机器结构
[0020] 图(图)1是图示出能够从机器可读介质中读取指令并且在处理器(或控制器)中执行它们的示例性机器的部件的框图。具体地,图1示出以计算机系统100的示例性形式的机器的图示表示,在计算机系统100中可以执行用于使机器执行任何一个或多个本文描述的方法的指令124(例如,软件)。在可替换的实施例中,机器作为独立的设备操作或者可以被连接(例如,联网)到其他机器。在联网的部署中,机器可以在服务器-客户端设备网络环境中以服务器机器或客户端设备机器的能力来操作,或者在点对点(或分布式)网络环境中作为对等机器来操作。
[0021] 机器可以是服务器计算机、客户端设备计算机、个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝或移动电话、智能手机、互联网或网络应用、可穿戴式计算机、网络路由器、交换机或网桥或者任何能够执行指定要由该机器采取的动作的指令124(顺序或其它)的机器。此外,尽管只图示了单个机器,但是术语“机器”应该也被认为包括独立地或共同地执行指令124以进行任何一个或多个本文描述的方法的机器的任何集合。
[0022] 示例性计算机系统100包括一个或多个处理器102(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个射频集成电路(RFIC)或这些的任意组合),主存储器104,以及静态存储器106,其被配置为经由总线108来彼此通信。计算机系统100可以进一步包括图形显示单元110(例如,等离子显示板(PDP)、有机发光二极管(OLED)(包括AMOLED和超AMOLED类型)、液晶显示器(LCD)、投影仪或阴极射线管(CRT))。计算机系统100还可以包括字母数字输入设备112(例如,键盘)、光标控制装置114(例如,鼠标、轨迹球、控制杆、运动传感器或其他指示仪器)、存储单元116、信号生成设备118(例如,扬声器)以及网络接口设备120,其也被配置为经由总线108来通信。另外,语音分析器或面部特征识别器可以用作输入设备代替字母数字输入设备112。
[0023] 存储单元116包括机器可读介质122,在其上存储体现一个或多个本文描述的方法或功能的指令124(例如,软件)。指令124(例如,软件)在由计算机系统100执行它的过程中,还可以完全的或至少部分的驻留于主存储器104或处理器102中(例如,在处理器的缓存存储器中),该主存储器104和处理器102也组成机器可读介质。指令124(例如,软件)可以经由网络接口设备120在网络126上被发送或接收。
[0024] 尽管在示例性实施例中作为单个媒体示出机器可读介质122,但是术语“机器可读介质”应当被认为包括能够存储非临时性数据或指令(例如,指令124)的单个介质或多个介质(例如,集中或分布式数据库,或相关联的缓存和服务器)。术语“机器可读介质”还应该被认为包括任何能够存储用于由机器执行的并且使机器执行任何一个或多个本文描述的方法的指令(例如,指令124)的介质。术语“机器可读介质”包括但不限于以固态存储器、光学媒体以及磁性媒体形式的数据储存库。
[0025] 用于创建和优化面部印记的示例性环境
[0026] 未知面部图像的识别经常是经由将输入的面部图像与存储在数据库中的多个参考面部图像比较来执行的。经常地,输入的面部图像和存储的参考图像相互不足够匹配以提供快速识别结果。例如,输入的面部图像可以具有偏离参考图像的任意空间方位、大小、照明条件、对比度等。此外,存储于数据库中的图像的质量和方位可能不足够合适并且其数量太大以至于很难提供与输入图像的快速实时比较,尤其在使用便携设备时。
[0027] 根据一个实施例,通过面部印记服务器执行包含用于标识特定人或对象的面部图像的参考图像集的面部印记的创建、处理以及管理。根据下面详细介绍的方法,面部印记服务器创建并且优化人的面部印记以在使用通过机器可读介质和/或网络访问的图像的便携设备处被识别。
[0028] 图2是图示出根据一个示例性实施例的用于产生人的面部印记的环境200的高层框图。如图所示,环境200包括连接图像数据库250的网络126、面部印记服务器235以及客户端设备205。为清楚起见,尽管图2中只示出了一个面部印记服务器235、图像数据库250和客户端设备205,但是实施例中能够具有多个服务器235、数据库250和/或客户端设备205。服务器235、数据库250和例如205的客户端设备可以体现为如图1中所述的机器。
[0029] 网络126表示在客户端设备205和服务器235、250之间的通信路径。在一个示例性实施例中,网络126使用标准的通信技术和/或协议并且能够包括互联网。因此,网络126能够包括使用诸如以太网、802.11、全球微波接入互操作(WiMAX)、2G/3G/4G移动通信协议、数字用户线路(DSL)、异步传输模式(ATM)、无线带宽、PCI快速高级交换等技术的链路。同样地,在网络126上使用的网络协议能够包括多协议标签交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等。在网络126上交换的数据能够使用包括超文本标记语言(HTML)、可扩展标记语言(XML)、JavaScript、VBScript、FLASH,便携式文件格式(PDF)等技术和/或格式来表示。另外,使用诸如安全套接层(SSL)、传输层安全(TLS)、虚拟专用网(VPNs)、网际协议安全(IPsec)等传统加密技术可以加密所有或某些链路。在另一个实施例中,除了上述技术之外,或者替代上述技术,网络126上的实体能够使用定制和/或专用数据通信技术。
[0030] 图像数据库250是用于容纳图像255B的计算机或其他电子设备。在图示的实施例中,为清楚起见,图像数据库250表示单个实体,然而,在其他实施例中,诸如网站以及其他客户端设备205的许多其他资源可以包含可通过网络126访问的图像数据库250。例如,图像数据库250可以容纳特定用户已经上传到社交网络的图像255B。在另一个示例中,图像数据库可以容纳客户端设备205外部的图像255B的个人库。图像数据库250将图像255B的语料库提供给面部印记服务器235和客户端设备205用于面部印记的构建。
[0031] 存储于图像数据库250和客户端设备205的图像255可以包括诸如照片的静止图像或由视频帧组成的视频。此外,如本文所提到的图像,包括静止照片或从视频流或视频文件中提取的视频帧的所有或一部分。取决于该资源,可以使用不同的处理方法来隔离在媒体内容中的图像。
[0032] 客户端设备205是由一个或多个用户使用来执行用于进行各种活动的应用的计算机或其他电子设备。例如,客户端设备205能够是台式机,笔记本计算机,可穿戴式计算机或平板计算机,移动电话,游戏设备,数码相机或电视机顶盒。由客户端设备205执行的应用可以包括网页浏览器,文字处理软件,媒体播放器,游戏应用,虚拟现实应用以及服务,电子制表软件,图像处理应用,安全软件等。如上面所看到的那样,客户端设备205可以被配置为如图1中阐明的机器。
[0033] 在图示的实施例中,客户端设备205包括用于在由客户端设备收集的图像255A中识别面部的识别模块210。当图像数据呈现给用户(例如,经由数码相机、移动电话等的显示器)或者作为后期处理特征时,一旦图像被捕获用以标识包含在其中的面部,则这些识别可以被实时地执行。在一个示例性实施例中,识别模块210检测图像中存在的面部。为了标识或识别与检测到的面部相关联的人或对象,检测到的图像与已知的参考图像相比较。例如,识别模块210可以计算在检测到的面部和给定的参考图像之间的距离来执行比较。在图像间产生最小距离(最高相似度)的比较识别出检测到的面部作为在比较中使用的参考图像的面部。然而,如果最小距离大于关于肯定识别的相似度的阈值,则检测到的图像是未被识别的。
[0034] 取决于实施例,客户端设备205可以包括专用的硬件来加速识别处理。例如,客户端设备205可以包括一个或多个用于计算离散余弦变换(DCT)、动态场、仿射变换、快速傅立叶变换(FFT)的专用的数字信号处理(DSP)模块,例如,如在于2012年12月6日提交的共同未决的美国申请No.13/706,370“Motion Aligned Distance Calculations for Image Comparisons(用于图像比较的运动对准距离计算)”中所述的,其通过引用而被整体结合于此,和/或其他图像归一化和/或处理功能。在一些实施例中,上述处理可以在带有额外的指令集和/或加速的处理器102中实现。在其他实施例中,没有特别地提供用于执行面部比较的硬件加速。
[0035] 例如,当由在客户端设备205处的识别模块210执行时,面部印记服务器235生成用于识别的面部印记245。如上所述,服务器235可以被配置为如图1阐述的机器。面部印记服务器235通过网络126访问图像数据库250以检索图像255B。面部印记服务器235使用检索到的图像255B来生成面部印记245,其继而可以被识别模块210使用来标识在客户端设备205处捕获的图像255A中检测到的面部。在一些实施例中,面部印记服务器235将识别模块210提供给客户端设备205用于使用产生的面部印记245。
[0036] 在一个示例性实施例中,面部印记服务器235从与社交网络相关联的图像数据库250中检索图片255B。该社交网络可以包括描述用户账号的社交图以及与社交网络中用户相关联的图像255B。时常地,用户将他们的社交网络用户账号与他们的客户端设备205进行关联来将捕获的图像255A上传到社交网络的图像数据库250中。面部印记服务器235还可以从与一个或多个用户相关联的客户端设备,例如205,中检索图像255A。社交图还可以包括与标识社交网络中的特定用户的每个图像255B相关联的信息,诸如注释、标签、分类等。标记的用户经常出现在他们标记或上传的图像中。
[0037] 为了本发明的目的,用户可以是社交网络属性和/或例如205的客户端设备与之相关联的人或实体。例如,实体可以是现实的计算机合成的影像角色或者其他具有可标识的面部特征集(例如,对于活体对象或类似物,眼睛、鼻子、嘴、轮廓、尺寸等,对于非活体对象,正面视图或轮廓,包括头灯、徽章、栅格等)的非人类(例如,狗或汽车)。
[0038] 一旦面部印记服务器235访问一个或多个上述资源以获得用户(或多个用户)的图像255或其一部分,面部印记服务器235分析检索到的图像255来确定与特定用户相关联的图像的集合。在此,在人脸的背景下描述各种实施例,然而,如上面所阐述的,这些方法可以应用于其他具有可识别特征的实体。
[0039] 在一些实施例中,通过面部印记服务器235检索的图像255与一个人或多个人相关联。例如,一个或多个人可以在图像255中被标记。此外,唯一标识符(ID)可以与用于人的标签的相关联。例如,在社交网站上,用户通过将其他用户的唯一ID(以及因此用户属性)与图像相关联来“标记”他们出现在的图片中的其他用户。在其他实施例中,唯一ID可以表示可以在图像255中标记的对象。在其他实施例中,用户可以在图像255中标记他们的“FORD MUSTANG(福特野马)”来将图片与关于汽车的粉丝页相关联。标签可以具体地指出(例如,围绕、框出、画出轮廓等)在图像255中被标记的对象。在一个示例性实施例中,面部印记服务器235确定标记的图像255和/或在图像255中标记的区域是否包含面部。面部印记服务器235之后可以将检测到的面部与由标签指示的唯一ID相关联。
[0040] 此外,在一些实施例中面部印记服务器235可以确定检测到的面部是否是预期的类型以消除误报。例如,如果唯一ID与人相关联,则带有将同一个唯一ID与狗或房子相关联的标签的图像将会被过滤以避免进一步处理。同样地,如果唯一ID(例如,对于一组)与具体型号的汽车相关联,则缺少该汽车的样式或型号特点的被标记的区域会被过滤。因此,面部印记服务器235可以实现初始过滤,以在额外的处理之前检测图像255中所期望的面部或对象类型或者在图像中标记的区域是否存在。
[0041] 一旦从图像255中确定面部和相关联的唯一ID,面部图像可以被局部化并被提取出来(例如,使用局部化图像数据)用于处理作为面部印记候选以表示唯一ID,例如,图像中的人。在一个示例性实施例中,面部印记候选是归一化的面部图像。归一化面部图像特征,诸如方位、大小、位置、照明等,允许图像间一致的比较以确定它们之间的差异和/或相似之处。在共同未决的美国申请No.13/706,370“Motion Aligned Distance Calculations for Image Comparisons(用于图像比较的运动对准距离计算)”中所述的特征方位和归一化技术可以与本文所述的实施例共同使用。
[0042] 在一个示例性实施例中,取决于面部的初始方位,可以处理、归一化和/或格式化图像来归一化面部方位。例如,近似直接看向图像设备的面部可以被归一化为正面方位。可替换的,大多数朝向左侧面或右侧面的面部可以分别被归一化为左轮廓或右轮廓。在一些实施例中,在左侧,正面和右侧之间的水平轴上设置多个方位位置。此外,可以检测垂直轴位置来产生面部向下,直的和向上的额外方位。取决于该实施例,垂直和水平方位可以被组合和/或分开或者从一个或多个归一化的组成面部印记245的图像的最终集合中排除。
[0043] 在面部印记服务器235从面部图像中创建一个或多个归一化图像后,该归一化图像作为用于表示相关联的唯一ID的面部印记245的面部候选被处理。在一个示例性实施例中,面部候选与已经包含在用户的面部印记245中的参考图像相比较。在面部候选方位(例如,水平/垂直偏置)未知的示例中,在具有已知方位的面部印记245中的每个参考图像之间的初始比较可以指示面部候选的方位。例如,如果面部印记245包含正面图像和一些侧面图像,则对于面部候选可以计算到那些图像的距离。如果面部候选到正面图像的距离比到相邻侧图像更短,则可以假设面部候选表示正面图像的视图或朝向正面图像很近的视图。可替换的,如果归一化图像方位已知,则可以仅与具有相同方位的面部印记中的图像或在已知方位处的和/或与已知方位相邻的面部印记中的图像的子集相比较。
[0044] 在一些实施例中,面部印记服务器235将2D图像转换为3D模型。例如,在一个示例性实施例中,局部化面部图像被转换为归一化3D模型。通过旋转3D模型,面部印记服务器235可以模拟并且随后捕获多个2D图像方位。在一些示例中,基于模拟的2D捕获将会被与之比较的方位图像来模拟3D模型的特定方位。例如,如果每个面部印记245包括正面图像和由正面方位各旋转45度的两张图像,则3D模型可以被用来从单个正面图像生成旋转图像来填充面部印记。例如,响应于面部印记集中的图像的特定方位集和/或最常见的方位可以确定方位。3D模型的2D图像捕获可以作为候选图像处理。
[0045] 如上所述,面部印记服务器245计算候选图像和现有的面部印记图像之间的距离。候选图像和现有的面部印记图像之间的距离可以包括用于多种特征而计算的许多距离,其可以被加权并组合以产生单个组合距离。在共同未决的美国申请No.13/706,370“Motion Aligned Distance Calculations for Image Comparisons(用于图像比较的运动对准距离计算)”中概述了图像间一些距离计算的实施例,诸如DCT和/或动态场的差异,并且可以与本文所述的实施例共同使用。
[0046] 在一个示例性实施例中,在候选图像与面部印记图像间确定的距离指示了它们的相似度(例如,图像的接近度作为距离)。如果给定用户的候选图像与来自同一用户的与之比较的面部印记图像基本相同(例如,在阈值距离以下),则它将成为面部印记245中的冗余信息。也就是说,候选图像将不会为具有用于使用面部印记245执行识别的值的任何进一步的特征做出贡献。
[0047] 面部印记服务器235可以拒绝冗余面部候选以最小化面部印记中的图像的数量,同时保留对于识别有价值的数据。然而,在一些示例中,如果候选由于基本相同而被拒绝,则面部印记图像的存在率可能增加。具有高存在率的面部印记指示用户的面部频繁出现在接收到的具有可识别特征或与面部印记中的该图像相似的图像255中。
[0048] 如果候选图像与面部印记图像相似,但是不相同(例如,在阈值距离之上),则其对于面部识别来说是有用的,由于唯一的特征可能当前还没有被面部印记245中的任一图像所表现。然而,如果在候选图像中的那些特征与其他用户的面部印记245中的许多其他图像相似,则候选图像的识别值下降。
[0049] 面部印记服务器235可以通过将其与一个或多个其他用户的面部印记245中的图像相比较来确定候选图像的识别值。为此,面部印记服务器235确定在候选图像和在其他用户的面部印记245中的图像之间的距离集。如果许多(例如,大于20%阈值)的距离指示该候选图像与其他用户的面部印记245相似,则它的识别值可以被确定为较差。因此,面部印记服务器235可以丢弃该候选。可替换的,如果很少(例如,小于20%)的距离指示该候选图像与其他用户的面部印记245中的那些相似,则它可以被选择用于该用户的面部印记245。
[0050] 在一些实施例中,面部印记服务器235确定并存储在用户的面部印记245中的与在其他用户的面部印记245使用的每张图像之间的距离集。面部印记服务器235选择一个或多个与候选图像(例如,在同一方位等)最相似(例如,根据距离)的用户的面部印记图像。如果为候选图像计算的该距离集指示比面部印记245中最相似的图像更大的识别值,则面部印记服务器235将该最相似的图像替换为该候选图像来增加面部印记245的识别值。
[0051] 因此,通过比较距离组,确定对于识别特定用户的面部来说关于候选图像和在面部印记中的图像的无用的度量。例如,如果候选图像和/或面部印记中的图像与许多对于其他用户存储的面部印记图像相似,则由于高比率的误报其作为用于识别的唯一表示可能是无用的。可替代的,如果候选图像和/或面部印记中的图像与其他用户的面部印记不同,则其作为用于识别该用户的唯一表示。
[0052] 在一些实施例中,面部印记服务器235确定哪些其他用户可能出现在由特定用户或设备捕获/上传的图像255中。例如,特定用户通常可能上传家庭成员的图像,如果该图像是利用蜂窝或移动电话拍摄的,以及特定用户通常上传同事的图像,如果该图像是利用数码相机拍摄的。基于在由用户捕获/上传的图像中的之前标记或标识的用户的分析,面部印记服务器235可以确定一个或多个用户出现在来自特定用户或设备的图像255中的可能性。可以从存储设备之间出现在图像中的用户等之间的关系的数据库中确定可能出现在与特定用户或设备相关联的图像中的人。
[0053] 在一些实施例中,用户之间的联系是从对于一个或多个用户检索的社交图中推断出的。因此,出现在图像中的社交网络用户可以具有在社交网络内的相关联的唯一ID。根据一个或多个用户在图像255中标识的共同出现以及导致共同标签、链接、地理临近、签到等这样的先前识别的社会交往,面部印记服务器235存储建立的用户关系。
[0054] 通过确定哪些用户可能出现在图像中,面部印记服务器235减少给定用户的面部印记需要与之有差别以用于图像中用户的肯定识别结果的其他用户的面部印记池。因此,在用户一般使用来识别用户收集的图片的特定池或面部印记网络中,但是不在创建的面部印记的全部范围内,用户的面部印记能够是有区别的。为了通过在面部印记网络中的他们的面部印记来优化用户识别,面部印记服务器235检测在网络中的两个面部印记(或其中的参考图像)是否相似。面部印记服务器235可以重新计算在网络中选择的面部印记来优化一个或多个用户的识别。
[0055] 此外,在一些实施例中,随着不同用户的面部印记变得更加有区别,用于肯定识别所需的计算分析越少。例如,识别处理可以按照面部图像和面部印记图像的两步比较进行。因此,如果被比较的面部印记图像彼此足够不同,则面部图像的标识可以在第一、更少计算花费处理步骤中进行。因此,第二步,尽管更精确,在很多情况下可以最终被避免以减少计算量。
[0056] 在一些实施例中,面部印记服务器235基于图像(候选或现有)与其他图像之间的距离和图像的存在率确定是包括面部印记候选还是保持面部印记中的现有图像。在一个示例性实施例中,面部印记中现有图像的包括是取决于其存在率和与其他图像的距离两者的。记住,存在率指示面部印记中的图像多久一次被用于肯定标识检测的面部。例如,如果图像对于用户相对来讲是唯一的(例如,不与其他用户接近)但是与面部印记中的其他图像相比较没有展示高的存在率(或者如果是新的候选则具有任意存在),则其可以被存储,但是从面部印记中截留,直到达到相对于面部印记中的其他图像的阈值存在率。在一些实施例中,截留面部候选直到达到存在的阈值水平降低了面部印记中包括错误的面部图像的可能性。此外,如果候选/模板具有高存在,但是对于用户来说不唯一,则其可以被包括,但是为了精确识别需要额外的比较。
[0057] 在一个示例性实施例中,面部印记服务器235使用既唯一又具有存在的参考图像来补充用户的面部印记。不唯一的具有存在的图像可能提供误报识别结果。相反地,唯一但是具有很少存在的图像识别出很少的图像。这些品质的组合定义了面部印记245中的特殊参考图像的识别值。面部印记服务器235可以利用与其他面部印记中的图像相比较组合了高存在率和唯一性品质的模拟参考图像补充面部印记245。在示例性实施例中,面部印记服务器235基于其识别值将2D参考图像转换为3D模型。从3D模型中,面部印记服务器235生成2D图像捕获(用作面部印记中新的参考图像)来替换和/或补充面部印记245中具有较低识别值的参考图像或者在面部印记中缺少的方位处生成参考图像。
[0058] 面部印记服务器235传送面部印记245到客户端设备205,其在客户端设备使用该面部印记来识别对象。在一个示例性实施例中,传送到客户端设备205的面部印记对于客户端设备205的用户或客户端设备本身可以是唯一的。例如,传送的面部印记可以对于可能出现在用户的图像中的面部被优化并且进一步通过那些客户端设备205可能如上述处理。
[0059] 在另一个实施例中,传送到客户端设备205的面部印记可以基于客户端设备205硬件和/或软件参数被优化。例如,面部印记(例如,过滤较少可能出现在捕获图像中的用户)的数量和/或在每个面部印记中的参考图像(例如,只包括面部印记中具有相对高存在率的图像)的数量可以针对移动设备客户端设备205减少。在一些实施例中,客户端设备205包括用于一个或多个面部识别处理方法的加速。因此,面部印记服务器235可以过滤掉与可用于客户端设备205的加速技术不兼容的图像。例如,基于使用加速的识别处理确定的距离,如果图像印记中的参考图像与许多其他的面部印记相似,则该图像可以从传送的面部印记中被排除。进一步的,基于使用加速的识别处理确定的距离,那些与其他图像最不同的参考图像被包括在传送的面部印记中。在一个示例性实施例中,面部印记服务器235为被分析来为在传送到客户端设备205的面部印记中的每个参考图像确定等级的存在率、距离、出现可能性和加速距离分配权重。为了在客户端设备205中面部的最佳识别,传送的面部印记245包括基于权重的最高等级图像。
[0060] 如图2所示,客户端设备205包括能够与客户端设备205上的硬件对接以执行面部局部化、比较和识别的识别模块210。识别模块210可以包括带有用于在客户端设备205中面部处理的计算机程序指令的各种其他程序模块,诸如在共同未决的美国申请No.13/706,370“Motion Aligned Distance Calculations for Image Comparisons(用于图像比较的运动对准距离计算)”中详细描述的那些模块。为了识别在图像255A中检测到的面部,识别模块210包括优化的面部印记模块215以存储一个或多个优化的面部印记用于标识检测到的面部。面部识别可以在客户端设备205中通过计算检测到的面部图像与来自由面部印记模块215存储的面部印记245的参考图像之间的距离而被执行。如前所述,计算的距离与阈值相比较以确定检测到的图像是否被面部印记245中的参考图像所识别。进一步的,在一些实施例中,基于可用在不同客户端设备205的加速,特定的处理被忽略或被强调。
[0061] 由识别模块210使用存储的面部印记执行的面部识别可以实时或作为后处理的步骤发生。在一个示例性实施例中,客户端设备205分析从诸如CCD或CMOS的图像传感器接收到的实时数据以检测面部的出现。一旦面部被检测出来,则其可以使用本文所述的面部印记中的参考图像被局部化、归一化并且之后被标识/识别。进一步的,一旦面部被检测出来,其可以被实时的追踪并且被标明其身份(例如,与用于识别检测到的面部的面部印记相关联的身份)或者与从图像传感器捕获的图片和/或视频一起被存储。因此,识别和/或局部化可以被用来基于标识图像中检测到的面部的面部印记来自动地标记、注释或分类图像,并且指示检测到的面部的位置/边界。
[0062] 另外,通过实时处理,识别模块210可以将局部化和/或确认信息加入到设备上的现场取景显示器中。在识别模块210分析图像传感器数据作为后处理步骤的实施例中,上述特征中的任何一个都可以在存储的数据上被执行以局部化、标识以及标记来自图像传感器的捕获的数据。被处理的和/或未被处理的图像可以被用作图像255以改善其中包含的面部的未来识别。因此,客户端设备可以接收新的面部印记和/或更新为存储的面部印记用于未来识别。在一个可能的实施例中,当识别输入面部图像的处理返回否定的结果时,客户端设备205可以将图像和任何相关联的数据传输到面部印记服务器235以用于标识不在客户端设备处的现有面部印记或者用于从面部图像中创建新的面部印记。
[0063] 图3是图示出根据一个示例性实施例的由面部印记服务器235执行的对于人的面部印记创建和优化的流程图。其他实施例能够以不同的顺序执行该方法的步骤并且能够包括不同的和/或额外的步骤。另外,一些或全部步骤能够由除了面部印记服务器235以外的实体执行。
[0064] 面部印记服务器235响应于确定图像具有标签而选择305该图像,至少一个标签指示用户在图像中,并且用户的面部被检测出来。用户(例如,人)的面部之后在图像中被局部化并且被选择性地提取。面部印记服务器235通过归一化检测到的面部图像创建315人的面部的面部候选。面部候选之后与该人现有的参考面部印记图像相比较。具有与面部候选最接近距离的(一个或多个)面部印记图像被确定。
[0065] 面部印记服务器235通过分析具有最接近的距离的参考面部印记图像和候选图像来优化325人的面部印记。如果面部候选被确定为与人的面部印记图像相同(例如,在第一阈值距离以下),则对于该面部印记图像的存在率增加并且该面部候选被丢弃。如果面部候选被确定为与人的最接近的面部印记图像不同(例如,在第一阈值距离以上),则该面部印记服务器235可以确定在面部候选与其他人的面部印记之间的距离。进一步的,面部印记服务器235可以确定在最接近的面部印记图像与其他人的面部印记之间的距离。如果在面部候选与其他人的面部印记之间的距离大于(例如,作为平均或对于具有与最接近的面部印记图像相接近的距离的子集)一个或多个最接近的面部印记,则该面部候选可以被包括在面部印记中。
[0066] 在一些实施例中,响应于被标识为最可能与用户出现在相同图像的其他人和/或那些最可能出现在由用户捕获的图像中的人,面部印记服务器235还可以优化325人的面部印记。因此,在面部候选/面部印记图像与其他用户的面部印记之间的比较可以被限制于只有可能执行识别的那些中。进一步的,标识为可能随着用户出现或在用户的图像中出现的人可以形成关于用户的面部印记网络。在网络中的面部印记间的比较可以发生在已定义的间隔中以优化在用户的客户端设备205的识别和/或用户的识别。因此,面部印记网络可以特定于用户被存储以最佳识别用户并且识别在用户的客户端设备205中捕获的图片中的人。进一步的,实施例还可以根据客户端设备205硬件规范书和/或其他处理技术来优化面部印记。
[0067] 一旦面部印记和/或集合(例如,对于其他用户或网络的优化)被优化,面部印记服务器235将它们存储在面部印记数据库中。在一个示例性实施例中,最可能随着用户出现或者出现在由用户/设备拍摄的图像中的人的面部印记与表示用户,以及选择性表示设备的唯一ID相关联被存储。面部印记服务器235随后可以将优化的面部印记与客户端设备205同步345。面部印记服务器235可以通过网络与客户端设备205仅增量同步更新的面部印记或全同步所有面部印记。例如,如果任何更新发生于用户的面部印记识别网络,则更新的面部印记数据可以被推送到客户端设备205以及其他包含过期的面部印记数据的客户端设备。
[0068] 图4A图示出根据一个示例性实施例的使用从3D模型中的2D图像捕获补充用户的面部印记的示例性情况。面部印记245可以包括几个用于识别面部图像的参考图像401。时常地,对于标识人或对象来说有用的参考图像中的面部的方位,可能会从面部印记245中缺失。例如,面部印记245包括带有左轮廓401A,正面视图401B以及右轮廓401C的参考图像。典型地,面部印记245包括几个用于识别面部图像的中间方位。与其等待那些图像被收集或要求用户收集图像,倒不如面部印记服务器235可以生成例如正面视图参考图像401B的3D模型402。
[0069] 利用生成的3D模型402,面部印记服务器235可以从正面方位旋转模型。因此,在旋转的期望的角度的2D捕获403可以被捕获以补充参考图像401。例如,如图所示,在旋转的左403A以及旋转的右403B方位取得2D捕获以帮助识别具有在正面视图401B和轮廓视图401A、
401C之间方位的面部图像。典型地,当面部印记245包含许多图像时,具有距要用2D捕获403来补充的缺失方位最近的方位的参考图像401被选择以生成3D模型。参考图4B更加详细的描述用于从3D模型中生成2D图像捕获的方法。
[0070] 图4B图示出根据一个示例性实施例的用于为2D识别生成2D图像捕获的3D图像估计方法。例如,在面部印记中具有高存在率410和/或具有到其他面部印记405中的图像大距离值的图像可以基于它们的识别值415被转换为3D模型。
[0071] 3D模型可以被用来(如之前所述)产生3D图像的不同方位的2D图像。因此,具有最大识别值的图像可以被用来补充面部印记中的其他图像。例如,模拟的2D方位可以被用来填充缺失的方位和/或替换面部印记中的对于识别来说没有用的参考图像。
[0072] 在一个示例中,如果面部印记中的第一图像具有很高的存在率但是具有到其他面部印记中的一个或多个图像的低距离值。因此,面部印记中的第二图像可以被选择425具有到其他面部印记更大距离(以及因此更大的识别值)来补充420在使用第一图像识别中的比较。
[0073] 对于具有更大距离的第二图像确定3D模型,并且补充的2D捕获435在具有高存在率的图像的方位被取得。补充的图像(例如,2D捕获)可以结合具有高存在率的图像在比较的过程中被使用。
[0074] 例如,与具有高存在率的第一图像相比较的图像也可以与补充的图像相比较。因此,可以确定并加权两个距离来形成单个距离和/或与一个或多个阈值相比较来确定哪个值表示用于准确距离的比较(例如,用于识别或拒绝)。
[0075] 此外,上述逻辑也可以反过来应用。具体地,来自为具有高存在率的图像创建430的3D模型的捕获可以补充435面部印记中具有距其他面部印记中的图像更大的距离的图像。在一些实施例中,具有高存在率的图像可以作为在计算补充的距离之前的初始过滤器。使用高存在图像的初始比较/过滤可以包括使用通过大小和/或分辨率下采样(例如,2X或
4X)的图像。
[0076] 附加考虑
[0077] 本文某些实施例被描述为包含逻辑或多个部件、模块或机制,例如,如图2所图示并描述的那样。模块可以由软件模块(例如,体现在机器可读介质上或传输信号中的代码)或者硬件模块构成。硬件模块是能够执行某些操作并且可以以某种方式被配置或安排的有形模块。在示例性实施例中,一个或多个计算机系统(例如,单机,客户端设备或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)被配置为操作以执行如本文所述的某些操作的硬件模块。
[0078] 在各种实施例中,硬件模块可以被机械地或电子地实现。例如,硬件模块可以包括被永久配置的专用电路或逻辑(例如,作为特殊用途处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作。硬件模块还可以包括由软件临时配置执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器中)。还需要理解的是,在专用以及永久配置的电路或在临时配置的电路中(例如,由软件设置),机制上实施硬件模块的决定可能是由成本和时间的考虑驱动的。
[0079] 本文所述的示例性方法的各种操作可以由临时配置(例如,由软件)或永久配置来执行相关操作的一个或多个处理器至少部分地执行。无论临时或永久配置,这些处理器可以由操作以执行一个或多个操作或功能的处理器实现模块组成。在一些示例性实施例中,本文中所指的模块可以包含处理器实现模块。
[0080] 按照以比特或二进制数字信号存储在机器存储器(例如,计算机存储器104)中的数据上的操作的算法或符号表示来呈现本说明书的一些部分,例如,图3所描述的处理。这些算法或符号表示是由那些在数据处理领域的普通技术人员使用以将他们工作的本质传达给本领域其他技术人员的技术的示例。
[0081] 除非另外特别声明,否则本文论述使用的诸如“处理”、“计算”、“计算”、“确定”、“呈现”、“显示”等可以指在一个或多个存储器(例如,易失性存储器、非易失性存储器、或其组合)、寄存器或其他接收、存储、传输或显示信息的机器部件中,操纵或变换表示为物理的(例如,电子的、磁的、或光的)量的数据的机器(例如,计算机)的动作或处理。
[0082] 如本文所使用的任何“一个示例性实施例”或“示例性实施例”的引用意味着与实施例结合描述的特定元素、特征、结构或特点包括在至少一个示例性实施例中。在说明书的各种地方的短语“在一个示例性实施例中”的出现不一定都参考同一个实施例。
[0083] 在阅读本公开后,通过本文公开的原则,本领域技术人员将理解仍然有额外的可替代的结构性的以及功能性的设计用于面部识别的系统以及处理。因此,尽管图示并描述了特定实施例和应用,但是应当理解的是,公开的实施例不限于本文公开的精确的构造和部件。在不偏离本公开的范围的情况下,可以在本文公开的布置、操作以及方法和装置的细节中做出对本领域技术人员来说显而易见的各种修改、改变以及变化。