利用神经网络的对象检测的制作方法

文档序号:11635499阅读:236来源:国知局
利用神经网络的对象检测的制造方法与工艺

本发明涉及使用计算网络检测对象。



背景技术:

机器学习是能够从数据进行学习的对算法设计进行开拓的学科。机器学习算法针对输入进行调适从而构建模型,并且随后对新数据使用从而做出预测。机器学习与统计、人工智能和优化具有关联,并且经常在难以在其中形成基于明确规则的算法的任务中被采用。这样的任务的示例包括光学图像识别、字符识别和垃圾邮件过滤。

人工神经网络是能够进行机器学习的计算工具。在随后将被称作神经网络的人工神经网络中,被称作“神经元”的互连计算单元被允许针对训练数据进行调适,并且随后共同进行工作以在模型中产生预测,这在一定程度上类似于生物神经网络中的处理。

神经网络可以包括层的集合,第一层是被配置为接收输入的输入层。该输入层包括被连接至包括在第二层中的神经元的神经元,上述第二层可以被称作隐藏层。隐藏层的神经元可以连接至另外的隐藏层或输出层。

在一些神经网络中,一个层中的每个神经元具有到后续层中的每个神经元的连接。这样的神经网络被称作全连接网络。训练数据被用来允许每个连接从而假设表征连接强度的权重。一些神经网络包括全连接层以及并非完全连接的层。卷积神经网络中的全连接层可以被称作密集连接层。

在一些神经网络中,信号从输入层严格地单向传播至输出层,这意味着并不存在朝向输入层反向传播的连接。这样的神经网络被称作正向馈送神经网络。在存在朝向输入层反向传播的连接的情况下,所讨论的神经网络可以被称作循环神经网络。

卷积神经网络cnn是包括并非完全连接的层的正向馈送神经网络。在cnn中,卷积层中的神经元被连接至较早层中的子集或邻居中的神经元。这使得能够至少在一些cnn中保留输入中的空间特征。



技术实现要素:

本发明由独立权利要求的特征所限定。一些具体实施例在从属权利要求中限定。

根据本发明的第一方面,提供了一种装置,包括至少一个处理核和包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为利用该至少一个处理核而使得该装置至少:运行包括输入层的卷积神经网络,该输入层被设置成向第一卷积层和最后卷积层提供信号;运行第一中间分类器,该第一中间分类器对该第一卷积层的特征图集合进行操作;以及基于该第一中间分类器的决策而决定中止或继续对信号集合的处理。

第一方面的各个实施例可以包括以下无序列表中的至少一个特征:

·该卷积神经网络包括第一卷积层和最后卷积层之间的第二卷积层,以及对该第二卷积层的特征图集合进行操作的第二中间分类器,并且该装置被配置为基于该第二中间分类器的决策而决定中止或继续对信号集合的处理。

·该卷积神经网络包括第二卷积层和最后卷积层之间的第三卷积层,以及对该第三卷积层的特征图集合进行操作的第三中间分类器,并且该装置被配置为基于该第三中间分类器的决策而决定中止或继续对信号集合的处理。

·该第一卷积层的特征图集合包括该第一卷积层的所有特征图的子集。

·该第二卷积层的特征图集合包括该第二卷积层的所有特征图的子集。

·该第三卷积层的特征图集合包括该第三卷积层的所有特征图的子集。

·该信号集合包括来自输入层的图像的经处理子图像。

·该信号集合包括来自输入层的图像的经处理版本。

·该卷积神经网络被配置为检测人的图像。

·该卷积神经网络被配置为检测行人的图像。

·该装置被配置为基于至少一种准则选择该第一卷积层的特征图集合、该第二卷积层的特征图集合以及该第三卷积层的特征图集合中的至少一个。

根据本发明的第二方面,提供了一种方法,包括:运行包括输入层的卷积神经网络,该输入层被设置成向第一卷积层和最后卷积层提供信号;运行第一中间分类器,该第一中间分类器对该第一卷积层的特征图集合进行操作;以及基于该第一中间分类器的决策而决定中止或继续对信号集合的处理。

