用于基于事件的视觉传感器的数据速率控制的制作方法

文档序号:18554020发布日期:2019-08-30 22:20阅读:216来源:国知局
用于基于事件的视觉传感器的数据速率控制的制作方法

本申请要求2016年12月30日提交的瑞士临时专利申请号ch20160001764和2016年12月30日提交的瑞士临时专利申请号ch20160001765的优先权,它们的全部内容通过引用并入本申请。



背景技术:

当今机器视觉主要基于传统照相机及其相关联的基于帧的图像传感器。对于一些机器视觉任务,例如物体识别,这些传统的基于帧的照相机非常适合。然而,对于其他任务,例如跟踪或位置和运动估计,传统的图像传感器具有缺点。

主要的缺点是,传统的照相机产生大量的冗余和不必要的数据,这些数据必须被捕获、通信和处理。这种高数据负载通过降低时间分辨率来减缓反应时间,导致功率消耗增加,并增加机器视觉系统的尺寸和成本。此外,大多数图像传感器具有有限的动态范围、较差的低光性能和运动模糊。

这些缺点是由于数据被捕获为静止图像(帧)的序列而产生的。在某些情况下,将动态场景编码为静止图像对于产生漂亮的图像和电影是有用的,但对于数据处理不是最佳的,但是这对于许多机器视觉使用来说并不那么重要。

使用传统照相机的传统计算机视觉系统通常比较顺序图像帧之间的特征用于目标识别。为了估计移动系统的位置和方向并推断周围世界的三维地图,比较两个顺序图像,它们部分重叠,但在不同的时间和不同的姿态下拍摄。为了推断两帧之间发生的运动,必须在两个图像上匹配特征视觉地标(关键点或其他视觉特征)。在两个图像中找到彼此对应的这些点对被称为解决“对应问题”。

解决对应问题需要大量的处理能力。为了检测地标,可能必须搜索图像中的每一个像素以寻找个性特征(角、弧度、边缘等)。然后对像素及其周围的像素邻域进行分组以表征所谓的特征描述符,这些特征描述符随后用于匹配帧之间的特征并由此建立对应点对。这是计算密集型的。直接比较像素强度的直接方法在计算上更加复杂。

另一方面,所谓的动态视觉传感器(dvs)或基于事件的变化检测传感器是克服基于帧的编码的局限性的传感器。通过使用像素内数据压缩,数据冗余被移除,并且实现高时间分辨率、低延迟、低功耗、具有很少运动模糊的高动态范围。因此,dvs特别适合于太阳能或电池供电的压缩感测或移动机器视觉应用,其中系统的位置必须被估计并且由于电池容量有限而处理功率受限。

dvs在本地对视觉信息进行预处理。代替产生清晰图像,dvs产生用于计算机应用的智能数据。虽然传统的图像传感器捕获电影作为一系列静止图像,但dvs检测并仅传输场景中的变化的位置。因此,它比传统照相机更有效地编码视觉信息,因为它编码像素内数据压缩。具体地,dvs不是将帧编码为图像数据,而是检测变化并将这些变化编码为变化事件。这意味着可以使用更少的资源、更低的净功率和更快的系统反应时间来处理数据。高时间分辨率允许连续跟踪视觉特征,从而克服对应问题。此外,dvs的架构允许高动态范围和良好的低光性能。



技术实现要素:

dvs或变化检测传感器的一般特性是输出数据速率是可变的,因为事件速率取决于传感器正在观察的场景以及传感器配置。

要从传感器读出的变化事件的可变量可以在传感器和系统级上提出问题,特别是如果要读出的事件多于处理器可以实时处理的事件。

如果不能处理事件,则丢弃这些事件,导致数据丢失,因此系统丢失关于其状态(例如关于其移动和位置)的信息。在变化检测传感器的情况下,例如,结果可能是传感器将错过在其像素场的一部分中发生的事件。

将传感器的配置适配到场景允许具有尽可能多的必要数据但不是太多的数据,使得整个系统获得尽可能多的关于其状态的信息。另一方面,可以基于传感器的状态来控制事件的数量。例如,为了降低功率,可能期望减少诸如在睡眠周期期间的事件的数量,然后增加在正常操作模式期间的事件的数量。

这里提出的系统改变芯片或传感器配置以控制或调制事件速率。例如,该控制可以用于保持事件速率接近期望速率或在期望的界限内。

