对象识别方法和设备与流程

文档序号:18011038发布日期:2019-06-26 00:04阅读:172来源:国知局
对象识别方法和设备与流程

以下描述涉及一种对象识别设备和方法。



背景技术:

脸部验证技术是一种生物特征认证技术,并可用于诸如基于包括在静止图像或移动的图像中的脸部来确定用户是否合法。使用脸部验证技术,可在用于验证的目标不必须物理地接触实施验证的装置的情况下,诸如通过口令信息或身份证明的条目来验证目标的身份。



技术实现要素:

提供本发明内容以简化的形式介绍将在以下具体实施方式中进一步描述的构思的选择。本发明内容不意在标识要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。

在一个总体方面,一种处理器实现的对象识别方法包括:响应于在输入图像的对象识别的成功之后的输入图像的验证的失败,使用对象模型并基于通过在输入图像的对象识别中所使用的对象模型的局部层而先前提取的参考中间数据,来验证目标图像;响应于在目标图像的验证中目标图像被验证,执行目标图像的附加验证。

输入图像的验证和附加验证可以是使用活性模型执行的各自的活性验证操作。

输入图像的对象识别可以是基于登记的识别,在目标图像的验证中目标图像被验证时,可在不执行目标图像的基于登记的识别的情况下执行目标图像的辨识。

在验证目标图像失败时,可执行目标图像的基于登记的识别。

输入图像的对象识别可以是基于登记的识别,在目标图像的验证中目标图像被验证时,可在不执行已经执行的基于登记的目标图像的识别的情况下执行目标图像的附加验证。

目标图像的验证可包括:基于参考中间数据,来确定由目标图像指示的对象与由输入图像指示的对象是否相同。

目标图像的验证可包括:利用在目标图像的验证中所使用的对象模型的局部层,来确定通过在目标图像的验证中所使用的对象模型的局部层提取的目标中间数据与参考中间数据是否匹配,其中,在目标图像的验证中所使用的对象模型的局部层与在输入图像的对象识别中使用的对象模型的局部层具有相同的层中间性。

确定目标中间数据与参考中间数据是否匹配的步骤可包括:计算目标中间数据与参考中间数据之间的匹配分数;响应于匹配分数超过预定阈值,确定目标图像与输入图像包括相同的对象。

执行目标图像的附加验证的步骤可包括:确定目标图像是否具有用于指示包括在目标图像中的对象是活体的确定的足够的活性特性。

确定目标图像是否具有确定的足够的活性特性的步骤可包括:使用活性模型来计算目标图像的活性分数;响应于活性分数超过预定的活性阈值,确定目标图像具有足够的活性特性。

所述方法还可包括:获取包括多个帧的对象图像,并执行输入图像的对象识别,其中,目标图像和输入图像是对象图像中的被选择帧;

所述方法还可包括:响应于输入图像的对象识别的成功,执行输入图像的验证。

执行输入图像的对象识别的步骤可包括:通过在输入图像的对象识别中的对象模型的使用,来从输入图像提取参考输出数据;响应于确定登记数据库(db)中存在与参考输出数据匹配的登记数据,确定输入图像被辨识出。

确定输入图像被辨识出的步骤可包括:计算参考输出数据与登记数据之间的匹配分数;响应于匹配分数超过输出阈值,确定输入图像的对象与登记数据的对象相同。

所述方法还可包括:在执行输入图像的对象识别期间,存储通过在输入图像的对象识别中使用的对象模型的局部层提取的参考中间数据。

目标图像的验证可包括:响应于目标图像的验证的失败,计算目标图像的目标输出数据,作为进一步使用在目标图像的验证中使用的对象模型完成的目标图像的对象识别的结果;响应于确定登记db中存在与计算的目标输出数据匹配的登记数据,确定目标图像被辨识出。

所述方法还可包括:响应于确定计算的目标输出数据不与登记db中的登记数据匹配,获取新的对象图像,并执行新的对象图像的相应的输入图像的对象识别。

目标图像和输入图像可以是对象图像中的被选择的帧,目标图像的验证可包括:选择输入图像之后的对象图像的帧作为目标图像。

目标图像的验证可包括:将通过包括在在目标图像的验证中使用的对象模型中的总共“n”层中的第m层从目标图像提取的目标中间数据与参考中间数据进行比较,其中,参考中间数据通过在输入图像的对象识别中使用通过的对象模型中的第m层从输入图像被提取,其中n是大于“1”的整数,“m”是大于“0”且小于“n”的整数。

所述方法还可包括:基于对输入图像、目标图像或对象图像的分析来选择整数值m,其中,对象图像包括从中获取输入图像和目标图像的一系列的帧。

所述方法还可包括:响应于确定预定的登记数据与通过在输入图像的对象识别中使用的对象模型从输入图像提取的参考输出数据之间的匹配分数超过输出阈值,确定输入图像的对象识别成功,其中,目标图像的验证可包括:确定参考中间数据与通过在目标图像的验证中使用的对象模型从目标图像提取的目标中间数据之间的另一匹配分数是否超过中间阈值,其中,中间阈值可大于输出阈值。

所述方法还可包括:响应于输入图像的对象识别的失败,获取新的对象图像,其中,输入图像和目标图像可与包括在先前获取的对象图像中的多个帧中的各自帧对应。

所述方法还可包括:响应于目标图像的附加验证的失败,基于在另外的目标图像的对应的验证中所使用的对象模型的局部层,提取另外的目标图像的目标中间数据,其中,另外的目标图像可以是与目标图像之后的帧对应的图像,其中,另外的目标图像的相应的验证的步骤包括:基于目标中间数据和参考中间数据来验证另外的目标图像。

在一个总体方面,提供一种存储指令的非暂时性计算机可读存储介质,当所述指令由处理器执行时,使处理器执行在此描述的任意操作或操作的任意组合或者全部的操作。

在一个总体方面,一种具有对象识别的设备包括:存储器,被配置为存储对象模型;处理器,被配置为:响应于在输入图像的对象识别的成功之后的输入图像的验证的失败,使用对象模型并基于通过在输入图像的对象识别中所使用的对象模型的局部层先前提取的参考中间数据来验证目标图像;响应于在目标图像的验证中目标图像被验证,执行目标图像的附加验证。

在一个总体方面,一种具有对象识别的设备包括:处理器,被配置为实现初级识别操作和次级识别操作,其中,初级识别操作实现对象神经网络模型的所有识别层以执行对象图像的输入图像的识别,次级识别操作选择性地实现少于对象神经网络模型的所有识别层的识别层,以执行对象图像的目标输入图像的识别,并执行目标图像的活性测试。

处理器还可被配置为:当活性测试指示目标图像是活的图像,并且初级识别操作和次级识别操作都成功地指示对象的辨识时,确定对象图像被识别出。

可并行执行实现初级识别操作的步骤和实现次级识别操作的处理。

处理器还可被配置为:在确定初级识别操作成功时,执行输入图像的活性测试,其中,仅当输入图像的活性测试失败时,可执行次级识别操作和执行目标图像的活性测试的处理。

仅在次级识别操作成功识别目标输入图像之后,执行目标图像的活性测试的处理才可被执行。