第二方面的各个实施例可以包括与结合第一方面所给出的先前无序列表中特征相对应的至少一个特征。

根据本发明的第三方面,提供了一种装置,包括:用于运行包括输入层的卷积神经网络的部件,该输入层被设置成向第一卷积层和最后卷积层提供信号;用于运行第一中间分类器的部件,该第一中间分类器对该第一卷积层的特征图集合进行操作;以及用于基于该第一中间分类器的决策而决定中止或继续对信号集合的处理的部件。

根据本发明的第四方面,提供了一种具有存储在其上的计算机可读指令的非瞬态计算机可读介质,该计算机可读指令在被至少一个处理器执行时使得装置至少:运行包括输入层的卷积神经网络,该输入层被设置成向第一卷积层和最后卷积层提供信号;运行第一中间分类器,该第一中间分类器对该第一卷积层的特征图集合进行操作;以及基于该第一中间分类器的决策而决定中止或继续对信号集合的处理。

根据本发明的第五方面,提供了一种被配置为使得依据第二方面的方法得以被执行的计算机程序。

工业实用性

本发明的至少一些实施例能够在增强基于机器的模式识别中得到工业应用。

附图说明

图1图示了能够支持本发明的至少一些实施例的示例系统;

图2图示了依据本发明的至少一些实施例的示例cnn;

图3图示了能够支持本发明的至少一些实施例的示例装置;

图4图示了依据本发明的至少一些实施例的示例中间分类器;

图5图示了依据本发明的至少一些实施例的cnn中的逐层决策;以及

图6是依据本发明的至少一些实施例的方法的流程图。

具体实施方式

通过允许中间分类器在图像数据被进一步提供在卷积神经网络中之前中止处理图像数据,对模式数据进行分析的处理负荷有所减少。该中间分类器可以对先前卷积层的特征图进行操作。可以使用多个中间分类器,每个中间分类器对先前层的特征图进行操作,其中每个中间分类器对不同卷积层的特征图进行操作。

图1图示了能够支持本发明的至少一些实施例的示例系统。图1具有行人120在其上行走的道路101的视图110。虽然在这里结合检测行人进行描述,但是本发明并不局限于此,而是如本领域技术人员将会理解的,本发明还能够更为普遍地被用于视觉、听觉或其它类型的数据的模式识别。例如,根据所讨论的实施例,手写识别、面部识别、交通标志识别、语音识别、语言识别、标志语言识别和/或垃圾邮件识别都可以从本发明获益。

在图1中,道路101由相机130进行成像。相机130被配置为捕捉至少部分覆盖该道路的视图110。相机130可以被配置为对从相机130中所包括的图像捕捉设备—诸如电荷耦合设备ccd—获得的图像数据进行预处理。预处理的示例包括简化为黑白、对比度调节和亮度平衡,以增加所捕捉图像中呈现的动态范围。在一些实施例中,该图像数据还被缩放为适于被馈送至图像识别算法中的比特深度。预处理可以包括对诸如区域125的感兴趣区域的选择,例如用于馈送至图像识别算法中。预处理在本质上可能并不存在或受到限制,因为cnn的一个优势在于,在将输入数据提供至cnn之前通常并不需要对其进行广泛预处理。相机130例如可以被安装在被配置为自行驾驶的汽车中。可替换地,相机130可以被安装在被设计为由人类驾驶员驾驶的汽车中,但是在该汽车将要撞到行人或动物的情况下提供警告和/或自动刹车。

数据从相机130被提供至卷积神经网络,卷积神经网络包括阶段140、150、160和170。阶段140包括第一卷积层,第一卷积层被配置为对从相机130所接收的图像进行处理。第一卷积层140可以包括多个内核,每个内核被设置成对来自从相机130所接收的图像的一部分的数据进行处理。被提供至内核的图像的该部分可以被称作该内核的接受域(receptivefield)。内核的一种可替换术语是过滤器。相邻内核的相应域可以在一定程度上有所重叠,这可以使得卷积神经网络能够对图像中移动的对象作出响应。在一些实施例中,第一卷积层140的内核采用相同的权重,这意味着虽然权重在内核中所包括的神经元之间可能有所不同,但是内核权重表对于第一卷积层140的每个内核是相同的。这减少了独立权重的数量并且使得卷积神经网络以类似方式对图像的不同部分进行处理。例如,这在行人检测中可能是有用的,因为行人可能出现在图像的任意部分之中。对独立权重的数量进行控制还可以提供对卷积神经网络的训练更为容易的优势。

