基于事件的下采样方法、设备、装置及介质转让专利

申请号 : CN201580049456.X

文献号 : CN106716439B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : V·兰甘W·H·康斯坦伯X·王M·拉斯托奇

申请人 : 高通股份有限公司

摘要 :

一种基于事件的下采样方法包括接收与地址和时间戳相对应的多个传感器事件。该方法进一步包括基于这些时间戳和地址来对这些地址进行空间下采样。该方法还可包括基于该下采样来更新该多个传感器事件中的每一个传感器事件的像素值。

权利要求 :

1.一种经由计算机系统进行基于事件的下采样的计算机实现的方法,包括:接收多个传感器事件,所述多个传感器事件中的每一个传感器事件与地址和时间戳相对应;

从所述多个传感器事件中选择第一传感器事件;

确定在与所述第一传感器事件相对应的时间戳的预定时间内接收到来自所述多个传感器事件的第二传感器事件;以及基于在所述预定时间内接收到所述第二传感器事件来对所述第一传感器事件和所述第二传感器事件进行空间下采样。

2.如权利要求1所述的计算机实现的方法,其特征在于,进一步包括,至少部分地基于所述下采样来更新所述第一传感器事件和所述第二传感器事件的像素值。

3.如权利要求1所述的计算机实现的方法,其特征在于,空间下采样包括将原始坐标系映射到下采样出的坐标系。

4.如权利要求3所述的计算机实现的方法,其特征在于,空间下采样包括丢弃与所述第一传感器事件和所述第二传感器事件相对应的每一个地址的至少一个最低有效位。

5.如权利要求1所述的计算机实现的方法,其特征在于,进一步包括,通过将时间戳值计算为与所述第一传感器事件和所述第二传感器事件相对应的时间戳的函数来在时间上进行下采样。

6.如权利要求1所述的方法,其特征在于,进一步包括,在预定时间跨度内在具有共同地址的多个传感器事件具有不同时间戳时通过选择与特定时间戳相对应的特定传感器事件来在时间上进行下采样。

7.一种用于基于事件的下采样的设备,包括:

用于接收多个传感器事件的装置,所述多个传感器事件中的每一个传感器事件与地址和时间戳相对应;

用于从所述多个传感器事件中选择第一传感器事件的装置;

用于确定在与所述第一传感器事件相对应的时间戳的预定时间内接收到来自所述多个传感器事件的第二传感器事件的装置;以及用于基于在所述预定时间内接收到所述第二传感器事件来对所述第一传感器事件和所述第二传感器事件进行空间下采样的装置。

8.如权利要求7所述的设备,其特征在于,进一步包括,用于至少部分地基于所述下采样来更新所述第一传感器事件和所述第二传感器事件的像素值的装置。

9.如权利要求7所述的设备,其特征在于,所述用于空间下采样的装置包括用于将原始坐标系映射到下采样出的坐标系来进行下采样的装置。

10.如权利要求9所述的设备,其特征在于,所述用于空间下采样的装置包括用于丢弃与所述第一传感器事件和所述第二传感器事件相对应的每一个地址的至少一个最低有效位的装置。

11.如权利要求7所述的设备,其特征在于,进一步包括,用于通过将时间戳值计算为与所述第一传感器事件和所述第二传感器事件相对应的时间戳的函数来在时间上进行下采样的装置。

12.如权利要求7所述的设备,其特征在于,进一步包括,用于在预定时间跨度内在具有共同地址的多个传感器事件具有不同时间戳时通过选择与特定时间戳相对应的特定传感器事件来在时间上进行下采样的装置。

13.一种用于基于事件的下采样的装置,包括:

存储器单元;以及

耦合至所述存储器单元的至少一个处理器,所述至少一个处理器被配置成:接收多个传感器事件,所述多个传感器事件中的每一个传感器事件与地址和时间戳相对应;

从所述多个传感器事件中选择第一传感器事件;

