共享面部训练数据的制作方法

文档序号:6350499阅读:213来源:国知局
专利名称:共享面部训练数据的制作方法
共享面部训练数据
背景技术
带有面部识别功能的应用变得越来越流行。用户可以执行这些应用,以基于在图像中识别出的面部来对图像进行查找和分类。用户还可以执行这些应用,以识别出关于所述图像中包括的面部的附加信息。例如,用户可以执行摄影应用,以识别出在电子图片中所包括的人的面部的人的名字。典型地,带有面部识别功能的应用使用训练图像来识别主题图像中的面部。这样, 用户可以标记(tag)训练图像中的面部,并且所述应用可以识别包括这张面部的其他图像。 然而,对于每个带有面部识别功能的计算机来说,用户不得不重复这个过程。

发明内容
描述了面部数据共享技木。在一个实现方式中,在计算系统的存储器中发现包括标记的训练图像的面部数据。所述面部数据用于包括与面部相关联的标记的训练图像。在另ー个计算系统上,将所述面部数据复制到存储器的位置中,因此可以发现所述面部数据。在一个实现方式中,在网络服务上公布面部数据。所述面部数据与用户帐户相关联,并且可用于基于由所述面部数据表示的面部的面部特征来识别人。采用准许表达 (permission expression)来控制对所述面部数据的访问,所述准许表达规定准许哪些用户访问所述面部数据,以识别出所述人。在一个实现方式中,一个或多个计算机可读介质包含指令,执行所述指令以使得网络服务将用户帐户的标识和控制对面部数据的访问的准许表达进行比较。响应于与所述用户帐户相关联的面部数据的请求而执行所述比较。所述面部数据包括其面部由所述面部数据表示的人的标识(ID)。发现可用于所述用户帐户的面部数据。当主题图像的面部数据与包括所述ID的面部数据相匹配时,识别所述人的ID。