为了实现次级识别操作,处理器可被配置为:基于执行初级识别操作的对象神经网络模型的中间层特征与执行次级识别操作的对象神经网络模型的对应中间层特征的比较结果,选择性地实现少于对象神经网络模型的所有识别层的识别层。

可在所述比较指示执行初级识别操作的对象神经网络模型的中间层特征与执行次级识别操作的对象神经网络模型的中间层特征足够相似时,可立即执行目标图像的活性测试。

足够的相似度可基于预定的相似度阈值。

根据以下具体实施方式、附图和权利要求,其他特征和方面将是显而易见的。

附图说明

图1示出模型的示例。

图2是示出对象识别设备的配置的示例的框图。

图3示出对象识别训练设备的示例。

图4是示出识别对象的方法的示例的流程图。

图5、图6和图7示出对象识别处理的示例。

图8是示出识别对象的处理的示例的流程图。

图9是示出计算设备的示例的框图。

贯穿附图和具体实施例方式,除非另有描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可能不按比例绘制,并且为了清楚、说明和方便,可夸大附图中的元件的相对尺寸、比例和描绘。

具体实施方式

提供以下具体实施方式以帮助读者获得在此描述的方法、设备、和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备、和/或系统的各种改变、修改、和等同物将是显而易见的。例如,在此描述的操作的次序仅是示例,操作的次序不限于在此阐述的那些次序,而是在理解本申请的公开之后,除了必须以特定顺序发生的操作之外,操作的次序可如将是显而易见的那样被改变。此外,为了更加清楚和简明,可省略已知的特征的描述。

在此描述的特征可以以不同形式实现,并且将不被解释为限于在此描述的示例。相反,提供在此描述的示例仅为了示出实现在此描述的在理解本申请的公开之后将是显而易见的方法、设备、和/或系统的许多可能的方式中的一些。

以下结构性或功能性的描述是仅用于描述示例的示例,示例的范围不限于本说明书中提供的描述。

如在此使用的,除非上下文另有清楚地指示,否则单数形式也意在包括复数形式。还应理解,当在本说明书中使用术语“包括”和/或“包含”时,表明存在陈述的特征、整体、操作、元件、组件、或它们的组合,但不排除存在或增加一个或多个其他的特征、整体、操作、元件、组件、和/或它们的组。

除非在此另外定义,否则在此使用的包括技术术语和科学术语的所有术语具有与在理解本申请的公开之后通常理解的含义相同的含义。除非在此另有定义,否则通用词典中定义的术语应被解释为具有与在相关领域中的上下文的含义和本申请的公开匹配的含义,并且将不被解释为理想化或过于形式化的含义。

在下文中,将参照附图详细描述示例,附图中的相同的参考标号始终表示相同的元件。

图1示出模型的示例。

例如,所述模型包括神经网络100。提供基于神经网络100执行对象识别的方法和用于通过执行所述方法基于神经网络100识别对象的设备(在下文中,被称为“对象识别设备”),还提供用于训练神经网络100的方法和设备(在下文中,被称为“对象训练设备”)。在以下描述中,完全的识别操作包括验证和辨识。验证是确定输入数据为真或为假的操作,辨识是确定输入数据指示多个标签中的哪一个的操作。此外,由稍后描述的对象模型执行的识别也可被称为辨识。

神经网络100包括多个层,每个层包括多个节点。此外,神经网络100包括以下连接权重或连接强度:该连接权重或连接强度将包括在多个层之一中的多个节点连接到包括在多个层的另外的层中的节点,或在包括在多个层之一中的多个节点与包括在多个层的另外的层中的节点之间提供相应的加权连接,并且神经网络100还可包括将任何层内的节点与同一层内的其他节点进行连接的连接权重和/或在不同时间将节点连接到它们自身的连接权重。例如,当执行识别和/或验证时,对象识别设备可从存储在存储器中的内部数据库(db)获取各自的一个或多个神经网络100,或者,对象识别设备可经由通信器从外部服务器请求、接收或更新神经网络100并获取神经网络100。神经网络100还可由对象训练设备训练,其中,如下面通过实质计算连接权重和架构调整所解释的那样,对象训练设备生成训练的神经网络100,其中,训练的神经网络100然后可因此存储在这样的内部db或其他存储器中,其中,其他存储器用于从外部服务器到用于在对象识别中使用的对象识别设备的这种提供和用于这样提供对象识别设备。训练还可包括训练神经网络100或用于验证(例如,用于活性检测)另一神经网络100。在一个示例中,对象训练设备和对象识别设备也可以是相同的设备,或者在其他示例中,它们是单独的设备。

作为一个示例,神经网络100可以是专用计算架构识别和/或活性模型,其中,专用计算架构识别和/或活性模型当被实现时,基于神经网络100的一个或多个训练目标执行一系列计算密集型处理。例如,神经网络100通过对象识别设备或对象训练设备的一个或多个处理器实现,其中,一个或多个处理器在获取神经网络100的参数之后,通过硬件或者硬件和软件的组合(例如,通过存储在对象识别设备或对象训练设备的存储器中的指令,其中,当该指令由相应的一个或多个处理器执行时,使一个或多个处理器实现识别和/或活性模型)来实现神经网络100。

如上所述,神经网络100包括多个层。例如,神经网络100包括一个或多个输入层110、多个隐藏层120和一个或多个输出层130。这里,虽然隐藏层120被示出为单个层,但是该示出是出于解释的目的,因此所示的隐藏层120意图表示一个或多个隐藏层。类似地,输入层110和输出层130分别代表一个或多个层。例如,可存在可连接到各自的下面的隐藏层的多个输入层,其中,相应的下面的隐藏层可最终连接到单个隐藏层;可存在可连接到单个隐藏层或分别连接到多个隐藏层的多个输出层。因此,输入层110接收用于执行训练或识别和/或活性的输入,并将输入传送到隐藏层120,然后每个隐藏层120可针对不同的目标被配置,或者隐藏层的数量可在各种架构和期望的效率之后被选择,并且因此每个隐藏层120生成然后输入到下一个隐藏层120的各自的输出。然后,输出层130基于从一个或多个最终隐藏层120接收的信号来生成神经网络100的输出。在训练期间,隐藏层120的参数(例如,连接权重)基于经由输入层110接收的训练数据的训练输入,被反复地调整或改变,直到输出层输出足够准确的值或标签,其中,该值或标签相对更容易预测或对神经网络100的目标有用。类似地,在识别/活性或其他推断操作期间,真实世界图像数据可被提供给输入层110,并且各自的隐藏层均将(例如,通过各自的节点的各自的激活函数)执行各自的计算操作,直到输出层130生成包括可用于指示输入图像数据的识别/活性或其他推断操作的结果的信息的输出。

如上所述,输入层110、隐藏层120、和输出层130中的每个包括多个节点。包括在输入层110中的节点被称为“输入节点”,包括在隐藏层120中的节点被称为“隐藏节点”,包括在输出层130中的节点被称为“输出节点”。如所述,例如,所有或至少隐藏和输出层节点均可应用各自的预定激活函数,这可以赋予神经网络100的实现非线性。

