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

文档序号:14609859发布日期:2018-06-05 20:36阅读:146来源:国知局
用于识别对象的方法和设备与流程

技术领域

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



背景技术:

为了解决未知问题,正在开展对将方法(采用与人类识别的相似之处的方法)应用到装置的研究。例如,正在开展对涉及对生物人类神经细胞进行建模的神经网络的方法的研究。神经网络可使用算法的选择,其中,所述算法可具有表现为与人类学习能力相似的突现行为。神经网络通过学习执行输入模式与每个输出模式之间的映射。此外,基于先前学习的结果,神经网络可具有用于基于未用于学习的输入模式产生相对正确或足够好的近似输出的泛化能力。



技术实现要素:

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

在一个总体方面,一种识别对象的方法包括:驱使处理器以:将输入图像施加到包括多个层的特征提取器;基于由包括在特征提取器中的第一层输出的输入图像的多个第一特征向量和由包括在特征提取器中的第二层输出的输入图像的多个第二特征向量,确定第三特征向量;基于第三特征向量,识别输入图像中的对象。

确定第三特征向量的步骤可包括:通过针对所述多个第一特征向量和所述多个第二特征向量中的每个执行池化操作,确定第三特征向量。

确定第三特征向量的步骤可包括:通过对应于基于第一层的核函数的卷积操作的结果针对所述多个第一特征向量中的每个第一特征向量执行池化操作,来获得第一池化向量;通过对应于基于第二层的核函数的卷积操作的结果针对所述多个第二特征向量中的每个第二特征向量执行池化操作,来获得第二池化向量;基于第一池化向量和第二池化向量,确定第三特征向量。

确定第三特征向量的步骤还可包括:减轻第一池化向量和第二池化向量。可基于主成分分析(PCA)来减轻第一池化向量和第二池化向量。

获得第一池化向量的步骤可包括:通过基于所述多个第一特征向量和用于使与目标种类对应的对象通过的掩膜向量执行预定池化操作,来获得第一池化向量。所述方法还可包括:将输入图像施加到对象分离器;获得指示包括在输入图像中的至少一个对象的种类的掩膜图像;基于掩膜图像和所述多个第一特征向量中的每个第一特征向量的大小,获得掩膜向量。

获得第一池化向量的步骤可包括:通过基于所述多个第一特征向量和用于使对象的每个目标部分通过的多个掩膜向量执行预定池化操作,来获得第一池化向量。

确定第三特征向量的步骤可包括:基于在所述多个第一特征向量中具有基本相同的偏移的对应点,确定列向量和行向量;基于列向量和行向量的乘积,获得多个向量;基于所述多个向量的乘积,确定与第一层相关联的特征向量;基于与第一层相关联的特征向量,确定第三特征向量。

识别对象的步骤可包括:将第三特征向量施加到包括多个层的非线性分类器;基于非线性分类器的输出,识别输入图像中的对象。非线性分类器的输出可指示包括在预定种类中的多个特定种类之中的与输入图像中的对象对应的特定种类。

一种非暂时性计算机可读存储介质可存储当被处理器执行时使得所述处理器执行所述方法的指令。

在另一总体方面,一种对象识别设备包括:处理器;存储器,可操作地连接到所述处理器,所述存储器包括可由所述处理器执行的指令,其中,响应于所述指令被所述处理器执行,所述处理器被配置为:将输入图像施加到包括多个层的特征提取器;基于由包括在特征提取器中的第一层输出的输入图像的多个第一特征向量和由包括在特征提取器中的第二层输出的输入图像的多个第二特征向量,确定第三特征向量;基于第三特征向量,识别输入图像中的对象。

所述处理器还可被配置为:通过针对所述多个第一特征向量和所述多个第二特征向量中的每个执行池化操作,确定第三特征向量。所述处理器还可被配置为:通过针对所述多个第一特征向量中的每个第一特征向量执行池化操作,获得第一池化向量;通过针对所述多个第二特征向量中的每个第二特征向量执行池化操作,获得第二池化向量;基于第一池化向量和第二池化向量,确定第三特征向量。

所述处理器还可被配置为:减轻第一池化向量和第二池化向量,并基于减轻的第一池化向量和第二池化向量确定第三特征向量。所述处理器可被配置为:通过基于所述多个第一特征向量和用于使与目标种类对应的对象通过的掩膜向量执行池化操作,来获得第一池化向量。所述处理器还可被配置为:通过基于所述多个第一特征向量和用于使对象的每个目标部分通过的多个掩膜向量执行池化操作,来获得第一池化向量。

