识别来自不同来源的图像内的对象
文献发布时间:2023-06-19 18:35:48
本申请要求于2020年6月3日提交的名称为“IDENTIFYING OBJECTS WITHINIMAGES FROM DIFFERENT SOURCES”的美国临时申请第63/034,114号;2020年9月25日提交的名称为“IDENTIFYING OBJECTS WITHIN IMAGES FROM DIFFERENT SOURCES”的美国专利申请第17/033,423号的权益和优先权;这些申请中的每一者的内容全文以引用方式并入本文以用于所有目的。本申请涉及于2020年6月3日提交的名称为“ACTIVITY ZONE FORCAMERA VIDEO”的美国临时申请第63/034,262号。本申请还涉及于2020年6月3日提交的名称为“IDENTIFYING REACHABILITY OF NETWORK-CONNECTED DEVICES”的美国临时申请第63/034,110号。这些申请的所有公开全文以引用方式并入本文以用于所有目的。
背景技术
存在用于使用人的面部的图像执行面部识别的技术。例如,移动电话相机可捕获示出人的面部的一部分的图像。应用程序可分析图像以确定人的面部的特征,然后尝试将该人的面部与其他已知的面部匹配。然而,面部识别是一个不断发展的领域,并且存在与执行识别相关的各种挑战。例如,存在可捕获多种图像的许多类型的相机。有时,当提供来自不同相机的图像作为输入时,可能难以准确地识别面部。
附图说明
图1是根据一些实施方案的示例性系统的简化框图。
图2是示出根据一些实施方案的用于基于从图像库中选择的图像裁剪来提供通知的至少一些示例性技术的另一个简化框图。
图3是示出根据一些实施方案的用于基于确定某个位置处人的存在来提供通知的至少一些示例性技术的另一个简化框图。
图4是示出根据一些实施方案的用于训练用于执行面部识别的模型的至少一些示例性技术的另一个简化框图。
图5是示出根据一些实施方案的用于基于确定某个位置处人的存在来提供通知的系统的示例性架构的另一个简化框图。
图6是示出根据一些实施方案的用于基于确定某个位置处人的存在来提供通知的示例性过程的简化流程图。
图7是示出根据一些实施方案的用于训练用于执行面部识别的模型的示例性过程的另一个简化流程图。
具体实施方式
在以下描述中,将描述各种示例。为了解释的目的,阐述了很多具体配置和细节以便提供对示例的彻底理解。但是,对本领域的技术人员也将显而易见的是,一些示例可在没有这些具体细节的情况下被实施。此外,可省略或简化熟知的特征部以防止对本文所述的示例造成混淆。
本公开的实施方案可以提供用于当在特定位置处检测到特定人时提供或抑制通知的技术。例如,用户可能想要被通知是否他们认识的某个人在前门处。然而,在其他情况下,如果门口的人是他们认识的人,他们可能不想被打扰。在一个示例中,可由计算设备(例如,至少包括相机)捕获人的视频或静态图像。在一些示例中,如果该人被检测为特定人(例如,用户设备(或用户设备的用户)已知或认识的人),则计算设备可以确定向用户通知该特定人在该特定位置处。这样,用户将知道他们知道/认识的人处于特定位置(例如,前门)。然而,在其他示例中,如果所检测到的人被识别出,则计算设备可以确定抑制该通知,从而避免不必要的通知(例如,如果在前门处检测到他们的配偶或室友,用户可能不愿意被通知)。
在一些示例中,驻留设备(例如,诸如智能扬声器、数字媒体播放器或其他电器之类的家庭自动化设备)可以从用户设备(例如,移动电话)接收一个或多个图像裁剪。可以从作为存储在用户设备上的图像库(例如,照片库)的一部分来管理并且包括与用户设备相关联的联系人的多个图像生成图像裁剪。图像裁剪中的每一个图像裁剪可包括第一人的面部的一部分,由此第一人可以是与用户设备相关联的联系人之一。此外,可已至少部分地基于与特定图像裁剪相关联的确定的信息增益水平而选择了每个图像裁剪以供驻留设备接收,这可使驻留设备能够执行对第一人的面部的面部识别。如本文进一步讨论的,由特定图像(或图像裁剪)提供的信息增益可对应于特定图像的一个或多个特征相对于其他图像提供的信息量。在一些实施方案中,信息增益可基于特定图像与其他图像相比时的独特性和/或更高的质量水平。驻留设备还可从包括第二相机(例如,家庭观察相机)的另一设备接收一个或多个图像,由此第二相机具有包括特定位置(例如,住宅的前门走廊)的可视区域。一个或多个图像可以分别包括在前门处的尚未确定身份的人的面部的一部分。然后,驻留设备可确定对应于与第一人的面部相关联的第一组特征和与在前门处的尚未确定身份的人的面部相关联的第二组特征之间的相似性水平的得分。至少部分地基于得分,驻留设备随后可确定它们是否实际上是同一人(例如,前门处的人是否与照片库中的个人联系人相同)。驻留设备可随后至少部分地基于该确定来提供通知。例如,驻留设备可将特定位置处的人与被识别为与用户设备相关联的联系人的第一人相同(或不同)的通知传输到用户设备。
在例示性示例中,考虑其中在家庭环境内的驻留设备提供关于住宅附近(或住宅内)的人的存在的通知的场景。在该示例中,该驻留设备可以是通信地连接到相机的家庭自动化设备(例如,智能扬声器、智能数字媒体播放器)。在一个示例中,该相机可被设置为观察住宅前门周围的区域(例如,以捕获可能敲门和/或按门铃的人的图像)。因此,该驻留设备可被配置为接收和处理来自观察相机的一个或多个图像。该驻留设备还可被配置为接收并存储来自一个或多个用户设备(例如,移动电话)的图像(例如,图像裁剪)。例如,用户设备可包括相机部件,该相机部件可用于捕获(例如,与该用户设备的用户相关联的联系人(例如,人)的)图像。这些图像可存储在该用户设备的本地存储库(例如,本地内存存储库,诸如照片库)中。在一些示例中,由用户设备相机捕获的图像可(例如,由于不同的图像分辨率、照明差异等)具有与由观察相机捕获的图像不同的质量水平(例如,更高的质量水平)。另外,由用户设备相机捕获的图像可能是出于娱乐和/或乐趣而拍摄的,并且不是出于安全目的或为了用于识别由观察相机拍摄的人的任何意图而存储的。因此,这些照片库图像可以是偷拍场景、特殊场景等,并且可能并不总是包括人的面部的直接图像。
继续以上说明,该驻留设备可接收从用户设备的照片库中选择和生成的一个或多个图像裁剪。该一个或多个图像裁剪可分别包括作为用户设备的用户的联系人的第一人的面部的一部分。例如,一个图像裁剪可示出在一个设置(例如,棒球游戏)中拍摄的联系人的面部的侧视图,同时另一个图像裁剪可示出该联系人的(例如,作为室内人像拍摄的)面部的前视图。在该示例中,应当理解,可存在来自照片库的图像中示出的处于不同情景内的第一人的面部的许多不同部分(例如,视图)。因此,可至少部分地基于确定特定的一组一个或多个图像裁剪产生可用于对联系人的面部进行后续面部识别的更高水平的信息增益,从联系人的面部的更大的一组图像裁剪中选择该一个或多个图像裁剪。而且,应当理解,包括第一人的面部的一部分的每个图像(例如,非裁剪图像)还可包括其他对象(例如,其他人的面部、物理对象、环境等)。因此,从用户设备接收的一组一个或多个图像裁剪可能已被分别裁剪以排除该第一人的面部的该部分之外的其他对象。
在从用户设备接收到该一个或多个图像裁剪时,驻留设备可确定与该用户设备相关联的联系人的面部的第一组特征。在一个示例中,该驻留设备可利用经训练的面部特征模型来至少部分地基于该一个或多个图像裁剪来确定该第一组特征。例如,经训练的面部特征模型可以生成联系人的第一面纹。例如,该第一面纹可对应于多维向量,由此每个维度与联系人的面部的第一组特征中的至少一个特征相关联。在一些示例中,如本文进一步所述,可训练该面部特征模型至少部分地基于从不同相机接收到的图像(例如,和/或图像裁剪)来生成面纹。例如,该面部特征模型可接收由用户设备(例如,移动电话)的相机捕获的第一训练图像集和由观察相机捕获的第二训练图像集。每个集合中的每个训练图像可包括人(例如,同一人)的面部的一部分。在一些示例中,该第一训练图像集可具有与该第二训练图像集不同(例如,更高)的质量水平。如本文进一步所述,可至少部分地基于两个图像集之间的质量差异(和/或相机源差异)来训练该面部特征模型生成该人的面纹。
继续以上说明,该驻留设备还可从观察相机接收一个或多个图像(例如,视频帧序列),如上所述。例如,人可接近住宅前门,由此在观察相机的可视区域内示出该人的面部。在该示例中,该驻留设备可至少部分地基于捕获在前门处的人的视频帧序列来确定与在前门处的人的面部相关联的第二组特征。例如,该驻留设备的经训练的面部特征模型可确定在前门处的人的面部的第二面纹。
然后,该驻留设备可确定对应于第一人的面部的第一组特征(例如,对应于第一面纹)和在前门处的人的面部的第二组特征(例如,对应于第二面纹)之间的相似性水平的得分。例如,该驻留设备可基于第一面纹和第二面纹之间的所确定的相似性(例如,余弦相似性)来确定得分。然后,基于该得分,驻留设备可确定在前门处的人是否与第一人(联系人)相同。在一些实施方案中,如本文进一步所述,该驻留设备可利用面部质量度量来确定在前门处的人的面部是否是可识别的。例如,在人的面部背对观察相机的情况下,该驻留设备可能能够识别到人在门口前方,但可能无法识别到该人的面部。在确定该面部是可识别的情况下(例如,人的面部面向相机),那么驻留设备可随后进一步确定在前门处的人的面部是否与该用户设备的联系人中的一个联系人(例如,第一人)匹配。
在一些实施方案中,驻留设备可至少部分地基于确定在前门处的人是否是可识别的/不可识别的,并且/或者在前门处的人是否与该用户设备的联系人中的一个联系人(例如,第一人)匹配来提供通知。例如,继续以上说明,在驻留设备确定在前门处的人是可识别的并且是第一人的情况下,该驻留设备(例如,智能扬声器)可经由音频信号提供通知,播报该联系人已到达住宅。在另一个示例中,该驻留设备可经由包括文本、音频、图像、视频或它们的任何合适的组合的消息向用户设备(例如,移动电话)提供通知。在另一个示例中,该驻留设备可被配置为仅在非联系人已到达时才播报(否则保持静音)。在该示例中,在确定在前门处的人不是已知联系人(例如,不是第一人)时,该驻留设备可播报非联系人的人已到达。如本文进一步所述,可利用用于提供通知的其他信道和/或条件。
在一些实施方案中,驻留设备可在通知内(和/或与该通知一起)提供与在从观察相机接收的帧序列(例如,图像)之间确定的最高质量图像对应的图像。例如,如上所述,该驻留设备可接收分别捕获接近前门的同一人的帧序列(例如,来自摄像机的帧序列)。与其他帧相比,每个帧可具有不同的质量水平。例如,一个帧可从侧面角度而不是直视视角示出人的面部。另一帧也可示出同一人的面部,但具有图像伪影、不良照明质量或降低图像质量的其他特征。该驻留设备可针对示出人的面部的每个帧,部分地基于面部质量度量来确定面部质量得分,如本文所述。然后,该驻留设备可对得分进行排序并选择具有最高面部质量得分的图像。然后,该驻留设备可向用户设备提供示出在前门处的人的面部的最高质量图像(例如,作为通知的一部分)。然后,该用户设备可在显示器(例如,移动电话显示器、电视显示器等)上呈现该图像以用于视觉识别。这样,可向用户呈现人的面部的最高质量图像,这可提供更好的用户体验。
在一些实施方案中,作为通知的一部分被提供给用户设备的图像还可由用户设备在接收到用户的输入时进行标记。例如,假设驻留设备检测到在前门处的人,并且确定该人不是用户的已知联系人中的一个联系人(例如,在用户的照片库中不存在该人的图像)。在这种情况下,在接收到通知时,用户设备可向用户提供标记照片的机会,例如,在用户将在门口处的人识别为该用户的联系人的情况下。在接收到标记(例如,标注照片)的输入时,用户设备可将照片添加到可用于未来检测该人的参考图像集,如本文进一步所述。
在一些实施方案中,新标记的照片可用于进一步训练面部特征模型。例如,新标记的照片可以被包括在示出特定人的面部的参考图像集中。可针对参考集内的新标记的照片生成面纹,并且面部特征模型可被训练成将该面纹与同一人的面部的其他(例如,稍后接收的)照片的面纹相关联。
在一些实施方案中,面部特征模型可以被训练成在人佩戴口罩的情况下检测和识别面部。例如,考虑其中人佩戴口罩接近住宅的前门的场景。在这种场景下,面部特征模型可以识别到该人佩戴口罩,并且生成佩戴口罩的人的面部的第一面纹。面部特征模型可以被训练成考虑口罩的存在,并且可以将第一面纹与从在从用户设备的照片库中提取的参考图像集中的面部的图像生成的面纹进行比较。在一些实施方案中,虽然即使在存在口罩的情况下也可识别面部,但是具有口罩的面部的图像可不包括在被发送到用户设备的通知内。在一些实施方案中,具有口罩的面部的图像可包括在通知内,但可能不会给用户随后对图像进行标记的机会。在一些实施方案中,这可确保含有口罩的图像不包括在用于生成参考图像集的图像语料库中(例如,其可以其他方式降低由面部特征模型执行的面部识别的质量)。
本公开的实施方案提供优于现有系统的若干技术。在一个示例中,本公开的实施方案使得系统能够基于在用户的用户设备(例如,移动电话)上的用户个人照片库内已存在并已标记(例如,分配给联系人)的图像来执行对未来图像的面部识别。这可通过消除用户为了执行未来面部识别而拍摄一张或多张照片(例如,图像)的需要来减少资源消耗。在另一个示例中,本公开的实施方案可减少所需的网络带宽、存储和处理资源的量。例如,驻留设备不是从用户的移动设备上的用户照片库接收大量照片并对这些照片进行处理(例如,以用于稍后在面部识别中使用),而是,驻留设备可仅接收照片库的照片子集,由此已根据哪些照片提供更高水平的信息增益来选择了子集。在另一个示例中,本公开的实施方案使得系统能够执行面部识别,由此被用作用于面部识别的参考图像的图像集与用于执行实际面部识别的图像集不同。例如,参考图像集可由用户的移动设备捕获(例如,并且/或者由另一个移动设备与用户的移动设备共享),然后与驻留设备共享。稍后,该驻留设备可使用从单独的观察相机接收的图像来执行实际面部识别,该单独的观察相机可生成具有与参考图像集不同的质量水平(例如,更低分辨率、更多噪声、更多图像伪影等)的图像。这样,本公开的实施方案实现了一种方法,由此从一个相机(例如,移动电话的现有照片库)生成的现有照片可用于使用从另一个相机(例如,观察相机)生成的照片作为输入来高准确性地执行面部识别。
为清楚起见,应当理解,虽然本公开的实施方案主要涉及执行对人的面部的面部识别,但是实施方案不应被理解为受限于此。例如,可训练本公开的系统识别任何合适类型的对象,然后相应地采取合适的动作(例如,提供通知、授予访问权限等)。在一个示例中,人的手可包含可与人的联系人相关联的独特特征。可训练系统从由一个相机捕获的图像中识别手,同时使用由另一个相机捕获的图像作为参考图像。
图1是示出根据一些实施方案的在示例性环境中操作的系统通知服务的简化框图100。在图1中,所描绘的示例性环境是家庭环境101。家庭环境101可包括具有一些附属关系(例如,家庭成员、室友等)的一个或多个人。在该示例中,用户106和用户110可表示附属用户,并且可分别与用户设备108和112相关联。另外,在家庭环境101内可存在驻留设备102(例如,平板计算机、智能家居控制器、智能数字媒体播放器、家庭自动化设备(例如,该家庭自动化设备是家庭自动化系统的一部分)等)。驻留设备102可通信地连接到观察相机122(例如,安装的观察相机),由此驻留设备102可从观察相机122接收图像(例如,视频帧)。如本文进一步所述,驻留设备102可包括通知服务130,该通知服务包括面部特征模型132。可训练面部特征模型132从观察相机122接收一个或多个图像,例如捕获正在接近家庭环境101(例如,前门)的人120的面部的一部分。在从观察相机122接收到该一个或多个图像时,面部特征模型132可确定人120的面部的一组特征(例如,生成该人的面纹)。然后,部分地基于该所确定的一组特征,通知服务130可确定人120的面部是否是可识别的,并且/或者人120是否是与用户设备108和/或用户设备112(例如,这两个用户设备分别与用户106和/或用户110相关联)相关联的联系人中的一个联系人。然后,驻留设备102可至少部分地基于该确定来确定是否以及如何(例如,向这些用户设备中的一个用户设备)提供通知。
更详细地转到图1的元件,在一些实施方案中,用户设备(例如,用户设备108或112)可以是任何合适的计算设备。在非限制性示例中,用户设备可以是移动电话、平板计算机、PC、膝上型计算机等。在一些实施方案中,用户设备可包括相机部件,该相机部件可内置于用户设备中或以其他方式连接(例如,经由电缆或无线连接)。用户设备可具有本地存储库,该本地存储库适用于(例如,在照片库中)存储由相机部件捕获的图像的库。如本文进一步讨论的(例如,参考图2),在一些实施方案中,每个用户设备的照片库可与驻留设备102共享以用于通过通知服务130进行面部识别。例如,用户106和用户110两者可具有共同的熟人(例如,联系人),并且这两个用户均可使用他们的用户设备来捕获该共同的熟人的照片。在该示例中,该共同的熟人的照片中的一张或多张照片可由驻留设备102接收,该一张或多张照片选自每个用户设备(例如,108和112)的照片库以用作用于执行面部识别的参考图像(例如,或图像裁剪)集的一部分。又如,用户设备108的照片库可包含与驻留设备102共享的用户106(例如,人120)的好友的图像。然而,用户设备112的照片库不包含该好友的任何图像。在这种情况下,如果通过观察相机122检测到任何附属用户(例如,用户106)的联系人,则用户110可能已在他们的用户设备112上的应用程序中启用设置以得到通知(或不得到通知)。因此,当人120出现在住宅门口处时,驻留设备102可向用户设备112发送人120已到达的通知(或避免发送通知)。如本文进一步讨论的,应当理解,可基于所识别的人的类型来确定关于跨不同照片库共享联系人的照片和/或提供通知的任何合适的设置。
在一些实施方案中,驻留设备102可以是任何合适的计算设备,该计算设备驻留在特定环境中并且被配置为控制(例如,提供控制指令)环境中的一个或多个操作和/或附件。在一些非限制性示例中,驻留设备可以是智能扬声器、智能电视设备、平板设备、智能数字媒体播放器(例如,被配置为向电视提供流媒体)等。在图1的示例中,驻留设备102可对应于智能扬声器设备。在驻留设备102确定识别到人120的面部时,驻留设备102可通过播报例如特定联系人(例如,用户106、110中的一者的联系人)已到达来提供通知。在另一个示例中,驻留设备102可向用户设备中的一者或多者(例如,108或112)传输特定联系人已到达的消息。例如,警示消息可在用户设备的显示器上弹出。应当理解,通知可通过驻留设备使用任何合适的信道和/或方法来提供,这取决于例如驻留设备的类型、用户设备的类型、周围环境等。例如,考虑另一个实施方案,其中驻留设备可对应于智能电视设备(例如,连接到电视的数字媒体播放器)。智能电视设备可被配备为在电视上呈现图形用户界面(GUI),该图形用户界面可包括画中画(PIP)呈现。在该示例中,驻留设备可以视听(AV)馈送的形式提供通知。例如,该驻留设备可在电视的插入窗口中显示视频馈送(例如,从观察相机122接收到的)。另外,在观察相机122和/或智能电视设备可配备有双向音频(例如,具有扬声器和麦克风)的情况下,驻留设备可实现在家庭环境中的用户和在外部的人120之间的双向通信。在一些实施方案中,驻留设备可包含本地内存存储库,该本地内存存储库适用于存储和处理从一个或多个用户设备(例如,用户设备108和112)接收的图像(例如,图像裁剪)。在一些实施方案中,如本文进一步(例如,参考图5)所述,驻留设备可通过中间源(例如,远程云服务器)从用户设备接收图像裁剪。例如,用户设备108可首先将图像裁剪传输到云服务器以用于存储(例如,临时存储)和/或分析。然后,驻留设备102可随后从云服务器接收该图像裁剪。
在一些实施方案中,驻留设备102可通信地连接到任何合适的相机。例如,如图1所描绘的,观察相机122可以是定位在紧邻家庭环境101附近(例如,前门附近)的位置处的观察相机。在一些非限制性示例中,观察相机122可以是网络摄像头、平移-倾斜-缩放(PTZ)相机等。在一些示例中,观察相机122可以是另一个设备(例如,平板计算机)的部件,该另一个设备继而连接到驻留设备102。在一些示例中,观察相机122可将任何具有合适的图像(例如,帧)质量的视频馈送传输到驻留设备102。应当理解,通过驻留设备102从观察相机(例如,观察相机122)接收的输入图像的质量水平可与通过驻留设备102从一个或多个用户设备(例如,用户设备108、112)接收的参考图像的质量水平不同。如本文进一步讨论的,可至少部分地基于考虑参考图像和输入图像之间的质量水平差异来训练通知服务130的面部特征模型132生成人120的面纹,以用于执行面部识别。
虽然图1描绘了其中系统检测到接近住宅前门的人的家庭环境情景,但是应当理解,本公开的实施方案可在任何合适的情景中执行。例如,观察相机122可被定位成在住宅内具有特定位置的可视区域,而不是安装在住宅外的前门附近。在该示例中,系统可警示在住宅的另一部分中的用户,另一个人(例如,小孩)已进入住宅内的特定位置。另外,实施方案还可在非家庭环境情景中执行。例如,商务办公室可检测某些访客何时到达,或者政府办公室可检测何时可能存在对特定位置的未经授权访问。
如上所述,驻留设备102和/或用户设备(例如,108、112)可根据一个或多个控制设置来配置。例如,在一些实施方案中,用户设备可接收来自用户用于确定用户设备的照片库是否应与其他用户(例如,在住宅中的用户)共享的输入。在一种情况下,用户设备108可与用户设备112共享照片库。在这种情况下,根据来自用户设备108的照片库中的图像确定的任何联系人也可被视为是与用户设备112相关联的联系人。因此,虽然在一些实施方案中,“照片库”(例如,也被称为“图像库”)可仅对应于被存储在本地设备上的图像,但是在其他实施方案中,“照片库”可对应于跨多个用户设备共享的照片集合。在一些实施方案中,用户设备还可被配置为确定是否接收(或结合)从一个或多个其他用户设备(例如,已共享他们相应的照片库的家庭成员的用户设备)共享的图像。在一些实施方案中,用户设备可被配置为自动标记(例如,标注)被确定为包含与用户设备(和/或用户)相关联的现有联系人的面部的图像。例如,用户设备108可接收将(例如,由用户设备108的相机部件捕获)照片库的图像中的人的面部标记为人120的输入。随后,用户设备108可自动将由用户设备108的相机捕获的用户标记为人120。在另一个示例中,用户设备108可呈现由观察相机122捕获的示出人120的图像。用户设备108可接收来自用户106的用于将该图像标注为示出人120的输入,该图像稍后可用于面部识别,如本文所述。在又一个示例中,用户设备108可不接收来自用户的用于将图像中的某人标记为特定的已知联系人的输入。然而,用户设备108仍然可将包含同一面部的图像分组在一起。在一些情况下,用户设备108可将在照片库中的照片中检测到的任何面部关联为已知联系人(例如,即使未分配明确的联系人名称)。
在一些实施方案中,驻留设备可被配置为至少部分地基于所识别的人的类型来提供通知。例如,在一个实施方案中,驻留设备102可从用户设备108接收仅在检测到的人不是与用户设备108相关联的联系人(例如,在用户设备108的照片库的图像中的任一个图像中未找到该人)时才接收通知的请求。例如,当用户106仅想要在非联系人接近住宅时而不是在亲属回到住宅时才得到通知,可使用该设置。在另一个实施方案中,驻留设备102可从用户设备108接收仅在检测到的人是与用户设备108相关联的联系人时才接收通知的请求。在另一个实施方案中,驻留设备102可被配置为在检测到任何人时均提供通知,无论该人是可识别的还是不可识别的。应当理解,上述设置仅是代表性的,并且可使用任何合适类型的设置来配置驻留设备和/或用户设备。在一些情况下,特定设置可导致由驻留设备提供的通知的数量增加(例如,将驻留设备配置为每当检测到任何人时通知用户)。在一些情况下,特定设置可导致由驻留设备提供的通知的数量减少(例如,将驻留设备102配置为仅在检测到与特定用户设备上的照片库匹配的人的情况下才提供通知)。在一些实施方案中,通知可包含除所检测到的人的身份之外的任何合适的信息。例如,驻留设备102可被配置为向用户设备108提供指示人120(例如,用户106的小孩)在特定时间到达住宅的通知。
图2是示出根据一些实施方案的用于基于从图像库中选择的图像裁剪来提供通知的至少一些示例性技术的另一个简化框图200。在图2中,描绘了用户设备202、用户设备204和驻留设备206。在一些示例中,用户设备202和204可分别类似于图1的用户设备108或112中的任一者。另外,驻留设备206可类似于图1的驻留设备102。在一些实施方案中,每个用户设备可通信地连接到驻留设备206。如所描绘的,用户设备202和204可包含存储在相应用户设备的本地内存存储库中的照片库210和230。在一些实施方案中,在特定用户设备上执行的应用程序(和/或服务)可负责管理该设备上的照片库并与驻留设备206通信(例如,配置设置)。在一些实施方案中,该应用程序可在用户设备(例如,用户设备202)的GUI内呈现照片库(例如,照片库210)。虽然图2的相应用户设备202和204仅描绘了每个照片库(例如,210和230)中的5张照片,但是这仅出于示意性的目的。应当理解,一般来讲,给定用户设备上的照片库可包含任何合适数量的图像。
在一些实施方案中,如上所述,用户设备的照片库中的这些图像可由该用户设备从任何合适的源接收。使用用户设备202作为示例,在一个实施方案中,用户设备202可使用用户设备202(例如,移动电话)的相机部件来捕获图像。在捕获到该图像时,用户设备202可将该图像存储在照片库210中。在另一个实施方案中,用户设备202可从另一个设备接收一个或多个图像。例如,用户设备202可直接接收并存储从其他设备(例如,用户设备204或另一个设备)共享的图像。需注意,在一些情况下,用户设备202和204两者可彼此共享对方的库,即使它们不分别将图像直接传输到另一个设备。例如,如上所述,每个设备上的照片库可供使用(例如,共享),使得驻留设备206具有对两个库的访问权限。在这种情况下,驻留设备可负责管理(例如,和/或同步)共享照片库以用于至少提供通知的目的。如本文进一步所述,由驻留设备206管理的该共享照片库可以是存储在用户设备202、204上的本地内存存储库中的相应照片库的照片子集(例如,所选择的图像裁剪)。
在一些实施方案中,照片库(例如,照片库210或230)中的每个图像可具有特定的质量水平。图像的质量水平可与一个或多个因素相关联。在一些非限制性示例中,质量水平可与图像中的失真水平(例如,径向失真)、图像分辨率(例如,由像素的数量(或每英寸的像素(PPI)表示)、图像对比度水平(例如,对比度)、图像清晰度和/或其他变量相关联。例如,一个变量可对应于图片中是否存在阻挡(或阻碍)正被识别的人的面部的任何遮挡。另一个变量可对应于是否存在任何图像伪影,例如由于图像压缩或其他可包括在图像中的噪声而产生的图像伪影。应当理解,在一些示例中,不同相机可与不同图像质量水平相关联。例如,与通信地连接到驻留设备206的观察相机(例如,图1的观察相机122)相比,用户设备202和204的相机部件可与更高的图像质量水平相关联。例如,用户设备(例如,移动电话)可用于捕获可能正在为拍摄照片而摆好姿势并且/或者在可能存在更好照明、更少遮挡等的环境中的人的图像。同时,观察相机可捕获可能不在为拍摄照片而摆好姿势(例如,连续四处移动)并且/或者在照明可能不佳(例如,在没有背景光的夜间)的环境中等的人的图像。
更详细地转到照片库中的每个照片库的内容,如图2所描绘的,每个照片库可包含一个或多个图像。就用户设备202的照片库210而言,如上所述,描绘了5个代表性图像。每个图像可包含至少一个人的面部的至少一部分。应当理解,照片库中的其他图像可不包含任何人的面部,并且可相应地提供更少的(例如,不提供)信息增益以用于执行面部识别,如本文进一步所述。在用户设备上执行的应用程序可生成在图像中描绘的每个人的面部的图像裁剪。例如,图像212可显示人的面部,应用程序根据该面部生成图像裁剪214。可针对其他图像生成类似的代表性图像裁剪(例如,图像裁剪216、218、222、224、226)。需注意,图像裁剪224和226可从相同的非裁剪图像(例如,原始图像)生成。类似地,就用户设备204的照片库230而言,在用户设备204上执行的应用程序可生成代表性图像裁剪232、234、236、238、240和242。
在一些实施方案中,可在每个用户设备上执行经训练的面部特征模型,以用于确定哪些图像(例如,图像裁剪)应被传输到驻留设备206。这些图像裁剪稍后可由驻留设备206用作用于执行面部识别的参考图像。在一些实施方案中,虽然在用户设备(例如,202、204)上执行的经训练的面部特征模型可用于不同目的,但是该模型可与在驻留设备102上执行的通知服务130的面部特征模型132类似(例如,相同)。例如,如本文进一步所述,在用户设备上执行的面部特征模型可用于从图像裁剪生成面纹。然后,基于比较所生成的面纹来确定来自每个面纹的信息增益水平,用户设备可确定将图像裁剪子集作为特定面部的参考图像传输到驻留设备206。同时,在驻留设备206上执行的类似(例如,相同)面部特征模型可用于生成面纹,以供稍后在确定得分时进行比较以执行面部识别。在一些实施方案中,可如本文所述那样例如参考图4训练经训练的面部特征模型。
在图2所描绘的简化图中,针对用户设备中的每个用户设备生成的图像裁剪分别描绘了两个人(例如,联系人)的面部的特定部分(例如,不同的视图)。例如,图像裁剪214、216和226可分别对应于用户设备202的第一联系人的面部的特定部分。图像裁剪218、222和224可分别对应于用户设备202的第二联系人的面部的特定部分。应当理解,这些图像裁剪是代表性的。在一些实施方案中,照片库210可包含两个人中的每个人的和/或其他联系人的更多照片。在用户设备202上执行的应用程序(或服务)可执行面部特征模型,以针对每个图像裁剪来确定面部的一组特征。在一些实施方案中,面部特征模型可生成与该组特征相对应的面纹。例如,如上所述,针对图像裁剪214的面纹可对应于多维向量,由此每个维度与图像裁剪214中示出的面部的该组特征中的至少一个特征相关联。因此,用户设备202可执行面部特征模型,以针对对应于第一联系人的图像裁剪214、216和226生成相应面纹。如上所述,应当理解,这些图像裁剪(和面纹)可能已被标记(例如,自动地或手动地标记)为对应于第一联系人。然后,用户设备202可比较第一联系人的不同面纹,以确定提供实现更准确的面部识别的信息增益水平的图像裁剪子集。例如,用户设备202可以确定图像裁剪214的面纹提供与图像裁剪216显著不同的第一联系人的面部的视图(例如,部分),并且因此提供显著的信息增益(例如,新发现的面部特征点/特征)。因此,这两个图像裁剪可被包括在第一联系人的图像裁剪的子集中。应当理解,在一些实施方案中,可至少部分地基于确定图像裁剪(例如,图像裁剪214)与一个或多个其他图像(例如,图像裁剪216)之间的差距来确定由该图像提供的信息增益水平(例如,独特性)。在一些实施方案中,可基于计算每个图像的面部的特征点(例如,眼睛、鼻部、嘴部、下巴等)之间的差距来确定图像之间的差距,然后比较图像之间的那些所计算的差距中的一个或多个那些所计算的差距。在一些实施方案中,可对面部特征点之间的该一个或多个所计算的差距进行加权和/或组合,以适用于图像之间的比较。继续图2的说明,用户设备202可进一步确定图像裁剪214示出与图像裁剪226类似的面部视图,并且因此图像裁剪226可能不提供比图像裁剪214多的信息增益。因此,可以从子集中排除图像裁剪226。在另一个示例中,用户设备202可确定图像裁剪226确实提供了足以将其包括在图像裁剪子集中的足够水平的信息增益。然后可将针对第一联系人确定的该图像裁剪子集传输到驻留设备206。
可对第二联系人执行类似的分析。在一个示例中,用户设备202可基于比较针对每个图像裁剪的面纹来确定图像裁剪218、222和224各自示出第二联系人的不同面部视图,使得从每个图像获得高水平的信息增益。在该示例中,图像裁剪中的每个图像裁剪然后可被包括在第二联系人的传输到驻留设备206的图像裁剪子集中。应当理解,可由用户设备(例如,用户设备202、204)来确定针对给定联系人的任何合适大小的图像裁剪子集。例如,在照片库210中可能存在(例如,在图像212中绘出的)第一联系人的20个图像裁剪的示例中,用户设备202可选择被确定为提供最大信息增益量的10个最佳图像裁剪。
如先前所述,在图2所描绘的示例中,针对用户设备204生成的图像裁剪描绘了在用户设备202的图像裁剪中示出的相同的两个人(例如,第一联系人和第二联系人)的不同部分。例如,图像裁剪232、238和240可分别对应于第一联系人的面部的一部分,而图像裁剪234、236和242可分别对应于第二联系人的面部的一部分。类似于先前所述,在用户设备204上执行的面部特征模型可针对图像裁剪中的每个图像裁剪生成面纹。用户设备204可比较这些面纹以确定这些面纹之间的相似性,以及哪个图像裁剪子集可产生最高水平的信息增益。例如,用户设备204可确定图像裁剪232和238形成第一联系人的图像裁剪的子集(例如,排除图像裁剪240),而图像裁剪234和242形成第二联系人的图像裁剪的子集(例如,排除图像裁剪236)。然后,用户设备204可将这些子集传输到驻留设备206。
在一些实施方案中,驻留设备206可从每个用户设备(202,204)接收针对每个联系人(例如,第一联系人和第二联系人)的图像裁剪子集。在接收到每个图像裁剪子集时,驻留设备206可进一步组合与同一联系人匹配的子集,从而为该特定联系人确定参考图像(例如,图像裁剪)集。例如,驻留设备可遵循如上所述的类似过程来确定要包括哪些图像裁剪(其来自该特定联系人的组合子集)。这可涉及选择提供更高水平的信息增益的图像裁剪。在一些实施方案中,这可涉及驻留设备206的面部特征模型首先针对每个图像裁剪生成面纹,比较这些面纹,然后确定(例如,选择)要使用的参考图像集。然后,驻留设备206可将跨不同用户设备接收的每个联系人的参考图像集存储到驻留设备206的本地存储器。这样,驻留设备206可跨不同用户设备协调(例如,同步)联系人,并且有利于不同用户设备之间的共享库。在一些实施方案中,驻留设备206还可(或另选地)存储对应于特定联系人的参考图像集中的图像中的每个图像的面纹,以供稍后用于面部识别(例如,如下文参考图3所述)。应当理解,如本文所述,虽然可参考单个图像裁剪来描述面纹,但是在一些实施方案中,面纹可能结合了来自多个图像裁剪的特征。在一个示例中,面部特征模型可首先针对每个图像裁剪确定多维向量面纹。然后,面部特征模型可(例如,通过余弦相似性)比较不同的面纹,并且生成结合了来自其他向量的信息的新多维向量(例如,结合了来自多个图像裁剪的信息的面纹)。
在一些实施方案中,驻留设备206可接收可用于更新联系人的一个或多个参考图像集的新图像裁剪。例如,用户设备202可捕获(例如,图像212所描绘的)第一联系人的一个或多个新图像。与存储在照片库210中的第一联系人的先前图像相比,该一个或多个新图像可捕获独特部分(并且/或者可具有更高的质量水平)。因此,用户设备202可确定:与来自现有参考图像集的一个或多个图像相比,该一个或多个新图像提供附加水平的信息增益。服务可在用户设备202上执行(例如,以任何合适的节奏执行)以确定是否应将新图像裁剪发送到驻留设备206,以用于更新第一联系人的参考图像集。应当理解,由于驻留设备206可从多个用户设备接收一个或多个新图像,因此该驻留设备还可跨多个用户设备协调参考图像的更新。例如,驻留设备206可确定来自每个设备的每个新图像可提供什么水平的附加信息增益。在一些实施方案中,驻留设备206可针对新图像生成一个或多个更新的面纹,该一个或多个更新的面纹被添加以为特定联系人生成更新的参考图像集。至少这样,驻留设备206可连续提高特定联系人的参考图像集的质量(例如,和/或覆盖范围)。
图3是描绘根据本公开的一些实施方案的由系统执行的示例性过程的另一个简化图。过程300是系统(例如,图1的驻留设备102或图2的驻留设备206)确定某个位置处人的存在的示例性高级过程。图示301描绘了对应于过程300的框的示例性状态。图示301可包括与参考图1和图2所描绘的那些元件类似的元件。例如,多个图像裁剪311可对应于图2的第一联系人的代表性图像裁剪214、216和226。在一些实施方案中,第一组特征313可对应于从该多个图像裁剪311生成的一个或多个面纹。人317可对应于图1的人120,相机315可对应于图1的观察相机122,图像319(例如,其可为多个图像(或帧)中的一个图像(或帧))可对应于由相机315捕获的图像,并且第二组特征321可对应于从图像319生成的面纹。
更详细地转到过程300,在框302处,系统可基于从第一相机接收的图像来确定第一人的面部的第一组特征。为了执行该确定,并使用图示301进行说明,系统可首先从一个或多个用户设备(例如,图2的用户设备202和/或用户设备204)接收一个或多个图像(例如,多个图像裁剪311)。该一个或多个图像中的每个图像可示出第一人的面部的至少一部分。从一个或多个用户设备接收图像的该步骤可类似于参考图2所述的步骤。然后系统可执行经训练的面部特征模型来确定第一人的第一组特征313。例如,面部特征模型可针对所接收的每个图像裁剪生成面纹。系统可将第一组特征313存储(例如,将图像裁剪和/或每个图像裁剪的相应面纹存储)在系统上以供稍后处理。在一些实施方案中,该系统可被配置为存储针对给定联系人(例如,第一人)的预定义数量的图像裁剪,由此根据哪些图像裁剪提供最多信息增益来选择所存储的图像裁剪,以用于执行对第一人的面部的面部识别。例如,系统可被配置为存储针对给定联系人的10个参考图像裁剪。在该示例中,系统可接收来自第一用户设备的10个图像裁剪和来自第二用户设备的10个图像裁剪(全部为相同的第一人的图像裁剪)。然后,系统可确定总共20个图像裁剪中的哪10个图像裁剪提供最多信息增益。这可例如通过比较图像裁剪中的每个图像裁剪的面纹以确定相似性/差异(例如,基于确定面纹之间的余弦相似性)来完成。在一些实施方案中,更大的差异可对应于更高水平的信息增益。应当理解,即使在系统确定要存储的该参考图像裁剪集之前,每个用户设备也可能先前已基于来自每张照片的确定水平的信息增益(例如,从用户设备上的照片库中)选择了第一人的面部的照片的子集。这样,系统可在用户设备之间协调以确定哪些图像裁剪是最佳参考图像。应当指出的是,这可通过减少从各种用户设备传输到驻留设备的数据(例如,图像)的量来改进常规方法。这还可降低驻留设备所需的处理能力(例如,处理减少数量的图像),以及降低驻留设备的存储要求。
在框304处,系统可基于从第二相机(例如,相机315)接收的图像(例如,图像319)来确定第二人(例如,人317,其身份尚未确定)的面部的第二组特征。继续图示301以进行说明,并且如本文所述,相机315可连接到系统(例如,驻留设备)。在一个示例中,相机315可定位(例如,安装)在特定位置处(例如,住宅门口外),由此系统可位于住宅内并经由有线(或无线)连接连接到相机315。相机315可捕获接近住宅门口的人317的视频馈送。系统可从相机315接收多个图像,该多个图像可对应于相机315的视频馈送的视频帧序列。图像319可以是来自视频馈送的该多个图像中的一个图像。系统的面部特征模型可基于图像319生成第二组特征321。例如,类似于如上所述,面部特征模型可基于图像319生成人317的面部的面纹。在这种情况下,所生成的面纹可对应于第二组特征321。应当理解,虽然该说明中仅描述了视频馈送的该多个图像中的单个图像(例如,图像319),但是系统可生成针对从相机315接收的该多个图像中的任何一个或多个图像的面纹。在一些情况下,这些面纹中的一个或多个面纹可比其他面纹提供更多信息增益,以用于检测人317的面部。例如,在一个时间间隔内,视频帧可捕获背向相机的人317(例如,提供更少信息增益),而在另一个时间间隔内,人的面部可面向相机(或在其侧视角处)。
在框306处,系统可通过将第一组特征与第二组特征进行比较来确定第一人是第二人。使用图示301进行说明,系统可将第一组特征313与第二组特征321进行比较。例如,系统可将对应于第一组特征313的一个或多个面纹与对应于第二组特征321的一个或多个面纹进行比较。例如,考虑多个图像裁剪311中的一个图像裁剪示出第一联系人的侧视图的情况。在这种情况下,还假设图像319示出第二人317的侧视图。该系统可比较分别对应于这些图像中的每个图像的面纹,以确定面纹之间的相似性水平。如果存在高水平的相似性(例如,接近1的余弦相似性),则系统可确定第一人与第二人相同(即,从而确定第二人的身份是第一联系人)。在一些实施方案中,相似性水平可对应于得分(例如,在0和1之间)。在一些示例中,相似性水平可与预定义阈值匹配以确定得分的置信水平。应当理解,可在生成得分时执行多个面纹比较。例如,来自相机315的视频馈送的该多个图像中的图像的面纹可分别用于与来自多个图像裁剪311中的多个图像裁剪的面纹进行比较。还应当理解,出于示意性的目的,简化了对图示301的说明。系统可将第二组特征321(例如,从图像319生成的面纹)与和系统相关联的一个或多个用户设备的多个联系人的多个面纹(或多组面纹)进行比较。如本文所述,这些联系人可由系统基于从每个用户设备的照片库生成和选择的图像裁剪而自动确定。因此,系统可自动且有效地(例如,基于选择的参考图像集)确定人317是否是来自与系统相关联的用户设备中的任一个用户设备的联系人中的一个联系人。基于该确定,系统可确定是否例如向用户设备中的一个或多个用户设备提供通知。另外,如上所述,在一些实施方案中,系统可保持指示与第二组特征321相关联的质量水平的面部质量度量。例如,面部质量度量可指示图像质量是否适用于识别人317的面部。考虑人317转过身去使得相机315仅捕获人的头部的背部的情况。在这种情况下,虽然系统可能仍然能够检测到人在前门,但是可能无法基于面部识别来识别人的身份。在这种情况下,面部质量度量可指示图像的质量不与面部识别的预定义阈值匹配(例如,小于该预定义阈值)。因此,系统可确定是否提供通知。
图4是示出根据一些实施方案的用于训练用于执行面部识别的面部特征模型的至少一些示例性技术的简化框图400。如本文所述,面部特征模型可适用于确定人的面部的一组特征。在一些实施方案中,该组特征可对应于人的面纹。因此,如下文相对于图4所述,在一些实施方案中,可训练面部特征模型确定人的面纹。在一些实施方案中,由经训练的面部特征模型产生的面纹可适用于彼此比较,例如以确定面纹之间的相似性和/或差异。这些所确定的相似性(或差异)可用于确定将一个人(例如,已知联系人)的面部与另一个人的面部(例如,在相机观察下的特定位置处)匹配的得分。
更详细地转到图4,图示400包括与参考图1、图2和图3所描绘的那些元件类似的元件。例如,用户设备401可类似于图1的用户设备108或112。在一些实施方案中,用户设备401可对应于可将图像捕获和/或存储在照片库中的任何合适的用户设备(例如,配备有数字相机的移动电话)。在一些实施方案中,由用户设备401的相机捕获的图像可具有第一图像质量水平。例如,用户设备和/或相机可被配备为接收启用高动态范围(HDR)以实现照片中的平衡曝光的自动或手动输入。相机还可自动启用/禁用闪光(以用于控制照明)、将一个或多个滤光器应用于图像、自动确定照片中的对比度等。相机还可允许设置默认分辨率(例如,8、10、12.1等兆像素)。
同时,图4的观察相机403可类似于图1的观察相机122和/或图3的相机315。在一些实施方案中,观察相机403可对应于可捕获可传输到驻留设备(例如,驻留设备102)以供处理的图像的任何合适的相机,如本文所述。在一些实施方案中,如本文所述,由观察相机403捕获的图像可具有第二图像质量水平。在一些实施方案中,第二图像质量水平可不同于(例如,小于)用户设备相机的第一图像质量水平。例如,观察相机403可以比用户设备相机更低的分辨率和/或对比度记录图像。另外,观察相机403图像可记录具有更多噪声、更差照明条件等的图像。
在一些实施方案中,通知服务410可类似于图1的通知服务130。通知服务410可包括面部特征模型430,其可类似于本文所讨论的面部特征模型中的任一个面部特征模型。如下文所述,在一些实施方案中,可至少部分地基于接收到来自不同相机源并且/或者具有不同质量水平的训练图像来训练面部特征模型430。基于该训练过程,可训练面部特征模型430确定人的面纹。
在一些实施方案中,训练过程可开始,由此未经训练的面部特征模型430接收人(例如,人1)的多个图像402(例如,图像裁剪)。该多个图像402可分别包括人的面部的不同部分。例如,一个部分可以是侧视图,另一个部分可以是直视视图,另一个部分可以是相对的侧视图,等等。一些部分可具有不同的条件和/或背景。在一些实施方案中,多个图像402可由用户设备401捕获而具有第一图像质量水平(或类似的质量水平)。面部特征模型430还可接收同一人(例如,人1)的多个图像420。该多个图像420可能已由观察相机403捕获而具有第二图像质量水平(或类似质量水平)。类似于如上所述,该多个图像420也可分别包括人(例如,人1)的面部的不同部分。在一些实施方案中,多个图像402和420两者中的每个图像可被标注为描绘同一人(例如,人1)的面部。这些标注可对应于“基准真值”数据。
在一些实施方案中,在接收到多个图像402和420两者时,系统可使用交叉识别训练算法来训练面部特征模型430。在一些实施方案中,交叉识别训练算法可利用任何合适的机器学习技术。一些非限制性示例可包括利用神经网络、支持向量机、最近邻法或决策树。在涉及神经网络的一个示例中,神经网络可接收对应于图像中的一个图像的输入。在一些实施方案中,输入可对应于图像的一个或多个特征点。例如,图像可由神经网络接收的多个特征点(例如,图像的像素块)构成。神经网络可具有一个或多个节点层(例如,输入层、隐藏层和/或输出层)。层的每个节点可表示信息元素。所生成的预测模型可包括隐藏层与输入层和/或输出层之间(例如,不同层的节点之间)的多个互连,其中每个互连可被分配基于在输入值集和输出值集之间识别的模式而生成的数字权重。权重可被调整(例如,基于训练数据集),使得人工神经网络自适应于输入并且能够学习。一般来讲,隐藏层允许在输出层的输出节点之间共享关于输入层的输入节点的知识。为此,通过隐藏层将变换f应用于输入节点。人工神经网络还可使用代价函数来找到最优解(例如,最优变换函数)。最优解表示没有解的代价小于最优解的代价的情况。在一个示例中,代价函数包括均方误差函数,该均方误差函数使示例对(x,y)上的输出f(x)(例如,预测、给定训练数据输入x)和目标值y(例如,基准真值值)之间的平均平方误差最小化。在一些实施方案中,使用梯度下降使代价函数最小化的反向传播算法可用于训练人工神经网络。在该示例中,可使用一个或多个参数(例如,其也可被称为“超参数”)来管理训练过程。例如,这些参数可包括确定要在输入层和输出层之间使用多少隐藏层的节点,以及每层应当使用多少节点。在该示例中,节点的集合和不同层之间的节点的互连之间的所确定的权重(例如,基于训练数据)可形成经训练的模型。
继续图4的训练过程示例,并且使用利用神经网络的交叉识别训练算法作为示例,可训练该神经网络接收多个图像402中的一个图像作为输入,并输出图像中示出的(例如,人1的)面部的第一面纹。如本文所述,面纹可对应于多维向量,由此向量的每个维度对应于图像中的人的面部的特征(例如,面部上的两个已知点之间的距离)。神经网络还可接收多个图像420中的一个图像作为输入,并输出图像中示出的(例如,同一人1的)面部的第二面纹。在一些情况下,交叉识别算法可将第一面纹与对应于同一人(例如,人1)的第二面纹相关联。例如,如上所述,来自多个图像402、420两者的图像中的每个图像可被标注(例如,标注为第一人)。另外,在一些情况下,可标注图像以描述所描绘的面部的部分的类型(例如,侧面部分、直视视图等)。在一些实施方案中,交叉识别训练算法可计算每个面纹的向量之间的相似性(例如,余弦相似性)。然后,至少部分地基于输出和图像之间的已知相似性(例如,基于标注的基准真值数据),交叉识别训练算法可调整面纹中的一个或多个面纹的尺寸。例如,如上所述,交叉识别训练算法可利用反向传播算法来使与面纹之间的距离(例如,面纹向量之间的距离)相关联的代价函数最小化。在一些实施方案中,该反向传播算法可用于调整(例如,更新)神经网络的节点的权重。这样,神经网络可被训练为从同一面部的图像生成面纹,由此图像可具有不同的质量水平。面纹可稍后在面部识别期间用于有效比较(例如,在图3的框306处)。在一些实施方案中,作为训练过程的一部分,可针对人1生成多个“人1面纹”432。例如,面部特征模型430可针对相应图像(例如,相应多个图像402、420中的每个图像)中示出的面部的每个视图(例如,部分)生成面纹。如上所述,应当理解,可以任何合适的数据结构(例如,值的多维阵列)存储面纹。
在一些实施方案中,可至少部分地基于接收到与多个人相关联的多个图像的不同集合来训练面部特征模型430。例如,类似于上文参考“人1”所述,面部特征模型430可接收另一个人(例如,人2)的多个图像404(例如,图像裁剪)。该多个图像402可分别包括人的面部的不同部分。面部特征模型430还可接收同一人(例如,人2)的多个图像422。该多个图像422可能已由观察相机403捕获而具有第二图像质量水平(或类似质量水平)。面部特征模型430可利用如上所述的类似技术来训练面部特征模型430生成一组“人2面纹”434。因此,面部特征模型430可接收与任何合适数量的人(例如,数百人、数千人等)相关联的训练样品,并且针对每个人产生面纹(例如,基于接收到(例如,人N的)多个图像406和(例如,也是人N的)另外多个图像424来生成“人N面纹”436)。
如本文所述,应当理解,本公开的实施方案的优点中的一个优点在于,系统可使用可具有不同相机源和/或不同质量水平的图像来执行面部识别。例如,参考图像集可主要由用户的移动电话捕获。这些参考图像通常可具有比由观察相机捕获的图像更高的质量水平。本公开的实施方案通过允许系统通过将更低质量的图像中的面部与较高质量的图像中的面部进行比较来识别该较低质量的图像中的面部,从而有效地“缩小差别”。如参考图4所述,经训练的面部特征模型430通过生成适用于有效比较的面纹来实现用于该比较的机制。
在一些实施方案中,一旦经过训练,经训练的面部特征模型430就可用于针对任何合适的人的面部(例如,包括不是用于训练面部特征模型430的训练样品的一部分的人的面部)生成面纹。在一些实施方案中,经训练的面部特征模型430可被部署为在任何合适的环境中进行执行。例如,如本文所述,经训练的面部特征模型430可在用户设备(例如,图2的用户设备202或204)和/或驻留设备(例如,图2的驻留设备206)上执行。另外,用于训练面部特征模型430的过程可在任何合适的设备(例如,驻留设备、用户设备、远程服务器(例如,云)等)上执行。例如,云计算平台可训练面部特征模型430,然后将该模型分发给用户设备和/或驻留设备。在一些实施方案中,可将不同的经训练的模型(例如,这些模型各自使用不同训练数据集进行训练)部署到不同的设备。例如,云计算平台可(例如,从一个或多个用户)接收一个训练图像集,训练面部特征模型430,然后将面部特征模型430部署到与该一个或多个用户相关联的设备。在一些实施方案中,可以任何合适的节奏更新经训练的面部特征模型430(例如,基于新的训练数据样品和/或利用更新的交叉识别训练算法)。
图5是示出根据一些实施方案的用于基于确定某个位置处人的存在来提供通知的系统的示例性架构的另一个简化框图500。图示500包括用户设备502(例如,其可具有集成的相机部件)、观察相机504、驻留设备506、网络508和远程服务器522。用户设备502、观察相机504和驻留设备506可分别类似于本文所述的用户设备、观察相机和/或驻留设备中的任一者。远程服务器522可对应于云计算平台的一个或多个服务器计算机(例如,服务器集群),如本文所述。
网络508可包括任何合适的通信路径或信道,诸如例如电线或电缆、光纤、电话线、蜂窝链路、射频(RF)链路、WAN或LAN网络、互联网或任何其他合适的介质。网络508可包括许多不同类型的网络(诸如,有线网络、互联网、无线网络、蜂窝网络、其他专用网络和/或公共网络)中的任一种或上述网络的组合。
更详细地转到每个元件,用户设备502可以是任何合适的计算设备(例如,移动电话、平板计算机、个人计算机(PC)、智能眼镜、智能手表等)。在一些实施方案中,用户设备502将具有嵌入作为设备的部件的相机(例如,移动电话相机)。在一些实施方案中,用户设备502将连接到该用户设备从其接收图像(例如,通过网络508)的另一个设备(例如,独立的数字相机)。用户设备502具有至少一个存储器510、一个或多个处理单元(或处理器)514、存储单元516、通信接口518和输入/输出(I/O)设备520。
处理器514可适当地以硬件、计算机可执行指令、固件或它们的组合来实现。处理器514的计算机可执行指令或固件具体实施可包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行所述的各种功能。
存储器510可存储可在处理器514上加载和执行的程序指令,以及在执行这些程序的过程中生成的数据。根据用户设备502的配置和类型,存储器510可以是易失性的(诸如,随机存取存储器(RAM))和/或非易失性的(诸如,只读存储器(ROM)、闪存存储器等)。在一些具体实施中,存储器510可包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或ROM。用户设备502还可包括附加存储装置516,诸如可移除存储装置或不可移除存储装置,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联的计算机可读介质可为计算设备提供计算机可读指令、数据结构、程序模块及其他数据的非易失性存储装置。在一些实施方案中,存储装置516可用于将包含一个或多个图像的照片库存储在用户设备502上。
用户设备502还可包含通信接口518,该通信接口允许用户设备502经由网络508与存储数据库、另一个计算设备或服务器、用户终端和/或其他设备进行通信。用户设备502还可包括I/O设备520,诸如以用于实现与键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等连接。
更详细地转到存储器510的内容,存储器510可包括操作系统和用于实现本文所公开的特征的一个或多个应用程序或服务,包括通知管理模块512。通知管理模块512可负责执行一个或多个任务,包括配置驻留设备506的通知服务和/或向驻留设备506发送(和/或从其接收)数据(例如,图像裁剪)。例如,如本文所述,通知管理模块512可接收用于配置具有用于提供通知的设置的驻留设备的输入。如本文所述,一个示例可以是指示以下操作的设置:如果检测到的人是(或不是)与用户设备相关联的联系人(例如,在存储装置516中的照片库中的图像中的任一个图像中均未找到该人),则驻留设备506应仅向用户设备502提供通知。在另一个示例中,设置可指示应当如何提供通知。例如,一个设置可指示驻留设备506应向用户设备502传输通知消息。另一个设置可指示驻留设备应在连接到驻留设备506的扬声器上播报通知。通知管理模块512(例如,经由在用户设备502上运行的服务或后台应用程序)可将图像(例如,从照片库生成的图像裁剪)传输到驻留设备506以供驻留设备506处理。这些图像可以任何合适的节奏和/或选择算法传输,例如,如参考图2所述。在一些实施方案中,用户设备502可首先加密传输到驻留设备506的图像。例如,用户设备502和驻留设备506可共享加密密钥(例如,对称密钥),由此驻留设备506接收加密图像,然后使用该加密密钥对该图像进行解密。在一些实施方案中,如本文进一步所述,加密密钥可能不(或可能)与远程服务器522共享。在一些实施方案中,图像可首先被传输到远程服务器522(例如,用于临时存储),然后稍后由远程服务器522传输到驻留设备506。在一些实施方案中,图像可被直接传输到驻留设备506,而不涉及远程服务器522。应当理解,通知管理模块512的一个或多个功能可由驻留设备506执行(例如,配置该驻留设备)。
在一些实施方案中,观察相机504可对应于用于捕获图像并将图像传输到驻留设备506的任何合适的相机。在一些实施方案中,观察相机504可定位(例如,安装)在特定位置处以具有特定可视区域,例如,住宅前门附近。观察相机504可经由网络508连接到驻留设备506。
在一些实施方案中,如上所述,远程服务器522可对应于云计算平台。远程服务器522可执行一个或多个功能,包括例如:训练一个或多个面部特征模型(例如,类似于参考图4所述)、管理对面部特征模型的更新、从用户设备(例如,用户设备502)接收图像、将图像传输到驻留设备506等。如上所述,在一些实施方案中,远程服务器522可能不(或可能)具有对用户设备502用来加密图像的加密密钥的访问权限。在一些实施方案中,远程服务器522可例如在用户设备502不具有对驻留设备506的直接访问权限时从用户设备502接收图像。在该示例中,用户设备502可首先将加密图像(例如,图像裁剪)传输到云中的远程服务器522。该云可存储加密图像裁剪以供稍后传输到驻留设备506。
更详细地转到驻留设备506,驻留设备506可以是包括至少一个存储器530、一个或多个处理单元(或处理器)546、存储单元548、通信设备550和I/O设备552的计算机系统。在一些实施方案中,这些元件可以与参考用户设备502的类似元件所述类似的方式(或不同的方式)实现。在一些实施方案中,存储单元408可存储由用户设备502和/或远程服务器522接收的图像(例如,图像裁剪)。驻留设备506可容纳在任何合适的单元(例如,智能电视、智能扬声器等)中。
更详细地转到存储器530的内容,存储器530可包括操作系统532和用于实现本文所公开的特征的一个或多个应用程序或服务,包括通信模块534、加密模块536、通知管理模块538、配置文件管理模块540、评分模块542和模型训练模块544。在一些实施方案中,存储器530的一个或多个应用程序或服务可被包括作为图1的通知服务130的一部分。
通信模块534可包括使得处理器546生成消息、转发消息、重新格式化消息和/或以其他方式与其他实体通信的代码。例如,通信模块534可接收(和/或传输)来自用户设备502和/或远程服务器522的图像。通信模块534还可负责提供通知。例如,通信模块534可基于从观察相机504接收的图像在检测到人的存在时向用户设备502传输通知消息。在一些实施方案中,通信模块534可使用任何合适的信道和/或向任何合适的设备提供通知。例如,通信模块534可经由家庭环境内某个位置处的扬声器I/O设备552提供可听通知。在另一个示例中,通信模块534可向家庭环境内的智能电视提供视听通知。例如,智能电视的PIP显示器可显示来自相机504的视频馈送(例如,示出在住宅前门处的用户)。智能电视还可播报谁在门口并且/或者允许经由驻留设备506的扬声器和/或麦克风I/O设备进行双向通信。
加密模块536可包括使得处理器546加密和/或解密消息的代码。例如,加密模块536可从远程服务器522接收加密数据(例如,加密图像裁剪)。在本发明的实施方案中,加密模块536可包括用于加密数据的任何合适的加密算法。合适的数据加密算法可包括数据加密标准(DES)、三重DES、高级加密标准(AES)等。该加密模块还可(例如,在存储单元548中)存储可与此类加密算法一起使用的加密密钥(例如,加密密钥和/或解密密钥)。加密模块536可利用对称或非对称加密技术来加密和/或验证数据。例如,如上所述,用户设备502可包含与加密模块536类似的代码和/或密钥,该代码和/或密钥适用于对与驻留设备(和/或远程服务器522)的数据通信进行加密/解密。
通知管理模块538可包括使得处理器546存储和管理用于提供通知的设置的代码,如本文所述。通知管理模块538还可负责生成由通信模块534提供的通知。应当理解,可以任何合适的形式(例如,文本、音频、视频和/或合适的组合)呈现通知。在一些实施方案中,可以特定设置将通知管理模块538配置为不执行操作(例如,“无操作”)。例如,驻留设备506可被配置为:如果检测到的人不是联系人,则仅向用户设备502提供基于AV的通知。因此,如果驻留设备506检测到联系人,则通知管理模块538可确定不执行操作(例如,保持静默、仅在内部记录观察等)。在一些实施方案中,通知管理模块538还可基于面部是否是可识别的来确定是否提供通知。
配置文件管理模块540可包括使得处理器546保持和存储联系人的配置文件的代码。例如,如本文所述(例如,参考图2),配置文件管理模块540可从一个或多个用户设备接收图像(例如,图像裁剪),每个图像裁剪示出与相应用户设备相关联的联系人的面部的一部分。配置文件管理模块540可基于所接收的图像裁剪(例如,经由经训练的面部特征模型)来确定给定联系人的参考图像集。在一些实施方案中,配置文件管理模块540还可基于该参考图像集来确定一组特征(例如,针对每个参考图像生成面纹)。在一些实施方案中,该参考图像集(和/或对应于该参考图像集的一个或多个面纹)可存储在存储单元548中。当接收到比现有参考集提供更多信息增益的新图像裁剪时,可以任何合适的节奏更新给定面部的参考图像集。
评分模块542可包括使得处理器546确定对应于(例如,与第一人的面部相关联的)第一组特征和(例如,与第二人的面部相关联的)第二组特征之间的相似性水平的得分的代码。在一些实施方案中,评分模块542可利用经训练的面部特征模型基于第一人的一个或多个参考图像(例如,图像裁剪)来生成一个和/或多个面纹。面部特征模型还可基于从相机504接收的一个或多个图像(例如,其示出第二人的面部)来生成一个和/或多个面纹。然后,系统可比较面纹(例如,确定面纹向量之间的相似性)以确定得分。在一些实施方案中,驻留设备506可利用该得分来确定第一人是否是第二人。这样,驻留设备506可确定是否提供通知,并且如果提供,则确定提供哪种类型的通知。在一些实施方案中,第一组特征可对应于第一人的面纹(例如,从一组一个或多个参考图像生成的),并且第二组特征可对应于第二人的面纹(例如,基于从观察相机504接收的图像生成的)。在一些实施方案中,如本文所述,评分模块542还可基于面部质量度量来确定第二人的面部是否是可识别的。在一些实施方案中,系统可首先在确定面部是否是已知联系人之前确定面部是可识别的。例如,如果(例如,从观察相机504接收的)图像的一组面部特征具有足够的质量(例如,与预定义阈值匹配)使得系统随后可准确地确定人是否是已知联系人,则可认为面部是可识别的。
模型训练模块544可包括使得处理器546训练面部特征模型的代码。在一些实施方案中,模型训练模块544的操作可类似于参考图4所述的操作。应当理解,在一些实施方案中,模型训练模块544的操作也可由远程服务器522来执行。
图6是示出根据一些实施方案的用于基于确定某个位置处人的存在来提供通知的示例性过程600的简化流程图。过程600和图7的过程700被分别示出为逻辑流程图,这些逻辑流程图的每个操作表示能够以硬件、计算机指令或它们的组合来实现的一系列操作。在计算机指令的上下文中,操作表示存储在一种或多种计算机可读存储介质上的计算机可执行指令,这些计算机可执行指令由一种或多种处理器执行时执行所述操作。一般来讲,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序并非旨在被理解为限制,并且任何数量的所述操作均可按照任意顺序和/或平行组合以实现所述过程。
另外,这些过程中的一些、任意者或全部可在被配置为具有可执行指令的一个或多个计算机系统的控制下执行,并且可实现为在一个或多个处理器上、由硬件、或它们的组合共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用程序)。如上所述,代码可存储在计算机可读存储介质上,例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储。计算机可读存储介质是非暂态的。
在一些实施方案中,过程600可由驻留设备执行,该驻留设备可对应于本文所述的驻留设备中的任何一个或多个驻留设备。在框602处,驻留设备可从用户设备接收示出第一人的面部的一部分的图像的图像裁剪,该图像由用户设备的第一相机捕获。在一些实施方案中,图像可以是作为包括与用户设备相关联的联系人的图像库(例如,照片库)的一部分而被管理的多个图像(例如,非裁剪图像)中的一个图像。在一些实施方案中,该多个图像存储在用户设备的本地内存存储库上。在一些实施方案中,用户设备是移动设备(例如,移动电话)。在一些实施方案中,图像是该多个图像的子集中的一个图像。可至少部分地基于与第一人的面部的该部分相关联的信息增益来选择该子集。该信息增益可用于执行对第一人的面部的面部识别。在一些实施方案中,图像裁剪是多个图像裁剪中的一个图像裁剪,由此该多个图像裁剪分别从该多个图像的子集生成。在一些实施方案中,该多个图像裁剪可包括在存储在驻留设备上的参考图像(例如,图像裁剪)集内。
在框604处,驻留设备可从包括第二相机的另一个设备接收人(例如,“第二人”,其身份尚未确定)的面部的一部分的第二图像。在一些实施方案中,另一个设备可对应于可具有可视区域的观察相机,该可视区域包括与驻留设备相关联的特定位置。例如,观察相机可被定位成具有住宅前门走廊的可视区域、住宅内的区域、办公室空间等。在一些实施方案中,框602的所接收的图像和框604的所接收的第二图像可具有不同的图像质量水平。在一些实施方案中,图像质量水平可与以下中的至少一者相关联:(1)失真水平、(2)图像分辨率、(3)特定位置处的照明、(4)图像遮挡、(5)图像对比度、(6)图像伪影或(7)图像清晰度。在一些实施方案中,第二图像可为从第二相机接收的多个图像(例如,视频帧)中的一个图像。
在框606处,驻留设备可确定对应于与第一人的面部相关联的第一组特征(例如,参见框602)和与第二人的面部相关联的第二组特征(例如,参见框604)之间的相似性水平的得分。在一些实施方案中,驻留设备可利用经训练的面部特征模型来生成一个或多个面纹。例如,经训练的面部特征模型可生成共同对应于第一组特征的一个或多个面纹。在一个示例中,可基于在框602处描述的参考图像集中的每个参考图像来创建面纹。在另一个示例中,面纹(例如,多维向量)可将来自所创建的其他面纹的数据结合到单个涵盖向量(或其他合适的数据结构)中。经训练的面部特征模型还可基于从第二相机接收的第二图像(和/或多个图像)来生成一个或多个面纹,由此该一个或多个面纹共同对应于第二组特征。驻留设备然后可确定对应于(例如,从不同的图像集生成的)不同面纹之间的相似性水平(例如,余弦相似性)的得分。
在框608处,驻留设备可至少部分地基于该得分来确定第一人是否是第二人。在一些实施方案中,例如基于分析第二组特征(例如,第二人的面纹)来确定面部的面部质量度量,驻留设备可首先确定第二人的面部是否是可识别的。该面部质量度量可指示与第二组特征相关联的质量水平。如果面部质量度量与阈值匹配(例如,等于或超过该阈值),则可确定面部是可识别的。如果面部是可识别的,则驻留设备可进一步确定第二人的面部是否与用户设备的照片库的联系人(例如,包括第一人)中的任一个联系人匹配。这样,驻留设备可确定第二人的身份。
在框610处,驻留设备可至少部分地基于该确定来提供通知。如本文所述,可使用任何合适的信道和/或根据任何合适的设置来提供通知。例如,一个设置可部分地基于以下条件来指示是否提供通知:第二人的面部是否是可识别的,以及如果是可识别的,则第二人是否是已知联系人。在一些实施方案中,该设置可指示是否抑制向用户设备传输通知消息,例如,以减少传输到用户设备的通知的数量。
图7是示出根据一些实施方案的用于训练用于执行面部识别的面部特征模型的示例性过程700的另一个简化流程图。在一些实施方案中,过程700可由任何合适的设备(例如,驻留设备或远程服务器)执行。在一些实施方案中,过程700的操作中的一个或多个操作可类似于参考图4所述的操作。
在框702处,过程700包括从第一相机接收分别包括人的面部的一部分的第一多个训练图像(例如,图像裁剪)。在一些实施方案中,人可以是多个人中的一个人,由此该多个人中的每个人与训练图像集(例如,其共同形成训练样品语料库)相关联。每个图像可示出相应多个训练图像的人的面部的一部分(例如,侧视图、直视视图)。在一些实施方案中,第一相机可以是用户设备的部件(例如,移动电话相机)(和/或以其他方式连接到用户设备)。在一些实施方案中,第一相机可捕获具有第一质量水平(或类似质量水平)(例如,具有常见分辨率、良好照明条件、最小噪声等)的图像。在一些实施方案中,每个训练图像可具有标识相关联的人的面部的对应标注。
在框704处,过程700包括从第二相机接收分别包括人的面部的一部分的第二多个训练图像。在一些实施方案中,第二相机可不同于第一相机。例如,第二相机可以是观察相机。在一些实施方案中,第二相机可捕获具有不同于(例如,低于)第一质量水平的第二质量水平的图像。在一些实施方案中,第二质量水平可不同于第一质量水平。在一些实施方案中,该多个人中的每个人可具有由第二相机捕获的对应的多个训练图像(例如,其形成另一个训练样品语料库)。类似于框702,在一些实施方案中,每个图像均可具有标识相关联的人的面部的对应标注。
在框706处,过程700包括至少部分地基于交叉识别训练算法来确定人的面纹。在一些实施方案中,交叉识别训练算法将根据第一多个训练图像确定的人的面部特征与根据第二多个训练图像确定的人的面部特征相关联。在一些实施方案中,交叉识别训练算法可类似于参考图4所述的那样操作。在一些实施方案中,交叉识别训练算法可使得面部特征模型能够基于(例如,由不同相机捕获的)不同质量的相应已标注的训练图像来生成面部的面纹,使得在比较这些面纹(例如,确定面纹向量的相似性)时,可确定这些面纹与同一人匹配。应当理解,可基于来自多个人的已标注的训练图像样品(例如,如框702和704所述)来训练面部特征模型。在一些实施方案中,与常规方法相比,经训练的面部特征模型可使得使用面纹执行面部识别的准确性水平能够更高。
上文描述了用于基于确定某个位置处人的存在来提供通知的例示性技术。这些技术中的一部分或全部可至少部分地通过架构诸如至少在上述图1至图7中所示的那些架构来实现,但不是必须通过这些架构来实现。虽然上文参考驻留设备和用户设备描述了许多实施方案,但应当理解,其他类型的计算设备可适用于执行本文所公开的技术。此外,在前文描述中描述了各种非限制性示例。为了解释的目的,阐述了很多具体配置和细节以便提供对示例的彻底理解。但是,对本领域的技术人员也应显而易见的是,一些示例可在没有这些具体细节的情况下被实施。此外,有时省略或简化熟知的特征部以防止对本文所述的示例造成混淆。
还可在各种各样的操作环境中实施各种实施方案,在一些情况下,这些操作环境可包括可用于操作多个应用程序中的任一个应用程序的一个或多个用户计算机、计算设备或处理设备。用户设备或客户端设备可包括许多通用个人计算机中的任何一个,诸如运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件并能够支持多个联网协议和即时消息协议的蜂窝设备、无线设备和手持设备。此系统还可包括运行各种可商购获得的操作系统和用于目的诸如开发和数据库管理等的其他已知应用程序中的任何一者的多个工作站。这些设备还可包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统以及能够经由网络进行通信的其他设备。
大多数实施方案利用本领域技术人员熟悉的至少一个网络来支持使用各种商用协议诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk中的任何协议的通信。网络可以是例如局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络及其任何组合。
在利用网络服务器的实施方案中,网络服务器可运行各种服务器或中间层应用程序中的任何一者,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用程序服务器。一个或多个服务器还可能够响应于来自用户设备的请求而执行程序或脚本,诸如通过执行一个或多个应用程序,所述一个或多个应用程序可被实现为以任何编程语言诸如
环境可包括各种数据存储库和其他存储器和存储介质,如上所述。这些可驻留在各个位置,诸如在一个或多个计算机本地的存储介质上或者远离网络上的任何或全部计算机的存储介质上(和/或驻留在一个或多个计算机中)。在特定的一组实施方案中,信息可驻留在本领域技术人员熟悉的存储区域网络(SAN)中。类似地,用于执行归属于计算机、服务器或其他网络设备的功能的任何必要文件可以根据需要本地存储以及/或者远程存储。当系统包括计算机化设备时,每个此类设备可包括可经由总线电耦接的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘),以及至少一个输出设备(例如,显示设备、打印机或扬声器)。此类系统还可包括一个或多个存储设备,诸如磁盘驱动器、光存储设备和固态存储设备诸如RAM或ROM,以及可移除媒体设备、存储卡、闪存卡,等等。
此类设备还可包括如上所述的计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外通信设备等)和工作存储器。计算机可读存储介质读取器可连接至或配置为接收表示远程、本地、固定和/或可移除的存储设备的非暂态计算机可读存储介质,以及用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常还将包括位于至少一个工作存储器设备内的多个软件应用程序、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用程序或浏览器。应当理解的是,另选实施方案可具有根据上文所述的许多变型形式。例如,还可使用定制硬件,和/或可在硬件、软件(包括便携式软件,诸如小应用程序)或两者中实现特定元件。此外,可使用与其他计算设备诸如网络输入/输出设备的连接。
用于包含代码或代码的部分的非暂态存储介质和计算机可读存储介质可包括本领域技术中已知或使用的任何适当的介质,例如但不限于以用于存储信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质,包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其他存储器技术、CD-ROM、DVD或其他光学存储器、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或者可用于存储所需信息并且可由系统设备访问的任何其他介质。至少部分地基于本文所提供的公开和教导内容,本领域的普通技术人员将认识到实现各种实施方案的其他方式和/或方法。然而,计算机可读存储介质不包括暂态介质诸如载波等。
相应地,说明书和附图应被视为具有例示性的而非限制性的意义。然而,显而易见的是,在不脱离权利要求中阐述的本公开的更广泛的实质和范围的情况下,可对其进行各种修改和改变。
其他变型形式在本公开的实质内。因此,尽管所公开的技术容易受到各种修改和另选构造的影响,但是其某些例示的实施方案在附图中示出并且已经在上面详细描述。然而,应当理解,并不旨在将本公开限制于所公开的特定形式,相反,其目的在于覆盖落入由所附权利要求所限定的本公开的实质和范围内的所有修改、另选构造和等同形式。
在描述所公开的实施方案的上下文中(特别是在下面的权利要求书的上下文中)使用术语“一”、“一个”和“该”以及类似的指示词将被解释为覆盖单数和复数,除非另有说明或与上下文明显矛盾。除非另有说明,否则术语“包含”、“具有”、“包括”和“含有”应被解释为开放式术语(即,意思为“包括但不限于”)。术语“连接”被解释为即使有干预的东西,也被部分或全部地包含在内、附接或接合在一起。短语“至少部分地基于”应当被理解为开放式的,并且不以任何方式进行限制,并且旨在在适当的情况下被解释或以其他方式理解为“至少部分地基于”。除非本文另有说明,否则本文中对数值范围的叙述仅仅旨在用作单独提及落入该范围内的每个单独值的简单方法,并且每个单独的值被并入说明书中,如同在本文中单独引用。本文描述的所有方法能够以任何合适的顺序执行,除非本文另有说明或以其他方式与上下文明显矛盾。除非另有声明,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅旨在更好地说明本公开的实施方案,并且不会限制本公开的范围。说明书中的任何语言都不应被解释为指示任何未声明的元素对于本公开的实践是必不可少的。
除非另外特别说明,否则析取语言诸如短语“X、Y或Z中的至少一者”在上下文中被理解为通常用于呈现项目、术语等,其可以是X、Y或Z,或它们的任何组合(例如,X、Y和/或Z)。因此,此类析取语言通常不旨在并且不应该暗示某些实施方案要求X中的至少一个、Y中的至少一个或者Z中的至少一个均各自存在。另外,除非另外特别说明,否则诸如短语“X,Y和Z中的至少一者”的联合语言也应理解为意指X、Y、Z或它们的任何组合,包括“X、Y和/或Z”。
本文描述了本公开的优选实施方案,包括发明人已知的用于执行本公开的最佳模式。在阅读前面的描述之后,那些优选实施方案的变型形式对于本领域的普通技术人员来说可变得显而易见。发明人期望技术人员适当地采用此类变型形式,并且发明人旨在以不同于本文具体描述的方式来实践本公开。因此,如适用法律所允许的,本公开包括所附权利要求中记载的主题的所有修改和等同形式。此外,除非在本文中另外指出或者明显与上下文矛盾,否则本公开包含上述元素的所有可能变型形式的任何组合。
本文引用的所有参考文献,包括出版物、专利申请和专利,均据此以引用方式并入本文,正如每篇参考文献被单独且具体地指示为以引用方式并入并且在本文全文阐述。
如上所述,本技术的一个方面在于收集和使用数据(人的图像)来执行面部识别。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人可识别信息(PII)数据。此类个人信息数据可包括面部特征、人口数据、基于位置的数据(GPS坐标)、电话号码、电子邮件地址、推特ID、家庭地址或任何其他识别或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于识别为用户设备的用户的联系人(或未知联系人)的人。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。另外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就与执行面部识别相关的服务而言,本发明技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开还设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。
- 一种图像中的对象识别方法及装置
- 使用来自不同来源的数据的交通工具电子邮件通知
- 识别视频图像对象的设备和方法、应用视频图像注释的设备和方法及识别视频图像对象的程序