将自动人脸识别合并入数字图像集中的方法和装置的制作方法

文档序号:6593280阅读:212来源:国知局
专利名称:将自动人脸识别合并入数字图像集中的方法和装置的制作方法
技术领域
本发明总体上涉及数字图像集,更加具体地涉及在数字图像集内对自动人脸识别 的使用。
背景技术
数码相机、便宜的数字存储以及通过因特网的广泛的网络连通性带来了在分布式 照片集的数量、大小和访问方面的大幅增长。然而,随着数字照片和数字照片集的可用性的 增长,搜索特定照片或包含特定特征的照片变得日益麻烦。个人可以按相册名称或按日期将其数字照片集组织在文件夹中。然而,人们通常 可能希望跨这些文件夹访问照片。例如,人们可能希望在集中找到特定个人的照片。为了 便于基于照片的内容的这样的搜索行为,可以使用多种技术。一种这样的技术是以一个或 多个关键词标记每一张照片。通常,标记每一张照片由用户完成,所述用户人工提供标签或标签词。另外,可以 从诸如日期、相册或文件夹信息的与每一张照片有关的信息取得这样的标签。然而,这些方 法需要大量用户输入,并且通常不能很好地延展到大型数字照片集。使用自动人脸识别技 术来自动标记照片是实现全面标记大型照片集的有前途的方法。总的来说,自动人脸识别分两个阶段运行人脸检测阶段和人脸识别阶段。前者可 以通过基于一般面部特征自动挑选出照片中的人脸来完成。后者可以包括将检测到的人脸 与先前已识别的面部图像中的一个或多个进行比较。第二阶段的准确度在存在可以将新近 检测的人脸与之进行比较的特定人脸的多个已标识和确认的图像时提高。由于不具有由用户标识和确认的每一个人的足够数量和种类的面部图像,以及由 于错误标识,所以自动人脸识别在大型数字图像集中的效用可能是有限的。允许用户标识 和确认在数字照片集中找到的人脸的目前可用界面试图使用户每次标识许多面部图像更 容易。例如,一个界面可以向用户呈现按一行或多行排列的、潜在属于特定已标识的人的面 部图像,并且要求用户确认或拒绝该系统生成的分类。另一个界面可以向用户呈现用于在 照片中新近检测到的特定人脸的一个或多个命名选项。例如,在第一种情况下,用户的任务 是删除不属于列出的集的每一个个体人脸。在第二种情况下,用户的任务是以名称标记每 一个个体图像。在上面的两种情况中,仍然麻烦的是,清除图像以及为个体图像命名。需要 对用户更友好和有效的方法以使每次标识多个图像的任务便利并有效,使得可以跨整个数 字照片集运用自动人脸识别。用户需要使大部分过程自动化的灵活能力。充分利用特定人的更多广泛的图像的 自动人脸识别将更能对检测到的面部图像分类并排列以供用户确认,使得确认过程对用户 更容易,从而便于标记大量的图像。

发明内容
本发明的实施例涉及将自动人脸识别集成入数字图像集的组织中。在一个实施例中,实现了一种用于从数字图像集创建以及更新面部图像数据库的方法。检测在来自数字 图像集的图像中的面部图像。基于对于检测到的面部图像中的每一个计算的面部识别模板 将检测到的面部图像聚组成相似组。将检测到的面部图像以相似组形式向用户显示,以及 接收确认或拒绝显示的相似组中的每一个中的个体面部图像的用户输入。基于接收的用户 输入来更新相似组中的每一个,并且将更新的相似组存储在面部图像数据库中。在另一个实施例中,从用户接收诸如人名的主题名称。在与所检索的相似组相关 联的名称与用户提供的主题名称基本上匹配的情况下,从存储在面部图像数据库中的面部 图像的至少一个已命名的相似组检索面部图像的第一集合。从面部图像数据库中的没有相 关联的名称并且具有与面部图像的第一集合的面部识别模板基本上匹配的面部识别模板 的相似组检索面部图像的第二集合。在图形用户界面中以集群的形式显示第一集合和第 二集合。接收确认或拒绝第二集合的显示的相似组中的个体面部图像的成员资格的用户输 入,并且根据用户输入更新第二集合。在一个实施例中,将第一集合显示为集群,以及将每 一个相似组作为集群来显示第二集合。在另一个实施例中,在图形用户界面的第一区域中 显示第一集合,以及在第二区域中显示第二集合,其中按与第一集合相似的顺序排列图像。另一个实施例包括用于向在数字图像集中检测到的多个人脸分配名称的命名工 具。面部图像数据库存储与在数字图像集的图像中检测到的面部图像有关的数据。另外, 命名工具可以包括图形用户界面、检测数字图像集的图像中的人脸并且将与检测到的人脸 有关的数据存储在面部图像数据库中的人脸检测模块、对于面部图像数据库中的每一个面 部图像计算至少一个面部识别模板的人脸识别模块、以及根据相应模板对在面部图像数据 库中的面部图像进行聚组使得相似的面部图像属于一个相似组的相似聚组模块。又一个实施例包括一种访问数字图像集的方法。系统获取主题名称、选择面部图 像数据库中已被分配该主题名称的面部图像集合、以及从数字图像集找到与选择的面部图 像相关联的数字图像。在一个实施例中,可以将找到的数字图像作为个性化幻灯片显示。又另一个实施例包括一种利用多个源面部图像来搜索人的图像的方法。系统接收 主题名称、从面部图像数据库选择已被分配该主题名称的面部图像集合、以及使用选择的 源图像集合来以人脸识别搜索一个或多个数字图像集。另一个实施例包括一种向数字图像集中的图像集合提供受限制的访问的方法。对 访问已被分配主题名称的面部图像的用户进行验证。选择已被分配该主题名称的面部图像 集合,并且允许用户访问图像集中的那些图像。将在下面参照附图详细地描述本发明的进一步的实施例、特征和优势,以及本发 明的各个实施例的结构和操作。