所述处理器还可被配置为:基于在所述多个第一特征向量中具有基本相同的偏移的对应点,确定列向量和行向量;基于列向量和行向量的乘积,获得多个向量;基于所述多个向量的乘积,确定与第一层相关联的特征向量;基于与第一层相关联的特征向量,确定第三特征向量。

所述处理器还可被配置为:将第三特征向量施加到包括多个层的非线性分类器;基于非线性分类器的输出,识别输入图像中的对象。

根据另一总体方面,一种对象识别设备包括:特征提取器,包括神经网络,所述特征提取器被配置为:从输入图像提取特征层,基于由第一层输出的输入图像的多个第一特征向量和由第二层输出的输入图像的多个第二特征向量,确定第三特征向量;分类器,可操作地连接到所述特征提取器,所述分类器被配置为基于第三特征向量识别输入图像中的对象。

所述特征提取器还可被配置为:通过针对所述多个第一特征向量和所述多个第二特征向量中的每个执行池化操作,确定第三特征向量。

所述特征提取器还可被配置为:通过针对所述多个第一特征向量中的每个第一特征向量执行池化操作,获得第一池化向量;通过针对所述多个第二特征向量中的每个第二特征向量执行池化操作,获得第二池化向量;基于第一池化向量和第二池化向量,确定第三特征向量。

所述特征提取器还可被配置为:减轻第一池化向量和第二池化向量,并基于减轻的第一池化向量和第二池化向量确定第三特征向量。

所述特征提取器还可被配置为:通过基于所述多个第一特征向量和用于使与目标种类对应的对象通过的掩膜向量执行池化操作,来获得第一池化向量。

所述处理器还可被配置为:通过基于所述多个第一特征向量和用于使对象的每个目标部分通过的多个掩膜向量执行池化操作,来获得第一池化向量。

通过以下具体实施方式、附图和权利要求,其他特征和方面将是清楚的。

附图说明

图1示出对象识别设备的示例。

图2示出池化操作(pooling operation)的示例。

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

图4示出使用掩膜向量(mask vector)识别对象的处理的示例。

图5示出产生掩膜向量的处理的示例。

图6示出使用掩膜向量识别对象的处理的另一示例。

图7示出产生掩膜向量的处理的另一示例。

图8是示出训练设备的示例的框图。

图9是示出对象识别设备的示例的框图。

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

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

具体实施方式

提供下面具体的描述,以帮助读者获得对这里描述的方法、设备和/或系统的全面的理解。然而,这里描述的方法、设备和/或系统的各种变形、修改和等同物对在获得对本申请的公开的完全理解之后的本领域普通技术人员来说将是清楚的。例如,除了必然以一定顺序发生的操作以外,这里描述的操作的顺序仅仅是示例,并不限于这里阐述的顺序,而是可如对在获得对本申请的公开的这样理解之后的本领域普通技术人员来说清楚的那样来改变。此外,为了更加清楚和简明起见,对本领域普通技术人员众所周知的功能和结构的描述可被省略。

这里描述的特征可以以不同的形式体现,并不将被解释为局限于这里所描述的示例。相反地,提供这里描述的示例,仅用于示出在理解本申请的公开之后将清楚的实现这里描述的方法、设备和/或系统的多种可能的方式中的一些方式。

下面具体的结构和功能描述是示例性的,仅用于描述示例,并且示例的范围不受本说明书中提供的描述限制。

虽然“第一”或“第二”的术语被用于说明各种组件,但是这些组件不受这些术语限制。这些术语应仅被用于区分一个组件与另一组件。例如,在根据本公开的构思的权利范围内,“第一”组件可被称为“第二”组件,或类似地,“第二组件”可被称为“第一组件”。

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

除非这里另有定义,否则这里使用的包括技术术语和科学术语的所有术语具有和本领域普通技术人员普遍理解的含义相同的含义。除非这里另有定义,否则通用字典中定义的术语应该被解释为具有与相关领域中的语境含义匹配的含义,而不将被解释为理想化或过于正式的含义。

以下,下面将参照附图对示例进行详细描述,并且相同的参考标记始终表示相同的元件。

图1示出对象识别设备的示例。参照图1,对象识别设备100包括特征提取器110和分类器120。

对象识别设备100将输入图像施加到特征提取器110,并基于分类器120的输出来识别输入图像中的对象的特定种类。对象识别设备100根据不同的实施例以硬件模型、固件模型、软件模块或它们的组合的形式来提供。

