基于脸部图像分析的排名的制作方法

文档序号:6359761阅读:142来源:国知局
专利名称:基于脸部图像分析的排名的制作方法
基于脸部图像分析的排名
背景技术
图像集合反映了收集创建者的重要元素。例如,用户的个人图像集合可在扩展的时间段中来收集,并可反映一个人生活中的重要元素,诸如重要的人。很多人可能有包括各种各样的图像的图像集合,例如从在移动电话上拍摄的快照到度假期间用数码相机拍摄的合成图像。

发明内容
可以分析用户的图像集合以标识图像内人的脸部,随后创建相似脸部的聚类,其中每个聚类可以表示一个人。可按大小顺序对聚类排名,以确定相关联的人对该用户的相对重要性。此排名可用于许多社交应用,以过滤和呈现用户可能感兴趣的内容。在一个使用场景中,聚类可用于从第二用户的图像集合标识图像,其中所标识的图像可能与第一用户有关或对第一用户来说是有趣的。此排名也可以根据用户与图像的交互、以及与图像无 关的其他输入。当新图像被添加到用户的集合时,排名可被增量式地更新。提供本发明内容以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图简述在附图中图I是示出具有社交网络和图像匹配系统的系统的实施例的图示。图2是示出示例图像的示例实施例的图示。图3是示出用于从图像确定人的排名的方法的实施例的流程图示。图4是示出用于基于脸部分析来找到匹配图像的方法的实施例的流程图示。图5是示出用于脸部分析的预处理的方法的实施例的流程图示。图6是示出用于用训练集来设置阈值的方法的实施例的流程图示。图7是示出用于事件匹配的方法的实施例的流程图示。图8是示出用于使用事件匹配来找到朋友的图像的方法的实施例的流程图示。图9是示出用于使用事件匹配来找到关于用户出席的事件的图像的方法的实施例的流程图示。