第一卷积层140具有多个特征图。中间分类器150可以接收该特征图,或者被使得能够从第一卷积层140读取该特征图。中间分类器150可以使用第一卷积层140的所有特征图或者仅使用它们的子集。就此而言,子集表示包括第一卷积层140的至少一个但并非全部特征图的集合。中间分类器150可以被配置为决定在该图像或子图像中没有行人,并且防止对第二卷积层160中的图像数据进一步处理。这具有节约计算资源的效果。

在一些实施例中,中间分类器150被配置为决定防止对应于第一卷积层140的内核子集的图像数据的进一步处理。例如,即使视图110中存在行人,该行人的图像也可能仅覆盖视图110的一小部分,例如区域125。其余部分可以被称作背景。在这种情况下,对进一步来自并未从区域125接收到信号的内核的数据进行处理将不会对有关视图110是否包括行人的最终决策有所贡献,而仅有从区域125接收到信号的一个或多个内核才会对该决策作出贡献。就此而言,区域125可以被认为是视图110的子图像,其中视图110还包括其它子图像,每个子图像对应于内核的相应域。除此之外或可替换地,一个内核从其接收到信号的图像区域可以被认为是子图像。可以说中间分类器150被设置成防止对背景子图像的进一步处理。

中间分类器150可以被构造为使得其能够关于图像数据的进一步处理作出决定。例如,其可以被构造为对第一卷积层140的特征图的特性进行操作。如以上所提到的,仅使用第一卷积层140的特征图的子集节约了计算资源。在构造中间分类器的期间,第一卷积层140的哪些特征图具有最高的区分能力会变得显而易见,并且这些特征图可以被选择以便中间分类器150对其进行操作。

在中间分类器150中,第一卷积层140的所选择特征图可以被设置为决策树。这可以包括将它们级联为例如退化决策树以产生中间分类器。

中间分类器150对于其并不防止进一步处理的图像数据被提供至第二卷积层160。第二卷积层160可以包括多个内核,该多个内核被设置为接受第一卷积层140的输出,并且对该图像数据进一步进行处理。详细地,每个内核可以被设置为对来自第一卷积层140的一个或多个内核的数据进行处理。第一卷积层140中向第二卷积层160的内核提供信号的部分可以被称作第二卷积层160的内核的接受域。第二卷积层160的相邻内核的相应域可以在一定程度上有所重叠,这可以使得卷积神经网络能够对图像中移动的对象作出响应。在一些实施例中,第二卷积层160的内核采用相同的权重,这意味着虽然权重在内核中所包括的神经元之间可能有所不同,但是内核权重表对于第二卷积层160的每个内核是相同的。这减少了独立权重的数量并且使得卷积神经网络以相同方式对图像的不同部分进行处理。

第一卷积层140和第二卷积层160可以被使得能够学习不同级别的表示形式,其中较高和较低级别的概念在不同层中进行操控。因此,第一卷积层140和第二卷积层160能够以不同角度或方面对对象进行描述。在一些实施例中,这使得能够对不同的概念层面的子图像进行评估并且在早于最终决策的阶段对它们加以区分。换句话说,较早的分类器或判断可以排除并不包含目标模式的子图像,而使得后期层仅需要查看较小数量的数据。

图1的cnn的阶段170是决策层,决策层例如可以包括完全连接的层。在图1的示例中,决策层的输出是有关视图110中是否包括行人的确定结果。