根据一个或多个实施例,特征提取器110和分类器120包括至少一个神经网络。神经网络可被用于深度学习。深度学习是用于解决来自大数据集的图像识别或语音识别的问题的机器学习方案。神经网络包括多层神经网络,其中,多层神经网络包括多个层。在一个或多个实施例中,多层神经网络包括全连接神经网络、卷积神经网络和递归神经网络。特征层基于深度学习的监督学习或非监督学习而从多层神经网络被提取。

特征提取器110包括多个层。多个层从输入图像输出特征向量。根据一个或多个实施例,特征提取器110包括卷积神经网络。在这个示例中,特征提取器110的每个层使用核函数来输出与核函数的数量对应的特征向量。例如,特征提取器110的层通过使用核函数扫描输入图像来执行卷积操作,并输出与卷积操作的结果对应的特征向量。每个核函数的特征和核函数的数量可针对特征提取器110的每个层而不同。

特征向量的大小可基于输入图像的大小、核函数的大小和扫描方法而被确定。在实施例中,扫描方法包括跨度扫描(stride)。特征向量可由特征图表示。可以以特征图重叠的三维(3D)块的形式来表示由层输出的特征向量。例如,响应于特征图的水平长度由x表示,特征图的竖直长度由y表示,并且核函数的数量由z表示,则可在x-y-z空间中表示3D块。

对象识别设备100针对由特征提取器110的层输出的每个特征向量执行预定池化操作。根据一个或多个实施例,预定池化操作是与在卷积神经网络中使用的池化操作(例如,最大池化)相区别的操作。通过执行预定池化操作所产生的特征向量包括用于将特定种类进行分类的信息。对象识别设备100将基于预定池化操作产生的特征向量传送到分类器120。

根据一个或多个实施例,预定池化操作以与包括在特征提取器110中的层对应的方式被执行,并且基于预定池化操作的结果获得的特征向量被施加到分类器120。例如,包括在特征提取器110中的第一层输出第一特征向量,包括在特征提取器110中的第二层输出第二特征向量。对象识别设备100基于针对第一特征向量的预定池化操作和针对第二特征向量的预定池化操作来确定第三特征向量,并将第三特征向量施加到分类器120。

迄今提供的分类器确定输入图像中的对象的类型。例如,分类器确定输入图像中的对象是狗还是猫。在这种情况下,分类器具有用于确定狗的品种的有限能力。分类器120基于特征向量确定包括在预定种类中的多个特定种类中的与输入图像中的对象对应的特定种类。例如,预定种类指示与输入图像中的对象对应的较高(或更抽象、概括,例如,属)类型,特定种类指示与输入图像中的对象对应的较低(更具体,例如,种)类型。

在示例中,响应于预定种类是“鸟”,特定种类可包括鸟的特定品种(例如,“乌信天翁”、“黑脚信天翁”、和“犀牛海雀”)。在另一示例中,响应于预定种类是“花”,特定种类可包括花的特定品种(例如,“玫瑰”、“郁金香”和“向日葵”)。响应于预定种类是“包”,特定种类可包括包的模型或包的类型(例如,“背包”,“手提包”和“挎包”)。

根据一个或多个实施例,分类器120可被提前训练,以确定与输入图像中的对象对应的特定种类。分类器120基于与预定种类相关联的训练数据而被训练。例如,分类器120基于与鸟的各种品种相关联的训练数据而被训练,以将鸟的特定品种进行分类。

非线性关系被建立在将被输入到分类器120的特征向量与指示特定种类的分类器120的输出向量之间。分类器120包括非线性分类器,其中,非线性分类器包括多个层以获得非线性关系的解。例如,分类器120包括全连接神经网络,其中,全连接神经网络包括多个层。

分类器120通过对输入到分类器120的特征向量执行非线性分类,来确定与输入图像中的对象对应的特定种类。例如,分类器120输出指示在与预定数量的特定种类对应的预定数量的输出节点之中与对应于输入图像中的对象的特定种类对应的输出节点。

分类器120的非线性分类根据输入节点的数量、层的数量和输出节点的数量而包含复杂操作。在一些实施例中,深度学习中的层的数量对于获得非线性问题的解是有益的。

对象识别设备100通过在对由特征提取器110输出的特征向量执行预定池化操作之后智能选择、削减或裁剪基于预定池化操作产生的输出向量,来减轻(lighten)输出向量。例如,对象识别设备100基于主成分分析(PCA)来减轻基于预定池化操作产生的输出向量。响应于基于预定池化操作产生的输出向量被减轻,分类器120的输入节点的数量减少,使得分类器可确保用于对特定种类进行非线性分类的合适深度。