然而,在给定时间片段期间产生的事件量只能在输出和计数它们之后确定。这里,一些实施例使用事件计数估计器,其允许在读取它们之前对待处理事件的数量进行粗略估计。

通过对待处理的事件数量的粗略估计,系统可以决定它是否能够处理数据并读出它们,或者如果事件太多(或太少),系统可以用较高的阈值重做变化检测,从而得到较少的事件(或用较低的阈值重做比较并得到更多的事件)。

一般来说,根据一个方面,本发明具有变化检测传感器的特征。所述传感器包括像素阵列,所述像素阵列包括检测光的像素和用于检测与所述像素接收的光相关联的事件的事件检测器。根据本发明,提供用于评估事件的事件速率检测器。然后,控制器基于事件速率检测器改变像素如何检测事件。

在一个实施例中,事件速率检测器包括计数器,用于通过计数来自事件检测器的事件来评估事件。

在另一实施例中,事件速率检测器包括用于通过估计事件来评估事件的事件估计器。这可以通过分析基于注册事件的事件检测器的数量的模拟信号来实现。

优选地,传感器包括阈值生成电路,用于设置由事件检测器施加的阈值。然后,控制器响应于事件速率检测器提供的评估而改变提供的阈值。

优选地,控制器基于像素阵列中的开启事件和关闭事件分别设置开启事件和关闭事件的阈值。

在当前实施例中,每个像素包括事件检测器中的一个的存储电容器,用于存储当像素被复位时对应于接收光的电荷。每个像素还可以包括事件检测器中的一个或多个比较器,用于将接收光的变化与一个或多个阈值进行比较以检测事件。

在其它实施例中,比较器位于读出电路中。

一般来说,根据另一方面,本发明具有变化检测传感器的操作方法的特征。该方法包括检测与像素阵列中的像素接收的光相关联的事件,评估来自像素阵列的事件,并且基于来自像素阵列的事件的评估改变像素如何检测事件。

现在将参照附图更详细地描述本发明的上述特征和其它特征,这些特征包括各种新颖的构造细节和零件组合以及其它优点,并且在权利要求中指出。应理解,体现本发明的特定方法和装置通过图示而不是作为本发明的限制示出。在不脱离本发明的范围的情况下,本发明的原理和特征可用于各种和许多实施例中。

附图说明

在附图中,附图标记在不同视图中指代相同的部分。附图不一定成比例;相反,为了说明本发明的原理,有的地方着重处理。附图中:

图1a示出了包括事件速率控制的基于事件的变化检测传感器的框图。

图1b示出了可在像素阵列110中使用的变化检测像素的一个示例的电路图。

图2示出作为周期性复位的事件计数器实现的事件速率检测器200的一个实施例的框图。

图3a和3b示出了用于基于事件速率检测器控制阈值生成电路的控制器120的操作的流程图。

图4示出了根据另一实施例的基于事件的变化检测传感器的示意图,其生成事件速率估计。

图5示出了根据再一实施例的基于事件的变化检测传感器的示意图,其生成事件速率估计。

图6示出了根据前述实施例的电流adc212的可能实现的电路图。

图7示出了控制器120的可能实现的状态图。

图8示出了基本阈值生成电路的框图。

具体实施方式

图1a示出了具有事件速率控制的基于事件的变化检测传感器100的框图。

通常,变化检测传感器100包括与本系统特别相关的五个元件:

变化检测像素阵列110;

事件速率检测器200;

控制器120;

阈值生成电路130;和

读出电路140。

像素阵列110产生可变的数据量:变化事件。事件速率检测器200周期性地对事件进行评估,比如对变化事件进行计数或估计。然后,控制器120调整传感器配置,使得在下一时间步骤中,像素阵列110产生更接近期望速率的变化事件量。

像素阵列可以是任何变化检测像素阵列,例如在lichtsteiner等人的申请号为us2008/0013573,标题为“用于检测依赖于时间的图像数据的光阵列”的美国专利申请描述的那样,其通过参考并入本申请;或专利号为15/858427,标题为“动态视觉传感器结构”,2017年12月29日提交的美国专利(以下称为berner专利文件,该文件通过该参考全文并入本文);或者如j.kramer的“具有事件驱动的异步读出的开/关瞬态成像器”(ieee国际电路和系统专题讨论会,2002,卷2,第165-168页,2002)中所公开的那些,或者可替换地,是空间对比度检测像素,例如rudit等人的“用于图像对比度和方向提取的128x128像素120-db动态范围视觉传感器芯片”(ieee固态电路杂志,卷38,第12号,第2325-2333页,2003年12月)。