在一个示例中,例如,在输入层110和示例第一或后续的隐藏层120通过各自的连接权重经由边彼此连接的情况下,包括在输入层110中的被选择的节点或所有输入节点连接到包括在示例第一或后续的隐藏层120中的被选择的隐藏节点或每个隐藏节点。这里,输入层110和第一或后续的隐藏层120的这种顺序相关性还可被称为神经网络100的较低深度或层的操作,而后续的隐藏层120之间进一步发生的操作可被称为在神经网络100的中间或较高的深度或层中发生的操作,在输出层130之前的最终隐藏层120处发生的操作可被称为在神经网络100的最高的隐藏深度或层处发生的操作。类似地,即,鉴于识别/活性或其他推断操作期间的神经网络的处理顺序,在比隐藏层之一或一系列隐藏层的更低的深度或层处发生的操作可包括在该一个隐藏层之前或该一系列隐藏层之前的那些隐藏层120中的一个或多个或全部处发生的操作。此外,如上所述,包括在最终或最高的隐藏层120中的隐藏节点和包括在输出层130中的输出节点通过连接权重经由边彼此连接。

包括多个隐藏层的神经网络100可以是深度神经网络(dnn)或包括dnn部分。此外,作为非限制性示例,神经网络100可包括卷积、池化、解卷积、解池化、循环、双向或完全连接的可分别针对不同目标进行训练的一个或多个部分。例如,神经网络100可具有包括可提取针对辨识目标而训练的特征向量或特征图的一个或多个卷积层的较低的隐藏层120,还包括包含另外的卷积和/或完全连接的隐藏层120的后续的隐藏层120或较高的隐藏层120,其中,另外的卷积和/或完全连接的隐藏层120可提取关于针对活性测试目标提取的特征向量或特征图的标签或概率信息的。在另一示例中,第一神经网络100可被配置有几个这样的隐藏层120,其中,这样的隐藏层120包括可分别提取针对辨识目标训练的特征向量或特征图的一个或多个卷积层和/或可提取关于针对识别或辨识目标提取的特征向量或特征图的标签或概率信息的完全连接的隐藏层120,而第二神经网络100可被配置有几个这样的隐藏层120,其中,这样的隐藏层120包括可分别提取针对活性目标的方面训练的特征向量或特征图的一个或多个卷积层和/或可提取关于针对活性目标提取的特征向量或特征图的标签或概率信息的完全连接的隐藏层120。此外,在一个或多个示例中,任何层可包括长短期记忆(lstm)节点。具有多个隐藏层的神经网络的训练被称为“深度学习”。例如,当隐藏层120包括第一隐藏层、第二隐藏层和第三隐藏层时,包括在第一隐藏层中的隐藏节点的输出连接到包括在第二隐藏层中的隐藏节点。此外,如上所述,包括在第二隐藏层中的隐藏节点的输出连接到包括在第三隐藏层中的隐藏节点等。

因此,在一个示例中,对象识别设备经由具有连接权重的边将包括在先前隐藏层中的先前隐藏节点的各自的输出输入到每个后续隐藏层,并基于各自的激活函数和通过将连接权重施加到先前隐藏层的输出而得到的值来生成包括在每个隐藏层中的隐藏节点的输出。在一个示例中,如果激活函数的结果没有超过当前隐藏节点的最小阈值,则该激活函数的结果可无法被发送至更高级别的隐藏节点。在本示例中,在通过输入向量到达预定阈值激活强度之前,节点可无法向下一个节点发送信号,从而可另外保持在非激活状态。在一个示例中,如果不满足阈值,则可替代性地反映填充值或零值,而不是将结果发送到下一节点,或者可仅不执行会针对用于提供给各自的较高的隐藏层节点的该结果执行的相应的连接权重的相应示例乘法运算。

对象训练设备可通过监督学习来生成或训练神经网络100。例如,对象训练设备由硬件或软件和硬件的组合(诸如,如上所讨论的通过由对象训练设备的一个或多个处理器执行的指令)实现。监督学习是以下方案:将训练数据的训练输入与对应于训练输入的训练输出一起输入到神经网络,并更新边的连接权重使得与训练输出对应的输出数据例如基于训练输入的已知标签或方面被准确地输出。例如,训练数据可以是包括一对训练输入和已知或期望的训练输出的各自的数据。虽然基于图1中的节点示出神经网络100的结构,但是示例不限于此。例如,各种数据结构可用于将神经网络100存储在对象训练设备和/或对象识别设备的存储装置或存储器中。各种数据结构可包括存储有得到的训练参数(例如,包括得到的训练连接权重)的向量、矩阵、卷或者其他单维或多维数据结构。

在训练中,对象训练设备基于向后传播到暂时性神经网络的训练数据的误差并基于节点的输出值,通过梯度下降方案来确定包括在暂时性神经网络中的节点的参数。例如,可确定暂时性神经网络的连接权重的初始值,然后利用初始连接权重值对暂时性神经网络执行训练。例如,在训练中,对象训练设备通过各自的误差反向传播学习来调节和更新多个层的各个节点之间的连接权重。误差反向传播学习是以下方案:通过给定的训练数据的正向计算来估计误差,将估计的误差从输出层向后传播到隐藏层和输入层,并更新连接权重以减小误差。与推断操作期间的神经网络100相似,以输入层110、隐藏层120、和输出层130的顺序处理暂时性神经网络,然而,在暂时性神经网络中,以输出层130、隐藏层120、和输入层110的顺序来更新误差反向传播学习中的连接权重。例如,至少一个处理器使用被配置为存储层或计算数据的缓冲存储器来以期望的顺序处理暂时性神经网络。

对象训练设备定义用于测量暂时性神经网络的当前设置的连接权重与最优值接近的程度的目标函数,持续基于目标函数的结果调节或改变连接权重,并重复执行暂时性神经网络的训练。例如,目标函数是用于计算要输出的期望值和暂时性神经网络中的基于训练数据的训练输入的实际输出值之间的损失的损失函数。对象训练设备通过减小损失函数的值来更新连接权重。这里,虽然已经针对这样的暂时性神经网络讨论了图1的这些训练操作,但是将从神经网络100的训练的角度来讨论由对象训练设备示例进行的这样的训练的以下讨论。例如,以下神经网络的这样的训练或用于神经网络100的这样的训练表示:直到确定最终暂时性神经网络已被训练到足够的准确度或足够的最小误差,以确定停止训练并确定将最终暂时性神经网络存储为训练的神经网络100为止,从调整或改变暂时性神经网络的参数的每次迭代得到的这样的一个或多个暂时性神经网络。此外,作为非限制性示例,对于识别或辨识训练,用于相应的神经网络100的训练数据可包括图像数据或图像数据的信息。类似地,作为非限制性示例,对于活性训练,用于相应的神经网络100的训练数据还可以或者也可以是图像数据或从这样的图像数据提取的特征数据。此外,在此关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在至少一个包括或实现这样的特征的示例或实施例,然而所有的示例和实施例不限于此。

图2是示出对象识别设备200的配置的示例的框图。

参照图2,对象识别设备200包括图像获取器210、处理器220以及存储器230。

图像获取器210获取对象图像。例如,图像获取器210包括相机,并通过捕获对象来生成对象图像。例如,对象图像包括对应于与任意对象相关联的捕获到的多个帧的图像。例如,可以以捕获对象的时间顺序生成与多个帧对应的一系列图像。此外,图像获取器210不限于捕获这样的彩色图像,图像获取器210可以可选地或额外地获取深度图像。例如,图像获取器210可表示被配置为捕获颜色图像和深度图像的一个或多个相机,或者表示一个或者多个彩色图像相机和一个或多个深度图像相机。