虽然以上关于第一卷积层140和第二卷积层160进行了描述,但是在本发明的其它实施例中,可以进一步存在至少第三卷积层。在这样的情况下,还可以存在第二中间分类器,该第二中间分类器被设置为对第二卷积层160的特征图进行操作。该第二中间分类器随后可以防止对中间分类器150允许进入到第二卷积层160的一些背景子图像的进一步处理。这样设置的优势在于,与仅使用一个中间分类器的情形相比,决策层170接收甚至更少的背景子图像。

图1的相机130和cnn例如可以被包括在移动设备中,作为示例,上述移动设备诸如移动电话、智能电话或其它类似移动设备。该移动设备能够附接至汽车从而使得能够在前方出现行人的情况下对汽车驾驶员作出警告。

在一些实施例中,相机130和cnn并不包括在同一装置中。例如,相机130可以包括在汽车或移动设备中,并且相机130可以被设置为至少部分和/或以经处理和/或压缩的形式向在后端服务器设备或者汽车的计算机中运行的cnn提供其视频馈送。例如,该服务器可以将其所作出的决策的指示提供回汽车或移动设备。

在一些实施例中,cnn层——作为示例,诸如第一卷积层140和第二卷积层160——被包括在不同装置中。例如,第一装置可以包括相机130和第一卷积层140,而第二装置可以被配置为运行第二卷积层。原则上,第三装置可能运行中间分类器150。该第一、第二和/或第三装置例如可以包括移动设备,或者可替换地,它们中的至少一个例如可以包括后端服务器。在第一、第二和第三装置中的至少两个包括移动设备的情况下,它们可以被设置为例如经由近场通信接口互相通信,作为示例,上述近场通信接口诸如nfc或蓝牙。

图2图示了依据本发明的至少一些实施例的示例cnn。该示例cnn包括六个层,在图2中被表示为c1、c2、c3、c4、f5和f6。标记为“c”的层是卷积层,而标记为“f”的层是完全连接层。换句话说,最后两个层是完全连接的而前四个层是卷积的。最后层的输出是产生分别对应于行人和背景的置信度的两路判断。

在所图示的示例中,局部对比度归一化操作遵循前三个卷积层。子采样操作遵循该局部归一化操作。

在所图示的示例中,第一卷积层——输入——以1个像素的步幅利用大小为7×7×1的16个内核对134×70×1的输入图像进行过滤。第二卷积层采用第一卷积层的输出作为输入,上述输出例如可以被归一化和子采样。第二卷积层——层1——利用大小为5×5×16的32个内核对其输入进行过滤。第三卷积层——层2——具有连接至第二卷积层的输出的大小为5×5×32的32个内核,上述输出也可以被归一化和子采样。第四卷积层——层3——具有大小为5×5×32的内核。该完全连接层具有256个神经元。图2的cnn使用子采样来减少去往决策级的层维度。

图3图示了例如能够通过运行具有至少一个中间分类器的cnn而支持本发明的至少一些实施例的示例装置。图示了设备300,设备300例如可以包括计算机或计算设备。设备300中包括处理器310,处理器310例如可以包括单核或多核处理器,其中单核处理器包括一个处理核而多核处理器则包括多于一个的处理核。例如,处理器310可以包括qualcommsnapdragon800处理器。处理器310可以包括多于一个的处理器。处理器核例如可以包括由hrmholdings所制造的cortex-a8处理核,或者由advancedmicrodevices公司所生产的brisbane处理核。处理器310可以包括至少一个qualcommsnapdragon和/或intelatom处理器。处理器310可以包括至少一个专用集成电路asic。处理器310可以包括至少一个现场可编程门阵列fpga。处理器310可以包括用于在设备300中执行方法步骤的部件。处理器310可以至少部分由计算机指令所配置以执行动作。

设备300可以包括存储器320。存储器320可以包括随机存取存储器和/或持久存储器。存储器320可以包括至少一个ram芯片。例如,存储器320可以包括磁性、光学和/或全息存储器。存储器320可以至少部分能够由处理器310进行访问。存储器320可以是用于存储信息的部件。存储器320可以包括处理器310被配置为对其进行执行的计算机指令。当被配置为使得处理器310执行某些动作的计算机指令被存储在存储器320中,并且设备300总体上被配置为在处理器310使用来自存储器320的计算机指令的指示下运行时,处理器310和/或其至少一个处理核可以被认为被配置为执行所述某些动作。存储器320可以至少部分包括在处理器310之中。