參照附图描述具体实施方式
。在附图中,參考数字最左侧的数字标识所述參考数字第一次出现的附图。在本说明书和附图中,不同情况下使用的相同的參考数字可以表示类似或相同的术语。图1是ー种可操作地共享面部数据的示例性实现方式中的环境的图示。图2是表示ー种将面部数据公布到网络服务的系统的图示。图3是ー种表示使用网络服务来识别关于主题图像的附加信息的示例性实现方式中的系统的图示。图4是描述一种共享面部数据的示例性实现方式中的步骤的流程图。图5是描述一种发现由用户共享的面部数据的示例性实现方式中的步骤的流程图。
具体实施方式
概沭
带有面部识别功能的应用准许用户识别其面部被表示在主题图像(例如,电子照片)中的人。这些应用通过将所述主题图像的面部数据与作为范例的面部数据进行比较来识别所述图像中的人的名字。用作范例的所述面部数据可以包括来自一个或多个训练图像的数据,在这些训练图像中用关于面部的附加信息来标记所述面部。例如,所述面部数据可以包括其面部被表示在所述训练图像中的人的标识(ID), 在所述训练图像中确认了所述ID。示例性的ID包括,但不局限于以下一个或多个能唯一识别与所述面部相关联的人的人的名字、电子邮件地址(email地址)、会员标识(会员ID)寸。用户常常花费大量的时间来手动地标记面部,以便训练应用以识别与具有所述ID 的面部相匹配的面部。因此,标记面部可能是费时的,并且导致用户沮丧。另外,用户可以利用各种不同的计算系统,这些计算系统在传统技术下,强制用户对于每一个不同的计算系统重复标记过程。描述了面部数据共享技术。在一个实现方式中,将被标记的一个或多个训练图像用来生成面部数据。然后,将所生成的面部数据用作范例,以识别主题图像中的面部。所述技术可以基于一个或多个训练图像用来共享面部数据,在所述训练图像中用附加信息标记面部。另外,可以在计算系统之间和/或与网络服务共享所述面部数据,以便用户不必对于每个系统再重复标记过程。例如,所述网络服务可以是用户所属的社交网络服务。还考虑了各种其他技术来共享所述面部数据,可以从相关的以下部分中发现其进一步的讨论。在以下讨论中,首先描述可操作用于共享面部数据的示例性的环境和系统。另外, 可以将所述示例性的环境用来利用共享的面部数据执行在云上(over-the-cloud)的面部识别。然后,描述示例性的过程,其可以利用示例性的环境以及其他环境来实现。因此,所述过程的实现方式不局限于所述环境,并且所述环境不局限于所述过程的实现方式。示例性环境
图1是一种可操作用于共享面部数据和/或形成训练图像的数据的示例性实现方式中的环境100的图示。如所图示的,环境100包括一个或多个计算系统,这些计算系统通过网络104相互以及与网络服务102都彼此耦合。仅为了在讨论中方便起见,所述计算系统之一被称为本地计算系统106,并且另一个计算系统108被称为其他计算系统108。如将明显的,计算系统106,108的每一个都可以是网络服务102的客户端。例如, 用户可以使用本地计算系统106与和用户账户相关联的网络服务102进行交互。所述用户可以通过输入帐户信息(例如所述帐户的标识和密码)来访问网络服务102。如所图示的,本地计算系统106包括应用110、存储器112和网络浏览器(图示为浏览器114)。可以以类似的方式配置其他计算系统108,例如应用116、存储器118和浏览器 120。应用110表示用于识别面部和主题图像中的面部的附加信息的功能,所述主题图像例如包括电子图像的电子照片、文件等。例如,应用110可以通过将来自主题图像的面部数据与来自图像的面部数据进行比较识别出所述主题图像与特定人相关联,其中,用所述特定人的名字标识所述特定人的脸。
通过使用应用110将所要识别的信息输入为标记,用户可以将附加信息与所述面部关联起来。例如,可以将应用110配置为将附加信息(例如ID)与面部关联起来。因此, 当主题图像中的面部与所标记的面部相匹配时,可以识别所述附加信息。例如,当来自主题图像的面部数据和与会员ID相关联的面部数据相匹配时,可以识别出所述会员ID。一旦标记了训练图像,就将面部识别算法用来计算表示图像(例如,主题或训练图像)中面部的特征的面部数据。所述面部数据可以表示面部特征,例如眼睛位置、双眼之间的距离、眼睛形状、鼻子形状、面部比例等。在实现方式中,所述面部识别算法可以计算面部矢量数据,所述面部矢量数据算术地表示图像中面部的特征。在其他实现方式中,可以将面部数据表示为用于与面部匹配的模板等。可以用附加图像重复所述标记和训练过程,以增加作为面部数据基础的图像的数量。例如,标记训练图像可以是正在进行(ongoing)的过程,以增加用作范例的面部数据的可靠性等。因此,可以用来自附加训练图像的面部数据来改进作为范例的面部数据,例如当来自所述附加图像的面部数据与先前导出的面部数据相比能十分明显地改善标识时。应用110可以在存储器112中存储训练图像的面部数据122,因此可以通过其他计算系统发现它们。可以使用多种技术使得面部数据122能够被发现,例如,通过在表格中提供指示、利用链接等。因此,其他计算系统108可以发现所述面部数据,尽管它可能被存储在存储器112的不同位置中。在实现方式中,本地计算系统106通过将面部数据存储在存储器112定义明确的位置中来使得所述面部数据能够被发现。可以将定义明确的位置发布为标准,执行用于确定在哪里存储面部数据的标准方法等。这样,其他计算系统108可以发现并且复制面部数据122,反之亦然。例如,其他计算系统108可以自动地与所述定义明确的位置同步,以便复制用于存储在其他计算系统108的存储器118中的面部数据(其被图示为面部数据134)。 因此,可以通过应用116和/或其他计算系统发现所述面部数据。在一些情况中,代替面部数据122或除面部数据122之外,所述计算系统还可以共享形成训练图像本身的数据。通过共享形成所述训练图像的数据,不同的面部识别算法可以使用所述训练图像。因此,应用116可以使用与来自应用110所使用的面部识别算法不同的面部识别算法。所述用户还可以通过将面部数据122上传到网络服务102来共享面部数据122。 这样,所述用户可以访问在多个计算系统上的所述面部数据,并且与其他用户共享所述面部数据。例如,所述用户可以经由由网络服务102保存的网页上传所述面部数据,使所述本地计算系统自动地上传所述面部数据等。网络服务102表示共享面部数据的功能。网络服务102还可以存储面部数据和/ 或执行面部识别,例如使用共享的面部数据执行在云上的面部识别。尽管将网络服务102 图示为单个服务器,但是可以将多个服务器、数据存储装置等用来提供所描述的功能。如所图示的,网络服务102包括面部模块128和存储器130,例如实体(tangible) 存储器。面部模块1 表示共享面部数据和/或形成训练图像的数据的功能。例如,所述面部模块可以作为本地和其他计算系统106,108的中间件(intermediary)。一旦接收了所述面部数据,面部模块128就可以在公共位置等与提供面部数据 126的用户帐户相关联地存储面部数据126。可以在存储器130的公共位置存储所述面部数据(例如与来自其他用户的面部数据一起存储)以加快发现等。在实现方式中,可以在对用户隐藏或遮掩的目录中存储面部数据126,以避免非故意的删除或更改。如进一步所图示的,面部模块1 包括准许模块132。准许模块132表示控制网络服务102的哪个用户可以访问面部数据126的功能。准许模块132可以设定包括在与面部数据结合的准许控制中的准许表达。这样,准许模块132可以使用准许控制来基于帐户中的设定限制对于面部数据126的访问。所述准许表达可以限制对提供面部数据126的用户、所述用户的联系人和朋友、网络服务102的每个用户等的访问。准许模块132还可以将面部数据1 和与面部数据1 相关联的用户帐户的标识相结合。例如,准许模块132可以包括公布面部数据126的用户帐户的标识。通过唯一地识别所述用户帐户(并因此识别用户),准许模块132可以允许用户保持控制面部数据126。在实现方式中,准许模块132允许用户接管表示所述用户的面部数据。例如,准许模块132可以用由面部数据1 表示的用户的用户帐户的标识来替换公布面部数据1 的用户帐户的标识。作为结果,当用户加入网络服务时,所述用户可以接管所述用户面部数据的控制。例如,如果艾米丽(Emily)向她的朋友埃莉诺(Eleanor)公布面部数据,则埃莉诺可以在建立用户帐户时接管所述面部数据的控制。这样,埃莉诺可以控制她的面部数据,并且准许模块132可以用埃莉诺帐户的标识替换艾米丽帐户的标识。可以不用改变所述面部数据中包括的ID就可完成上述帐户标识的改变,例如,所述面部数据仍然可以用作识别埃莉诺的基础。准许模块132还可以基于埃莉诺帐户中的设定来替换准许表达。所述接管步骤还可以用于用埃莉诺的面部数据预先填充她的帐户。在其他情况中,网络服务102可以允许公布面部数据的用户选择从允许另一个用户接管所述面部数据的控制中退出。例如,网络服务102可以强制公布面部数据1 的用户限制它的使用(例如, 限于公布它的用户)或者删除所述面部数据。在其他实现方式中,其面部由所述面部数据表示的用户可被允许提供补充的面部数据。例如,准许模块132可以允许其面部由所述面部数据表示的用户公布补充的面部数据,以替换和/或扩充表示该人的面部数据。用这种方式,该人可以提供补充的面部数据等,所述补充的面部数据准许对该人的更加精确的标识(与用网络服务102已经存储的面部数据相比的)。网络服务102可以执行可独立或者连同共享面部数据以及在云上的面部识别一起使用的其他功能。例如,网络服务102可以包含允许用户通信、共享信息的社交网络服务等。还考虑了各种其他示例。尽管示出了存储器112,118和130,但是可以使用各种广泛类型和组合的存储器 (例如,实体存储器),例如随机存取存储器(RAM)、硬盘存储器、可拆卸媒介存储器、外存储器及其他类型的计算机可读存储介质。通常,可以使用软件、固件、硬件(例如,固定逻辑电路)、手动处理、或这些实现方式的组合来实现本文所描述的功能。本文所使用的术语“模块”、“功能”、“服务”和“逻辑” 通常表示软件,固件,硬件,或者软件、固件或者硬件的组合。在软件实现方式的情况下,所述模块、功能、或逻辑表示当在处理器(例如,一个或多个CPU)上执行时,执行指定任务的程序代码。所述程序代码可以存储在一个或多个计算机可读存储装置中(例如,一个或多个实体介质)等。可以在具有各种处理器的各种商业计算平台上实现本文所描述的结构、功能、 方法和技术。处理器不局限于它是由哪些材料构成的或者其中使用的处理机制。例如,所述处理器可以由半导体和/或晶体管(例如电子集成电路(IC))组成。在另外的实施例中,各种装置可以利用本文所描述的结构、技术、方法、模块等。示例性的装置包括,但不局限于,桌面系统、个人电脑、移动计算装置、智能电话、个人数字助理、膝上型电脑等。可以用受限的功能(例如,薄的装置)或者鲁棒的功能(例如,厚的装置) 来配置所述装置。因此,装置的功能可以与装置的软件或者硬件资源,例如,处理能力,存储器(例如数据存储能力)等有关。此外,本地和其他计算系统106,108和网络服务102可以被配置为通过各种不同的网络进行通信。例如,所述网络可以包括因特网、蜂窝电话网络、局域网(LAN)、广域网 (WAN)、无线网络、公用电话网、内部网等。此外,网络104可以被配置为包括多个网络。以上已经提供了环境100的概述,现在将描述使用可以使用环境100和/或其他环境的系统的示例性实现方式。图2描述了示例性的系统200,其中本地计算系统106用来公布面部数据122。如所图示的,应用110包括用附加信息标记面部202的功能。例如,用户可以在应用110中用图形用户界面(⑶I)在标记中输入人的名字。所述用户可以选择将被标记的面部,并且然后输入要与所述面部相关联的附加信息。然后,应用110可以在存储器112中以各种方式存储所述面部数据和所述附加信息,以便能够发现它们。可以将所述附加信息存储为描述面部数据122的标记(例如,元数据)等。在另外的实现方式中,形成训练图像1 的数据可以存储在存储器112中,因此它与所述面部数据相关,例如,在数据库中的面部数据,在表格中相关的面部数据等。一旦标记了训练图像,就使用面部识别算法来计算标记了的面部的面部数据。可以包含所述附加信息,以作为表示面部202的面部数据的元数据标记。所述用户可以将面部数据122 (人工地或者经由自动过程)上传到网络服务102, 因此其他用户可以访问面部数据122。例如,所述用户可以准许网络服务102的其他用户识别使用所述面部数据的附加信息。在接收到所述面部数据时,准许模块132可以将面部数据1 与存储器130中存储的一个或多个准许控制或者用户帐户的标识相结合。因此,通过选择所述用户帐户的设定,所述用户可以选择哪个其他用户可以访问面部数据126。在实现方式中,面部模块1 可以包括用附加信息标记面部和/或计算面部数据的功能。这样,所述用户可以使用网络浏览器114访问由面部模块1 支持的网页来“在云上”标记面部。然后,可以把来自现在标记的图像的面部数据存储在存储器130中。以上已经描述了可以如何共享面部数据,现在将连同图3 —起讨论面部数据的发现。如同将意识到的,结合图2描述的方法和技术可以独立地或者结合参照图3所描述的方法、技术和结构来实现。图3描述了示例性系统300,其中其他计算系统108可以发现本地计算系统106共享的面部数据。例如,应用116可以自动地传送来自网络服务102的面部数据126。其他计算系统108还可以与本地计算系统106同步,以复制所述面部数据,而不需要在其他计算系统108上执行标记。其他计算系统108可以使用链接、查找表格中面部数据的位置等来发现所述面部数据。应用116还可以自动地发现准许用户访问的面部数据126。例如,应用116可以自动地检查允许用户访问的面部数据。在进一步的示例中,在启动应用116时,应用116可以响应于识别主题图像中的面部的请求来发现面部数据,执行常规安排的后台任务等。在其他计算系统108传送面部数据的情况中,准许模块132可以将与所述请求相关联的标识与准许表达进行比较,以确定是否同意访问。然后,当所述标识与允许传送所述面部数据的用户帐户相匹配时,所述面部模块可以将面部数据126传送到从中接收所述请求的其他计算系统108,例如,通过下载所述面部数据。一旦将所述面部数据存储在存储器118中,应用116就可以使用面部识别算法来获得主题图像304的面部数据,例如正被讨论的图像。当所述主题图像的面部数据与训练图像的面部数据相匹配时,应用116可以识别所述附加信息。示例件过稈
以下讨论描述了可以利用先前描述的系统、技术、方法、服务和模块实现的步骤。可以以硬件、固件、软件或它们的组合来实现所述步骤的每一方面。将所述步骤表示为块的集合,所述块的集合描述了由一个或多个装置(例如,计算系统)执行的操作,并且没有必要局限于由各相应块执行操作所示的次序。在以下讨论部分中,将对图1的环境100和图2和 3的系统进行参考。图4描述了过程400,其中在计算系统等之间共享面部数据和/或形成训练图像的数据。在训练图像中标记面部(块402)。用户可以用附加信息(例如,其面部被标记的人的名字等)在训练图像中标记面部。还从所述训练图像获得面部数据(块404)。例如,应用可以使用面部识别算法来确定训练图像124的面部数据,例如面部矢量数据。所述面部数据可以表示已被标记的面部的面部特征,并且可以包括标记中的附加信息。所述附加信息可以与面部数据相关联,以便当所述面部数据与主题图像中的面部数据相匹配时,可以识别所述附加信息。例如,可以包含附加数据以作为描述所述面部数据的元数据。这样,将所述训练图像的面部数据用作范例,与主题图像的面部数据进行比较。存储所述面部数据,以便可以发现它(块406)。例如,所述面部数据在存储器112 中的位置可以使用链接或表格来指示。在一个或多个实施例中,将所述面部数据存储在存储器中定义明确的位置中。可以依照标准发布定义明确的位置,并且可以使用标准方法发现它等。共享所述面部数据(块408)。在一个实现方式中,经由同步方法共享所述面部数据 (块410)。例如,其他计算系统108可以与存储器112中定义明确的位置同步,因此在存储器118中可以复制所述面部数据,而不需要在其他计算系统108上执行训练。在其他示例中,当用户添加联系人或登录到计算系统时,可以自动地同步用作范例的面部数据。面部数据122还可以公布在网络服务上(块412)。示例包括在事件发生时自动地提供面部数据122,或者经由网络服务102的网页手动地上传所述面部数据。例如,当用户将联系人添加到用户的通讯录时,可以公布面部数据。将所述面部数据与用户帐户的一个或多个标识或者准许控制相结合(块414)。例CN 102549591 A
如,准许模块132可以包括公布所述面部数据的用户帐户的标识。在进一步的实现方式中, 网络服务102可以将准许控制与所述面部数据相结合。 在一个或多个实施例中,可以用由所述面部数据表示的用户的帐户的标识来替换用户帐户的标识(块416)。例如,网络服务102可以允许用户接管用户面部数据的控制。在先前的示例中,准许模块132可以用由所述面部数据表示的用户的帐户的标识来替换一个帐户的标识。在一些实施例中,所述网络服务将准许控制与所述面部数据相结合(块418)。所述准许控制包括依照所述面部数据表示的用户的帐户而设置的准许表达。以上已经描述了存储所述面部数据以便可以发现它,现在将讨论可被用来共享的面部数据的发现。图5描述了其中发现面部数据的过程500。可以结合参照图4所描述的方法、技术和步骤400来使用步骤500。使得网络服务将用户帐户的标识与准许表达进行比较(块502)。例如,准许模块 132可以将与请求相关联的标识与所述面部数据的准许控制中的准许表达进行比较。例如, 准许模块132可以检查以了解与所述请求相关联的标识是否包括在被准许传送面部数据 126的一组用户中。发现准许用户访问的面部数据(块504)。例如,当由所述准许表达允许该标识时, 从中接收请求的应用被准许进行访问。因此,用户可以检查网络服务102,以了解准许用户访问哪些面部数据。这样,所述用户可以避免训练另外的计算系统。在一个或多个实施例中,传送所述面部数据(块508)。例如,可以将面部数据传送到其他计算系统,以便应用116可以识别主题图像中的面部,而不需要在其他计算系统108 上执行训练。在先前的情况中,其他计算系统108和网络服务102可以进行交互以在事件发生(例如,登录、增加联系人、启动)时、以预定时间间隔等传送所述面部数据。当主题图像的面部数据与用人的名字标记的训练图像的面部数据相匹配时,识别包括在标记中的人的名字(块508)。例如,当主题图像的面部数据与其中用Bob Smith的名字标记他的面部的面部数据相匹配时,识别名字“Bob Smith”。这样可以不必训练执行所述识别的计算系统或网络服务就能准许面部识别。此外,可以将面部数据用来定位包括特定人等的主题图像(例如,找到Bob Smith的图片)。结论
尽管已经以具体到结构特征和/或方法动作的语言描述了本发明,但是应当理解,在所附权利要求中定义的本发明没有必要局限于所描述的具体特征或动作。相反,将该具体特征和动作公开为实现所要求保护的发明的示例形式。
权利要求
1.一种计算机实现的方法,包括在网络服务上公布面部数据,所述面部数据与用户帐户相关联,并且可被用来基于由所述面部数据表示的面部的面部特征来识别人;以及采用准许表达来控制对所述面部数据的访问,所述准许表达规定准许哪些用户访问所述面部数据,以识别出所述人。
2.如权利要求1所述的计算机实现的方法,所述方法还包括将所述用户帐户的标识与所述面部数据相关联,以识别公布所述面部数据的用户。
3.如权利要求2所述的计算机实现的方法,所述方法还包括用由所述面部表示的人的用户帐户的标识替换所述用户帐户的标识。
4.如权利要求3所述的计算机实现的方法,其中,基于依照由所述面部表示的人的用户帐户而设置的准许表达,控制同意所述网络服务的哪些用户访问所述面部数据。
5.如权利要求1所述的计算机实现的方法,所述方法还包括从由所述面部表示的人接收补充的面部数据,其对应于所述面部数据。
6.如权利要求1所述的计算机实现的方法,所述方法还包括结合所述用户帐户存储所述面部数据。
7.如权利要求1所述的计算机实现的方法,其中,所述面部数据可通过代表用户的客户端计算系统上的应用来访问。
8.如权利要求1所述的计算机实现的方法,所述方法还包括通过将主题图像的面部数据与所述网络服务上的面部数据相匹配来识别所述主题图像中的人。
9.如权利要求8所述的计算机实现的方法,其中,执行所述识别而不需要训练所述网络服务。
10.如权利要求8所述的计算机实现的方法,其中,通过所述网络服务来执行所述识別。
11.如权利要求1所述的计算机实现的方法,其中,所述面部数据算术地表示面部特征。
12.如权利要求1所述的计算机实现的方法,其中,从用与所述人相关联的标识(ID)标记的ー个或多个训练图像得到所述面部数据。
13.如权利要求12所述计算机实现的方法,其中,所述ID包括以下ー个或多个 所述人的名字,或者与所述人相关联的电子邮件地址。
14.如权利要求1所述的计算机实现的方法,其中,所述网络服务包括社交网络服务。
全文摘要
描述了面部数据共享技术。在一个实现方式中,在计算系统的存储器中发现包括标记的训练图像的面部数据。所述面部数据用于包括与面部相关联的标记的训练图像。在另一个计算系统上,将所述面部数据复制到存储器的位置中,因此可以发现所述面部数据。
文档编号G06F21/22GK102549591SQ201080042806
公开日2012年7月4日 申请日期2010年9月15日 优先权日2009年9月25日
发明者M. 索恩顿 J., M. 利菲克 S., S. M. 卡斯佩基维奇 T. 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1