图10是示出具有事件匹配的输出的用户界面的示例实施例的图示。图11是示出用于创建聚类的方法的实施例的流程图示。图12是示出用于使用聚类来匹配图像的方法的实施例的流程图示。
具体实施例方式对用户的图像集合的脸部图像分析和比较可用于对与用户的朋友或家人有关的偏好或优先级进行排名。用户的图像集合可以反映用户对人的兴趣、重要性、或情感。特定人的图像的数量可用作该人对用户的重要性的代表。
可对图像集合执行脸部图像分析以标识图像内的脸部并创建脸部对象,该脸部对象可作为图像的元数据被存储。脸部对象可被表示为共同分组成脸部聚类。聚类的大小可被用作与脸部对象相关联的朋友的重要性的度量。根据脸部图像分析确定的排名可用于向用户呈现相关信息。例如,可用用户界面中更突出位置中的更相关信息对与不同用户有关的新闻源或其他信息区分优先级并将其呈现给用户。贯穿 本说明书和权利要求书,对术语“图像”的引用可包括诸如照片或数码静止图像等静态图像,以及视频图像或运动图片图像。对于处理图像讨论的概念可适用于静止或移动图像,且在某些实施例中,可以使用静止和移动图像两者。在本说明书全文中,在对附图的整个描述中,相同的附图标记表示相同的元素。当元素被称为被“连接”或“耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。本主题可体现为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文献的上下文中,计算机可使用或计算机可读介质可以是可包含、储存、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD )或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于储存所需信息且可由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可经由例如对纸张或其他合适的介质的光学扫描来电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并且随后储存在计算机存储器中。通信介质通常以诸如载波或其他传输机构之类的已调制数据信号来具体化计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”可被定义为其一个或多个特性以对信号中的信息编码的方式设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任何组合也应包含在计算机可读介质的范围内。当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图I是一实施例100的图示,其示出用于社交网络的客户机和服务器组件。实施例100是可包括客户机设备和通过网络访问的社交网络服务的网络环境的简化示例。图I的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是操作系统级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。实施例100示出了其中用户可具有图像集合的社交网络的一个示例。该社交网络可以是web应用,其中各个用户可以在社交网络中建立账户并且可在社交网络内管理图像集合。在社交网络基础结构内操作的服务可以分析并比较图像集合。实施例100的社交网络可以是其中在用户之间可存在明确或隐含关系的任何类 型的社交网络。在某些社交网络中,关系可通过一个用户正式地与另一用户建立关系来表达。某些社交网络可通过这一关系声明来建立单向关系,而其他社交网络可在两个用户都赞同关系时建立关系。某些社交网络可在用户之间具有非正式关系。例如,非正式关系可以在两个用户交换电子邮件消息,或在用户使用另一机制进行通信时建立。例如,社交网络可以为在聊天室、即时消息收发服务或其他机制中通信的用户建立。在某些情况下,一个人在电子邮件系统或移动电话中的联系人列表可被用作用于建立社交网络关系目的的隐含关系。在某些社交网络中,用户可以确定其图像集合内的图像可如何被共享。在某些情况下,用户可以选择可被共享给对其存在关系的朋友的图像。在其他情况下,用户可准许与其共享图像的任何用户。 社交网络可以是其中每一用户可创建账户来访问社交网络的正式社交网络。在许多此类实施例中,用户可通过web浏览器来访问社交网络,且社交网络可以是web应用。在许多此类实施例中,用户可在社交网络环境内上传图像来创建图像集合。在社交网络的较不正式的版本中,用户可以在个人计算机上或在由用户个人地控制或管理的储存库中存储并管理图像集合。在这一社交网络中,用户可标识从中可以与其他人共享图像的各个存储位置。在某些此类社交网络中,社交网络关系可以使用基础结构来维护,该基础结构可以仅仅是地址交换、论坛、或成员可用于彼此连接的其他机制。客户机设备102可具有一组硬件组件104和软件组件106。客户机设备102可以表示可与社交网络服务136通信的任何类型的设备。硬件组件104可表示计算设备的典型架构,如台式或服务器计算机。在一些实施例中,客户机设备102可以是个人计算机、游戏控制台、网络设备、交互式自助服务终端(kiosk)、或其他设备。客户机设备102还可以是便携式设备,诸如膝上型计算机、上网本计算机、个人数字助理、移动电话或其他移动设备。硬件组件104可包括处理器108、随机存取存储器110、以及非易失性存储112。硬件组件104还可包括一个或多个网络接口 114和用户接口设备116。在许多情况下,客户机设备102可包括可捕捉图像的相机118或扫描仪120,该图像可成为用户的图像集合的一部分。
软件组件106可包括操作系统112,诸如web浏览器124等各种应用可在操作系统上执行。在许多社交网络应用中,web浏览器124可用于与社交网络服务136通信来访问社交网络应用。在其他实施例中,专门化的客户机应用可与社交网络服务通信来提供用户界面。在某些此类实施例中,这一客户机应用可执行可在社交网络服务136中描述的许多功能。客户机设备102可具有本地图像库126,该本地图像库可包括从诸如照相机118、扫描仪120或可具有图像捕捉能力的其他设备等许多不同源收集的图像。本地图像库126可包括存储在其他设备上的图像,如存储在局域网内或云存储服务内的服务器上。客户机设备102可具有可允许用户查看并管理本地图像库126的若干应用。此类应用的示例可以是图像编辑器130和图像浏览器132。在某些情况下,客户机设备可具有若干此类应用。本地图像库126可包括静止图像和视频图像。在某些实施例中,静止图像和视频 图像可被存储在不同的库中,并且可用不同应用来访问、编辑和操纵。在某些实施例中,客户机设备102可具有图像预处理器128。图像预处理器可在将图像与社交网络进行关联之前分析图像内容以及与图像相关联的各种元数据。预处理可以对客户机可用的图像执行脸部图像分析、背景分析、色彩直方图、或其他分析。在其他实施例中,图像预处理器128所执行的部分或全部功能可由社交网络服务136来执行。当图像预处理器128位于客户机设备102上时,服务器设备可从执行此类操作中卸载。客户机设备102可通过网络134连接到社交网络服务136。在某些实施例中,网络134可以是诸如因特网等广域网。在某些实施例中,网络134可包括可通过网关或其他设备连接到广域网的局域网。在某些实施例中,客户机设备102可以例如通过诸如以太网连接等硬连线连接来连接到网络134。在其他实施例中高,客户机设备102可以通过诸如蜂窝电话连接或其他无线连接等无线连接来连接到网络134。社交网络的各个用户可使用各种客户机设备138来连接。社交网络服务136可以在硬件平台140上操作。硬件平台140可以是具有类似于客户机设备102的硬件组件104的硬件平台的单个服务器设备。在某些实施例中,硬件平台140可以是在两个或更多硬件设备上操作的虚拟化的或基于云的硬件平台。在某些实施例中,硬件平台可以是其中可使用成千上万的计算机硬件平台大数据中心。在某些实施例中,社交网络服务136可以在操作系统142内操作。在具有基于云的执行环境的实施例中,单独的操作系统142的概念可能不存在。社交网络144可包括多个用户账户146。每一用户账户146可包括与该账户有关的元数据148,以及可在两个或更多用户之间建立的关系150。用户账户元数据148可包括关于用户的信息,如用户的姓名、家庭地址、位置、以及用户的喜好和厌恶、教育和其他相关信息。某些社交网络可具有对工作相关信息的强调,这可包括像工作历史、职业关联或其他工作相关信息等项目。其他社交网络可强调朋友和家庭关系,其中可强调个人项目。在某些社交网络中,可包括非常大量的个人元数据148,而其他社交网络可具有非常少量的个人元数据148。关系150可以将一个用户账户关联到另一个。在某些实施例中,关系可以是单向关系,其中第一用户可以与第二用户共享信息但第二用户可能无法回复且可能与第一用户不共享信息或共享有限量的信息。在其他实施例中,关系可以是双向关系,其中每一用户同意彼此共享信息。在还有一些实施例中,用户可允许其部分或全部信息被共享给任何人,包括不是社交网络成员的人。某些此类实施例可允许用户标识可被共享给任何人的信息子集,以及可与社交网络的其他成员共享的子集。某些实施例可允许用户定义与社交网络成员的不同组共享的子集。每一用户账户146可包括一个或多个图像集合152。图像集合152可包括图像154。每一图像154可包括元数据156,元数据可以是诸如时间戳、位置信息、图像大小、标题和各种标签等一般的元数据。标签可以包括关于图像要与其相关的不同社交网络成员的标识符。在某些实施例中,图像元数据156可以包含从图像内容中导出的元数据。例如,可 执行脸部分析来标识图像内的任何脸部并创建脸部表示或脸部向量。脸部表示可用于例如与其他图像进行比较。可用于导出元数据的其他图像内容可包括对背景区域或个人服饰的纹理分析、整个图像或图像各部分的色彩直方图、或其他分析。图像元数据156可用于创建聚类158。聚类158可以是图像或来自图像的元素的分组。例如,可分析脸部表示来标识可包含相似脸部表示的聚类。类似地,可通过对来自图像的背景区域的图像分析结果进行分组来创建聚类。在某些实施例中,聚类158可以通过基于元数据对图像进行分组来创建。例如,在某一时间段内拍摄的若干图像可被分组在一起来作为一个聚类,或者用相同的标签参数加标签的图像可形成一个聚类。使用聚类的示例可以在本说明书稍后提出的实施例1100和1200中找到。在某些实施例中,社交网络服务136可包括可分析图像来导出图像元数据的图像预处理器160。图像预处理器160可用于其中客户机设备102可能没有图像预处理器128或当图像预处理不是在分析之前执行的情况。预处理步骤的示例可以在本说明书稍后提出的实施例500中示出。比较引擎162可以使用图像分析技术或元数据分析来比较两个或更多图像以便确定聚类158。比较引擎162的操作的示例可以在本说明书稍后提出的实施例400的各部分中找到。排名引擎164可以比较各个聚类158来提取信息,如对图像或附加到图像的信息的排名或重要性。排名引擎164的操作的示例可以在本说明书稍后提出的实施例300中找到。分析引擎166可以分析并比较图像集合来标识图像集合之间的匹配。分析引擎166可以使用元数据分析和图像内容分析来标识匹配。在许多实施例中,社交网络服务136可与web服务168 —起操作,web服务168可以与在客户机设备上操作的浏览器或其他应用通信。web服务168可以接收超文本传输协议(HTTP)形式的请求,并用网页或其他遵从HTTP的响应来响应。在某些实施例中,web服务168可以具有应用编程接口(API),通过该API,客户机设备上的应用可与社交网络服务交互。
图2是一示例实施例200的图示,其示出可通过图像分析来分析的两个图像。实施例200示出两个图像202、204,这两个图像分别示出了生日聚会和帆船旅行。这些图像可表示可在用户的图像集合中找到的示例图像。图像202可表示具有两个人的生日聚会。从图像202中,可标识两个脸部206和208。可使用若干不同脸部识别机制或算法来标识脸部206和208。一旦标识,脸部206和208就可被处理来创建脸部的表示。该表示可以是可允许将不同脸部彼此进行数值比较的脸部向量或其他表示。在某些实施例中,可执行另外的图像分析。例如,可通过分别从脸部206和208中确定几何关系并捕捉图像中可能与相应的人穿的服饰相关的部分来标识服饰区域210和212。服饰的图像分析可用于比较两个图像来确定这些图像是否是在同一事件拍摄的。 当两个图像包含相似脸部且这些图像另外包含相似的服饰纹理或色彩直方图时,可以得出这一结论。这一分析可以假定图像表示同一事件,因为图像中的人穿着相同的服装。另外,可分析背景区域214来进行纹理分析、色彩直方图或其他分析。这些结果可以与其他图像进行比较来确定图像之间的相似度和匹配。在图像204中,可以标识并捕捉脸部216和218。因为脸部216和218的大小可能相对较小,因此图像204的人的服饰区域可能不被执行,但是可标识并分析背景区域220。图3是示出用于从图像集合确定人的排名的方法的实施例300的流程图示。实施例300是可由比较引擎和排名引擎,如实施例100的比较引擎162和排名引擎164执行的方法的示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例300可以是一个人的脸部在用户的图像集合中的出现次数可被用作用户对该个人的兴趣或该个人对用户的重要性的近似。图像内的脸部可被分析、比较并一起分组成聚类。基于聚类的大小,可对与聚类相关联的个人进行排名。在框302,可接收图像集合。可以预处理该图像集合来标识脸部和脸部表示。这一预处理方法的示例可以在本说明书稍后提出的实施例500中示出。在框304中,可以处理每一图像。对于框304中的每一图像,如果在框306中不存在脸部,则该过程可返回到框304来处理下一图像。如果在框306中一个或多个脸部出现在图像中,则可在框308中单独处理每一脸部。对于框308中的每一脸部,可在框310中将脸部对象和相关联图像基准添加到列表。图像基准可以是用于从中取得该脸部的图像的指针或其他指示器。在处理了框304中的所有图像之后,可在框312中对所得列表排序。在框314,可分析该列表来在框314中基于阈值标识聚类。聚类可以定义与单个人相关的一组脸部表示。确定聚类的一个机制可以是将脸部表示认为是向量。任何两个向量之间的相似度可被认为是向量空间中的距离。当多个脸部表示反映了同一个人的许多不同图像时,则脸部表示向量可创建向量聚类。在许多实施例中,可使用阈值来作为确定给定脸部表示是否“接近”另一脸部表示以便成为匹配的机制的一部分。阈值可以用若干不同方式来确定,且一个这样的方式可以在实施例600中示出。在框316中,可以分析每一聚类。对于框316中的每一聚类,如果在框318中该聚类的任何成员没有标签或其他相关联的元数据,则该过程可返回到框316来处理另一聚类。如果框318中的聚类的一个或多个成员包含标签或其他元数据,则可在框320中将这些标签应用于其他聚类成员。在某些情况下,可在框322向用户呈现用户接口设备,其中用户可批准或不批准标签。如果用户在框324中批准标签,则可在框326中将标签应用于该聚类的所有成员。如果用户在框324中不批准标签,则在框328中不将标签应用于各 成员。在许多社交网络应用中,用户可用例如特定人的标识符来对图像加标签。框316到328的过程可表示可将此类标签自动地应用于其他图像的方法。在某些实施例中,应用于聚类成员的标签可以是与该聚类可表示的人相关的标签。一个简单的示例可以是定义该人的名字的标签。在框330中可以分析聚类来根据大小对聚类排名。排名可以反映人对于用户的相对重要性。在框332中可以使用聚类排名来在各种应用中对人区分优先级。例如,新闻源可包括消息、状态更新、或与用户的社交网络中的人相关的其他信息。与重要的人相关的那些项目可被突出显示或以捕捉用户注意力的方式来呈现。关于不经常出现在用户的图像集合中的人的其他项目可以用次要的或非强调的方式来呈现。图4是示出用于基于脸部分析来找到匹配图像的方法的实施例400的流程图示。实施例400是可由诸如实施例100的分析引擎166等比较引擎执行的方法的一个示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例400示出了可将来自第二图像集合的图像与第一图像集合进行比较来标识第二图像集合中包含与第一图像集合相同的人的图像的方法的示例。在框402,可接收第二图像集合。在框404,可预处理第二图像集合。用于预处理的方法的一个示例可以在本说明书稍后提出的实施例500中示出。在框406,可以处理第二图像集合中的每一图像。对于框406中的每一图像,如果在框408中没有找到脸部,则该过程可返回到框406来处理下一图像。如果在框408找到脸部,则在框410可以处理每一脸部对象。对于框410中的每一脸部对象,可以在框412中与第一图像集合的聚类进行比较来找到最接近的匹配。如果在框414该匹配不满足阈值,则该过程可返回到框410来处理下一脸部对象。如果在框414匹配在阈值内,则在框416将该图像关联到该聚类。在处理了框406中的所有图像之后,结果可以是来自第二图像集合的、匹配第一图像集合中的聚类的图像的列表。在框418中,可根据排名来对该列表排序并将其呈现给用户,该排名可以从实施例300的过程中确定。
图5是示出用于脸部分析的预处理的方法的实施例500的流程图示。实施例500是可由诸如实施例100的客户机102的图像预处理器128或社交网络服务136的预处理器160等图像预处理器来执行的方法的示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例500的预处理可以对图像集合中的所有图像标识脸部并创建脸部向量或脸部图像的某种其他数值表示。在框502可以接收图像文件,并且可以在框504扫描该图像文件来标识所有脸部。如果在框506找到脸部,则在框508可以单独处理每一脸部。对于框508中的每 一脸部,在框510中可以将图像裁剪到该脸部,并且在框512可以从裁剪的图像创建脸部对象。在框514可以创建脸部向量,该脸部向量可以是脸部图像的数值表示。在框516,可将脸部向量和脸部对象作为图像的元数据来存储。在框508中处理了所有脸部之后,如果在框518有另一图像可用,则该过程可循环回到框502,否则该过程在框520中停止。图6是示出用于用训练图像集来设置阈值的方法的实施例600的流程图示。实施例600是可从用户的朋友收集示例图像并使用这些示例图像来设置可最小化假肯定比较的阈值的方法的示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例600可确定一阈值设置,该阈值设置在比较图像集合时可以最小化假肯定比较。在许多社交网络应用中,相对高的置信阈值可有用于最小化不正确地标识匹配的可能性。当从第二用户的图像集合中选择照片或视频图像来匹配第一用户的图像集合时,不正确的匹配可能会向用户给出匹配过程的低置信度。然而,遗漏的匹配,即匹配存在但是阈值不允许该匹配被检测到,可能不会对用户的置信度有很大的损害。实施例600的过程从用户的朋友的图像集合收集代表性图像来用作用于比较的训练集。脸部比较可基于与用户相关联的那些人的人种、肤色和其他物理特性而有区别。所选图像可以来自用户的朋友的朋友,并且可反映用户的图像集合中的人的可能的物理特性。实施例600的过程可试图从训练集中移除可能在用户的图像集合中的任何人。这可以通过检查与朋友的图像相关联的任何标签以确保该标签不匹配用户的朋友来执行。在框602,可标识用户的朋友。用户的朋友可以从社交网络内的关系以及任何其他源确定。在某些情况下,用户可属于若干社交网络,每一社交网络具有一组不同的关系。在此类情况下,尽可能多地考虑那些关系。在框604,可处理用户的每一个朋友。对于框604中的每一朋友,在框606处理该朋友的图像集合中的每一图像。对于框606中的每一图像,在框608可标识与该图像相关联的标签。如果在框610标签与用户的朋友相关联,则在框610不考虑该图像。通过在框610排除用户的朋友,该训练集可能不包括可能是对用户的匹配的图像,但是可包括具有与可能在用户的图像集合中的人相似的特性的人的图像。如果在框610标签指示图像可能不与用户相关,则在框612选择该图像来用于训练集。在许多情况下,为训练集选择的图像可以是朋友的图像集合中的所有图像的子集。例如,一过程可以选择每100或1000个候选图像中的一个来作为训练集的一部分。在某些实施例中,可对训练集作出随机选择。在框604到612中选择了要在训练集中的图像之后,在框614可以对该训练集执行脸部预处理。该预处理可以类似于实施 例500的预处理。在框616可以将匹配阈值设置为默认值。在框618,可以处理用户的图像集合的每一图像来设置阈值,使得用户的图像集合中没有一个图像与训练集匹配。对于框618中的每一图像,如果在框620该图像不包含脸部,则该过程返回到框618。当在框620中图像包含脸部时,在框622中可处理每一脸部。对于框622中的每一脸部,在框624可将该脸部对象与训练集中的脸部对象进行比较来找到最相似的脸部对象。如果在框626中相似度小于阈值,则该过程可返回到框622。如果在框626中相似度大于阈值,则在框628中调整阈值以使得该阈值低于框628中的相似度。在框618中处理了用户的图像集合中的所有图像之后,在框630中可存储当前阈值并用于后续比较。图7是示出用于事件匹配的方法的实施例700的流程图示。实施例700是可由诸如实施例100的分析引擎166等分析引擎执行的方法的一个简化示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例700是可用于从元数据中检测事件的方法的示例。元数据可以是从图像,如从脸部分析或其他图像分析中导出的元数据。元数据也可以是并非从图像导出的元数据,如标题、时间戳或位置信息。实施例700可以从两个用户的图像集合的交集中推断事件。这一交集可以发生在两个用户都出席同一事件且都拍摄了该事件的图像时发生。例如,两个用户可出席生日宴会或家庭聚会,并拍摄了聚餐的家庭的照片。在另一示例中,两个用户可出席会议、体育赛事或其他公共事件,并且可拍摄该集会的图像。在某些情况下,用户可能了解彼此对事件的出席,而在其他情况下,用户可能不知道另一个人已出席。在框702,可从第一用户接收图像集合。在框704,可从第二用户接收图像集合。在某些实施例中,所接收的信息可以仅仅是与集合中的图像相关的元数据,且不是实际图像本身。在框706可比较来自每一图像集合的元数据来找到匹配。匹配可基于图像分析,如在来自两个不同集合的图像中找到匹配的脸部。匹配可基于元数据分析,如找到具有匹配的时间戳、标签、位置信息或其他元数据的图像。在许多情况下,匹配可以用某一容差或偏差级别来确定框706中标识的匹配可具有大量偏差或容差,因而在稍后的步骤中可进一步评估每一匹配。框706中的匹配可以是粗略的或初步的匹配,该粗略或初步匹配可被进一步细化来标识具有更大确定性的匹配。
框706的结果可以是来自每一集合的一对图像。在某些情况下,结果可以是来自每一集合的、共享相似元数据的一组图像。在框708,可以比较每一组匹配的图像。对于框708中的每一组匹配的图像,在框710中可比较元数据来确定是否可推断事件。事件可基于若干因素来推断。某些因素可以被高度加权,而其他因素可以具有次要特性。对匹配是否指示事件的判定可以使用各种试探或公式来确定,且此类试探或公式可取决于实施方式。例如,某些实施方式可有大量元数据可用,而其他实施方式可具有较少的元数据参数。某些实施方式可具有复杂的图像分析,而其他实施例方式可具有较不复杂的或甚至没有图像分析。高度加权的因素可以是在其中第二用户标识该第二用户的图像之一中的第一用 户的情况中。此类元数据明确地标识了两个图像集合之间的链接,且指示两个用户可能在同一时间在同一地方。在某些实施例中,用户可以为其集合中具有来自其社交网络的人的图像加标签。在此类实施例中,用户可手动选择一图像并创建标识该图像中的朋友的标签。某些此类实施例可允许用户指向脸部并将标签附加到图像上的位置。此类标签可被认为是可靠指示器,且被给予比其他元数据更高的权重。其他高度加权的因素可以是空间和时间上的非常接近。非常接近的时间戳和物理位置信息可以指示两个用户曾经在相同时间和地点。在某些实施例中,图像可包括拍摄该图像的点以及当拍摄该图像时照相机所面向的方向。当此类元数据可用时,两个图像覆盖的区域的重叠可以是事件的证据。某些图像可以用由用户手动添加的各种描述符来加标签。例如,图像可以用“Anna的生日宴会”或“技术会议”来加标签。当来自两个图像集合的图像被加上类似的标签时,标签可以是事件的良好指示器。可使用图像分析来分析匹配以标识共同的事件。例如,两个集合中的图像之间的脸部图像匹配可以是两个用户出席且捕捉的事件的良好指示器。脸部图像匹配可由相似的背景图像区域并通过对与匹配的脸部相关联的人的服饰分析来进一步确认。当标识共同事件时,在不同情形和不同实施例中可使用各因素的不同组合。例如,在某些情况下,事件可以单独通过图像分析来确定,即使是在元数据不相关的时候。例如,一个用户可能购买了照相机设备并且可能从未正确地设置照相机中的时间和日期,或者可能将时间设置为与另一用户不同的时区。在这一情况下,时间戳元数据可能是不正确的,但是图像分析可标识共同事件。在另一示例中,即使图像分析可能无法标识任何共同的脸部、背景或其他相似性,元数据也可标识共同事件。不同实施例可具有不同的用于标识事件的阈值。在对实施例700的典型社交网络使用中,可执行分析来基于事件自动向图像应用标签。在这一实施例中,较高程度的确定性可能是合乎需要的,使得不正确的标签不会作为噪声而引入到图像集合中。在另一种用途中,匹配可用于标识可能事件,用户可手动检查可能事件来确定事件实际上是否的确曾经发生。在这一用途中,确定事件的阈值可具有比在其他使用情况中低得多的确定性程度。如果在框712中未确定事件,则该过程可返回到框708来处理另一匹配。
如果在框712中标识了事件,则在框714中可标识与该事件相关联的所有图像。在框716中可对该事件定义元数据标签,并且在框718中可将该标签应用于图像。与事件相关联的图像可通过标识与匹配的图像相关或共享共同元数据或其他特征的图像来确定。例如,可匹配两个图像,每一图像来自一个图像集合。一旦匹配了这些图像,在框714可标识匹配的图像在其各自的集合中的任何相关图像。框716中的元数据标签可通过扫描相关图像来确定事件标签是否与任一个相关图像相关联来生成。例如,在框714中收集的图像之一可用诸如“Anna的生日”等事件标签来加标签。在框718,然后可将该标签应用于所有相关图像。在某些实施例中,框716的事件标签可以是可标识匹配是如何确定的自动生成的事件标签。例如,通过具有时间和位置信息的共同元数据确定的匹配可具有包括“耶路撒冷,2010年2月22日”的标签。每一实施例可具有用于确定标签的不同机制。在某些实施例中,框718中应用的标签可能对用户不可见。这一标签可由社交网络用于将不同图像集合链接在一起来提供增强的搜索或浏览能力,且不向用户展示标签供查看或修改。图8是示出用于用户的图像集合和用户朋友的图像集合之间的事件匹配的方法的实施例800的流程图示。实施例800是实施例700中描述的事件匹配方法的一个使用场