图1b是一个可能的变化检测像素112的电路图。

二维阵列110的该示例性像素112包括诸如光电二极管pd的光传感器,其检测或测量入射光并将光强度转换为信号。这里,信号是电流,iphoto。像素112还具有事件检测器114,该事件检测器114接着确定由光传感器检测的光是否已经有足够的变化,使得已经发生了事件。通过监测当前的iphoto来实现这一点。

更详细地说,示例性事件检测器114包括感光器电路prc,该感光器电路prc随后产生依赖于光强度的感光器信号vpr。然后,存储电容器c1存储过去的感光信号。

比较器a1将当前感光器信号vpr和过去感光器信号之间的差与阈值vb进行比较。该阈值vb由阈值生成电路130提供。

优选地,比较器a1或一对比较器基于开启事件阈值检测开启事件,并且基于关闭事件阈值检测关闭事件。开启事件是由光传感器接收的光的增加的特性,而关闭事件是由光传感器接收的光的减少的特性。如果使用单个比较器,那么在时间上串行地提供开启事件阈值和关闭事件阈值作为阈值vb。

该比较器a1可以在每个像素中,或在像素的子集(例如列)之间共享。在一种情况下,比较器被共享并位于读出电路140中。在berner专利文件中公开了这种结构的不同示例。

然而,在优选实施例中,比较器a1将是像素112的一部分,其中每个像素具有一个或多个专用比较器a1。

存储器50存储事件。基于来自控制器120的采样信号,从比较器的输出vcomp中取出事件。存储器可以是采样电路(例如开关和寄生或显式电容器)或数字存储器电路(锁存器或触发器)。在一个实施例中,存储器将是采样电路,并且每个像素将具有两个存储器,一个用于存储任何开启事件,一个用于存储任何关闭事件。存储器在一个或多个线路evt上提供输出。

条件复位电路r1基于存储的比较器输出的状态和由控制器120施加的复位信号globalreset的组合提供条件复位。

像素电路112和控制器120如下操作。

由光传感器pd接收的光强度的变化将转换为感光信号vpr的变化。当复位电路r1不导通时,vpr中的变化也将反映在到比较器a1的反相输入端(-)处的电压vdiff中。这是因为存储电容器c1上的电压保持恒定。

在由控制器120选择的时候,事件检测器114的比较器a1将存储电容器c1(vdiff)的第二端处的电压与施加到比较器a1的非反相输入(+)的阈值电压vb(来自阈值生成电路130)进行比较。

控制器120操作存储器50以存储比较器输出vcomp。存储器50通常被实现为像素电路112的一部分,如图所示。

然而,在其他实施例中,存储器50被实现为读出电路140的一部分(外围电路,像素阵列110每一列一个)。

在图示的实施例中,传感器的读出电路140读出阵列110中每个像素112的存储器50。在一个示例中,读出电路140存储阵列中已检测到变化事件的像素的坐标。

如果存储在存储器50中的比较器输出的状态指示光强度(即事件)有足够变化,并且来自控制器120的全局复位信号globalreset是有效的,则条件复位电路r1正在导通。这里“and”表示逻辑and运算符。在条件复位电路r1处于导通状态时,比较器a1的反相输入端的电压(vdiff)被复位到已知电平。因此,它将电流感光信号vpr存储在存储电容器c1上。

事件计数

图2示出事件速率检测器200的一个实施例。

这里的事件速率检测器200被实现为由控制器120周期性地复位的计数器210。该计数器基于读出电路140读出的事件递增。事件计数被提供给控制器120。当需要新计数时,计数器210又由控制器120复位。

在一个示例中,事件速率检测器200在给定时间窗口期间对传感器阵列110输出的事件数进行计数。这里,这被完成,使得读出电路每当从像素阵列110读出事件时向计数器210发送增量信号。

在一个具体示例中,事件速率检测器200在给定时间窗口期间对传感器阵列110输出的开启事件和传感器阵列110输出的关闭事件进行计数。这优选地使用计数器210内的单独的开启事件计数器和关闭事件计数器来实现。