图2示出预定池化操作的示例。参照图2,特征提取器210包括多个层。下面对处理由包括在特征提取器210中的多个层之中的第n层输出的特征向量的方法进行说明,但是下面的说明同样可应用于特征提取器210的其他层。

第n层输出特征向量220。虽然图2示出以二维(2D)图的形式表示每个特征向量220,但是也可以以一维向量的形式表示特征向量220。在一个或多个实施例中,特征向量220的数量i对应于用于第n层的核函数的数量。长度w和长度h指示每个示出的2D特征向量220的大小。每个特征向量220的大小基于输入到第n层的图像的大小、核函数的大小和扫描方法而被确定。这里,响应于第n层不是特征提取器210的输入层,输入到第n层的图像的大小可指示由第n-1层输出的特征向量的大小。

根据一个或多个实施例,对象识别设备基于在第一特征向量220中具有基本相同的偏移的对应点来确定列向量230和行向量240。例如,对象识别设备基于在第一特征向量220中具有(0,0)的偏移的对应点225来确定第一列向量235和第一行向量245。列向量230和行向量240中的每个的大小可对应于用于第n层的核函数的数量i。列向量230的数量和行向量240的数量基于特征向量的大小而被确定。例如,响应于以2D图表示特征向量,列向量230的数量和行向量240的数量基于特征向量的沿x轴方向的长度w与特征向量的沿y轴方向的长度h的乘积wh而被确定。

对象识别设备基于行向量240与列向量230的乘积来获得向量250。例如,对象识别设备基于第一行向量245与第一列向量235的乘积来获得向量255。每个向量250的大小可被确定为与用于第n层的核函数的数量i对应的i×i。向量250的数量基于每个特征向量220的大小而被确定为wh。对象识别设备基于向量250的和确定与第n层相关联的特征向量260。

上述预定池化操作指示用于基于与第n层的核函数对应输出的特征向量220确定特征向量260的操作。根据一个或多个实施例,基于等式1执行预定池化操作。

在等式1,f1表示基于预定池化操作确定的向量,α表示用于预定池化操作的列向量,β表示用于预定池化操作的行向量。

图2示出由特征提取器210输出的单组特征向量220被用于预定池化操作的示例。在这个示例中,列向量α和行向量β相同。

在另一示例中,由多个特征提取器输出的多组特征向量被用于预定池化操作的示例。例如,由第一特征提取器的第n层输出的第一特征向量和由第二特征提取器的第n层输出的第二特征向量被用于预定池化操作。在这个示例中,基于第一特征向量确定行向量240,基于第二特征向量确定列向量230。

在等式1中,a表示用于第一特征提取器的第n层的核函数的索引,b表示用于第二特征提取器的第n层的核函数的索引。这里,a是(1≤a≤i),b是(1≤b≤j)。i表示用于第一特征提取器的第n层的核函数的数量,j表示用于第二特征提取器的第n层的核函数的数量。响应于基于由单个特征提取器输出的特征向量产生行向量和列向量,数量i和数量j可相同。此外,在等式1中,x和y中的每个可对应于以2D图表示的单个特征向量中的元素的坐标,x和y的组合可指示行向量和列向量的偏移。

图3示出识别对象的处理的示例。参照图3,对象识别设备将输入图像施加到特征提取器310。

特征提取器310包括多个层。根据一个或多个实施例,特征提取器310的每个层输出特征向量。由特征提取器310的单个层输出的特征向量可被传送到下一层。在示例中,针对由特征提取器310的单个层输出的特征向量执行最大池化,然后将特征向量传送到下一层。

对象识别设备通过基于由特征提取器310输出的特征向量执行预定池化操作,来获得向量330。例如,对象识别设备通过基于由第一层311输出的特征向量321执行预定池化操作,来产生与第一层311相关联的向量331。预定池化操作被示出为在块320中被执行。以二维(2D)图表示的特征向量以重叠的形式被表示在块320中。可基于根据符号的左块和右块来执行预定池化操作。

在示例中,特征提取器310包括单个神经网络或两个神经网络。响应于特征提取器310包括第一神经网络和第二神经网络,预定池化操作基于由第一神经网络输出的特征向量和由第二神经网络输出的特征向量而被执行。