在本公开中,对象图像是通过捕获对象的至少一部分而获取的图像。例如,对象可以是人,对象图像可以是通过拍摄人的脸部作为对象的至少一部分而获取的图像,然而,示例不限于此。

处理器220从对象图像选择输入图像,并执行输入图像的对象识别。例如,处理器220执行对象识别,以基于对象识别的结果来确定输入图像中出现的对象是否登记在登记db中。处理器220可基于预先训练的对象模型231来识别与来自对象图像的一个帧对应的输入图像。例如,对象模型可与图1的神经网络100模型对应。处理器220通过将图像输入至对象模型231,并通过生成或提取特征数据的对象模型231来提取示例特征数据。然后,处理器220可基于提取的特征数据(诸如,通过比较提取的特征数据与预定的登记信息)来识别图像,。当对象被确定为没有被登记,或者与这样的登记信息没有充分匹配时,处理器220确定对象识别失败。当对象识别成功时(例如,当对象被确定为被登记,或者与这样的登记信息充分匹配时),处理器220执行输入图像的附加验证操作。

附加验证可以是确定捕获到的对象是伪造的或者是用户或人的假的图像(例如,非活的图像)的活性测试操作。例如,附加验证可包括验证图像是否具有证明捕获到的图像的活性的特性的操作。活性指示对象是否为真实的活体。例如,可基于针对对象图像的每个帧确定的活性参数来确定活性。因此,活性参数可指示每个帧是否基于通过有效地捕获真实的用户获取的图像。例如,响应于与任意帧对应的图像通过捕获真实的用户而被获取,活性参数可为“真”;响应于该图像是伪造的或假的,活性参数可为“假”。活性测试操作可由活性模型执行,例如,活性模型可与图1的另一个神经网络100模型对应,或者与包括识别模型的神经网络100的后续部分对应。

当附加验证成功时,处理器220确定对象识别最终成功。例如,如果对象已在对象识别操作中被识别出,则当对象图像被进一步确定为具有真的活性参数,或活性测试成功时,处理器220可完全或最终认可从对象图像识别的对象。因此,在本示例中,全部对象识别可包括两个确定,第一个是在对象识别操作中是否识别出或辨识出对象,第二个是活性测试在附加验证操作中是否成功。

当附加验证失败时,处理器220可例如对下一个捕获到的目标图像或对应于与先前输入图像不同的帧,重复对象识别。在该示例中,根据示例目标图像的验证分析,与针对先前图像执行的以上“全部”对象识别操作相比,处理器220可选择执行简化的对象识别。例如,当先前输入图像的活性的附加验证失败时,处理器220可开始执行目标图像的识别/辨识分析。在该分析期间,处理器220可执行基于在对象模型231的部分内生成的特征或特征信息来比较输入图像和目标图像的验证分析。例如,在以上作为识别模型的示例神经网络100中,较低隐藏层120的节点的结果可产生被设置为提供给或连接到后续或较高隐藏层120的节点的各自的信息或结果。在该验证分析的上下文中,较低隐藏层120还可被称为“局部层(partiallayer)”(例如,被称为表示在执行识别/辨识分析中与整个神经网络操作的部分对应的隐藏层结果)。在一个示例中,局部层的这样的信息或通过局部层的这样的信息可以是特征向量或特征图的形式,但是示例不限于此。因此,如果针对先前输入图像的来自这样的较低隐藏层的这样的结果例如基于预定阈值被确定或验证为与针对输入到相同对象模型的目标图像的相同隐藏层的结果足够相似,则目标图像可被确定或验证为与先前输入图像相似,或者与先前输入图像具有相同的对象。例如,响应于基于这样的比较结果确定或验证输入图像和目标图像指示相同对象,处理器220可跳过或不进一步执行针对目标图像的对象模型的剩余后续隐藏层操作(例如,停止执行识别/辨识分析),并立即执行目标图像的附加验证。作为非限制性示例,在这样跳过确定时,处理器220可将目标图像的识别/辨识的结果确定为与输入图像的识别/辨识结果相同,并立即将目标图像输入到活性测试模型以执行目标图像的附加验证。作为替代,当正在针对目标图像至少部分地执行识别时,还可同时针对目标图像执行活性测试。在本示例中,如果做出跳过确定,则目标图像的活性测试可继续直到生成活性测试的结果,而如果没有做出跳过确定,则可针对目标图像执行剩余识别隐藏层操作,并且如果识别结果是失败(例如,没有发现与目标图像对应的登记信息),则在完成目标图像的活性测试之前,可使活性测试在完成之前停止。在这样的两个示例中,目标图像的识别操作和活性测试操作可比在没有跳过确定考虑的情况下执行全部识别操作和活性测试操作快得多。因此,在本示例中,当目标图像的验证分析指示目标图像与输入图像包括相同的对象时,可立即批准识别或辨识,并且当确定目标图像的附加验证成功时,处理器220可最终识别目标图像中的对象。

如上所述,局部层输出或产生信息结果,例如,该信息结果可表示与对象模型的相对低级别对应的先前输入图像和目标图像的各自的提取的一个或多个特征,其中,与局部层相比,剩余层或后续层可输出或产生与相对高级别对应的信息特征结果。例如,对于输入到对象模型的图像,在对象模型的相对高级别的结果中表示的特征将是比在对象模型的相对低级别的结果中表示的特征更抽象的特征。

存储器230存储上述对象模型231和活性测试模型。此外,存储器230暂时地或永久地存储对象图像、输入图像、目标图像、上述输入图像和/或目标图像的局部层的输出或结果、对象模型231针对输入图像的输出以及用于各自的对象识别和/或附加验证操作或者在各自的对象识别和/或附加验证操作期间生成或产生的任何其他信息。

图3示出对象识别训练设备的示例。

参照图3,训练设备300训练在对象识别设备中使用的对象模型321。训练设备300包括处理器310和存储器320。

处理器310基于训练数据322来训练对象模型321。训练数据322包括一对训练输入和训练输出。例如,训练输入是训练图像。例如,训练输出是为任意训练图像提供的对象标签。对象标签是指示训练图像中的对象的标签,并包括例如用户的身份(id)。

处理器310训练对象模型321使得对象模型321响应于特定的训练输入来输出特定的训练输出或已知的训练输出。例如,在对象模型321的训练期间,处理器310将训练输出与基于对象模型321从训练输入计算的输出之间的损失最小化。处理器310更新对象模型321的参数,以将训练输出与从训练输入计算的输出之间的损失最小化,来训练对象模型321。例如,处理器310可执行与以上图1的神经网络100的训练的讨论对应的对象模型的训练。此外,或可选地,处理器310可执行与以上图1的神经网络100的训练的讨论对应的活性测试模型的训练。

图4是示出识别对象的方法的示例的流程图。