-5^ O其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例800将用户的图像集合与用户朋友的图像集合进行比较。该比较可标识被两个用户共享的事件,且可以标识朋友的图像集合中第一用户可能想要添加到他或她的图像集合的图像。实施例800可以是用于在社交网络中将两个图像集合链接在一起的强大工具。在 某些用途中,两个用户可能知道他们出席了同一事件且可能希望彼此共享他们的图像。在其他用途中,用户可能未记住出席同一事件或者可能未认识到两个人都在那里。实施例800的方法可以通过标识其生活中的交集并允许他们通过其图像来共享事件来增强用户的交互。在框802,可接收用户的图像集合。在框804,可以标识用户的朋友,并且在框806可以处理每一朋友。对于框806中的每一朋友,在框808可以在该用户和用户的朋友之间执行事件匹配来标识共同事件。事件匹配可以按实施例700中所描述的相似的方式来执行。在框810,可以分析框808中找到的每一新事件。对于框810中的每一新事件,在框812中可以从朋友的图像集合中选择匹配该事件的图像。在框814,可以标识来自从朋友的图像集合所选的图像的任何元数据,并在框816将其应用于与事件相关的用户的图像。框814和816的操作可以将标签和其他元数据从朋友的图像集合传播到用户的图像集合。在某些实施例中,可给予用户批准或不批准加标签的选项。标签和其他元数据可以通过自动或半自动地应用有用标签来丰富用户的图像集合。在框818,可以将朋友的图像呈现给用户,并且可以按事件来对图像分组。用户界面的示例可以在本说明书稍后提出的实施例1000中示出。
在框810中处理了每一事件之后,在框820,用户可以浏览朋友的图像并选择朋友的一个或多个图像。在框822,可将所选图像添加到用户的图像集合。图9是示出用于用户的朋友对之间的事件匹配的方法的实施例900的流程图示。实施例900是实施例700中描述的事件匹配方法的一个使用场景。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例900比较用户的朋友的图像集合中的两个来标识可从用户的两个朋友推断的事件。可将来自所推断的事件的图像呈现给用户且用户可以将这些图像添加到用户的图像集合。实施例900在社交网络场景中可能是有用的,其中用户可能出席或未出席事件且可能希望查看该事件的图像并可将这些图像中的某一些添加到用户的图像集合。例如,无 法出席孙辈的聚会的祖父母可能希望看见该聚会的图像。该聚会可以通过分析来自出席该聚会的两个或更多人的图像集合来推断。通过从对图像集合的分析中推断事件,可收集该事件的所有相关图像并将其呈现给祖父母供他们欣赏。实施例900以与实施例800相似的方式来操作,但用于事件匹配的图像集合可以是来自用户的朋友的集合对而非将用户的集合与他或她的朋友的集合进行比较。在框902,可以标识用户的朋友并将其置于列表中。朋友可以通过社交网络来标识。在框904,可以处理每一朋友。对于框904中的每一朋友,在框906可以分析朋友列表上的每一剩下的朋友。剩下的朋友是对其尚未处理图像集合的那些朋友。对于框906中的每一剩下的朋友,在框908中可以在两个朋友的图像集合之间执行事件匹配过程来标识共同事件。框904和906的过程可被安排成使得每一对朋友可被处理来标识共同事件。在框910,可以处理每一共同事件。对于框910中的每一共同事件,某些实施例可以包括框912中的验证来确定该用户是否可能在场。框912的验证可用于防止示出未邀请用户的事件。例如,用户的两个朋友可聚在一起寻欢作乐一个晚上,但是可能未邀请用户。为防止用户被冒犯,某些实施例可包括诸如框912的验证来防止用户发现事件已发生。在其他实施例中,如对于上述祖父母的示例,可以不包括或可以忽略框912的验证。在某些社交网络中,用户可能能够选择是否要与其他用户共享事件,并且可能能够选择哪些用户可查看其共同事件以及哪些用户不可以。在框914,可以从共同事件中选择来自朋友的图像集合的图像并在框916中将其按照事件分组来呈现给用户。在框910中处理了所有共同事件之后,在框918,用户可浏览并选择图像,并且在框920可将所选图像添加到用户的集合。图10是示出具有来自事件匹配分析的结果的用户界面的示例实施例1000的图示。实施例1000是可用于向用户呈现诸如实施例800或900的事件匹配分析等事件匹配分析的结果的用户界面的一个简化示例。用户界面1002可以显示事件匹配过程的结果。在用户界面1002中,示出来自三个事件的结果。事件1004可具有标签“生日宴会”,事件1006可以具有标签“沙滩假日”,事件1008可具有标签“滑雪假期”。可从定义自朋友的图像集合的标签中标识各种标签。在某些情况下,标签可以从匹配所 检测到的事件的用户的图像中确定。每一事件可以与图像的源一起呈现。例如,事件1004可具有“来自妈妈和Joe的集合”的图像源1010。事件1006可具有“来自Joe的集合”的图像源1012,且事件1008可具有“来自Lora的集合”的图像源1014。图像源可使用关于用户的朋友的用户标记来创建。用户界面1002还可包括关于事件的各种元数据。例如,事件1004可以与指示用户的哪些朋友被确定为在该事件的元数据1016 —起呈现。类似地,事件1006和1008可分别具有元数据1018和1020。每一事件可具有所呈现的图像的选集。事件1004与图像1022、1024和1026 —起示出。事件1006与图像1028和1030 —起示出,事件1008与图像1032 —起示出。每一图像旁边可以是用户可用于选择要添加到用户的图像集合的一个或多个图像的按钮或其他机制。实施例1000的用户界面仅是可作为诸如事件匹配等图像匹配分析的结果呈现给用户的某些组件的一个示例。用户界面可以是用户可用于浏览匹配分析的结果并对结果执行操作的机制。图11是示出用于创建可用于匹配图像的聚类的方法的实施例1100的流程图示。事件1100是可通过分析单个图像集合并对图像分组来创建聚类的一种方法的简化示例。聚类可在图像比较分析和元数据比较分析中使用。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。实施例1100可示出用于创建图像聚类的简化方法。聚类可以是可共享共同特征的一组图像,并且可以在对脸部分组以及将图像作为整体来分组时是有用的。聚类可通过标识代表图像的向量并通过将向量分组在一起来创建。聚类可具有质心和半径,并且可以在图像和聚类之间作出数值比较来确定图像和聚类之间的“距离”以确定匹配。在框1102,可接收图像集合,并且在框1104,可分析图像集合中的每一图像。在使用脸部识别的实施例中,图像可以是从较大图像裁剪的、可以仅包含人的脸部特征的脸部对象。在此类实施例中,该分析可创建代表脸部对象的向量。在其他实施例中,可分析整个图像来创建图像向量。在框1106,可分析图像来创建图像向量。图像向量可包含图像的各个元素的数值表示,包括脸部图像分析、服饰分析、背景图像分析和纹理分析。在某些实施例中,框1106的分析可创建若干图像向量。例如,具有两个脸部的图像可用代表脸部的两个图像向量、代表两个人的服饰的两个图像向量、以及代表背景图像或图像中的各种纹理的一个或多个向量来表示。在框1104中分析了每一图像之后,在框1108中可将图像分组在一起。分组可使用元数据分组和图像分析分组。用于分组的一种机制可以是对于每一元数据类别或图像分析类型,在独立或正交的分组轴上将图像分组在一起。例如,可为脸部图像分析建立一条分组轴。在这一轴上,可将所有脸部图像表示或向量分组。单独地,每一图像可根据诸如时间戳或位置等不同元数据来分组。在每一轴内,在框1110可以标识聚类。聚类的定义可以使用可将聚类限制到图像的严格分组的阈值来控制。聚类可用于用高确定程度来表示图像的实际匹配,使得诸如图像比较和排名等其他操作可具有高确定程度。其上对图像分组的每一轴可具有用于标识聚类的不同阈值。例如,脸部图像匹配可具有相对严格的阈值,使得仅具有非常高的相似程度的匹配才能被认为是聚类。相反,通过背景图像分析来匹配的图像可具有较不限制的阈值,使得可将更宽范围的图像分组。每一聚类可具有在框1112中计算的质心和半径。质心和半径可用于在将其他图像与图像集合进行比较时确定匹配。在框1114,可存储聚类以及质心和半径。图12是示出用于使用聚类的质心和半径分析来匹配图像的方法的实施例1200的流程图示。实施例1200可以示出可使用实施例1100所分析的图像来标识用户的图像集合和朋友的图像集合之间的匹配,然后选择最适当或最佳匹配来显示给用户的一种方法。 其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出一些操作原理而选择的。在框1202,可接收用户的图像集合,并且在框1204,可接收朋友的图像集合。在框1205,可预处理用户的朋友的图像集合。预处理图像的一个示例可以是实施例500。实施例500的预处理可以应用于脸部图像分析,并且可被扩展到背景图像分析、纹理分析、色彩直方图分析、服饰分析和其他图像分析预处理。框1205的预处理可以对应于在对用户的图像集合进行聚类之前执行的任何分析。在框1206,可分析朋友的图像集合中的每一图像。对于框1206中的每一图像,在框1208,可以分析与用户的图像集合相关联的每一聚类。如实施例1100中所述,每一图像集合可包含多个正交轴中的多个聚类。每一聚类可表示用户的图像集合的重要方面或元素,且这些方面可用于与来自朋友的图像集合的图像进行比较。对于框1208中的每一聚类,在框1210,可确定从所分析的图像到最近聚类的距离。在框1212,如果该距离在质心匹配阈值内,则在框1218,将该图像与该聚类相关联。如果在框1212该距离不在质心匹配阈值内,则在框1214可确定到最近邻居的距离。如果在框1216到最近邻居的距离不在邻居阈值内,则确定没有匹配。最近邻居可以是在聚类内的图像。最近邻居评估可以标识落在聚类外面但是非常接近与该聚类一起分组的图像之一的图像。在一典型实施例中,当与质心阈值比较时,邻居阈值可能较小。在框1206中分析了朋友的图像集合中的所有图像之后,可选择朋友的图像来呈现给用户。在框1220,可按照大小对用户的聚类排名。排名可用作对用户的重要性的代表。在框1222中,可以评估每一聚类。对于框1222中的每一聚类,框1224中可将匹配的图像与聚类进行比较来找到与邻居最接近的图像,并在框1226中找到与聚类质心最接近的图像。在框1228中可确定最佳匹配并在框1230中将其添加到用户界面显示。
框1220到1230的过程可标识可以是与用户最相关以及最可能是良好匹配的那些匹配。相关性可以通过从用户的图像集合中导出的聚类的排名来确定。最佳匹配可以是与聚类的质心最近或非常靠近另一图像的那些图像,这可以由最近邻居来表示。图像匹配可能易于有噪声,并且许多图像匹配算法可导致假肯定结果,其中图像被不正确地匹配。在具有图像匹配的社交网络应用中,用户对匹配机制的满意度在向用户呈现了有质量的匹配时可以较高。框1220到1230的过程可以从可用匹配中选择最佳匹配来呈现给用户。这一过程可以为每一聚类选择一代表性匹配并向用户呈现每一匹配,使得用户能够查看各种各样的匹配。在选择了图像之后,在框1232可以向用户呈现按照聚类组织的图像。在框1234,用户可浏览并选择图像,并且在框1236,可以将图像添加到用户的集合。 在某些实施例中,用户可能能够深度挖掘某一聚类的匹配以便查看附加匹配。在这一情况下,框1220到1230的过程可用于组织并从匹配特定聚类的图像子集中选择最适当的图像。对本发明的上述描述是出于图示和描述的目的而呈现的。它不旨在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。
权利要求
1.一种在计算机处理器上执行的方法,所述方法包括 接收来自第一图像集合的图像元数据,所述图像元数据包括来自所述图像的经处理的脸部对象; 分析所述图像元数据以标识相似的脸部对象,所述相似的脸部对象具有相对于第一阈值的匹配标准; 将所述相似的脸部对象分组成聚类;以及 至少根据聚类大小来对所述聚类进行排名。
2.如权利要求I所述的方法,其特征在于,所述图像元数据由第二方法生成,所述第二方法包括 对于所述第一图像集合中的所述图像的每一个,分析图像以标识所述图像内的脸部,处理所述脸部以确定每一个所述脸部的脸部向量,并将所述脸部向量存储到所述图像元数据中。
3.如权利要求I所述的方法,其特征在于,还包括 为多个聚类中的每一个确定与所述图像中的至少一个相关联的人的身份。
4.如权利要求3所述的方法,其特征在于,还包括 基于所述聚类大小对所述人的身份进行排名。
5.如权利要求I所述的方法,其特征在于,还包括 确定第一聚类中所述图像之一的人的身份,并用所述人的身份来标记所述第一聚类中所述图像中的至少一个。
6.如权利要求5所述的方法,其特征在于,所述人的身份从社交联网应用确定。
7.如权利要求I所述的方法,其特征在于,所述第一阈值通过如下动作来确定 将所述图像元数据与从第二图像集合得出的一组比较图像元数据进行比较,所述比较图像元数据包括具有匹配所述脸部对象的低概率的脸部的脸部向量,所述第一阈值被确定使得所述第一图像集合与所述第二图像集合不匹配。
8.如权利要求7所述的方法,其特征在于,所述第二图像集合通过以下动作来创建 标识与所述第一图像集合相关联的第一用户; 标识与所述第一用户相关联的用户集合;以及 通过标识与所述用户集合的每一个相关联的图像集合内的图像,来创建所述第二图像隹A 口 O
9.如权利要求7所述的方法,其特征在于,所述第二图像集合是默认的图像集合。
10.一种系统,包括 包括多个用户的社交网络,所述多个用户中的每一个具有用户元数据和图像集合; 排名引擎,所述排名引擎 接收来自与第一用户相关联的第一图像集合的图像元数据,所述图像元数据包括来自所述图像的经处理的脸部对象; 分析所述图像元数据以标识相似的脸部对象,所述相似的脸部对象具有相对于第一阈值的匹配标准; 将所述相似的脸部对象分组成聚类;以及 至少根据聚类大小来确定所述聚类的排名。
11.如权利要求10所述的系统,其特征在于,还包括 比较引擎,所述比较引擎将所述聚类与来自第二图像集合的图像元数据进行比较,以从所述第二图像集合中标识具有与所述聚类相似的脸部对象的图像集合;以及 根据所述排名来呈现所述第二图像集合中的至少一部分。
12.如权利要求10所述的系统,其特征在于,所述图像元数据通过一种方法来确定,所述方法包括 对于所述第一图像集合中的所述图像的每一个,分析图像以标识所述图像内的脸部,处理所述脸部以确定每一个所述脸部的脸部向量,并将所述脸部向量存储到所述图像元数据中。
13.如权利要求12所述的系统,其特征在于,在将所述图像上传到所述社交网络之前,所述方法由一设备来执行。
14.如权利要求13所述的系统,其特征在于,所述设备包括图像捕捉设备。
15.如权利要求13所述的系统,其特征在于,所述设备包括可用于访问所述社交网络的浏览器。
全文摘要
可以分析用户的图像集合以标识图像内的人的脸部,随后创建相似脸部的聚类,其中每个聚类可以表示一个人。可按大小顺序对聚类进行排名,以确定相关联的人对该用户的相对重要性。该排名可用于许多社交应用,以过滤和呈现用户可能感兴趣的内容。在一个使用场景中,聚类可用于从第二用户的图像集合标识图像,其中所标识的图像可能与第一用户有关或对第一用户来说是有趣的。该排名也可以根据用户与图像的交互、以及与图像无关的其他输入。当新图像被添加到用户的集合时,排名可被增量式地更新。
文档编号G06K9/20GK102782704SQ201180011712
公开日2012年11月14日 申请日期2011年2月25日 优先权日2010年3月1日
发明者E·克鲁普卡, I·克维阿特科维斯凯, I·阿布拉莫夫斯基 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1