例如,预定池化操作基于由第一神经网络的第五层312输出的特征向量322和由第二神经网络的第五层313输出的特征向量323而被执行。此外,根据一个或多个实施例,向量335根据基于特征向量322和特征向量323执行的预定池化操作而被产生。这里,特征向量322的长度i对应于用于第五层312的核函数的数量,特征向量323的长度j对应于用于第五层313的核函数的数量。用于第五层312的每个核函数的大小和用于第五层313的每个核函数的大小可相同。

对象识别设备通过减轻向量330来产生特征向量340。对象识别设备最小化包括在每个向量330中的信息损失,并减轻向量330。例如,对象识别设备基于主成分分析(PCA)减轻向量330。与向量330的大小或维度相比,减轻的向量的大小或维度被有益地减小。可在维度减小&白化(DR&W)块中执行减轻。

根据一个或多个实施例,对象识别设备基于减轻的向量确定用作分类器350的输入的特征向量340。例如,对象识别设备通过对减轻的向量执行级联(concatenation)来产生特征向量340。响应于向量330被减轻,特征向量340的大小L2一般小于向量330的总大小L1。

根据一个或多个实施例,对象识别设备将特征向量340施加到分类器350。分类器350基于特征向量340执行非线性分类。例如,分类器350的分类的结果指示包括在输入图像中的鸟的特定种类。

图4示出使用掩膜向量(mask vector)识别对象的处理的示例。参照图4,对象识别设备将输入图像施加到特征提取器410和对象分离器460。

对象识别设备通过基于掩膜向量425和由特征提取器410输出的特征向量执行预定池化操作来获得向量430。例如,对象识别设备通过基于由第一层输出的特征向量421和掩膜向量426执行预定池化操作来获得与第一层相关联的向量431。

根据一个或多个实施例,掩膜向量使包括在输入图像中的对象之中的与对应于分类器450的目标种类对应的对象通过。例如,响应于分类器450对包括在输入图像中的猫的特定类型进行分类,对象识别设备产生用于使与输入图像中的猫对应的对象通过(或排除该对象)的掩膜向量。响应于分类器450对包括在输入图像中的狗的特定类型进行分类,对象识别设备产生用于使与输入图像中的狗对应的对象通过的掩膜向量。

根据一个或多个实施例,对象分离器460输出指示包括在输入图像中的至少一个对象的种类的掩膜图像。例如,输入图像包括狗、猫和沙发。对象分离器460分析包括在输入图像中的对象,并基于分析的结果输出分离狗、猫和沙发的掩膜图像。掩膜图像包括与输入图像中的狗对应的区域471、与输入图像中的沙发对应的区域472以及与输入图像中的猫对应的区域473。对象分离器460包括多层神经网络,并可被提前训练以分离包括在输入图像中的对象。

根据一个或多个实施例,对象识别设备从掩膜图像选择与分类器450的目标种类对应的区域。例如,响应于分类器450对包括在图像中的猫的特定类型进行分类,对象识别设备选择与猫对应的区域473。例如,对象识别设备通过使用“1”填充选择的区域和使用“0”填充剩余区域来产生掩膜向量,反之亦然。对象识别设备基于块420的每个特征向量的大小来调节掩膜向量的大小。例如,对象识别设备产生与每个特征向量421的大小对应的掩膜向量426。

参照图5提供掩膜向量的额外描述。图5示出产生掩膜向量的处理的示例。参照图4和图5,对象识别设备基于由分类器450分类的目标种类从掩膜图像510选择至少一个区域。例如,对象识别设备从掩膜图像510中的与狗对应的区域511、与沙发对应的区域512以及与猫对应的区域513选择至少一个区域。

响应于由分类器450分类的目标种类对应于“狗”,对象识别设备选择与狗对应的区域511,并产生掩膜向量520。在掩膜向量520中,例如,可用“1”填充区域521,并可用“0”填充区域522。对象识别设备可对应于由特征提取器输出的每个特征向量的大小调节掩膜向量520的大小。

可选地,响应于由分类器450分类的目标种类对应于“猫”,对象识别设备选择与猫对应的区域513,并产生掩膜向量530。在掩膜向量530中,可用“1”填充区域531,并可用“0”填充区域532。对象识别设备对应于由特征提取器输出的每个特征向量的大小调节掩膜向量530的大小。

返回参照图4,根据实施例,对象识别设备通过基于由特征提取器410输出的特征向量和掩膜向量425执行预定池化操作来确定向量430。这里,例如,在块420中基于等式2执行预定池化操作。