对象识别设备基于对象模型来识别输入图像。与上面类似,对象模型可对应于图1的神经网络100和/或图2和/或图3的各自的对象模型,注意示例不限于此。此外,以上关于输入图像的识别的这样相应的描述也适用于图4的操作。对象识别设备使用对象模型从输入图像提取参考输出数据。响应于确定例如存储在存储器320的登记db中的预定登记数据与参考输出数据匹配,对象识别设备确定输入图像被辨识出。当输入图像因而被辨识出或被识别出时,对象识别设备执行输入图像的附加验证。例如,对象识别设备确定输入图像是否具有活性,或者输入图像是否通过活性测试。如果这样的活性测试失败,则,例如,对象识别设备基于参考中间数据来确定由后续的目标图像指示的对象与由输入图像指示的对象是否相同,或确定基于预定阈值由后续的目标图像指示的对象与由输入图像指示的对象是否足够相似。

因此,当被识别出的对象的附加验证针对输入到对象模型的先前图像而失败时,对象识别设备可对后续的目标图像执行简化的对象的识别。例如,参照图4,在操作410中,响应于在使用被输入输入图像的对象模型的输入图像的对象识别的成功之后的输入图像的附加验证或活性测试的失败,对象识别设备基于根据对象模型的局部层从输入图像提取的参考中间数据,来验证后续的目标图像(例如,与不同于输入图像的帧对应的后续的目标图像)。

在操作420中,响应于目标图像被验证,然后对象识别设备执行目标图像的附加验证(例如,活性测试)。例如,对象识别设备确定目标图像是否具有指示包括在目标图像中的对象是否为真实的活体的活性。

对象识别设备基于目标图像的活性测试来确定目标图像的活性分数。例如,当目标图像变得与通过捕获真实的用户获取的有效图像更相似时,活性分数可增加。类似地,当目标图像变得与有效图像更不相似时,活性分数可降低。为了防止假的图像中的预定的帧被错误地确定为具有活性,基于至少一个先前帧来确定当前帧的活性分数。例如,基于根据第k帧的活性测试获取的第一活性分数和针对与先前帧对应的输入图像确定的第二活性分数的总和,来确定目标图像的活性分数。在本示例中,k是整数,输入图像与第(k-1)帧对应。因此,在一个示例中,对目标图像执行的活性测试可基于目标图像和输入图像和/或进一步基于在输入图像的活性测试中生成的活性分数,来生成目标图像的活性分数。

对象识别设备通过比较确定的目标图像的活性分数和目标图像的活性阈值来确定活性参数。例如,当目标图像的活性分数大于或等于活性阈值时,对象识别设备基于目标图像是否具有活性来确定目标图像的活性参数。

对象识别设备基于第k帧的分析结果,来调节第k帧的活性阈值。例如,当第k帧的脸部区域的大小超出适当的范围时,对象识别设备将第k帧的活性阈值确定为高。

此外,对象识别设备可基于诸如以上关于图1讨论的单独的活性模型来计算目标图像的活性分数。因此,以上关于图1的神经网络100的讨论还适用于活性模型。例如,活性模型可以是来自对象模型的对象识别部分的对象模型的另一神经网络的部分或另一神经网络100,并可被训练为响应于训练图像的输入来输出训练标签。例如,训练标签是指示训练图像是否具有活性的值。响应于活性分数超过活性阈值,对象识别设备确定目标图像通过活性测试或具有活性(例如,是活的图像)。

图5、图6、和图7示出对象识别处理的示例。

图5示出对象识别处理的示例。

对象识别设备获取包括多个帧的对象图像。参照图5,对象识别设备通过初级对象识别510从输入图像识别对象。当初级对象识别510成功时,对象识别设备执行输入图像的附加验证520。

例如,在操作511中,对象识别设备可从来自对象图像的多个帧中的一个选择输入图像。例如,对象识别设备可在多个帧中选择与具有预定区域的帧对应的图像作为输入图像,其中,对象的至少一部分(例如,脸部)与预定的区域适当地相符。输入图像的选择还可包括图像处理(诸如、面部检测、尺寸调整、裁剪等)。

对象识别设备执行输入图像的对象识别512。当对象识别512失败时,对象识别设备可在操作550中立即或最终确定识别失败。

当对象识别512成功时,然后对象识别设备可执行附加验证520。例如,对象识别设备通过附加验证520来确定输入图像是否具有活性。例如,作为非限制性示例,附加验证520可包括将输入图像提供给活性模型或提供在初级对象识别510中使用的对象模型的中间或局部结果。当输入图像被确定为具有活性时,对象识别设备可在操作560中立即或最终确定识别成功。

当附加验证520失败时,对象识别设备通过次级对象识别530来验证目标图像。

例如,在操作531中,对象识别设备从对象图像的多个帧的中的另一帧选择目标图像。因此,对象识别设备选择与不同于与输入图像对应的帧的帧对应的图像作为目标图像。例如,对象识别设备从对象图像选择与输入图像对应的帧之后的帧作为目标图像。

对象识别设备开始执行目标图像的对象识别532。例如,在执行对象识别532期间,对象识别设备基于对象模型的一个或多个局部层533从目标图像提取目标中间数据。在初级对象识别510期间,对象识别设备基于目标中间数据与从输入图像提取的参考中间数据之间的比较来验证目标图像。响应于目标中间数据被确定为与参考中间数据匹配,对象识别设备立即确定目标图像被验证。例如,当目标中间数据与参考中间数据匹配时,对象识别设备确定目标图像与输入图像之间存在连续性。

如上所述,在本公开中,参考中间数据是基于一个或多个局部层533根据输入图像的初级对象识别510提取的特征数据。此外,目标中间数据是基于一个或多个局部层533根据目标图像的次级对象识别530提取的特征数据。特征数据是通过对图像进行抽象而获取的数据,并包括作为非限制性示例的例如特征向量或特征图形式的数据。因此,多个图像之间的推断的连续性可指示多个图像基于一系列的帧彼此相关联。例如,多个连续的图像包括相同的对象。

例如,用在初级对象识别510和次级对象识别530中的对象模型包括“n”层,局部层可以是第m层,对象模型的剩余层可包括第(m+1)层到第n层。在本示例中,“n”是大于或等于“2”的整数,“m”是大于“0”且小于“n”的整数。对象识别设备将目标中间数据与参考中间数据进行比较,其中,在次级对象识别530中基于对象模型的“n”层中的第m层从目标图像提取目标中间数据,在初级对象识别510中基于对象模型的第m层从输入图像提取参考中间数据。此外,存在具有各种“m”值的示例。此外,对象识别设备可基于确定的对象图像的属性信息(例如,确定的像素的数量或确定的平均亮度)来动态地设置或改变“m”,以确定哪个局部层m用于提取参考中间数据和目标中间数据。

当基于局部层533的目标图像的验证失败时(即,当目标中间数据与参考中间数据的比较指示两个数据不够相似或不相同时),对象识别设备基于一个或多个剩余层534来继续执行目标图像的辨识。例如,对象识别设备通过将从局部层533输出的目标中间数据传播到对象模型的下面的层(即,一个或多个剩余层534),来生成目标输出数据。当然后确定存在与目标输出数据匹配的登记数据时,对象识别设备确定目标图像被辨识出。在本示例中,当验证失败时,因而最终与初级对象识别510类似地执行全部识别或辨识操作初级。相反,当目标图像的验证成功时,可不执行这样的基于登记的识别操作来辨识目标图像。

在本公开中,作为示例,目标输出数据是可以最终从目标图像计算的对象模型的输出数据,参考输出数据可以是最终从输入图像计算的对象模型的输出数据。