设备300可以包括发射器330。设备300可以包括接收器340。发射器330和接收器340可以分别被配置为依据至少一种蜂窝或非蜂窝标准来发射和接收信息。发射器330可以包括多于一个的发射器。接收器340可以包括多于一个的接收器340。例如,发射器330和/或接收器340可以被配置为依据wlan、以太网、宽带码分多址wcdma和/或全球微波接入可操作性wimax标准进行操作。

设备300可以包括用户接口ui360。ui360可以包括显示器、键盘和触摸屏中的至少一个。用户能够经由ui360对设备300进行操作以例如对人工神经网络进行配置。

处理器310可以被提供以发射器,该发射器被设置为经由设备300内部的电引线向设备300中所包括的其它设备输出来自处理器310的信息。这样的发射器可以包括串行总线发射器,该串行总线发射器例如被设置为经由至少一条电引线向存储器320输出信息以便存储于其中。作为串行总线的可替换形式,发射器可以包括并行总线发射器。类似地,处理器310可以包括接收器,该接收器被设置为经由设备300内部的电引线从包括在设备300中的其它设备接收处理器310中的信息。这样的接收器可以包括串行总线接收器,该串行总线接收器被设置为例如经由至少一个电引线从接收器340接收信息,以供在处理器310中处理。作为串行总线的可替换形式,接收器可以包括并行总线接收器。

设备300可以包括图3中并未图示的另外的设备。设备300可以包括指纹传感器,该指纹传感器被设置成至少部分对设备300的用户进行认证。在一些实施例中,设备300不具有以上所描述的至少一个设备。

处理器310、存储器320、发射器330、接收器340和/或ui360可以以多种不同的方式通过设备300内部的电引线进行互连。例如,以上所提到的每个设备都可以单独连接至设备300内部的主控总线从而允许设备交换信息。然而,如本领域技术人员将要意识到的,这仅是一个示例,并且根据实施例,对至少两个上述设备进行互连的各种方法都可以被选择而并不背离本发明的范围。

图4图示了依据本发明的至少一些实施例的示例中间分类器。该示例中间分类器基于图2的示例的层1。该层具有大小为64×32的16个特征图。这里,每个特征图自身是输入图像的一种表示形式,因此可以使用每个特征图对分类器进行训练。例如,一个特征图中的64×32=3048个元素可以级联为一个向量。例如,可以对支持向量机svm或多层感知器mlp分类器进行训练。在图4的示例中,描述了svm分类器。总体上,在该示例中,得到了能够根据它们的分类误差进行排序的16个线性svm。为了节约计算资源,可以选择具有最高区分能力的前5个svm以构建中间层分类器1。

接下来,简要描述经训练的svm的排序。给定样本x,针对特征fi(x)(从第i个特征图所获得的矢量)的svm分类器hi(x,wi)被定义为:

其中thi是在训练过程期间所获得的阈值。接着,可以计算每个svm分类器的加权分类误差。可以首先选择具有最小分类误差的最佳的一个,并且接着在下一次迭代中重新计算训练样本的权重。该选择过程可以被重复直至所有svm分类器都被选择。

构建层分类器的svm的数量可以如下确定:层分类器应当过滤掉从之前层所幸存的背景图像窗口中的大约60%或70%,而使得包含行人——或者更一般地目标模式——的所有输入图像窗口都得以通过。经排序的svm可以被逐个级联为退化决策树,直至该要求得以被满足,并且随后能够获得svm的数量。同样,可以分别基于图2中的层2、层3和层4的特征图而得到中间层分类器2、3和4。最后,如图5中将会示出的,具有一个单独决策的原始cnn可以被改变为具有逐层决策的cnn。