确定在与所述第一传感器事件相对应的时间戳的预定时间内接收到来自所述多个传感器事件的第二传感器事件;以及基于在所述预定时间内接收到所述第二传感器事件来对所述第一传感器事件和所述第二传感器事件进行空间下采样。

14.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少部分地基于所述下采样来更新所述第一传感器事件和所述第二传感器事件的像素值。

15.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成:通过将原始坐标系映射到下采样出的坐标系来进行空间下采样。

16.如权利要求15所述的装置,其特征在于,所述至少一个处理器被进一步配置成:通过丢弃与所述第一传感器事件和所述第二传感器事件相对应的每一个地址的至少一个最低有效位来进行空间下采样。

17.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成:通过将时间戳值计算为与所述第一传感器事件和所述第二传感器事件相对应的时间戳的函数来在时间上进行下采样。

18.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成:在预定时间跨度内在具有共同地址的多个传感器事件具有不同时间戳时通过选择与特定时间戳相对应的特定传感器事件来在时间上进行下采样。

19.一种其上记录有程序代码的非瞬态计算机可读介质,所述程序代码用于基于事件的下采样,所述程序代码由处理器执行以:接收多个传感器事件,所述多个传感器事件中的每一个传感器事件与地址和时间戳相对应;

从所述多个传感器事件中选择第一传感器事件;

确定在与所述第一传感器事件相对应的时间戳的预定时间内接收到来自所述多个传感器事件的第二传感器事件;以及基于在所述预定时间内接收到所述第二传感器事件来对所述第一传感器事件和所述第二传感器事件进行空间下采样。

20.如权利要求19所述的计算机可读介质,其特征在于,所述程序代码进一步由所述处理器执行以至少部分地基于所述下采样来更新所述第一传感器事件和所述第二传感器事件的像素值。

21.如权利要求19所述的计算机可读介质,其特征在于,所述程序代码进一步由所述处理器执行以将原始坐标系映射到下采样出的坐标系。

22.如权利要求21所述的计算机可读介质,其特征在于,所述程序代码进一步由所述处理器执行以丢弃与所述第一传感器事件和所述第二传感器事件相对应的每一个地址的至少一个最低有效位。

23.如权利要求19所述的计算机可读介质,其特征在于,所述程序代码进一步由所述处理器执行以通过将时间戳值计算为与所述第一传感器事件和所述第二传感器事件相对应的时间戳的函数来在时间上进行下采样。

24.如权利要求19所述的计算机可读介质,其特征在于,所述程序代码进一步由所述处理器执行以在预定时间跨度内在具有共同地址的多个传感器事件具有不同时间戳时通过选择与特定时间戳相对应的特定传感器事件来在时间上进行下采样。

说明书 :

基于事件的下采样方法、设备、装置及介质

[0001] 相关申请的交叉引用
[0002] 本申请根据35U.S.C.§119(e)要求于2014年9月16日提交的题为“EVENT BASED DOWN SAMPLING(基于事件的下采样)”的美国临时专利申请号 62/051,121的权益,其公开通过引用整体明确地纳入于此。

背景技术