当基于一个或多个剩余层534的目标图像的辨识失败时,对象识别设备可在操作550中立即(例如,在不执行附加验证540的情况下)并最终确定整体的识别失败。在一个示例中,对象识别设备可以可选地获取新的对象图像,并对新的对象图像重新执行识别,例如,可对新的对象图像执行初级对象识别510。

在基于局部层533的目标图像的验证成功时,或在基于一个或多个剩余层534的目标图像的辨识成功时,对象识别设备可随后执行目标图像的附加验证540。例如,作为非限制性示例,可将目标图像提供给活性测试模型,或者可将用在次级对象识别530中的对象模型的中间结果或部分结果提供给活性测试模型。

当附加验证540成功时,对象识别设备可在操作560中立即并最终确定识别成功。当附加验证540失败时,对象识别设备在操作531中从对象图像选择新的目标图像,对象识别设备次级对新的目标图像重新执行次级对象识别530并根据重新执行的次级对象识别530的结果对新的目标图像重新执行附加验证540。

因此,附加验证520的失败指示输入图像是假的图像的可能性。鉴于这样的可能性,当附加验证520失败时,对象识别设备通过次级对象识别530和附加验证540来辨识和验证目标图像。然而,目标识别设备可比较从目标图像提取的目标中间数据与从输入图像提取的参考中间数据,以选择性地执行简化的识别,不是必须实现针对目标图像的整个对象模型和附加验证,来减小用于辨识目标图像的时间量。

当目标图像被确定为具有活性(例如,附加验证540是成功的)时,对象识别设备确定输入图像也具有活性,因为目标图像和输入图像是已经分别从一系列的对象图像被选择,并且已经被确定为彼此相关联。因此,虽然附加验证520的失败指示捕获到的伪造物的可能性,但是对象识别设备针对辨识的目标图像重新执行附加验证,以更加保证对象图像的识别的准确性。

为了描述方便,初级对象识别510和次级对象识别530被独立地示出,然而,对象识别设备可使用相同的对象模型来顺序地执行初级对象识别510和次级对象识别530。例如,当终止使用对象模型的初级对象识别510时,对象识别设备使用相同的对象模型作为对象模型来执行次级对象识别530。

然而,示例不限于此。例如,对象识别设备可通过将输入图像输入到第一对象模型来执行初级对象识别510,并通过将目标图像输入到第二对象模型来同时执行次级对象识别530,或者同时执行附加验证420和次级对象识别530。第二对象模型与第一对象模型具有机器学习模型的相同参数和相同结构。在本示例中,对象识别设备基于第一对象模型的局部层从输入图像提取参考中间数据。当参考中间数据被提取时,对象识别设备基于第二对象模型的相同的局部层从目标图像提取目标中间数据,并在完成第二对象模型之前对参考中间数据和目标中间数据进行比较,以确定目标图像和输入图像关于捕获到的对象是否足够相似,其中,如果目标图像和输入图像被确定为关于捕获到的对象足够相似,则可在全部完成第二对象模型之前停止第二对象模型的操作,使针对目标图像的活性测试能够比如果已经执行全部第二对象模型被实现得早得多。

图6示出初级对象识别510的示例。

参照图6,在操作620中,对象识别设备基于包括局部层621和一个或多个剩余层622的对象模型从输入图像计算参考输出数据。例如,局部层可以是紧连在相应的神经网络的示例输入层之后的单个层或者两个或更多个层,或者是在这样的示例输入层之后的其他隐藏层之后的单个层或者两个或更多个层。分别来自局部层的参考中间数据和目标中间数据还可包括诸如神经网络示例的局部层的所有节点的结果或激活结果,或者少于所有节点的结果或激活结果的结果。例如,对象识别设备将与输入图像对应的数据从局部层621传播到对象模型的下面的层(即,一个或多个剩余层622),以最终计算参考输出数据。在本示例中,对象识别设备存储基于局部层621从输入图像提取的参考中间数据。例如,如上所述,参考中间数据可以是作为局部层621的节点的结果或激活结果的全部或选择集合的特征向量或特征图。

在本公开中,局部层621包括至少一个层,剩余层622也包括至少一个层。每个层包括多个节点,一个层的节点经由具有连接权重的边与另外层的节点连接。对象识别设备经由边来传播被输入到每个层的节点的数据。因此,类似于活性模型,以上关于图1的神经网络100的讨论也适用于对象模型。

在操作640中,对象识别设备确定基于对象模型从输入图像提取的参考输出数据与登记数据是否匹配。当存在与参考输出数据匹配的登记数据时,对象识别设备确定输入图像被辨识出。例如,对象识别设备确定输入图像指示与登记数据对应的对象。

对象识别设备计算参考输出数据与登记数据之间的匹配分数。响应于匹配分数超过输出阈值,对象识别设备确定输入图像的对象与登记数据的对象相同。在一个示例中,中间的或相应的相似度阈值还可被设置为大于输出阈值,因为与中间层对应的输出之间的比较可期望更高的准确度。

图7示出次级对象识别530的示例。

参照图7,在目标图像的对象识别532中,对象识别设备基于对象模型的局部层533从目标图像提取目标中间数据。例如,如上所述,目标中间数据可以是作为局部层533的节点的结果或激活结果的全部或选择集合的特征向量或特征图。

在操作730中,对象识别设备确定目标图像与先前帧是否匹配。这里,对象识别设备确定目标图像与输入图像(例如,先前帧)是否匹配。例如,对象识别设备确定基于局部层533从目标图像提取目标中间数据与参考中间数据是否匹配。例如,目标图像和输入图像可分别与第k帧和第(k-1)帧对应。

响应于目标图像被验证为确定的目标图像与先前帧匹配的结果,对象识别设备执行目标图像的附加验证540。例如,当目标图像与输入图像匹配时,对象识别设备执行目标图像的附加验证540。

当确定指示目标图像与输入图像不匹配时,对象识别设备基于一个或多个剩余层534来执行对象识别532。例如,对象识别设备通过将从局部层533输出的目标中间数据传播到对象模型的下面的层(即,一个或多个剩余层534),来计算目标输出数据。

在操作740中,对象识别设备确定目标图像与登记db是否匹配。对象识别设备确定目标图像是否与存储在登记db中的至少一个登记图像匹配。例如,对象识别设备确定目标输出数据与登记数据是否匹配。

当目标图像与登记图像匹配时,对象识别设备然后执行目标图像的附加验证540。

然而,当目标图像与登记图像不匹配时,在操作550中,对象识别设备最终确定识别失败。在另一个示例中,然后,对象识别设备可获取新的对象图像并对新的输入图像和潜在的另外的目标图像再次执行对象识别。

图8是示出识别对象的处理的示例的流程图。

参照图8,在操作810中,对象识别设备获取包括连续的帧的对象图像。作为非限制性示例,对象图像可以是连续地顺序捕获的一组图像或视频。

在操作811中,对象识别设备选择当前帧图像作为输入图像。例如,对象识别设备可选择对象图像的任何一个帧作为当前帧。