在等式2中,f2表示基于预定池化操作确定的向量,α表示用于预定池化操作的列向量,β表示用于预定池化操作的行向量,γ表示掩膜向量。此外,在等式2中,a和b中的每个表示核函数的索引,x和y中的每个表示以二维(2D)图表示的单个特征向量中的元素的坐标。这里,a是(1≤a≤i),b是(1≤b≤j)。如上所述,根据实施例,特征提取器410包括第一特征提取器和第二特征提取器。在这个示例中,i表示用于第一特征提取器的第n层的核函数的数量,j表示用于第二特征提取器的第n层的核函数的数量。因为掩膜向量的大小与每个特征向量的大小对应地被调节,所以列向量、行向量和掩膜向量的偏移基于相同坐标而被计算。

对象识别设备通过减轻向量430来产生特征向量440。根据实施例,在维度减小&白化(DR&W)块中执行减轻。对象识别设备将特征向量440施加到分类器450。分类器450基于特征向量440执行非线性分类。例如,响应于分类器450的目标种类对应于“猫”并从掩膜图像选择区域473,分类器450的分类的结果指示猫的特定种类。因为仅有关于分类器450的目标种类的信息基于掩膜向量425而保留在由特征提取器410输出的特征向量中,所以识别特定种类的准确性可被有益地提高。

图6示出使用掩膜向量识别对象的处理的另一示例。参照图6,对象识别设备将输入图像施加到特征提取器610和部分分离器660。

根据一个或多个实施例,对象识别设备通过基于掩膜向量625和由特征提取器610输出的特征向量执行预定池化操作来获得向量630。例如,对象识别设备通过基于由第一层输出的特征向量621和掩膜向量626执行预定池化操作来获得与第一层相关联的向量631。

部分分离器660输出指示包括在输入图像中的对象的至少一个部分的掩膜图像。例如,输入图像包括老鼠。部分分离器660分析包括在输入图像中的对象,并基于分析的结果输出掩膜图像。在这个示例中,掩膜图像包括与老鼠的头对应的区域671、与老鼠的躯干对应的区域672、与老鼠的尾巴对应的区域673以及与老鼠的腿对应的区域674。在一个或多个实施例中,部分分离器660包括多层神经网络,并可被提前训练以分离包括在输入图像中的对象的部分。

由掩膜图像指示的至少一个部分可针对每个种类而被提前确定。例如,响应于分类器650的目标种类是“老鼠”,由掩膜图像指示的部分包括头、躯干、尾巴和腿。在另一示例中,响应于分类器650的目标种类是“鸟”,由掩膜图像指示的部分包括头、鸟嘴、躯干和翅膀。响应于分类器650的目标种类是“包”,由掩膜图像指示的部分包括主体和带。

掩膜向量可使分配到掩膜向量的对象的目标部分通过。例如,掩膜向量626包括在排除其他部分的同时用于使老鼠的头通过的掩膜向量、用于使老鼠的躯干通过的掩膜向量、用于使老鼠的尾巴通过的掩膜向量以及用于使老鼠的腿通过的掩膜向量。根据一个或多个实施例,对象识别设备通过用“1”填充与目标部分对应的区域并用“0”填充剩余区域来产生掩膜向量。对象识别设备基于块620的每个特征向量的大小来确定掩膜向量的大小。例如,对象识别设备产生与每个特征向量621的大小对应的掩膜向量626。

参照图7提供掩膜向量的额外描述。图7示出产生掩膜向量的处理的另一示例。参照图7,对象识别设备基于掩膜图像710产生掩膜向量720至750。例如,掩膜向量720可使老鼠的头通过,掩膜向量730可使老鼠的躯干通过,掩膜向量740可使老鼠的尾巴通过,掩膜向量750可使老鼠的腿通过。在掩膜向量720至750中的每个中,可用“1”填充目标区域,用“0”填充剩余区域。对象识别设备可对应于由特征提取器输出的每个特征向量的大小调节掩膜向量720的大小。用于根据掩膜向量使特定部分通过的其他合适措施对在获得具体实施方式和附图的全面理解之后的本领域技术人员来说将是清楚的。

返回参照图6,根据实施例,对象识别设备通过基于掩膜向量625和由特征提取器610输出的特征向量执行预定池化操作来确定向量630。在特征提取器610的每个层上,向量的数量可对应于掩膜向量的数量。例如,向量631的数量对应于掩膜向量626的数量。在块620中基于等式3执行预定池化操作。

