视觉对象和事件检测以及使用扫视的预测系统的制作方法

文档序号:12825526阅读:303来源:国知局
视觉对象和事件检测以及使用扫视的预测系统的制作方法与工艺

本公开涉及机器视觉,以及更具体地涉及配置为用于扫视视觉的计算机视觉系统。



背景技术:

许多机器学习的方法寻求通过图像内所有像素的并行处理来识别图像内的对象。这些方法在计算上可以是昂贵的。



技术实现要素:

根据本发明示例性实施例,操作图像检测装置的方法包含接收图像、将图像分割为多个块、群组多个块中的几个、通过图像的多个块生成扫视路径的集合、为每个扫视路径生成集群-方向序列、使用集群-方向序列的组合生成用于识别新图像中对象的策略函数以及使用策略函数操作图像检测装置以识别新图像中的对象。

根据本发明示例性实施例,操作图像检测装置的方法包含接收图像、将图像分割为多个块、为将要探测的多个扫视路径的每个生成集群-方向序列,其中多个扫视路径由策略矩阵给出以及使用集群-方向序列识别图像中的对象。

如这里所用,“促进”行为包含执行行为、使得行为更容易、帮助行为执行或者导致行为将被执行。因此,作为示例但不限制,通过发送恰当的数据或者命令来引起或帮助将要被执行的行为,执行在一个处理器上的指令可促进由在远程处理器上执行的指令完成的行为。为了避免疑惑,其中行动者通过除了执行行为之外的行为来促进行为,行为仍由一些实体或者实体的组合执行。

发明或其元件的一个或多个实施例可以以包含具有用于执行所指示的方法步骤的计算机可用程序代码的计算机可读储存介质的计算机程序产品的形式被实施。此外,发明或其元件的一个或多个实施例可以以包含存储器、耦合到存储器以及可操作地执行示例性方法步骤的至少一个处理器的系统(或装置)的形式被实施。然而此外,在另一方面,本发明或其元件的一个或多个实施例可以以用于完成一个或多个在此描述的方法步骤的器件的形式被实施;器件可以包含(i)硬件模块、(ii)存储在计算机可读储存媒介(或多个这样的介质)内的且在硬件处理器上实施的软件模块,或者(iii)(i)和(ii)的组合;(i)-(iii)的任意实施设置于此的具体技术。

本发明的技术可以提供实质有益的技术效果。例如,一个或多个实施例可提供一个或多个以下优点:

·依照情境的相关对象的快速识别,

·通过一系列如视频中的帧的一个或多个对象的暂时跟随,其中每个帧清楚地与前一个有关,以及

·低能耗,仅通过图像的部分处理。

本发明的这些以及其它特征和优点将从其以下说明性实施例的详细描述中变得显而易见,其将结合附图被理解。

附图说明

本发明的优选实施例将在下方中结合附图更详细地描述:

图1是根据本发明示例性实施例示出用于训练策略函数方法的流程图;

图2根据本发明示例性实施例示出训练图像和块映射;

图3根据本发明示例性实施例示出图像的示例性编码;

图4根据本发明示例性实施例示出训练图像和集群id映射;

图5根据本发明示例性实施例示出训练图像、集群表示和重建;

图6根据本发明示例性实施例示出示例性路径、方向编码以及扫视路径编码;

图7根据本发明示例性实施例示出训练图像、示例性扫视路径、集群id、扫视路径编码以及集群序列编码;

图8根据本发明示例性实施例示出用于使用策略函数分析图像的方法的流程图;

图9根据本发明示例性实施例使用学习的策略来引导扫视路径与随机选取的方向性步骤的测试集精度图表;

图10是根据本发明示例性实施例的序列频率表格;

图11是根据本发明示例性实施例的序列频率表格;

图12是根据本发明示例性实施例的在测试集上的计算机视觉系统的精度图表;

图13是根据本发明实施例的训练方法的流程图

图14是根据本发明示例性实施例描述体现用于使用策略函数分析图像的方法的示例性计算机系统的方框图。

具体实施方式

根据本发明示例性实施例,发展了用于扫视视觉(saccadicvision)的策略,其配置为用于识别对象。策略的目标是提供发现图像的连续部分从而导致识别感兴趣对象的高可能性遵循的最佳方向的指导。

根据本发明的实施例,计算机视觉系统通过在图像内部的初始位置处开始以及确定通过图像的路径来识别图像中的对象,其中所述路径用来识别对象的身份。根据本发明的一个实施例,图像的情境(context)可以同样被考虑且可以包含之前的观察物以及用于正在被寻找对象的目标。计算机视觉系统配置为具有包含依赖于情境的相关对象的快速识别,通过一系列帧暂时跟随如视频中一个或多个对象,其中每个帧清楚地与前一个有关,以及低能耗,仅通过图像的部分处理的优点的扫视视觉。

根据本发明示例性实施例,用于训练策略函数100的方法包含将训练集内的每个图片分割为许多更小的子图片,被称为块(patch)101。块可相互重叠(为了清楚没有在这里示出)。如图2中所示,图像201被分割为16个块以及如202所示的对应的块id。