在操作820中,对象识别设备使用对象模型来执行输入图像的对象识别。在操作821中,对象识别设备存储关于输入图像的对象模型的局部层的输出。例如,基于局部层的来自输入图像的输出是参考中间数据。在操作822中,对象识别设备针对输入图像计算对象模型的输出。例如,基于对象模型的来自输入图像的输出是参考输出数据。在操作823中,对象识别设备确定基于对象模型的来自输入图像的输出与存储在登记db中的登记数据是否匹配。

例如,当从输入图像提取的参考输出数据不与存储在登记db中的登记数据匹配时,对象识别设备确定对象识别失败。在一个示例中,响应于使用对象模型的与包括在对象图像中的多个帧中的任意一个对应的输入图像的识别的失败,对象识别设备可获取或捕获新的对象图像(例如,包括连续帧的新的对象图像)。

在操作824中,对象识别设备执行输入图像的活性测试。例如,对象识别设备可将输入图像输入至活性模型,并使用活性模型来确定输入图像是否具有活性,以确定输入图像是否为假的图像。

当活性测试成功时,在操作860中,对象识别设备确定输入图像的整体识别(例如,基于登记的识别和活性确定)成功。

当活性测试在对象识别的成功之后失败时,在操作812中,对象识别设备从对象图像选择另一或下一帧图像作为目标图像。例如,对象识别设备可将与对应于输入图像的帧紧随着的帧对应的图像确定为目标图像。

在操作830中,对象识别设备使用对象模型执行目标图像的对象识别。在操作831中,对象识别设备针对目标图像计算对象模型的局部层的输出。例如,基于局部层的来自目标图像的输出是目标中间数据。

在操作840中,对象识别设备确定输入图像的局部层中间输出与目标图像的局部层中间输出是否匹配。例如,对象识别设备确定目标中间数据与参考中间数据是否彼此匹配。对象识别设备计算目标中间数据与参考中间数据之间的匹配分数。作为非限制性示例,这样的匹配分数可基于目标中间数据与参考中间数据之间的确定的欧几里德(euclidean)距离,诸如,作为非限制性示例,目标中间数据和参考中间数据中的每个由特征向量表示或者特征图表示。响应于匹配分数超过中间阈值,对象识别设备确定目标图像与输入图像包括相同的对象。可根据设计不同地设置中间阈值。

在操作832中,对象识别设备可针对目标图像选择性地计算对象模型的一个或多个剩余层的输出。例如,当基于参考中间数据的验证失败时,对象识别设备可选择使用对象模型的所有层来执行全部的基于登记的识别,以从目标图像计算目标输出数据。在本示例中,对象识别设备将目标中间数据传播到对象模型的下面的层(即,一个或多个剩余层),并基于对象模型的最终输出来计算目标输出数据。

在操作833中,对象识别设备确定与目标图像相关联的输出与登记数据是否匹配。例如,对象识别设备检索与目标输出数据匹配的登记数据。当登记db中存在与计算的目标输出数据匹配的登记数据时,对象识别设备确定目标图像被辨识出。

当目标图像的对象识别成功时,在操作850中,对象识别设备执行目标图像的活性测试。在一个示例中,当在操作840中从目标图像提取的目标中间数据与从输入图像提取的参考中间数据匹配时,对象识别设备立即执行目标图像的活性测试。相反,在目标中间数据与参考中间数据不匹配的情况下,当在操作833中确定存在与从目标图像提取的目标输出数据匹配的登记数据时,然后,对象识别设备执行目标图像的活性测试。

例如,对象识别设备计算目标图像的活性分数,并确定计算的活性分数是否超过活性阈值。响应于活性分数超过活性阈值,对象识别设备确定目标图像具有活性。

当在操作833中确定目标图像没有被登记时,对象识别设备可立即并最终确定识别失败。在一个示例中,对象识别设备可选择性地获取新的对象图像并重复在操作810中开始的处理。例如,当登记db中不存在与计算的目标输出数据匹配的登记数据时,对象识别设备获取新的对象图像。例如,在不执行另一次重复并且确定识别不可用之前,关于新的对象图像的这样的重复可被执行设定的次数。

相反,当在操作850中目标图像的活性测试失败时,对象识别设备可执行与对象图像的另一个帧对应(即,除了输入图像和目标图像之外)的图像的对象识别。例如,当目标图像的活性测试失败时,对象识别设备将当前帧图像改变为下一个帧图像,并选择下一个帧图像作为新的目标图像。在本示例中,当目标图像的附加验证失败时,对象识别设备基于局部层从该下一个目标图像重新提取目标中间数据。在本示例中,对象识别设备基于新的目标中间数据和参考中间数据来验证该下一个目标图像。

在操作860中,响应于对象图像的识别和任意附加验证被确定有效,对象识别设备可最终确定识别成功。例如,当输入图像被辨识为登记在登记db中并且还被确定为具有活性时,对象识别设备最终确定输入图像的全部识别成功。此外,当确定目标图像与输入图像匹配,并具有活性时,对象识别设备最终确定目标图像的识别成功。

对象识别设备可因此基于同一对象模型或具有相同的训练参数的各自的对象模型,来执行上述操作820、操作821、操作822、操作823、操作830、操作831、操作832、以及操作833。

例如,如果第一辨识是有效的,但是相应的附加识别是无效的,则对象识别设备可通过目标图像的后续简化的识别操作再次尝试识别相应的对象图像,其中,该识别操作基于第一辨识的成功使用对象模型的局部层,来减少用于辨识目标图像的时间量。例如,通过依赖第一辨识的成功,可执行目标的简化识别,而无需执行将会通常另外地执行的登记信息比较,这可以大幅减少用于识别和验证对象图像的总体时间量。

如上所述,在目标中间数据与参考中间数据的比较中,对象识别设备将输入图像的提取的较低等级特征与从对象模型的局部层提取的目标图像的较低等级特征进行比较,根据比较的结果从而确定输入图像中的对象与目标图像中的对象是否彼此足够相同。当输入图像和目标图像被验证为彼此足够相同时,然后,对象识别设备可立即执行目标图像的活性的附加验证,例如,而不是必须完成目标图像的对象模型的剩余层的剩余计算。因此,虽然输入图像的活性可最初被确定为失败,但是此后对象识别设备可基于确定的目标图像的有效活性来将输入图像的活性确定为有效的,并因此最终确定相应的对象图像的预先辨识的用户被识别出。然后,对象识别设备可诸如通过对对象识别设备进行解锁或授权对象识别设备的其他操作(诸如,支付授权),来允许用户访问对象识别设备的进一步功能。

图9是示出计算设备的示例的框图。

计算设备900通过获得输入图像(例如,在其中表现用户的面部的输入图像)来执行识别处理,并执行用于识别用户的输入图像的基于登记的辨识和活性确定。作为非限制性示例,计算设备900可与图2的对象识别设备200、图3的对象识别训练设备300、以及在此讨论的另外的设备对应。

计算设备900包括处理器910、存储器920、相机930、存储装置940、输入装置950、输出装置960和网络接口970。如上所述,在一个示例中,处理器910、存储器920和相机930可分别与图2的处理器220、存储器230和图像传感器210对应和/或与图3的处理器320和存储器330对应。处理器910、存储器920、相机930、存储装置940、输入装置950、输出装置960和网络接口970通过通信总线980彼此通信。