在等式3中,f3表示基于预定池化操作确定的向量,α表示用于预定池化操作的列向量,β表示用于预定池化操作的行向量,γ表示掩膜向量。此外,在等式3中,a和b中的每个表示核函数的索引,c表示掩膜向量的索引,x和y中的每个表示以二维(2D)图表示的单个特征向量中的元素的坐标。这里,a是(1≤a≤i),b是(1≤b≤j),c是(1≤c≤k)。如上所述,根据实施例,特征提取器610包括第一特征提取器和第二特征提取器。在这个示例中,i表示用于第一特征提取器的第n层的核函数的数量,j表示用于第二特征提取器的第n层的核函数的数量。k表示掩膜向量的数量。因为掩膜向量的大小与每个特征向量的大小对应地被调节,所以列向量、行向量和掩膜向量的偏移可基于相同坐标而被计算。

对象识别设备通过减轻向量630来产生特征向量640。可在维度减小&白化(DR&W)块中执行减轻。对象识别设备将特征向量640施加到分类器650。分类器650基于特征向量640执行非线性分类。例如,分类器650的分类的结果指示包括在输入图像中的老鼠的特定种类。训练器650可基于包括针对每个目标部分分类的信息的特征向量而被提前训练,以对输入图像的特定种类进行分类。因为由特征提取器610基于掩膜向量625输出的特征向量包括针对每个目标部分分类的信息,并且特征向量被传送到分类器650,所以识别特定种类的准确性可被显著地提高。

图8是示出训练设备的示例的框图。参照图8,训练设备800包括通过诸如系统总线可操作地连接到存储器820的处理器810。

处理器810基于训练数据训练识别器821、对象分离器823和部分分离器825。虽然识别器821、对象分离器823和部分分离器825在这个实施例中被示出为包括在存储器中,但是在其他实施例中,它们由其他功能硬件和固件组件构成。在一个或多个实施例中,识别器821包括图1的特征提取器110和/或分类器120。训练数据包括训练输入和训练输出。训练输出被映射到训练输入。例如,训练输出指示将从训练输入输出的标签。

处理器810训练识别器821、对象分离器823和部分分离器825,使得训练输出基础训练输入而被计算。例如,处理器训练识别器821,以确定与训练输入中的对象对应的特定种类。在这个示例中,训练输入可包括这样的图像,在该图像中表现包括在目标种类中的对象。

根据一个或多个实施例,识别器821、对象分离器823和部分分离器825包括至少一个神经网络。在示例中,处理器810通过误差反向传播学习来学习神经网络的多个层之间的连接权重。例如,处理器810通过监督学习来训练神经网络。

监督学习是一种更新连接权重使得训练输入以及与训练输入对应的训练输出被输入到神经网络并且与训练输入对应的训练输出被输出的方法。例如,处理器810通过德尔塔定律或误差反向传播学习来更新神经元之间的连接权重。

误差反向传播学习是一种通过基于针对提供的训练数据的前向计算估计误差、沿从输出层开始到隐藏层和输入层的反方向传播估计的误差并因而减小误差来调节连接权重的方法。虽然可以以输入层、隐藏层和输出层的顺序识别神经网络,但是当使用误差反向传播学习时,可以以输出层、隐藏层和输入层的顺序更新连接权重。

存储器820包括识别器821、对象分离器823和部分分离器825。存储器820存储在训练处理期间顺序更新的神经网络。此外,存储器820存储训练数据。

图9是示出对象识别设备的示例的框图。参照图9,对象识别设备900包括可操作地连接到存储器920的处理器910,其中,存储器920可包括本地存储器(诸如,RAM或非易失性存储)和/或远程可访问存储器(诸如,云存储或网络附属存储(NAS))。

处理器910可包括上述识别器821、对象分离器823和部分分离器825中的至少一个,和/或执行上述方法中的至少一个。例如,处理器910处理与对象识别相关联的上述操作。更具体地,处理器910可将输入图像施加到包括多个层的特征提取器,基于由包括在特征提取器中的第一层输出的输入图像的第一特征向量和由包括在特征提取器中的第二层输出的输入图像的第二特征向量确定第三特征向量,并基于第三特征向量识别输入图像中的对象。

存储器920存储计算机可读的指令。响应于存储在存储器920中的指令被执行,处理器910执行与对象识别相关联的操作。此外,存储器920存储上述识别器821、对象分离器823和部分分离器825中的至少一个以及与对象识别相关联的数据段。例如,存储器920存储用于预定池化操作的等式、识别器、对象分离器、部分分离器、特征向量和掩膜向量。