图3a示出了根据一个实施例的用于基于事件速率检测器200控制阈值生成电路130的控制器120的操作的流程图。

具体地,在步骤310中,当需要新计数时,由控制器120复位事件速率检测器200的计数器210。

在步骤312中,控制器120读出预定义时间之后的事件计数。

然后,在步骤314中,控制器计算要施加到像素阵列110的事件阈值的变化。在步骤316中,该新阈值被发送到阈值生成电路130。然后,在确定下一组事件时,将阈值作为阈值vb施加到传感器阵列110的事件检测器114。

图3b示出了根据另一实施例的用于控制事件速率检测器200的控制器120的操作的流程图。

在该实施例中,控制器120在步骤318中等待外部触发,然后在步骤310中重置计数器。在传感器应与外部定时源同步的情况下,该实施例最有用。

事件计数估计器

第二种方法依赖于生成事件速率估计。该方法使用事件速率检测器200内的事件计数估计器。避免必须从阵列读取所有事件以确定事件的数量。相反,这种方法允许在事件被读出或作为读出过程的一部分之前大致估计事件的数量。

图4是根据另一实施例的基于事件的变化检测传感器100的示意图,其生成事件速率估计。

更详细地,事件检测器114位于阵列110的每个像素112中并且是每个像素电路的一部分,以及用于检测入射光的感光器116。每个像素电路112的电流源118仅在该像素中存在事件时被启用。

具体地,如果事件检测器114登记由光传感器116接收的光的变化,例如由于开启事件和/或关闭事件,则事件信号evt变为活动,其关闭与该像素112相关联的开关117。

将阵列110的所有像素112的电流或分布在传感器100的阵列110的范围内的像素的采样相加并馈送到事件速率检测器200的电流模数转换器(adc)212。该adc212获取电流并将电流的大小转换成数字表示。然后将电流总和的这种数字表示作为检测到的事件的数量的估计提供给控制器120,并且如果在已知的时间段内执行,则表示事件速率。

一般来说,电流源118在像素112之间不会很好地匹配。这意味着电流的总和将不允许对有多少像素有事件待处理进行精确估计,但是它将允许粗略估计。

图5示出了根据再一实施例的基于事件的变化检测传感器的示意图,其生成事件速率估计。

更详细地,每个像素112的光传感器116产生响应并指示由该感光器116检测的瞬时光量的信号。该信息被发送到事件检测器114。

因此,当由感光器116接收的光的变化的量相对于上次复位时大于阈值时,则事件检测器114中的比较器的输出发生变化。通常,将开启事件阈值作为像素阈值(pixelthreshold)提供给像素以区分于开启事件,所述开启事件与感光器116检测到的光量的增加相关联。然后,关闭事件阈值作为pixelthreshold提供到像素,以区分与感光器检测到的光量的减少相关的关闭事件。

在其它情况下,事件检测器包括两个比较器,接收开启事件阈值以区分开启事件的第一比较器,和接收关闭事件阈值以区分关闭事件的第二比较器。

如果信号enableevtcounter(使能事件计数器)是活动的(因而disableevtcounter(关闭事件计数器)是非活动的),则所有的读出线通过开关188的闭合而被短接在一起,并且读出线通过开关190的断开而与列读出电路180断开。通过将所有读出线连接到当前adc212,电流将从当前adc212流到比较器输出高的并且evt是有效的所有像素,从而闭合每个像素112中的开关117。此外,由于enableevtcounter是活动的,每行的or门186将闭合每个像素112中的开关178。因此,总电流将取决于比较器174的输出为高的像素数或信号线evt为/活动的像素数。

如果信号enableevtcounter是非活动的(因而disableevtcounter是活动的),如果相应的readoutrowselectx(读出列选x)是活动的,则像素读出线连接到其相应的列读出电路180。

图6示出了根据前述实施例的电流adc212的可能实现的电路图。

相加电流被馈送到具有负反馈配置的电阻r216的运算放大器a214。基准电压和在运算放大器的输出端处的电压之间的电压差与输入电流的大小成正比,从而表示待处理事件的数目。

然后将运算放大器的输出端的电压馈送到传统的电压adc218,该电压adc218可以实现为flashadc、saradc、sigma-deltaadc等。

在电流到电压的转换之后,可以添加电压采样步骤(在opamp214的输出和电压adc218之间),从而可以在读出像素的同时完成adc转换,adc转换可能比较长。一旦adc转换完成,如果需要,可以停止像素的读出。

