一种异步时域视觉信息成像方法
【技术领域】
[0001]本发明属于图像传感器设计以及机器视觉技术领域,涉及一种异步时域视觉信息成像方法。
【背景技术】
[0002]目前,硅基半导体图像传感器(包括CCD以及CMOS图像传感器)已经取代传统的卤化银照相胶片,成为最主要的可见光成像器件。硅基半导体图像传感器的核心工作原理是使用势阱收集光电二极管产生的电子来测量光照强度。
[0003]根据采样工作方式,目前图像传感器都是基于“帧采样”方式的:
1、所有像素同时复位后开始感光(收集光电荷),达到设定曝光时间后停止感光;
2、依次读出每个像素所收集的光电荷,并将其转换为电压;
3、该电压经模数转换后变为数字量,输出后存储。该量即为该点的亮度值。所有像素亮度值组成的二维矩阵即为所拍摄图像。
[0004]在使用上述“帧采样”图像传感器(相机)的计算机视觉系统中,计算机依次处理相机拍摄的图像序列(通常为25—30帧/秒),执行各种图像处理算法,达到图像处理、识别以及理解等多种目的。与之不同,在生物视觉系统中,不是以“帧”方式进行图像采集和处理的:视觉感光细胞只对视场中的变化敏感,并将这种变化以神经脉冲的方式传递到大脑视皮层进行处理。
[0005]与生物视觉系统相比,“帧采样”成像方式存在以下缺点:
(1)、数据冗余。相邻两帧间存在大量冗余信息,与上一帧完全相同的背景区域被重复采样读出。这些冗余信息同时对机器视觉系统带来了巨大的处理和存储压力;
(2)、高延迟。场景中发生的变化并不能被马上感知并输出,而必须按照曝光时间内累计的方式采样输出。这种“变化一感知”间的高延迟对于运动目标的跟踪与识别显然是不利的,拍摄帧频越低且运动速度越快,则检测效果的间断性越明显。而如果采用更高帧频的拍摄速度,则处理与存储压力会更大。
[0006]近年来,研究者依据生物视觉“变化采样”的原理,提出了采用超大规模集成电路(VLSI)技术实现的“视觉传感器(Vis1n Sensor, VS)”。原理包括:
(1)、VS像素只对场景中的“变化事件(Activity Event,AE)”敏感并采样输出。按其性质,AE可分为空间变化(某像素与其周边像素的亮度关系发生变化)和时间变化(像素自身的亮度发生变化)两类。对时域变化敏感的视觉传感器中最重要的一类是异步时域视觉传感器(Asynchronous Temporal Vis1n Sensor,ATVS);
(2)ATVS中的各像素自主地检测所感受的光强是否发生变化。如果发生变化,则像素产生的AE通过芯片级的串行总线异步输出,像素间互不关联。AE表示为AE=(x,y,P),其中(X,y)为该像素在VS像素阵列中的地址,P表示该AE的极性,光强增加为“I”,光强减小为“O”。这种采用地址来表示AE的方法称为地址事件表示(Address-Event-Representat 1n,AER)。对于运动目标来说,AE主要是由目标边界(轮廓)产生的。
[0007](3)与生物视觉系统大规模并行的传输方式不同,由于集成电路管脚数量的限制,ATVS中所有像素均使用同一组串行总线输出AE,因此需要使用仲裁器来判决同时发生AE的像素的输出顺序。属于一个移动目标的AE并不是被连续输出的,即相邻输出的AE可能并不属于同一个运动目标。
[0008](4)ATVS输出的每一个AE被相机系统的接口控制器赋予一个时间戳T,该时间戳指出事件的具体输出时间,因此AE重新表示为AE=(X,y,P,T)。
[0009]综上所述,ATVS具有数据量小、实时异步响应的特点,适合于各类动态场景的目标定位、跟踪、测速以及形状分析等应用,对于系统的处理速度与存储量要求也大为降低。
[0010]虽然ATVS与“帧采样”模式相比具有实时响应以及低数据量等优点,但由于其只输出表示变化的离散视觉事件序列,目前已经开发出的大量各类图像处理算法都是基于“帧图像”的,不能直接用于ATVS信息处理,因此必须先将过去一段时间内的视觉事件进行累积,组合为一幅“集成图像”,进而对此集成图像进行分析处理。ATVS的“集成图像”与“帧图像”的区别是:
(1)帧图像中所有像素的采样是同步的,而“集成图像”中各像素的变化是异步的;
(2)帧图像的积分时间是固定的,而集成图像的累计时间是可调的;
(3)每帧图像中的所有像素点都是重新采样的,而集成图像只包括了一段时间内部分像素的变化,突出了运动目标的信息,但不能替代帧图像。
[0011]根据ATVS的工作原理,由运动目标引起的正极性事件和负极性事件应当是成对出现的(顺序与光线方向有关),因此将ATVS事件组合为集成图像的最简单方法是全部事件进行累加。目前“集成图像”生成方法分为基于事件数量的方法和基于时间段的方法:
(1)、基于事件数量的方法是从ATVS输出事件序列中出去固定数量的事件来生成集成图像;
(2)基于时间段的方法是抽取时间戳在某一时间段的全部事件来产生集成图像。
[0012]由于ATVS结构以及电路方面存在的缺陷,上述两种集成方法虽然简单,但集成图像的质量并不高,会严重影响到后续处理算法的效能。这些缺点包括:
1)ATVS的所有像素共用一组AER总线,同时产生的事件由AER仲裁器后顺序输出,同一运动物体产生的事件在输出时间上并不连续;
2)由于电路失配的原因,由同一空间点产生的正极性事件和负极性并不总是成对出现,运动目标容易形成“拖尾”现象;
3)ATVS噪声水平(包括随机噪声和固定模式噪声)较高,因此需要进行消噪。
[0013]由于以上因素的影响,简单的事件累加方法得到的集成图像比较模糊,无法准确提取场景的细节内容。
【发明内容】
[0014]本发明针对上述现有技术中存在的技术问题,提供了一种异步时域视觉信息成像方法,该方法采用时空双向滤波的思想,将ATVS离散视觉事件转换为时间分辨率可调的“集成图像”。
[0015]本发明为解决这一问题所采取的技术方案是:
一种异步时域视觉信息成像方法,该方法使用像素级的缓冲栈数据结构,该方法包括如下步骤:
依据时间局部性原理,对像素缓冲栈进行动态刷新,从而达到时间分辨率可调;
依据时间和空间局部性原理进行背景噪声确认及消除;
依据时间局部性原理,通过正负事件匹配的方法消除拖尾;
模拟生物神经的刺激衰减机理,启动基于事件量的遗忘机制,删除过时事件。
[0016]背景噪声确认及消除的步骤为:通过检测事件的位置孤立性来消除背景噪声,判断新事件周边8邻域像素在过去一段时间内是否发生过事件,如果周边8邻域像素均未有事件发生,则认为是背景噪声。
[0017]该方法通过统计过去一段时间内一个像素点产生的正负事件的数量差来判断是否存在拖尾。
[0018]遗忘机制模拟生物神经系统中对于脉冲刺激随时间衰减的过程,像素的累计变化值随时间流逝而逐渐消退。
[0019]本发明具有的优点和积极效果是:
本发明为使用ATVS进行机器视觉应用提供了一种灵活有效的集成图像生成方法。由于ATVS采用变化采样、异步输出、地址事件表示的成像原理,因此具有极低数据冗余、高实时性与时间分辨率的独特优势,非常适合应用于高速运动目标的定位、测速与跟踪。本发明提出的集成图像生成方法具有时间分辨率可调、背景噪声与拖尾事件消除等特点,为后续ATVS事件处理算法提供良好基础。
【附图说明】
[0020]图1是本发明的ATVS的工作原理及效果图;
图2是本发明的基于ATVS的系统框图;
图3是本发明所应用的像素级缓冲栈结构示意图;
图4是本发明的异步时域视觉信息成像方法的流程图;
图5是帧采样与变化采样的对比图;(a)为给出某一时段39200个事件累加得到的集成图像;(b)为取其中前10000个事件的集成效果图;(c)取其中前3000个事件的集成效果,手部形状非常清晰;
图6是事件累计方法与本发明的成像方法的对比图;(a)为简单事件累加方法的效果图;(b)为本发明方法的处理效果图;
图7是不同缓冲栈深度与等待时间窗口宽度的效果的对比图;(a)为连续20000个的简单叠加;(b)为本方法取堆栈深度32,等待时间600的集成效果;(c)堆栈深度16,等待时间300的集成效果,(d)为堆栈深度8,等待时间150的集成效果,显示的手部效果已不完整。
【具体实施方式】
[0021]以下参照附图对本发明的异步时域视觉信息成像方法进行详细的说明。下面描述的具体实施例仅是本发明的最佳实施方式,而不能理解为对本发明的限制。
[0022]图4是本发明的异步时域视觉信息成像方法的流程图。如图4所示,本发明的异步时域视觉信息成像方法,该方法使用像素级的缓冲栈数据结构,该方法包括如下步骤:
依据时间局部性原理,对像素缓冲栈进行动态刷新,从而达到时间分辨率可调; 依据时间和空间局部性原理进行背景噪声确认及消除;
依据时间局部性原理,通过正负事件匹配的方法消除拖尾;
模拟生物神经的刺激衰减机理,启动基于事件量的遗忘机制,删除过时事件。
[0023]一个具体实施例如下:
ATVS事件表示为AE=( X,7,?,1'),其中(1,7)为事件地址,P为事件极性(I表示光照增强,O表示光照减弱),T为事件时间戳,单位us,M*N为像素阵列大小。
[0024]一、算法主要数据结构
1、像素级缓冲栈ST(M,N,D(d))
为记录ATVS在最近一段时间中产生的事件,每个像素设置一个先进先出缓冲栈,保存过去一段时间内该像素产生的事件,最大限定深度为D,当前其中的事件个数为d。
[0025]2、集成图像 Integ_Map(M,N)
表示集成图像的二维数组,记录像素(x,y)的本时段内光照变化累计。
[0026]3、变化频率图 Grad_Map(M,N,2)
三维数组,记录当前像素缓冲栈内正负事件的数量(变化频率)。
[0027]4、事件数量图Total_Event_Map(M,N, 3)
三维数组,记录当前像素全部事件数量。
[0028]图1是本发明的ATVS的工作原理及效果图。传统“帧采样”每一帧对全部像素采样输出,数据量大,冗余信息多。ATVS中只有感知到变化的像素输出事件,事件采用“地址一事件”(AER)的方式予以表示和传输。本发明将ATVS离散事件按照时间局部性进行集成表示,以便进行后端的检测识别等处理。
[0029]二、算法流程
使用ATVS的处理系统框图见附图2,图2是基于ATVS的系统整体框图。接口控制器通过AER总线接收ATVS的事件,赋予时间戳后按照时间序保存在FIFO存储器中。后端处理器(FPGA/DSP/MCU)执行相应的处理及控制程序。
[0030]1、算法形式化描述
(1)初始化算法参数
D:设定最大缓冲桟深度;
ST(M,N,D)=Null,初始为空;
Integ_Map(M,N)=128:赋初值128(8bit),每个像素使用8Bit,亮度范围O?255; Grad_Map(M,N,2