图1 本发明的一个实施例的系统视图。图2 在本发明的一个实施例中的一种以新近检测到的人脸更新面部图像数据库 的方法。图3 在一个实施例中的一种使用基于相册的查找来为人脸命名的方法。图4 在一个实施例中的在基于相册的查找的基础上为人脸命名的图形用户界面 (GUI)实例视图。
图5 在本发明的一个实施例中的一种向用户呈现以之命名相似组的最接近的名 称选择的方法。图6 根据本发明的一个实施例的可以用于为相似组中的面部图像命名的基于幻 灯影片GUI的命名工具的实例视图。图7 在一个实施例中的一种为由用户指定的主题的尚未命名的面部图像命名的方法。图8 在一个实施例中的为由用户指定的主题名称的所有尚未命名的面部图像命 名的⑶I实例视图。图9 在一个实施例中的一种在一个区域中查看并选择分配给主题的图像、以及 在另一个区域中查看并选择待被命名的相似图像的方法。图10 在一个实施例中的为由用户指定的主题名称的尚未命名的面部图像命名 的另一个⑶I实例视图。图11 按照本发明的一个实施例的执行人工辅助人脸检测的GUI实例视图。图12 按照本发明的一个实施例的一种执行人工辅助人脸检测的方法。图13 根据本发明的一个实施例的一种显示个性化幻灯片的方法。图14 根据本发明的一个实施例的一种在图像集中搜索主题的方法。图15 根据本发明的一个实施例的一种方法,通过该方法用户在可能包含他的人 脸的图像被添加到图像集时得到通知。图16 根据本发明的一个实施例的一种限制用户对图像集的部分的访问的方法。在协同附图进行时,本发明的特征和优势从下面阐述的详细描述将变得更加显而 易见。在附图中,相同的参考数字通常指示相同的、功能上相似的和/或结构上相似的元 素。通常,元素在其中首次出现的附图由对应的参考数字中的最左数字指示。
具体实施例方式虽然在此关于用于特定应用的说明性实施例描述了本发明,但是应当理解的是, 本发明不限于此。本领域的技术人员使用在此的教导将认识到额外修改、应用和在本发明 的范围以及本发明在其中将是大量利用的额外领域内的实施例。图1是根据本发明的一个实施例的用于将自动人脸识别合并入数字图像集中的 系统100的图。服务器101通过网络130连接到客户端120。服务器101可以包括软件模 块102。这些可以包括用于人脸检测106、人脸识别105、创建和维护相似组104以及在服务 器端的图像布局生成103的模块;面部图像数据库108 ;以及数字图像集107。在一个实施 例中,服务器101可以是一个计算平台,以及软件模块102和数据库107-108可以在该同一 平台上实现。在另一个实施例中,服务器101可以包括由一个或多个网络互连的多个计算平 台。软件模块102和数据库107-108可以分布在由之组成服务器101的计算平台上,以及 在模块102和数据库107-108之间的通信可以使用例如HTTP、UDP、TCP、IP或以上的任何组 合的某些消息机制来发生。例如,服务器101可以由下述组成接收并响应来自web客户端 或浏览器的请求的web服务器;启用用于用户的图像管理和自动人脸识别功能以及从web 服务器接收命令的独立应用服务器;以及与应用服务器通信以启用数字图像集107和面部图像数据库108的一个或多个数据库服务器。组合web服务器、应用服务器和数据库服务 器的使用的系统在本领域众所周知。模块103-106表示在实现本发明的实施例中的功能。本领域的技术人员将理解 的是,可以以软件形式实现比102中所示的更多或更少的模块来实现本发明的功能。模块 103-106中的每一个可以使用一种计算机编程语言或计算机编程语言的组合来实现,所述 计算机编程语言例如但不限制Java、C++和C。在一些实施例中,每一个数据库107和108可以包括一个或多个互连的数据库。例 如,数字图像集107可以包括多个分布式数字图像集的聚集,其中分布式集可以由同一或 不同用户所有。例如,所述集可以包括一个或多个用户的数字照片相册。当前可用的示例 可以是Google的基于PICASA web的数字照片服务中的用户相册集合。尽管在此被称为数 据库,但是本领域的技术人员将理解的是,可以将数字图像集107实现为附有搜索和检索 期望的图像的能力的存储数字图像的任何机制。面部图像数据库108可以包括条目集合,其中每一个条目对应于在集107中的图 像中检测到的人脸,所述人脸在此被称为面部图像。数据库108中的条目可以包括面部图 像、指向集107中的在其中检测到所述面部图像的对应图像的指针、包括用于分配的名称 的标签值的一个或多个标签值、一个或多个面部识别值以及相似组的标识。将在下面更详 细地描述标签和相似组。如在此所使用,“标签”是指用于标识或描述面部图像的词或短语或其它数据。“面 部识别值”是被分配给面部图像中的单个面部界标的数值或基于包括个体面部界标的因素 计算的总值。因此,数据库108的条目中的一个或多个面部识别值可以包括用于预定面部 界标集合的个体数值和总值。在文献中描述的数个面部识别界标估计机制中的任何一个可 以在将面部识别值分配给数据库108中的面部图像时使用。为了形成相似组,在这些面部 图像条目中的每一个中的这些面部识别值中的一个或多个,例如个体界标面部识别值的总 值可以被认作是每一个图像的代表。该代表值在下文被称为“面部识别模板”。在另一个实 施例中,在每一个条目中的数个面部识别值可以被认作是值的向量,以及为向量计算的对 应值可以被用作用于对应的面部图像的代表性面部识别模板。在又一个实施例中,面部识 别模板自身可以是包括用于面部界标的个体面部识别值的向量。在一些实施例中,面部图像数据库108中的条目可以不包含面部图像替代地条 目可以包含面部图像在集107中的各个图像内的位置参数。例如,可以使用包围所期望的 面部图像的矩形的左下角和右上角的像素数来在二维中指定位置参数。可以以各种方式实 现包括在数据库108的每一个条目中的、指向集107中的对应图像的指针。例如但不限于, 指针可以是到集107的索引、到对应图像的存储器引用、或诸如到表的索引的间接引用,所 述间接引用是到集107中的图像的哈希引用。如在此使用的“相似组”为具有在预定范围内的人脸识别模板值的图像集合。例 如,在两个面部图像之间的相似性可以由在两个对应的面部识别模板之间的欧几里得距离 测量。使用对应的面部识别模板对面部图像的相似组的创建可以通过聚类过程来实现。例 如,可以在创建相似组时使用诸如k-means聚类或c-means聚类的众所周知的聚类技术。相 似组意在聚组单个人的面部图像。人脸检测模块106可以使用例如C的许多编程语言中的一种以软件形式实现。模块106细查图像或用户指定的图像以检测那些图像内的人脸。例如,在一个实施例中,在用 户将数字照片相册添加到集107时,人脸检测模块106可以细查在该相册中的每一张数字 照片以检测人脸。在检测到人脸时,模块106可以制作包围检测到的人脸的区域一例如包 围检测到的面部图像的矩形区域一的数字副本,以存储在面部图像数据库108的对应条目 中。对于在集107中检测到的每一个新的人脸,人脸检测模块106可以在面部图像数据库 108中创建或促使创建新的条目。在一些情况下,自动人脸检测可能未检测图像中的所有人 脸。因此,在一些实施例中,用户可以特定地触发人脸检测模块106来处理指定图像。将在 下面关于人工辅助人脸检测来描述这一点。存在本领域描述的许多人脸检测技术。例如,如在美国专利NO. 6,222,939中描述 的弹性束图匹配(elastic bunch graph matching)、如在美国专利No. 6,917,703中描述的 使用关于gabor jets的神经网络(using neural networks on gabor jets)、以及如在美 国专利No. 7,099,510中描述的使用增强的原始特征的人脸检测(face detection using boosted primitive features)为可以用于在此描述的目的的一些众所周知的人脸检测技 术。本领域技术人员将理解的是,可以在模块106中使用数种这些技术中的任何一个来检 测集107的图像中的人脸,而与本发明一致。人脸识别模块105估计数据库108中的每一个面部图像以将面部识别值分配给预 定面部界标集合。模块105还计算用于数据库108中的每一个面部图像的代表性面部识别 模板。如前所述,人脸识别模板可以是单个值或值的向量。本领域描述了可以在本发明的 实施例中使用的用于人脸识别的数个算法。例如,如在认知神经科学杂志第3卷第1,1991 期第 71-86 页的 M. Turk 和 A. Pentland 的"Eigenfaces for Recognition (用于识别的特 征脸)”中描述的,模板值可以通过将面部图像投影在由通过主要组分分析获取的特征脸定 义的子空间中来生成。另一个示例技术如在美国专利No. 6,301,370中描述的可以是创建 由从面部图像的局部特征导出的gabor jets组成的模板。相似组模块104包括对面部图像数据库108中的由人脸检测模块105分配了面部 识别模板的面部图像的处理。模块104可以基于预定面部识别模板值或值的范围将具有分 配的面部识别模板的面部图像聚组成相似组。相似组被设计为理想地将单个人的图像聚组 在一起。实际上,相似组的效能很大程度上取决于包括面部识别模板的数个因素的准确度, 并且受定义相似组的值的限制。服务器端图像布局生成模块103包括在面部图像数据库108和图形用户界面 (⑶I) 121之间的接口的服务器端组件。组合的客户端图像布局生成模块123和服务器端图 像布局生成模块103可以包括便于用户输入、在客户端120和服务器101之间交换来自数 据库108的面部图像和来自集107的图像的功能。另外,服务器端模块103可以包括从数 据库108选择和检索面部图像、从集107检索在数据库108中的条目中引用的图像、以及与 相似组模块104、人脸识别模块105和人脸检测模块106交互以启用在客户端120中期望的 用户行为的功能。客户端120可以包括⑶I 121、一个或多个输入设备122以及客户端图像布局生成 模块123。客户端120可以位于如服务器101相同的计算平台中或位于不同计算平台上。 本领域技术人员还将认识到,可以在实现本发明的功能时利用在100中未示出的其它软件 和硬件模块。⑶I 121可以包括计算机监视器和相关联的显示软件和硬件。输入设备122可以包括键盘、鼠标或其它输入机制。客户端图像布局生成模块123除上述功能外可以包 括处理来自数据库108的面部图像和来自集107的图像以在⑶I 121中显示的功能,以及 使⑶I 121的性能和用户与⑶I 121的交互最优化所需要的任何功能。本领域技术人员将认识到,可以用数个编程语言中的一个,例如在客户端120支 持Java功能的情况下用Java,来实现客户端图像布局生成模块123。如之前关于服务器软 件模块102所述,也可以使用许多语言中的一个来实现服务器端图像布局生成模块,但是 可以分别考虑便于客户端和服务器端图像布局生成模块123和103的交互来选择实现语言 和软件平台。例如,在本发明可以包括交互式web应用的一个实施例中,可以用特别适于这 样的应用的语言,例如异步JavaScript和XML(AJAX),来实现模块123和103。图2是示出在一些实施例中的以新近检测到的人脸来更新面部图像数据库108的 阶段的流程图200。通常在服务器101中执行流程图200定义的过程。在阶段201,人脸检 测模块106处理新近添加到数字图像集107的图像。可以通过许多机制,例如通过实现每 当新的数字照片相册被添加到集107时调用人脸检测模块108的软件触发器,来调用人脸 检测模块106以处理新的图像。在上面关于包括人脸检测模块106的服务器软件模块102 的功能进一步描述了人脸检测模块106。在阶段202,在面部图像数据库108中为在集107的新图像中检测到的每一个人脸 创建对应的条目。对这些条目的创建可以由人脸检测模块106软件来完成。如之前关于人 脸检测模块106所解释的,数据库108中的条目可以或可以不包括检测到的面部图像的数
字副本。在阶段203,人脸识别模块105可以处理面部图像数据库108中的新近添加的面部 图像。在上面关于包括人脸识别模块105的服务器端软件模块102详细解释了模块105的 处理。在阶段203,人脸识别模块105的功能可以包括将值分配给预定面部界标集合,以及 创建用于面部图像中的每一个的面部识别模板。在阶段204,相似组模块104处理面部图像数据库108中的面部图像。在上面关于 包括相似组模块104的服务器端软件模块102详细解释了模块104的处理。相似组意在聚 组属于单个人的面部图像。为此,相似组模块104可以依赖面部识别模板中的预定范围,以 及生成面部识别模板的准确度。在相似组模块104完成处理时,数据库108中的面部图像 已被分配面部识别值、面部识别模板,以及进一步被分配聚组成相似组的暂定聚组。在一些实施例中,使用户能够为面部图像命名可以大体上在两个方面进行用户 可以基于相册为人脸命名或用户可以通过指定人名为人脸命名。图3是示出在一个实施例 中的在基于相册为面部图像命名阶段的流程图300。例如,在这个实施例中,用户选择了为 在该相册中的每个图像中的每个人脸的面部图像命名。阶段301允许用户指定其希望处理 的一个或多个相册,以为在那些图像中出现的人脸命名。在阶段301之前,可以存在在其 中用户选择基于相册为人脸命名的一个或多个其它阶段(未示出),其中首先向用户呈现 来自集107的可用相册的列表。在阶段302,基于在阶段301接收的输入,选择相册用于处 理。例如,可以按用户指定的序列顺序处理相册。例如,在选择了相册后,模块103可以访 问集107中的选择的相册,以及对于选择的相册中的每一个图像在数据库108中定位对应 于该图像的面部图像。将为选择的相册中的图像因此定位的面部图像聚组成第一集合。阶 段303-305表示与创建第一集合有关的行为。在处理用户指定的相册中的图像时重复阶段302-307,以创建面部图像的第一集合。在阶段307完成处理循环后作为结果的面部图像的 第一集合包括在用户指定的相册中的检测到的人脸。在阶段308,根据相似组对面部图像的第一集合进行分类。该分类理想地将用户在 阶段301指定的相册中的任何图像中出现的单个人的面部图像聚组在一起。然而,如之前所述,对相似组的自动创建可能在将仅一个人的图像聚组成相似组时以及在将人的面部图 像聚组在单个相似组中时不完全准确。
在阶段309-311,在⑶I 121上通过相似组显示面部图像的第一集合。例如,可以 将相似组显示一组到如图4中所示的行或框401,以及用户输入404启用。例如,可以启用 用户输入来通过图4中所示的复选框403选择或取消选择属于所指示的相似组的每一个显 示的面部图像。同样,可以通过也在图4中示出的前几个最接近的名称的下拉列表402来 便于用于为每一个相似组命名的用户输入。例如,从其选择名称以标识所显示的相似组的 最接近的名称列表可以通过比较面部识别模板值,从在与所显示的相似组接近范围内的相 似组的已命名的面部图像取得。图5是在一个实施例中的如上所述的一种生成最接近的名 称选择的列表的方法的流程图。将在下面更详细地描述图5中所示的过程。本领域技术人 员将理解的是,许多其它技术可以用于生成这样的最接近名称的下拉列表。在阶段312-313,收集用户输入以将所显示的面部图像中的每一个以及还有每一 个所显示的相似组的名称包括在对应的相似组中。在阶段314,基于在阶段312-313收集 的用户输入来更新面部图像数据库。在一些实施例中,对数据库108中的条目的更新可以 包括更新面部识别模板。更新还可以包括对为某些面部图像分配的标签的改变,和/或对 分配的相似组的改变。图6图示了图形用户界面600的另一个示例,在其中以幻灯影片形 式601显示面部图像集合(或那些面部图像的缩略图提取)。以幻灯影片形式显示的面部 图像可以包括面部图像的每一个组的代表性图像。可以在任一方向滚动幻灯影片以查看在 选择的聚组级别中的所有可用的代表性面部图像。例如,如图6中所示,幻灯影片601可以 显示在所有可用相册中的每一个相似组的代表性图像。可以按有意义的顺序排列在幻灯影 片601中的缩略像。例如,可以通过显示带有待被确认的最多面部图像的集群的缩略 像,然后按类似于首先显示的集群的顺序将其它缩略图放置在幻灯影片中来排列缩略 图,以帮助用户命名和确认面部图像集群。用户然后可以选择幻灯影片601中的缩略 像中的一个来显示在对应的相似组602中的面部图像。用户然后可以例如通过选取对应的 框,诸如紧挨图6中的相似组602面部图像中的每一个下方的框,来确认将那些图像中的每 一个放置在当前分配的相似组中。同样,如图6中所示,用户可以为相似组分配名称或确认 当前分配的名称。另外,如图6中所示,可以呈现对命名选择的建议。建议603可以基于在 面部图像数据库108中可用的已命名的面部图像。在阶段314的最后,数据库108中的具有在集107中的用户指定的相册中的对应 的图像的面部图像,关于其在特定相似组中的包括和标签名称被更新。具有用户确认的主 题名称标签的面部图像在此被称为“已命名的”面部图像。
图5图示了为选择的相似组生成可能的名称列表的过程500。在阶段501,确定用 于选择的相似组的人脸识别模板。如前所述,每一个相似组可以具有对应的面部识别模板。 在阶段502,搜索包括在面部图像数据库108中可用的已命名的面部图像的相似组。具有在 预定范围内的人脸识别模板的相似组可以用于从那些相似组中的已命名的图像获取名称。在阶段503,可以将在阶段502中获取的直到预定数量的名称列为用于选择的相似组的可 能选择。可以根据多个标准,包括根据在选择的相似组和带有已命名的面部图像的各个相 似组的人脸识别模板之间的不同来对列表排序。用户可以选择来为面部图像命名的另一个方法是指定用户名,并且试图将指定集 (例如,由系统初始选择的集107的子集)中的图像确认为属于指定用户。图7中的流程图 700是在一个实施例中的通过其用户可以为属于单个人的面部图像命名的阶段的序列。在阶段701, 系统接收作为来自用户的输入的主题名称。例如,用户可以使用⑶I 121来键入或从系统生成的列表选择其希望将面部图像命名为的主题的名称。例如,然后 客户端图像布局模块123可以将用户指定的主题名称传递给服务器端图像布局生成模块 103。例如,在接收主题名称后,如在阶段702,服务器端模块103可以创建在数据库108中 的与用户指定的主题名称相匹配的已命名的面部图像的集合,在此被称为第二集合。此后, 在阶段703,模块103可以确定与第二集合中的面部图像相对应的一个或多个面部识别模 板值。例如,如在数据库108中的当前分类,尽管第二集合中的面部图像可以被分配单个主 题名称,但是这些图像属于多个相似组。相似组中的每一个可以具有定义组的面部识别模 板值的其自身范围。在阶段703,确定用于面部识别模板的范围集合。在阶段704使用在阶 段703确定的面部识别模板的范围来选择在面部识别模板值上最接近在阶段703选择的那 些值的尚未命名的面部图像的集合,被称为第三集合。此后,在阶段705,在GUI上排列第二 集合中的面部图像(已命名的面部图像)和第三集合中的那些面部图像(未命名的面部图 像)。例如,在一些实施例中,可以以图像的单个集群的形式布局第二集合,以及可以以多个 集群的形式布局第三集合,其中每一个集群对应于相似组。在一些实施例中,可以在GUI上 组织第三集合的集群,使得到第二集合的面部图像的集群的邻近度指示各个面部识别模板 的接近度。图8是在一个实施例中的根据流程图700产生的⑶I 800。例如,可以如图8中 所示来布局具有第二集合中的图像的集群801和第三集合的集群802-808。在阶段707,接 收用户输入,以将每一个显示的面部图像包括在指示的相似组中;还接收用户输入,以将每 一个显示的面部图像包括在待以指定的主题名称更新的图像集合中。在阶段708,根据用户 输入更新数据库108。例如,可以通过从条目分配或删除指定的主题名称来更新数据库108 中的对应条目,以及还可以更新条目的相似组信息。在另一个实施例中,图9的流程图900的过程可以用于允许用户基于主题名称对 面部图像命名。阶段901-903对应于流程图700的阶段701-704以及适用类似的说明。在 阶段901,创建已命名的面部图像的集合,在下文被称为第四集合。在阶段903,创建尚未命 名的面部图像的另一个集合,在下文被称为第五集合。在阶段904,在GUI的一个区域显示 第四集合。在阶段905,在GUI的分立区域显示第五集合,其中可以以与第四集合的相似度 逐渐减少的方式排列个体面部图像。图10是在一个实施例中的根据流程图900的GUI的 示例。在这个实施例中,在不同的标签页中显示面部图像的第四和第五集合,其中如图10 中所见1001每次只能使一个标签可见。在阶段906,接收关于哪些个体面部图像应当被分 配指定的主题名称的用户输入。在阶段907,根据用户输入更新数据库108。例如,现在可 以以主题名称更新由用户选择的尚未命名的面部图像中的每一个。同样,对于已命名的面 部图像的标签页中的每一个面部图像,可以更新对应的条目以移除主题名称,如果用户指 示如此。图6是可以用于基于用户指定的一个或多个名称来显示并命名相似集群的用户界面的图示。在一些情况下,对于某些人脸,人脸检测过程自身可能失败。例如,人脸检测模块 106可能没有检测到集107中的图像中的一个或多个人脸。在这种情况下,在其实施例中的 一个中,本发明提供人工辅助人脸检测过程的能力。图11是在一个实施例中的人工辅助人 脸检测的GUI组件的图示。例如,使用户能够在其希望由系统检测并识别的每一个人脸四 周绘制边界区域,在这个实例中为边界框1101。另外,如1102中所示,用户可以显示或输入 额外的描述数据,例如用于这样的图像的主题名称。图12示出了图示过程的流程图1200。 在阶段1201和1202,在⑶I中示出来自集107的图像,以及用户可以在一个或多个人脸四 周定义边界区域。在阶段1203,例如由人脸检测模块106处理有界区域。本领域技术人员 将理解的是,只需进行微小的修改,可以在自动人脸检测以及人工辅助人脸检测中使用同 一面部检测技术。例如,在人工辅助时,人脸检测软件可以仅将更大的权重附到在已定义的 区域内标识的面部界标特征。在阶段1204检测到人脸后,阶段1205使用户能够提供额外 的信息,例如待以其标记数据库108中的面部图像的主题名称。在阶段1206,以检测到的人 脸信息以及包括可能的主题名称的用户提供的信息来更新面部数据库108。在另一个实施例中,使用性别检测来辅助人脸识别和命名过程。在图像中性别检 测的方法在本领域众所周知。性别检测可以用于确定已分配给集群的面部图像的性别。确 定了集群中的面部图像的性别后,系统可以使用该信息来偏置对于新近添加的图像的人脸 检测结果。例如,如果新的面部图像被添加到集群,并且新的图像和已在集群中的图像的性 别不一致,则系统可以阻止或提醒用户。在集群中的图像已被标记的另一个实施例中,字典 查找可以用于确定集群中的面部图像的性别。在另一个实施例中,本发明提供了集成由不同实体维护的面部图像集的系统。在 面部图像集由不同实体独立地维护时,特定人的面部图像可能在分立的集之间被分立地标 记。例如,具有第一个集的用户可以将John Smith(约翰史密斯)的面部图像标记为“John Smith”,而具有第二个集的另一个用户可以将其John Smith的图像标记为“J. Smith”。然 后对这两个集的简单聚集可能导致在聚集的集中同一个人在不同的标签下出现。本发明提 供了通过在比较图像模板时比较额外信息元素来集成分立集的面部图像的方法。例如但不 限于,可以在归并两个集时将下述信息元素中的一些或全部合并到图像模板面部特征、从 图像检测的性别、从字典搜索检测的性别、分配的名称/标签、年龄、种族、姿势、饰件、地理 坐标和时间(如果可用)、以及与其它已知面部图像的同时出现。可以通过各种比较信息 元素集合的方式来确定待被分配给集成的集中的面部图像的标签。例如,可以将数值分配 给每一个信息元素,并且可以在匹配的信息元素超过预定的数字阈值的情况下自动决定标 签,以及可以在匹配的信息元素未超过这样的阈值时以人工干预半自动决定标签。示例应用在其实施例中的一个中,本发明利用面部图像数据库108和有关信息来向 用户提 供个性化的服务。例如,图13示出了实现个性化幻灯片的流程图1300。在阶段1301,用户 指定主题名称,之后在阶段1302,系统定位对应的面部图像。然后在阶段1303-1305,对于 每一个定位的面部图像,系统定位集107中的对应的图像并且在⑶I 121中向用户显示该 对应的图像。使用流程图1300,用户可以显示集107中的具有对应于指定主题的面部图像 的全部或一些图像。在一些实施例中,与集107中的每一个图像中的面部图像有关的信息可以用于在显示对应的图像时实现相对于那些面部图像的特殊效果。例如,可以在显示集 107中的对应图像时使用存储在数据库108中的用于面部图像的位置参数,在不用在显示 时额外计算以定位人脸的边界的情况下来放大或扩大图像的该区域。在另一个实施例中,数据库108可以用于搜索用于可能包含指定人的人像的图像 的外部图像集。图14是在阶段1401从用户接收主题名称,以及在阶段1402标识在数据库 108中的已分配匹配的名称的面部图像集合的过程的流程图1400。同样在阶段1402,系统 可以确定与选择的面部图像相对应的一个或多个面部识别模板,其可以在阶段1403的搜 索中使用。在阶段1403,可以搜索外部图像集以标识包含就面部识别模板而言足以接近在 阶段1402选择的面部图像中的一个的面部图像的任何图像。例如,搜索可以涉及对每一个 图像的人脸检测,后跟确定用于预定面部界标集合的值的人脸识别,然后与在阶段1402选 择的面部图像中的一个或多个的匹配过程。在一个实施例中,在找到匹配的面部图像时,可 以通过包括自动生成的消息的一些装置来警示用户,所述自动生成的消息例如到用户的登 记的联系地址的自动生成的电子邮件或文本消息。在另一个实施例中,可以将带有匹配的 面部图像的图像包括在集107中。在另一个实施例中,允许主体反对他的图像被显示和/或他的图像与诸如名 称的 标识信息一起显示。图15示出了在一个实施例中的在用户反对系统中的操作的示例流程 图1500。在阶段1501,例如,关于称为主体X的一个用户的显示事件发生。显示事件可以 包括将具有主体X的面部图像的图像添加到图像集107、和/或以主体X的信息标记图像。 主体X可以预先登记以在带有预定特征的显示事件发生时接收通知。在阶段1502,基于包 括主体X的偏好的配置信息,可以确定应当将显示事件通知主体X。在阶段1503,将通知发 送给主体X。可以以任何形式传递通知,包括到主体X可用的地址的电子邮件消息,或到主 体X可用的一个或多个地址的即时消息。消息可以包含链接,例如到网页的统一资源定位 符(URL),预期主体X在此处获取进一步信息和/或登记其反对。传送通知后,在阶段1504,可以从主体X接收响应。响应可以包括主体X访问在通 知消息中发送的URL。在阶段1505,向主体X显示引起通知被发送的图像和/或标签,使得 他具有作为他反对的基础的足够信息。例如,在一些实施例中,可以显示集107中的带有匹 配主体X的标签的标签的所有图像,而一些其它实施例可以仅显示为触发到X的通知的显 示事件的直接原因的图像和标签。在阶段1506,接收X的输入。主体X可以使用一系列复 选框或使用其它输入装置来登记他的输入。所接收的输入可以包括X的关于以下的选择是否应当删除图像、是否显示指定 的标签、任何标签修改、X是否希望通知讨论中的图像源、以及X是否希望接到讨论中的图 像源的通知。在阶段1507,可以验证X的输入选择以确定他是否被授权或能够接收所请求 的服务。例如,可以只允许满足预定标准集合的用户请求删除图像。如果对于请求删除图 像或者删除或修改标签信息,X经过验证,则在阶段1508,这样的改变在集107和面部图像 数据库108中生效。例如,如果授权X请求自动移除标记为他的图像,则可以从集107和/ 或数据库108移除图像和相关标签。取决于X的授权级别,他的对使图像被删除的请求,或 可以导致日志条目被创建以由集107的所有者人工移除图像。同样,取决于X的授权,所请 求的任何标签改变可以自动进行或被记入日志用于稍后考虑。在阶段1509,如果X具有适 当的授权,则X可以接到位置的通知,其中从该位置获取讨论中的图像。最后在阶段1510,可以将χ的反对通知讨论中的图像源。例如,可以自动生成到源的包含X的反对和讨论中 的图像的电子邮件。另一个实施例可以使用数据库108中的信息以向用户提供对图像集的受限制的 访问。例如,用户可能仅有权访问集107中的具有他的面部图像的图像。替选地,用户可能 获准访问包含他的面部图像的相册集、或一个或多个其他预定的人集合的面部图像。例如, 在一个实施例中,可以基于共享密钥来控制相册,其中将密钥仅分发给满足预定标准集合 的用户。图16的流程图1600示出了在一个实施例中的用于实现这样的受限制的访问的阶 段。在阶段1601,可以授权用户访问具有他的面部图像的图像。类似地,在一些实施例中, 可以授权用户访问一个或多个其他人的图像。用户的访问一个或多个其他人的图像的权限 可以基于例如用户标识符、预定的用户组和/或按每相册、图像或主题名称设置的访问权 限,在系统可访问的配置文件中定义。在阶段1602,可以检索数据库108中的带有匹配的主 题名称的已命名的面部图像。在阶段1603,可以仅基于在阶段1602检索到的面部图像来访 问集107。例如,每次用户试图访问集107中的图像时,通过确保在阶段1602检索到的面部 图像引用集107中的选择的图像来验证该访问。在另一个实施例中,本发明在用户将标签分配给面部图像时,使用户能够指定期 望包含正被标记的人的面部图像的任何图像的曝露级别(即访问级别)、和/或是否显示为 该人指定的一个或多个标签。在一些实施例中,可以将各个级别的许可设置为访问级别,使 得可以向公众、向预定用户组或仅向图像的所有者显示图像集合。基于访问级别,同一图像 可以与或不与选择的标签一起显示。同样,在图像被标记时,标记应用可以与其它应用交互 以交换信息。例如,在标记一个或多个面部图像期间,标记应用可以与联系人列表应用或电 子邮件系统交互以交换可能对一方或两方应用有用的信息。应当理解,具体实施方式
部分而不是发明内容和摘要部分意在用于解释权利要 求。发明内容和摘要部分可以阐明发明人考虑的本发明的一个或多个而非所有的示例性实 施例,因此发明内容和摘要部分并不意在以任何方式来限制本发明和所附的权利要求。在上面借助于说明指定的功能及其关系的实现的功能构造块来描述了本发明。在 此为了便于描述,任意地限定了这些功能构造块的边界。可以限定替选边界,只要所述指定 的功能及其关系被适当地执行。
特定实施例的前述描述如此充分地揭示了本发明的一般特性,使得其他人可以在 不背离本发明的一般思想的情况下,通过应用在本领域的技术内的知识而容易地修改和/ 或调整本发明的一般特性以用于这样的特定实施例的各种应用,而不用进行过度的实验。 因此,基于在此提供的教导和指导,这样的调整和修改意在在所公开的实施例的等同物的 含义和范围内。应当理解的是,在此的措词或术语用于描述而非限制的目的,因此本说明书 的术语或措词应当由技术人员根据所述教导和指导来解释。本发明的宽度和范围不应当由上述示例性实施例的任何一个限制,而是应当仅根 据所附权利要求及其等同物来限定。
权利要求
一种用于从数字图像集创建以及更新面部图像数据库的方法,包括(a)检测在来自所述数字图像集的图像中的面部图像的第一集合;(b)将面部图像的所述第一集合聚组成相似组,其中在所述相似组的每一个中面部图像的面部识别模板在预定的范围内;(c)在图形用户界面中显示所述相似组中的一个或多个,其中基本上分立地显示所述相似组中的每一个;(d)接收用户输入以确认或拒绝在所显示的相似组的一个或多个中的个体面部图像;以及(e)以所述用户输入更新所显示的相似组中的一个或多个。
2.如权利要求1所述的方法,进一步包括(f)将所更新的相似组存储在所述面部图像数据库中。
3.如权利要求2所述的方法,进一步包括(g)接收用于所显示的相似组中的一个或多个的主题名称;以及(h)以所述主题名称更新所显示的相似组中的一个或多个。
4.如权利要求3所述的方法,其中所述阶段(g)包括使所述用户能够从条目列表选择用于所显示的相似组中的至少一个的名称,所述条目 列表中的每一个条目具有名称和面部图像中的至少一个,其中所述每一个条目对应于与名 称相关联的一个或多个面部图像,以及其中所述条目列表按照与所显示的相似组中的所述 至少一个的相似度排序。
5.如权利要求2所述的方法,其中所述阶段(c)包括(i)以可选择的幻灯影片布局显示来自所述一个或多个相似组中的每一个的代表性面 部图像;(ii)基于用户输入选择代表性面部图像;以及(iii)显示至少一个相似组的与所选择的代表性面部图像相对应的面部图像。
6.一种从数字图像集更新面部图像数据库的方法,包括(a)从用户接收主题名称;(b)从存储在所述面部图像数据库中的面部图像的至少一个已命名的相似组检索面部 图像的第一集合,其中与所述至少一个相似组相关联的名称基本上匹配所述主题名称;(c)确定用于所述第一集合的第一面部识别模板;(d)从所述面部图像数据库中的一个或多个未命名的相似组检索面部图像的第二集 合,其中所述未命名的相似组没有相关联的名称,以及其中所述未命名的相似组的面部识 别模板基本上匹配所述第一面部识别模板;(e)在图形用户界面中显示所述第一集合;(f)在所述图形用户界面中显示所述第二集合;(g)接收与所述第二集合相关联的用户输入;以及(h)根据所述用户输入更新所述第二集合。
7.如权利要求6所述的方法,其中步骤(e)包括(i)在所述图形用户界面中显示以集群方式排列的所述第一集合。
8.如权利要求7所述的方法,其中步骤(f)包括(i)在所述图形用户界面中显示所述第二集合,其中所述第二集合的每一个相似组以 分立集群形式排列。
9.如权利要求6所述的方法,其中接收用户输入进一步包括以下的一个或多个(i)基于所述用户输入拒绝一个或多个面部图像,其中所拒绝的一个或多个面部图像 未被分配所述主题名称;(ii)基于所述用户输入拒绝所述第二集合的一个或多个相似组,其中所拒绝的一个或 多个相似组未被分配所述主题名称;以及(iii)基于所述用户输入确认所述第二集合的一个或多个相似组。
10.如权利要求6所述的方法,其中所述阶段(h)进一步包括(i)基于所述用户输入将所述主题名称分配给所述第二集合的相似组的面部图像。
11.如权利要求6所述的方法,其中步骤(e)包括(i)在所述图形用户界面的第一区域内显示所述第一集合。
12.如权利要求11所述的方法,其中步骤(f)包括(i)在所述图形用户界面的第二区域中显示所述第二集合,所述第二集合按照与所述 第一集合的相似度排序。
13.一种用于向在数字图像集中检测到的多个人脸分配名称的命名工具,包括(a)面部图像数据库,所述面部图像数据库被配置为存储与在来自所述数字图像集的 图像中检测到的面部图像有关的数据;(b)至少一个图形用户界面;(c)至少一个用户输入设备,所述至少一个用户输入设备使得能够通过所述至少一个 图形用户界面操纵所述数据和所述图像中的一个或两个;(d)人脸检测模块,所述人脸检测模块被配置为检测所述数字图像集的图像中的人脸 并且将与所检测到的人脸有关的数据存储在所述面部图像数据库中;(e)人脸识别模块,所述人脸识别模块被配置为计算用于所述面部图像数据库中的每 一个面部图像的至少一个面部识别模板;(f)相似排名模块,所述相似排名模块被配置为根据相应面部识别模板对在所述面部 图像数据库中的面部图像进行聚组,使得基本上相似的面部图像属于一个相似组;以及(g)显示布局生成模块,所述显示布局生成模块被配置为根据相似组布局所述面部图像,其中所述至少一个用户输入设备、所述至少一个图形用户界面、所述数字图像集以及 所述面部图像数据库通信地耦接到所述人脸检测模块、所述人脸识别模块、所述相似排名 模块以及所述显示布局生成模块。
14.一种从数字图像集访问数字图像的方法,包括(a)接收主题名称;(b)选择面部图像数据库中的面部图像的第一集合,其中所述第一集合中的面部图像 已被分配所述主题名称;以及(c)从所述数字图像集找到数字图像,其中所述数字图像与面部图像的所述第一集合 先前相关联。
15.如权利要求14所述的方法,进一步包括(d)显示所述数字图像;以及(e)使用存储在所述面部图像数据库中的数据针对一个或多个所显示的数字图像中的至少一个人脸显示特殊效果。
16.如权利要求14所述的方法,进一步包括(d)授权用户访问已分配所述主题名称的面部图像;以及(e)允许所述用户访问所述数字图像集中的与所述第一集合先前相关联的图像。
17.一种利用多个源图像搜索人的图像的方法,包括(a)接收主题名称;(b)选择面部图像数据库中已被分配所述主题名称的面部图像的第一集合;以及(c)搜索一个或多个数字图像集,其中搜索包括使用面部图像的所述第一集合来进行 自动人脸识别。
18.如权利要求17所述的方法,进一步包括(d)在找到匹配的图像时生成警示,其中所述匹配的图像包括与面部图像的所述第一 集合中的至少一个面部图像基本上匹配的面部图像。
19.如权利要求18所述的方法,进一步包括(e)将用户与所述主题名称相关联。
20.如权利要求19所述的方法,其中所述生成所述警示包括(i)找到匹配的图像,其中所述匹配的图像包括与面部图像的所述第一集合中的至少 一个面部图像基本上匹配的面部图像;(ii)检测张贴的图像中的预定类型的显示事件中的至少一个,其中所述张贴的图像包 括与所述至少一个面部图像基本上匹配的匹配面部图像;(iii)通知所述用户关于所述预定类型的显示事件中的所述至少一个;以及(iv)从所述用户接收输入选择。
21.如权利要求20所述的方法,进一步包括(f)基于所述输入选择从一个或多个位置自动删除所述张贴的图像。
22.如权利要求20所述的方法,进一步包括(f)基于所述输入选择修改分配给所述张贴的图像的一个或多个标签。
23.如权利要求20所述的方法,进一步包括(f)基于所述输入选择通知具有所述至少一个图像的一个或多个源。
24.如权利要求20所述的方法,其中找到匹配的图像包括(i)检测在所述至少一个图像中的面部图像;(ii)确定所述面部图像来表示所述主题名称;以及(iii)向所述至少一个图像分配与所述主题名称和所述用户中的一个或多个相关联的 标签。
全文摘要
公开了用于从数字图像集创建和更新面部图像数据库的方法和装置。将从数字图像集检测的人脸集合以及与其有关的数据存储在面部图像数据库中。计算用于第一集合中的每一个人脸的至少一个面部识别模板,并且根据面部识别模板将该集合中的图像聚组成相似组。另一个实施例是用于向在数字图像集中检测到的多个人脸分配名称的命名工具。面部图像数据库存储与在数字图像集的图像中检测到的面部图像有关的数据。另外,命名工具可以包括图形用户界面、检测数字图像集的图像中的人脸并且将与检测到的人脸有关的数据存储在面部图像数据库中的人脸检测模块、计算用于面部图像数据库中的每一个面部图像的至少一个面部识别模板的人脸识别模块、以及根据相应模板对在面部图像数据库中的面部图像进行聚组使得相似的面部图像属于一个相似组的相似聚组模块。
文档编号G06F17/30GK101990667SQ200980112456
公开日2011年3月23日 申请日期2009年4月1日 优先权日2008年4月2日
发明者亨利·本杰明, 加文·多蒂, 哈特姆特·内文, 哈特维希·亚当, 基思·吉约哈拉, 布赖恩·韦斯特法尔, 托比亚斯·芒努松, 洪-金·肯尼斯·翁, 约翰内斯·斯蒂芬斯, 迈克尔·霍罗威茨 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1