在本发明的至少一个实施例中,不同块具有不同尺寸。就相同图像可以被在不同分辨率处理而言块可以为不同尺寸,涉及不同尺寸的块,或者在相同图像内,例如,更大的,中心块可由更小的外围块环绕。

在方框102处,生成在训练集中块的大型采样的稀疏表示(sparserepresentation)。稀疏表示可以由稀疏自动编码器生成。所述表示包含隐蔽层内的单元以及具有连续改变的值。例如,图3示出图2的图像编码301,其包含用于2560个表示块的100个单元的稀疏表示。在编码301内,白色斑点指示更高值。

在方框103处,块群聚以将块群组为离散集群(cluster)。根据本发明一个实施例,可以使用k-means聚类算法执行群聚。在图4和图5示出的示例中,通过使用k-means聚类以及对应的集群id将稀疏表示群组为32个集群来发现集群。以另一种方式陈述,图4和图5说明了微扫视策略。图4示出对应于训练图像401的确定集群的集群id402。图5说明训练图像501、集群表示502以及使用集群表示503的块的示例性重建。

在方框104处,生成一组可以被应用于全部图像的扫视路径(见601,图6)。这可以是图像内全部可能的路径(例如,可在小图像内实行)或者它们的子集(例如,更好的适用于大图像)。每个路径以诸如[(块id1)(方向1)(块id2)(方向2)(块id3)…(方向n)(块idn+1)]的格式编码,其中,对于n步的扫视,块idi是在步骤i的块位置,方向i是从块i到块i+1的方向。方向可以被编码,例如,如602所示其中上方向对应“2”,右方向对应“4”,等等。使用602的示例性方向性编码以编码路径601产生扫视路径编码603,包含块id6、10、11和12以及方向4、6和6。

在方框105处,使用集合内的每个扫视路径扫描训练集内,例如701内,的每个图像。对于每个扫描路径,例如702,在由图像内发现的集群id代替块id处创建序列(见703):[(集群id1)(方向1)(集群id2)(方向2)(集群id3)…(方向n)(集群idn+1)],自此被称作集群-方向序列704。

在方框106处,对于每个这样的序列,其可标记有序列id,系统记录以及计数用于发现它的图像标签。这个过程创建具有每个序列id以及具有对于每个图像标签出现的序列的频率的表格,自此被称作序列-频率表格(见例如,表格1000,图10)。最显著序列是那些对于图像标签的仅一个或小数量具有高频率的序列。显著和非显著序列的示例如表格1000所示。高亮行1001示出显著序列,数位(digit)5远比其它数字出现得更频繁。

根据本发明一个实施例,序列id与对于已经在过去出现的序列的全部种类/对象相关。已经被特定种类/对象看到的频率在序列-频率表格内给出。如果那个种类/对象被那个特定序列唯一识别,序列id可以与唯一种类/对象相关。

在方框107处,序列-频率表格用来生成策略函数,存储为策略矩阵,其可引导作为未发现连续块的方向指引。策略函数由开始于给定集群的向前全部集群方向序列创建。对于每个这样给定的集群,策略函数探测每个可能的方向,并递归地跟随它从集群-方向组合开始通过每个可能的扫视路径。策略函数然后通过对具有集群-方向开始的每个序列的正确识别可能性的频率-加权平均来计算该方向的分数。由于策略矩阵递归地生成,[集群id-方向-集群id…]的连续组合的分数同样存储在策略矩阵内,从而允许随连续块未被覆盖且得到新的信息而调整分数。

在方框108处,新图像呈现在测验集内(见流程800,图8)。根据本发明一个实施例,测验图片内的初始块被选为801或者随机,或者使用已知技术识别图像内的显著特征。在测验图像的选中块处开始,邻近的块组被反复选择。在方框802处,属于被选择块的集群被识别。在方框803处,关于正确识别的可能性或测验图像的识别度的置信度被评估。当连续块被选择,归属于选择块的新信息可以被用作进入策略矩阵以生成806处新的或更新的方向的输入。关于块的方向将在下一步被选择(同样见图6)。块被连续的选择直到获得正确识别的可接受的可能性(见方框803)或者已经达到扫视的最大数量(见方框804)。在方框806处,策略矩阵被用于生成新的或者更新的方向。一旦获得正确识别的可能性,或者已经达到扫视的最大数量,系统识别测验图像的图像种类。

应该被理解图像的识别与置信度相关,且一旦置信度满足阈值置信度则识别进行。阈值置信度可以由主题专家预先确定,设置为默认值,在训练阶段设置,等等。

根据本发明实施例,系统具有在线学习模式,其中策略矩阵基于其在测验集内产生的每个新观测的结果调整其策略。

图9是根据本发明示例性实施例使用学习的策略以引导扫视路径(902)vs.随机选择方向性步骤(903)的测验集精度图表900。