处理器910执行指令、脚本和/或程序。在一个或多个实施例中,处理器910控制对象识别设备900。对象识别设备900通过输入/输出装置(未示出)连接到外部装置(例如,个人电脑(PC)或网络),以与外部装置交换数据。例如,对象识别设备900通过相机接收输入图像。对象识别设备900可被实现在例如移动装置(例如,移动电话、智能电话、个人数字助理(PDA)、平板电脑或笔记本电脑)、计算装置(例如,PC、平板电脑或上网本)、电子产品(例如,电视(TV)、智能TV、智能车辆、机器人、科学仪器、微波炉、冰箱、烤箱或其他厨房用具)或用于大门控制的安全装置的至少一部分中。因为上述描述可应用于对象识别设备900,所以为了更加清楚和简明,将省略重复的描述。

图10是示出识别对象的方法的示例的流程图。参照图10,在操作1010,对象识别设备将输入图像施加到包括多个层的特征提取器。在操作1020,对象识别设备基于由包括在特征提取器中的第一层输出的输入图像的第一特征向量和由包括在特征提取器中的第二层输出的输入图像的第二特征向量确定第三特征向量。在操作1030,对象识别设备基于第三特征向量识别输入图像中的对象。因为参照图1至图9提供的描述同样可应用于图10的每个操作,所以为了更加清楚和简明,将省略重复的描述。

通过被配置为执行在本申请中描述的操作的硬件组件来实现图1、图3至图6、图8和图9中的执行在本申请中描述的操作的识别器821、对象分离器823、部分分离器825、分类器120、特征提取器110和DR&W单元。

硬件组件的示例包括控制器、传感器、生成器、驱动器以及本领域普通技术人员所知的任意其它电子组件。在一个示例中,通过一个或多个处理器或计算机来实现硬件组件。通过一个或多个处理元件(诸如,逻辑门的阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或本领域普通技术人员所知的能够以限定的方式响应并执行指令以获得期望结果的任意其他装置或装置的组合)来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。通过处理器或计算机实现的硬件组件执行指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用),以执行这里描述的操作。硬件组件还响应于指令或软件的执行而访问、操控、处理、创建和存储数据。为了简单,单数术语“处理器”或“计算机”可用于这里描述的示例的描述,但在其他示例中,多个处理器或计算机被使用,或者处理器或计算机包括多个处理元件或多种类型的处理元件或二者。在一个示例中,硬件组件包括多个处理器,在另一示例中,硬件组件包括处理器和控制器。硬件组件具有不同的处理配置中的任意一种或多种,所述不同的处理配置的示例包括单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。

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

用于控制处理器或计算机实现硬件组件并且执行如上面描述的方法的指令或软件被写为计算机程序、代码段、指令或它们的组合,以单独地或共同地指示或配置处理器或计算机如机器或专用计算机那样操作,以执行由硬件组件执行的操作和如上所述的方法。在一个示例中,指令或软件包括直接由处理器或计算机执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的更高级代码。本领域普通编程技术人员在获得主题的具体实施方式和附图的全面理解之后,可基于附图中示出的框图和流程图以及说明书中的相应描述容易地编写指令或软件,所述说明书公开了用于执行由硬件组件执行的操作和如上所述的方法的算法。

用于控制处理器或计算机实现硬件组件并且执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件以及数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、闪存、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-R LTH、BD-RE、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘和本领域普通技术人员已知的任意装置,所述任意装置能够以非暂时性的方式存储指令或软件和任何相关联的数据、数据文件以及数据结构,并将指令或软件以及任何相关联的数据、数据文件以及数据结构提供给处理器或计算机,以便处理器或计算机能执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件以及数据结构被分布在联网的计算机系统上,使得指令或软件以及任何相关联的数据、数据文件以及数据结构通过处理器或计算机以分布式的方式被存储、访问和执行。

虽然本公开包括特定示例,但是本领域普通技术人员在获得本申请的公开的全面理解之后将清楚的是:在不脱离权利要求和它们的等同物的精神和范围的情况下,可对这些示例进行形式和细节上的各种改变。在此描述的示例应仅在描述意义上考虑,而非为了限制的目的。在每个示例中的特征或方面的描述将被视为可被应用于其它示例中的相似特征或方面。如果以不同的顺序执行描述的技术,和/或如果描述的系统、架构、装置或电路中的组件以不同方式被组合和/或被其它组件或其等同物替代或补充,则可实现合适的结果。因此,本公开的范围并非由具体实施方式限定,而是由权利要求和它们的等同物所限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为被包括在本公开中。

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