换句话说,可以构造多个中间分类器,每个中间分类器对该中间分类器之前的卷积层的特征图进行操作。每个中间分类器可以被设置为防止进一步对并不包含cnn所寻找的模式的数据进行处理,从而获得节约计算资源的效果。对相应的之前卷积层的特征图的子集进行操作可以进一步节约计算资源。根据cnn架构,卷积神经网络中的多个层可以包括数十或者甚至数百个特征图,由此选择最能够区分的特征图可以根据架构而提供适度或非常高水平的计算资源节约。

图5图示了依据本发明的至少一些实施例的cnn中的逐层决策。在图5的系统中,类似于图2的cnn被提供以四个中间分类器。图4中图示了对层1的特征图进行操作的层分类器1的结构。

在所图示的示例中,中间分类器:层分类器1、层分类器2、层分类器3和层分类器4均被配置为防止对70%的背景素材——也就是输入图像中并不包括行人的部分——进一步进行处理。作为结果,仅有(1-0.7)4=0.8%的背景子图像保持在输出层中进行评估。在使用inria(行人)数据集的测试中,与没有中间决策的类似cnn相比,处理速度已经增加5.2倍。

虽然这里被描述为在每个卷积层之间包括中间分类器,但是在一些实施例中提供了更少的中间分类器。例如,在图5的系统中,仅具有第一中间分类器——也就是层1分类器——就已经提供了相比没有中间决策的cnn的计算优势,原因在于即使单个中间分类器也使得cnn的后续阶段中的背景素材的量有所减少。可替换地,在图5的系统中,可以仅使用层分类器1和层分类器2。

图6是依据本发明的至少一些实施例的方法的流程图。例如,所示方法的多个阶段可以在诸如图3的设备300的设备中执行。

阶段610包括运行包括输入层的卷积神经网络,该输入层被设置成向第一卷积层和最后卷积层提供信号。阶段620包括运行第一中间分类器,该第一中间分类器对该第一卷积层的特征图的集合进行操作。例如,该第一中间分类器可以处于该第一卷积层和最后卷积层之间。最后,阶段630包括基于该第一中间分类器的决策而决定中止或继续信号集合的处理。该信号集合例如可以包括被提供至该卷积神经网络的输入的子图像,或者更一般地包括子集,作为示例,诸如经过滤的子集。

所要理解的是,所公开的本发明的实施例并不局限于这里所公开的特定结构、处理步骤或材料,而是被扩展至相关领域技术人员将会认识到的其等同形式。还应当理解的是,这里所采用的术语仅是出于描述特定实施例的目的而并非意在作为限制。

贯穿该说明书对“一个实施例”或“实施例”的引用意味着结合该实施例所描述的特定特征、结构或特性包括在本发明的至少一些实施例中。因此,短语“在一个实施例中”或“在实施例中”在该说明书各处的出现并非必然全部都指代同一实施例。

如这里所使用的,多个事项、结构要素、组成要素和/或材料可以为了方便而出现在共同列表中。然而,这些列表应当被理解为该列表中的每个成员被各自识别为单独且唯一的成员。因此,在没有相反指示的情况下,这样的列表中并没有个体成员应当仅基于它们出现在共同群组中就被理解为是相同列表中的任何其它成员事实上的等同形式。此外,本发明的各个实施例和示例可以在这里连同其各个组件的替换形式进行引用。所要理解的是,这样的实施例、示例和替换形式并不被理解为彼此事实上的等同形式,而是要被理解为本发明的单独且自治的表示形式。

此外,所描述的特征、结构或特性可以在一个或多个实施例中以任意适当方式进行组合。在以下描述中,提供了很多具体细节,诸如长度、宽度、形状等的示例,从而提供对本发明实施例的全面理解。然而,本领域技术人员将会认识到,本发明能够在没有一个或多个具体细节的情况下进行实践,或者利用其它方法、组件、材料等进行实践。在其它实例中,并没有对示出或详细描述公知的结构、材料或操作从而避免对本发明的多个方面造成混淆。

虽然以上示例在一个或多个特定应用中对本发明的原则进行了阐述,但是对于本领域技术人员将会显而易见的是,可以在无需创造性劳动的情况下对实施方式的形式、使用和细节进行多种修改而并不背离本发明的原则和概念。因此,本发明意在仅由以下所给出的权利要求所限定。

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