[0003] 领域
[0004] 本公开的某些方面一般涉及神经系统工程,尤其涉及用于基于事件的下采样的系统和方法。
[0005] 背景技术
[0006] 机器视觉使得机器能够看见和感知。在常规系统中,传感器(诸如摄像机) 被用于机器视觉。摄像机可被称为基于帧的视觉传感器,因为摄像机从光敏元件的二维阵列周期性地采样视觉数据。相反,人类视网膜是基于事件的视觉传感器的示例。也就是说,视网膜中的个体神经元对视场的一部分是灵敏的以使得在视场的该部分存在变化时,每个神经元向大脑发送信号。与常规的基于帧的摄像机不同,不存在对视网膜中的所有神经元的周期性采样。相反,每当存在瞬态视觉事件时,视觉数据就由视网膜传送。
[0007] 与视网膜类似,动态视觉传感器(DVS)包括检测和传送视觉事件的光敏元件阵列。当视觉场景的一部分处的亮度存在变化时,动态视觉传感器的个体光敏元件传送信号。作为示例,事件驱动的对象检测系统可使用动态视觉传感器来检测移动的对象(诸如面部或汽车),并且基于先前训练来实时地对检测到的对象进行分类。
[0008] 在一些情形中,基于事件的采样被指定成提高时间灵敏度。也就是说,基于帧的传感器可被限于以基于帧的传感器能藉以读取图像数据帧的速度为基础来采样视觉信息。相反,动态视觉传感器内的光敏元件可基于该光敏元件能藉以检测视场的一部分的变化的速度来采样视觉信息。除了提高的时间灵敏度以外,光敏元件与基于帧的传感器相比可平均上消耗更少的功率,因为光敏元件在视觉场景不存在变化时保持不活跃。
[0009] 尽管如此,提高的时间灵敏度和更低的功耗尚未在常规的基于事件的视觉系统中完全实现。具体地,用于基于事件的传感器输出的已知处理技术的数目小于用于基于帧的视觉传感器的机器视觉技术的数目。为基于帧的传感器开发的常用技术包括高效下采样、亚采样、内插、快速傅里叶变换、以及基于神经网络的对象分类。
[0010] 在一些情形中,为了改进已为基于帧的机器视觉系统开发出的技术,动态视觉传感器的输出可被用于周期性地重构图像帧。此外,常规图像处理技术可被应用于结果所得的帧。然而,向图像帧的转换可能降低基于事件的视觉系统的性能。由此,将基于帧的技术转换成基于事件的系统而不降低基于事件的传感器的性能是合乎期望的。
[0011] 概述
[0012] 在本公开的一个方面,公开了一种基于事件的下采样方法。该方法包括接收与地址和时间戳相对应的多个传感器事件。该方法还包括基于这些时间戳和地址来对这些地址进行空间下采样。
[0013] 本公开的另一方面涉及一种设备,其包括用于接收与地址和时间戳相对应的多个传感器事件的装置。该设备还包括用于基于这些时间戳和地址来对这些地址进行空间下采样的装置。
[0014] 在本公开的另一方面,公开了一种其上记录有程序代码的非瞬态计算机可读介质。用于基于事件的下采样的程序代码由处理器执行并且包括用于接收与地址和时间戳相对应的多个传感器事件的程序代码。该程序代码还包括用于基于这些时间戳和地址来对这些地址进行空间下采样的程序代码。
[0015] 本公开的另一方面涉及一种用于基于事件的下采样的装置,其具有存储器以及耦合至该存储器的一个或多个处理器。(诸)处理器被配置成接收与地址和时间戳相对应的多个传感器事件。(诸)处理器还被配置成基于这些时间戳和地址来对这些地址进行空间下采样。
[0016] 本公开的附加特征和优点将在下文描述。本领域技术人员应该领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
[0017] 附图简要说明
[0018] 在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
[0019] 图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。
[0020] 图2解说了根据本公开的各方面的系统的示例实现。
[0021] 图3解说了根据本公开的某些方面的事件驱动的对象检测系统的组件的示例。
[0022] 图4解说了经由基于事件的传感器生成的多个像素的示例。
[0023] 图5解说了根据本公开的一方面的级联下采样和卷积的示例。
[0024] 图6和7是解说根据本公开的各方面的用于基于事件的下采样的方法的流程图。
[0025] 详细描述
[0026] 以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
[0027] 基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
[0028] 措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
[0029] 尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
[0030] 事件驱动的对象检测系统
[0031] 如先前所讨论的,事件驱动的对象检测系统可使用动态视觉传感器(DVS) 来检测移动的对象(诸如面部或汽车),并且基于先前训练来实时地对检测到的对象进行分类。系统中的计算可由传感器事件来触发。事件驱动的对象检测系统可被称为检测系统。
[0032] 本公开的各方面涉及将图像处理技术应用于基于事件的传感器的输出。图像处理技术可以执行基本上类似于应用于基于帧的视觉系统的技术的功能。更具体地,本公开的各方面涉及改进事件驱动的对象检测的基于事件的处理技术。在一种配置中,动态视觉传感器输出被下采样并且与可重用的内核进行卷积。
[0033] 根据本公开的一方面,当事件被生成时,检测系统处理视觉输入。也就是说,当事件未从动态视觉传感器输出时,检测系统不执行处理。例如,动态视觉传感器可以是监视系统的一部分并且可被指向走廊和门。如果场景中不存在变化,则动态视觉传感器将不发送任何输出,并且因此,检测系统将不执行任何计算。当场景中存在变化时,动态视觉传感器可产生输出,并且基于事件的检测系统可执行计算。例如,当人穿过门时,聚焦在门道上的动态视觉传感器可产生输出。
[0034] 基于事件的系统的处理负荷与传感器事件速率呈线性比例关系。相反,基于帧的系统的处理负荷与帧速率呈线性比例关系。当事件速率小于帧速率时,如在上述监视系统中,基于事件的系统的检测性能可作为功耗的函数得到改进。然而,在事件速率超过帧速率的场景中,例如,当动态视觉传感器的视场包括无人驾驶飞行器的旋转叶片时,基于事件的系统的功耗可能超过忽略该旋转叶片的个体旋转的基于帧的系统的功耗。当增大数目的传感器事件未产生期望的系统性能(例如,对象检测准确度)提高时,可能期望对传感器事件下采样。根据本公开的各方面,传感器事件可被空间和/或时间下采样。
[0035] 图1解说了根据本公开的某些方面的使用片上系统(SOC)100的前述基于事件的下采样的示例实现,SOC 100可包括通用处理器(CPU)或多核通用处理器(CPU)102。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,带有权重的神经网络)、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块、与CPU 102相关联的存储器块、与图形处理单元(GPU)104相关联的存储器块、与数字信号处理器(DSP)106相关联的存储器块、专用存储器块118中,或者可跨多个块分布。在通用处理器102处执行的指令可从与CPU 102相关联的程序存储器加载或可从专用存储器块118加载。
[0036] SOC 100还可包括为具体功能定制的附加处理块(诸如GPU 104、DSP 106、连通性块110(其可包括第四代长期演进(4G LTE)连通性、无执照Wi-Fi连通性、USB连通性、蓝牙连通性等))以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100 还可包括传感器处理器114、图像信号处理器(ISP)、和/或导航120(其可包括全球定位系统)。
[0037] SOC 100可基于ARM指令集。在本公开的一方面,加载到通用处理器102 中的指令可包括用于接收与地址和时间戳相对应的多个传感器事件的代码。加载到通用处理器102中的指令还可包括用于基于这些时间戳和地址来对这些地址进行空间下采样的代码。
[0038] 图2解说了根据本公开的某些方面的系统200的示例实现。如图2中所解说的,系统200可具有可执行本文所描述的方法的各种操作的多个局部处理单元202。每个局部处理单元202可包括局部状态存储器204和可存储神经网络的参数的局部参数存储器206。另外,局部处理单元202可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器208、用于存储局部学习程序的局部学习程序(LLP)存储器210、以及局部连接存储器212。此外,如图2中所解说的,每个局部处理单元202可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元214对接,并且与提供各局部处理单元202 之间的路由的路由连接处理单元216对接。
[0039] 根据本公开的各方面,检测系统包括用于处理数据的各种组件。作为示例,如图3中所示,检测系统可包括动态视觉传感器(DVS)组件、事件驱动的短时空间离散傅里叶变换(DFT)组件、事件驱动的特征提取组件、以及事件驱动的分类组件。
[0040] 在一种配置中,动态视觉传感器是检测事件的传感器。如先前所讨论的,事件是从光电传感器元件处接收到的强度的变化生成的。例如,动态视觉传感器可以是来自iniLabs的DVS128传感器。传感器阵列可具有N x N(N=128) 的大小,其中每个像素是时间上的亮度对数的等级跨越采样器。像素的时间分辨率在10微秒的数量级上。动态视觉传感器的输出可以是极化的、坐标寻址的事件序列{(tk;pk;μk;vk)},其中tk和pk是事件的时间戳和极性且(μk;vk)是事件k在时间tk处的像素坐标。此处, 且μk,νk∈{1,...,128}。
[0041] 像素响应函数可被定义为:
[0042] 其中(μ,ν)∈{1,...,128}2为对像素进行索引,δ是克罗内克(Kroenecker)△,而δ()是狄拉克(Dirac)△函数。该矩阵还可被写为:
[0043] X(t)=[xμ,ν](t)   (2)
[0044] 事件驱动的短时空间DFT(eSTsDFT)组件可以接收事件序列{(tk;pk;μk;vk)} 作为输入并且输出实时复数N x N(N=128)矩阵。事件序列可在一个或多个数据分组中被接收。短时空间DFT矩阵 可被计算为:
[0045]
[0046] 其中第N阶DFT矩阵(SN)可被计算为:
[0047]
[0048]
[0049] 其中 是n次单位根且 是SN的第(n+1)列。
[0050] 此外,w(-t)=θ(t)exp(-w0t)是指数短时窗函数。事件驱动的短时空间DFT 模块可计算每个传感器事件{tk}处的 的值。在一种配置中,传感器事件首先被相应地下采样,并且事件驱动的短时空间DFT模块一旦接收到每个下采样出的事件就计算短期空间DFT的值
[0051] 事件驱动特征提取(eFE)组件可进一步将经处理事件流的维度从事件驱动的短时空间DFT模块的N x N x 2维度(如果未被空间下采样,则N=128) 减小至L=64维特征向量(例如,从128 128个复数减小至64个实数)。具体地,L个特征可以是 的分档瞬时频谱功率, 其中* 是共轭转置且 是对数线性变换函数。
[0052] 可被写为128x128维向量x,且线性函数 可被表达为矩阵乘法,继之以对数 其中 是大小为64x(128x128)的二进制矩阵,其可包含大小为
32x(128x128)的两个分量,对应于32个半径和32 个角度功率分档。这些矩阵被常数赋值并且被在先计算。例如,可从对所收集的训练数据训练机器学习算法来生成矩阵。替换地,这些矩阵可以是用户指定的。
[0053] 事件驱动特征提取(eFE)组件可按照基于事件的方式计算y(t)的值。例如,可计算每个传感器事件分组或包括多个事件的分组群的结束处的y(t)。
[0054] 分类组件(诸如事件驱动的支持向量分类(eSVM)组件)藉由具有高斯径向基函数(RBF)作为内核的支持向量机基于由eFE组件提取的实时特征向量y(t)来计算时变类标签函数z(t)(例如,z(t)=ψ(y(t)))。
[0055] 事件驱动的支持向量分类组件可计算在自上一分类起的至少Δtmin发生的每个传感器事件分组或分组群的结束处的z(t)的值。如以下所述,表1指定到系统的组件的输入对象/从系统的组件的输出对象的数学描述。在本申请中,组件可被称为模块。尽管表1中的更新调度指示事件驱动的短时空间DFT模块可对每个事件进行更新,但是本公开并不如此限定。根据本公开的各方面,事件驱动的短时空间DFT模块可在每个下采样出的事件之后或者在接收到多个下采样出的事件之后进行更新。
[0056] 表1
[0057]
[0058] 表2和3提供了用于事件驱动的短时空间DFT的常数和状态变量。表4 是用于检测系统的单次迭代的伪代码,在该单次迭代期间来自动态视觉传感器的长度为K的事件分组被处理。
[0059] 表2
[0060] 常数变量 类型 维度 描述ω0 实数 1x1 窗函数参数(设为10Hz)
S128 复数 128x128 128阶DFT矩阵
Φ 稀疏二进制 64x(128x128) 特征矩阵
Δtmin 实数 1x1 最小分类间隔(设为100ms)
[0061] 表3
[0062]
[0063] 表4
[0064]
[0065] 基于事件的空间下采样
[0066] 常规图像处理技术对图像进行下采样并且将下采样出的图像与内核卷积。该内核可被称为卷积矩阵或掩码。尽管如此,在常规系统中,下采样技术未被指定用于基于事件的传感器。因此,期望指定基于事件的采样技术(诸如下采样和/或级联下采样)以用于基于事件的传感器的输出。此外,期望将下采样出的输出与内核卷积。该内核可被重用以改进性能。
[0067] 对于卷积,图像中的像素的值通过将每个内核值乘以对应的图像像素值来计算。如果要处理大图像,则卷积处理可能降低性能。也就是说,由于图像中的每个像素被卷积,所以期望在将图像与内核卷积之前对图像进行下采样。
[0068] 在一种配置中,基于事件的图像在每个x和y方向上被缩放2的幂。当然,该缩放不限于2的幂并且事件可被缩放任何期望因子。在一种配置中,为了缩放图像,来自激活的传感器(诸如光电传感器)的事件被选择,并且来自行和列地址的最低有效地址位被丢弃。该事件可由(tk;pk;μk;vk))指定,其中tk和pk是事件的时间戳和极性且(μk;vk)是事件k在时间tk处的像素坐标。
[0069] 图4解说了像素的行和列的示例。在此示例中,选择具有相同颜色的像素以供下采样。例如,像素(0,0)、(0,1)、(1,0)和(1,1)具有相同颜色。由此,在此示例中,像素(0,0)、(0,1)、(1,0)和(1,1)的一个或多个最低有效位被丢弃以获得一个地址(0,0)。也就是说,在此配置中,对于每个方向上的1/2下采样,x和y 方向上的毗邻像素被组合在一起。在一种配置中,当每个像素的时间戳在预定时间跨度内时,执行一个或多个最低有效位的丢弃。附加或替换地,在一种配置中,在对地址进行下采样之后,原始坐标系被映射到下采样出的坐标系。该映射可在每个地址被下采样之后或者在数个地址被下采样之后(诸如在所有地址被下采样时)被执行。
[0070] 另外,在一种配置中,如果光敏元件在预定时间跨度内生成多个事件,则其中一个或多个事件被选择以供输出。在此配置中,基于事件的时间向结果所得的时间下采样出的事件流中的事件指派时间戳。由此,在一个示例中,如果在预定时间跨度内存在来自一个光敏元件的两个或更多个事件,则第一事件或最后一个事件可被选作输出。此外,指派给第一事件的时间戳可以是该事件的原始时间戳。在另一示例中,新时间戳可被指派给与在预定时间跨度内接收的两个或更多个时间戳的平均值相对应的输出事件。
[0071] 时间下采样可被应用于包括多个事件或者多个数据分组的事件数据分组。如果多个像素事件在相同事件分组中或者在预定时间跨度内的分组群内生成,则指派给下采样出的事件的时间戳可以是该多个像素事件的最新近时间戳、该多个像素事件的最早时间戳、和/或该多个像素事件的平均时间戳。
[0072] 时间下采样的时间跨度可以第一事件分组的接收为基准。根据本公开的各方面,在接收到数据分组时,或者在接收到数据分组后的预定时段之后,可触发下采样和后续处理步骤。
[0073] 另外,空间和时间下采样可被同时应用,以使得输出事件与输入事件相比具有较低空间特异性。此外,可基于输入事件向输出事件指派经修改时间戳。
[0074] 根据本公开的一方面,与传感器或传感器群相关联的像素值基于下采样来更新。例如,可从一个传感器接收两个或更多个事件(诸如正极性事件)并且可基于时间下采样来丢弃其中一个或多个事件。由此,在此示例中,更新可通过将与剩余事件相关联的像素值增大2倍来执行以抵消丢弃的亮度信息。
[0075] 图5解说了根据本公开的一方面的下采样的示例。如图5中所示,下采样可被级联以改进性能。具体地,如图5中所示,与地址和时间戳相对应的多个像素值500被接收。在一种配置中,这些像素在第一卷积器502处被卷积并且这些像素还经由第一下采样器504来下采样。在一种配置中,卷积与下采样是分开的。从第一下采样器504下采样出的像素可经由第二卷积器506来卷积。此外,从第一下采样器504下采样出的像素还可经由第二下采样器508来下采样。另外,经由第二下采样器508下采样出的像素可附加地经由第三卷积器510 来卷积。当然,用于将下采样与卷积级联的过程并不限于图5中所示的两个下采样器和三个卷积器。本公开的各方面还被构想用于按需的任何数目的下采样器和卷积器。
[0076] 图6解说了根据本公开的各方面的基于事件的下采样的框图600。如图6 中所示,在框602,系统接收与地址和时间戳相对应的多个传感器事件。此外,在框604,该系统基于这些时间戳和地址来对这些地址进行空间下采样。
[0077] 在一些方面,基于事件的下采样可被应用于其他模态中的基于事件的传感器。例如,基于事件的下采样方法可被应用于表示听觉刺激的人工耳蜗的输出,或者可被应用于触控板的触敏元件的输出。
[0078] 图7解说了根据本公开的一方面的基于事件的下采样的流程图700。如图 7中所示,在框702,系统接收与地址和时间戳相对应的多个传感器事件。另外,在框704,系统基于时间戳确定具有共同地址的多个传感器事件是否在彼此的预定时间内生成。如果多个传感器事件不是在彼此的预定时间内生成,则该系统不对这些地址进行下采样(框706)。在另一配置中,系统对与特定时间戳(未示出)相对应的地址进行下采样。此外,卷积与这些地址相对应的像素值(框710)。
[0079] 如果多个传感器事件在彼此的预定时间内生成,则在框708,系统基于这些时间戳和地址来对这些地址进行空间下采样。另外,在框710,卷积与这些地址相对应的像素值。
[0080] 在一种配置中,模型(诸如基于事件的模型或机器学习模型)被配置成用于接收与地址和时间戳相对应的多个传感器事件并且基于这些时间戳和地址来对这些地址进行空间下采样。该模型包括接收装置和/或空间下采样装置。在一个方面,接收装置和/或空间下采样装置可以是配置成执行所叙述功能的通用处理器102、与通用处理器102相关联的程序存储器、存储器块118、局部处理单元202、和/或路由连接处理单元216。在另一配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何装置。
[0081] 根据本公开的某些方面,每个局部处理单元202可被配置成基于模型的一个或多个期望功能特征来确定模型的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能特征朝着期望的功能特征发展。
[0082] 以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
[0083] 如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。
此外,“确定”可包括解析、选择、选取、确立及类似动作。
[0084] 如本文中所使用的,引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖: a、b、c、a-b、a-c、b-c、以及a-b-c。
[0085] 结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
[0086] 结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器 (RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。
[0087] 本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
[0088] 所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。
[0089] 处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
[0090] 在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/ 或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
[0091] 处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文所述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列 (FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
[0092] 机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。
[0093] 如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和 碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
[0094] 因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
[0095] 此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文所描述的方法和技术的任何其他合适的技术。
[0096] 将理解,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。