控制器120

控制器120最有可能是从传感器100外部输入事件率检测器200和期望事件率(或期望事件率的界限)的数字块,以及可选地是触发输入。控制器120输出用于芯片配置的控制信号(即,输出时间分辨率和阈值到阈值生成电路130)。

控制器120可以实现为传统的p、pi或pid控制器,或者更简单地实现为状态机。

然而,当使用事件速率估计器时,控制器120也可以实现为模拟电路。然后,对该模拟控制器的输入不是数字表示;代替地,图6中运算放大器214的输出电压通常直接馈送到控制器120。

图7是控制器120的状态图。

基于来自事件速率估计器的信令,修改事件阈值以将事件速率保持在期望的界限内。

·事件速率:从事件速率检测器200输入。

·平均速率:常数,最小期望事件速率。

·最大时间速率:常数,最大期望事件速率。

·最小事件阈值:参数,最小阈值设置。

·最大事件阈值:参数,最大阈值设置。

·步骤:参数,在循环的每个通过期间改变事件阈值的步骤。

·事件阈值:馈送到事件产生电路的输出。

·触发器:启动环路的周期性输入信号。

更详细地说,控制器120在状态710中等待触发。当它被接收时,控制器120将由事件速率检测器200提供的事件速率与在状态712中的最小事件速率进行比较。如果事件速率小于最小事件速率,则控制器进入状态716。在状态716中,控制器120将事件阈值与最小事件阈值进行比较;如果小于,则返回到710中的等待状态。另一方面,如果事件阈值大于最小事件阈值,则在状态718中减小事件阈值,并且其返回到等待状态710。

另一方面,如果在状态712中,事件速率大于最小事件速率,则将事件速率与在状态714中的最大事件速率进行比较,如果小于,则控制器120返回等待状态710。另一方面,如果事件速率大于最大事件速率,则在状态720中将事件阈值与的最大事件阈值进行比较。如果在状态720中的事件阈值大于最大事件阈值,则控制器120返回等待状态710。另一方面,如果事件阈值小于最大事件阈值,则在状态722中的事件阈值增加一步并返回等待状态710。

阈值生成电路

对于变化检测像素,例如在lichtsteiner等人的申请号为us2008/0013573,标题为“用于检测依赖于时间的图像数据的光阵列”的美国专利申请描述的那样,其通过参考并入本申请,事件阈值是阈值电压和放大器偏置电压之间的差。开启阈值电压通常高于偏置电压,而关断阈值电压较低。

基本阈值生成

图8示出基本阈值生成电路,该基本阈值生成电路是一组电压数模转换器(dac)或电流dac810、812,诸如在p.lichtsteiner、c.posch和t.delbruck的“a128x128120db15μs延时异步时域对比度视觉传感器”(ieee杂志,固态电路,卷43,第2号,第566-576页,2008年2月);以及t.delbruck、r.berner、p.lichtsteiner和c.dualibe的“具有次截止电流能力的32位可配置偏置电流发生器”在2010年ieee国际电路和系统研讨会的会议上(2010年,第1647–1650页)中公开的那些。具体地,对于810、812、814这组dac,有一个用于产生比较器偏置电压814,一个用于onthres电压810,一个用于offthres电压812。

事件速率和平衡控制

在另一实施例中,传感器100分别计数开启(增加光强度)和关闭(减少光强度)事件。然后,使用开启和关闭事件之间的比率来分别控制开启和关闭阈值。一般地,期望在大的(大于秒)时间窗口上有类似数量的开启事件和关闭事件。

无运动阈值

基于事件的变化检测传感器的属性是,如果场景中没有运动,则它们不生成数据(或非常少的数据)。在这种无运动的情况下,可能不希望改变阈值,因此可以扩展控制器以包括最小事件速率阈值,在该阈值之下,改变eventthreshold输出的控制环路未被激活。

时间分辨率控制

在一些像素设计中,可以改变时间比特率(比较率)。在如在申请号us2008/00135731的美国专利中提出的像素中,可以控制难熔偏压,其允许限制像素可以产生事件的速率。

尽管参照本发明的优选实施例特别示出和描述了本发明,但本领域技术人员将理解,在不脱离所附权利要求书所涵盖的本发明的范围的情况下,可以在本发明中作出形式和细节上的各种改变。

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