根据本发明一个或多个实施例,在识别图像的方法中(见图13),计算机系统接收在方框1301处训练集内的新图像。之前确定的扫视路径集合(例如,在训练中确定的扫视路径集合)应用于测验图像。对于每个扫视路径,计算机系统在块id被图像内发现的集群id替代的方框1302处创建序列。对于每个序列,计算机系统使用方框1303处的序列-频率表格检索训练集内每个图像出现序列的频率,抛弃之前还没有遇到的序列。对于每个发现的序列,计算机系统归一化频率来为识别种类中的每个对象提供概率,且在方框1304处对这些概率取平均值,可能地由反映序列显著性和其出现的总计频率的系数加权每个序列。通过将信息组合到多个扫视上,计算机系统在方框1305处识别接收到图像的图像种类。

序列频率表格1100的采样行应用于标签为‘9’(1101)的测验图像且对在图11中显示的全部行归一化总和,其精度显示在图12,表1200中。

再现(recapitulation)

根据本发明一个实施例,确定识别图像内特定、显著特征的方法,其中当被结合到一起时,通过判断显著特征集合是否能以高概率识别唯一种类来引导图像的分类。通过其他种类的逐步排除,分类发生。分类的示例包含9mnist位(手写位的mnist(mixednationalinstituteofstandardsandtechnolohy)数据库),或图像网内的图像种类(根据worldnet层次组织的图像数据库),例如,猫、狗、飞机,等等。

在一个示例性实施中,给定输入图像,方法打开初始块,且发现其是一种动物,但是不具有充足的置信度知道是哪个动物。策略矩阵引导此方法查看被相信包含动物头部的图像特定部分的中心,其帮助排除一个或多个动物种类(例如,本方法可以排除鸟、但是无法排除狗、猫或者马)。基于策略矩阵,本方法理解下一个有区别的显著特征是耳部,且本方法继续向上检查被认为包含耳部的图像部分。给定这个附加信息,本方法在以高置信度识别图像属于狗的一种,但是然而不知道是什么品种。决定其是狗的条件包含查阅其策略矩阵,其找到正在被处理或“查看”的特定序列在所有过去示例中已经被分类为狗。再次查阅策略矩阵,本方法了解哪里寻找可以在狗种类内部区分狗类别诸如德国牧羊犬或贵宾犬的更合适的特征。此种类可以在层次内的任何粒度级别,例如,动物、狗、贵宾犬,等等。

公开实施例的方法论可特定地很好适用于在电子装置或可替代系统中使用。因此,本发明实施例可采取整体硬件实施例或者结合软件和硬件方面的实施例的形式,其在本文中可统称为“处理器”“电路”“模块”或“系统”。

此外,应该被注意到在此描述的任何方法可以包含提供具有扫视视觉能力计算机系统的附加步骤。另外,计算机程序产品可以包含切实的计算机可读可记录储存介质,其具有适应于执行完成一个或多个在此描述的方法步骤的代码,包含为系统提供不同的软件模块。

参考图14;图14是根据本发明实施例的描述体现具有扫视视觉能力的计算机系统的示例性计算机系统的框图。图14中所示的计算机系统包含处理器1401、存储器1402、显示器1403、输入装置1404(例如,键盘)、网络接口(i/f)1405、介质i/f1406以及介质1407,诸如信号源,例如,照相机、硬盘驱动器(hd)、外部存储器装置,等等。

在不同应用中,图14中所示的一些元件可以被省略。图14中所示的整个系统由计算机可读指令控制,其总体上存储在介质1407内。软件可以从网络中(图片中未示出)下载,存储在介质1407内。可替代的,从网络中下载的软件可以下载到存储器1402内且由处理器1401执行以便完成由软件确定的函数。

处理器1401可配置来执行一个或多个本公开中描述的方法论,上图中所示且在此描述的说明性实施例。本发明实施例可以被实施为存储在存储器1402内以及由处理器1401执行以处理介质1407的信号的路径。如果这样,当执行本公开的路径时计算机系统由通用计算机系统成为专用计算机系统。

根据本公开虽然图14中描述的计算机系统可以支持方法,此系统仅是计算机系统的一个示例。本领域技术人员应该理解其它计算机系统设计可以被用于实施本发明实施例。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备、或者通过网络、例如因特网、局域网、广域网/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而产生出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在这里的术语仅用于描述特定实施例的目的且不打算限制本发明。如这里所用,单数形式“一”、“一个”以及“所述”同时包含复数形式,除非上下文清楚的指示。更进一步的理解术语“包括”和/或“包含”当用在此说明书内,规定陈述的特征、整体、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或组合的存在或附加。

所有方式对应的结构、材料、行为以及等同物或者下方权利要求书内的步骤加功能元件打算包含用于执行与特别要求的其它要求的元件结合的功能的任意结构、材料或者行为。本发明的描述已经被呈现于说明和描述的目的,但是不打算详尽的或者限制于本发明公开的形式。诸多修改和变化对于本领域技术人员是显而易见的且不背离本发明的范围和精神。实施例被选择和描述从而最好的解释发明的原则以及实际的应用,并且使得本领域的其他技术人员理解具有多种修改的多种实施例的发明适合于特定的预期使用。

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