处理器910可实现如在此描述的计算设备900中的功能和指令。例如,如以上针对图1到图8所讨论的那样,处理器910可执行存储在存储器920和/或存储装置940中的指令。因此,处理器910可被配置为执行参考图1到图8描述的一个或多个或所有处理、阶段或操作。此外,处理器910被配置为控制计算设备900的其他功能。例如,计算设备900可以是移动设备(诸如,移动电话、平板电脑或个人计算机),因此处理器910还被配置为控制或实现计算设备900的其他典型功能。在一个示例中,处理器910可被配置为明确地或隐含地实现对象图像的识别的最终成功的指示。这样的隐含指示可包括选择性地控制锁定操作,以仅在例如通过输入图像或后续目标图像,选择性地使用简化的识别操作的用户的捕获的脸部图像的成功辨识和活性确定时,允许用户访问或实现这样的其他典型功能。如所述,例如,计算设备900可包括各种电子系统(作为非限制示例,例如,移动装置(诸如,移动电话、智能电话、个人数字助理(pda)、平板电脑或膝上型计算机),计算装置(诸如,pc、上网本计算机),或者电子产品(诸如,tv、智能tv或用于门控制的安全设备))。

存储器920是存储要用于识别和活性确定的信息的非暂时性计算机可读介质或设备。存储器920还可包括登记db,其中,登记db存储在输入图像的识别操作期间考虑的登记数据和在当输入图像的活性确定失败时考虑后续目标图像期间选择性地考虑的登记数据。存储器920包括计算机可读存储介质或计算机可读存储装置。此外,存储器920还表示多种这样类型的存储器。存储器920可存储将由处理器910实现或执行的示例指令,并存储在软件和应用程序由计算装置900执行期间生成或依赖的相关信息。

相机930捕获静止图像、视频或两者。处理器910可控制相机930捕获对象图像(仅作为示例,例如,包括例如通过成功的辨识和活性确定来尝试相应的认证的用户的面部区域、指纹图像、眼睛或虹膜图像、和/或血管图像的对象图像),或者可控制相机930例如在没有用户启动的情况下自动捕获图像并自动辨识和执行用户的活性确定。另外,如上所述,相机930还可在计算装置900的其他功能期间(诸如,当作为个人相机操作时)由处理器910控制。

存储装置940包括非暂时性计算机可读存储介质或计算机可读存储装置。存储装置940还可或可选地存储登记数据库。在一个示例中,存储装置940比存储器920存储更大量的信息,并且在很长一段时间内存储信息。例如,存储装置940可包括例如磁性硬盘、光盘、闪存、软盘和在本公开所属的技术领域中是公知的其他形式的非易失性存储器。存储装置940或存储器920中的任一个可存储对象模型和/或活性测试模型。

输入装置950通过触觉、视频、音频或触摸输入接收来自用户的输入。例如,输入装置950可包括键盘、鼠标、触摸屏、麦克风和被配置为检测来自用户的输入并将检测到的输入传送到计算设备900的其他装置。

输出装置960通过视觉、听觉或触觉通道向用户提供计算设备900的输出。例如,输出装置960包括:显示器、触摸屏、扬声器、振动发生器和被配置为向用户提供输出(诸如,指示成功识别的结果,包括识别和活性确定,或提供额外的视觉和/或听觉服务或指示识别的成功的信息)的其他装置。

网络接口970通过有线或无线网络与外部装置通信。例如,通过处理器910在例如通过成功辨识和活性测试确定的用户的完全识别时的控制,网络接口970可向外部终端发送支付授权(诸如,由近场收发器发送的适当的移动支付指令)。另外,例如,处理器910可控制网络接口970例行检查用于对象和/或活性测试模型、或者相应的神经网络的更新,并请求和接收存储器920或存储装置940中的参数或参数的系数和将参数或参数的系数存储在存储器920或存储装置940中。

对象识别设备200、图像获取器210、处理器220、存储器230、对象识别训练设备300、处理器320、存储器330、计算装置900、处理器910、存储器920、相机930、存储装置940、输入装置950、输出装置960、网络接口970和总线980以及在此针对图1到图9描述的其他设备、装置和其他组件可由硬件组件实现。可用于执行本申请中描述的操作的硬件组件的示例适当地包括:控制器、传感器、产生器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行本申请中描述的操作的任意其他电子组件。在另一个示例中,执行本申请中描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可由一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以获得期望的结果的任意其他装置或装置的组合)实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)来执行本申请中描述的操作。硬件组件还可响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简单起见,单数术语“处理器”或“计算机”可用于本申请中描述的示例的描述中,但在其他示例中,多个处理器或计算机可被使用,或者一个处理器或计算机可包括多个处理元件或多种类型的处理元件,或者两者。例如,单个硬件组件或者两个或更多个硬件组件可由单个处理器、或者两个或更多个处理器、或者一个处理器和一个控制器实现。一个或多个硬件组件可由一个或多个处理器、或者一个处理器或一个控制器实现,一个或多个其他硬件组件可由一个或多个其他处理器、或者另外的处理器和另外的控制器实现。一个或多个处理器、或者一个处理器和一个控制器可实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任意一个或多个,其中,一个或多个不同的处理配置的示例包括:单处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理、多指令多数据(mimd)多处理。

图1至图9中示出的执行本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)执行,其中,该计算硬件被实现为如以上描述的执行指令或软件,以执行通过所述方法执行的本申请中描述的操作。例如,单个操作或者两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者一个处理器和一个控制器执行。一个或多个操作可由一个或多个处理器、或者一个处理器和一个控制器执行,一个或多个其他操作可由一个或多个其他处理器、或者另外的处理器和另外的控制器执行。一个或多个处理器、或者一个处理器和一个控制器可执行单个操作、或者两个或更多个操作。

用于控制计算硬件(例如,一个或多个处理器或者计算机)来实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任意组合,以单独或共同地指示或配置一个或多个处理器或者计算机作为机器或专用计算机进行操作,来执行由硬件组件执行的操作和如上所述的方法。在一个示例中,指令或软件包括由一个或多个处理器或者计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一个示例中,指令或软件包括由一个或多个处理器或者计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及说明书中相应的描述使用任意编程语言来编写指令或软件,其中,附图中示出的框图和流程图以及说明书中相应的描述公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。

用于控制计算硬件(例如,一个或多个处理器或者计算机)以实现硬件组件并执行如上所述的方法的指令或软件、以及任意相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储、硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、卡式存储器(诸如,多媒体卡或微型卡(例如,安全数字(sd)或极限数字(xd)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任意其他装置,其中,该任意其他装置被配置为以非暂时性的方式存储指令或软件以及任意相关联的数据、数据文件和数据结构,并向一个或多个处理器或者计算机提供指令或软件以及任意相关联的数据、数据文件和数据结构,使得一个或多个处理器或者计算机可执行指令。在一个示例中,指令或软件以及任意相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器以分布的方式存储、访问和执行指令或软件以及任意相关联的数据、数据文件和数据结构。

尽管本公开包括特定的示例,但是在理解本申请的公开之后将显而易见的是,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中做出形式上和细节上的各种改变。在此描述的示例将被认为仅是描述性意义,而不是为了限制的目的。在每个示例中的特征或方面的描述将被认为适用于其他示例中的相似的特征或方面。如果描述的技术以不同的顺序执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式结合,和/或由其他的组件或它们的等同物代替或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求和它们的等同物限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为包括在本公开中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1