方应红, 徐 伟, 朴永杰, 冯汝鹏, 郑亮亮
(1. 中国科学院 长春光学精密机械与物理研究所,吉林 长春 130033; 2. 中国科学院大学,北京 100049)
如今相机已经广泛地应用在工业、商业、军事、科研试验、太空探索、日常生活等领域。传统相机使用一种基于帧的视觉传感器,它通过预置一定的曝光时间,来逐帧获取场景信息。这种基于帧的视觉传感器有几个不足:第一,无法得到曝光时间内场景的变化信息,使得其在有快速运动的场景中应用受限;第二,由于每次曝光得到的图像包含场景所有内容,在研究运动物体时,那些没有变化的像素会产生较大的信息冗余,这会增加传输带宽、功耗、存储容量和信息处理的负担;第三,由于传统相机需要获取场景的绝对灰度值,当场景的光照强度过高或者过低时,传统相机会出现过曝光或者欠曝光的情况[1]。
早在20世纪初,研究者们就致力于生物学视觉传感器的研究。研究发现,人眼获取的场景信息是异步地输出给大脑神经网络的,而且人眼对发生运动的物体有着更强的关注力。基于这些生物学现象,一种基于事件的视觉传感器逐渐发展起来[2-3]。这种基于事件的视觉传感器(将使用这种传感器的相机称为事件相机)与基于帧的视觉传感器(将使用这种传感器的相机称为传统相机)有着本质的区别:事件相机的每个像素独立检测光照强度对数的变化,并当变化量达到一定阈值时,输出一个包含时间、位置、极性信息的事件。传感器中所有像素同时异步地检测光强对数变化情况并输出事件信息,形成了异步事件流。事件相机没有帧率的限制,而是主动检测场景中发生光强变化的位置并输出变化信息,减少了数据量,并拥有很高的动态范围,这很好地弥补了传统相机的不足。
自从基于事件的视觉传感器问世之后,它低延迟、高时间分辨力、高动态范围、低功耗的优点吸引了许多研究学者的兴趣,事件相机的功能和性能也被一步步地改进和完善。2008年,事件相机实现商业化,而鉴于可视化的需求,研究者们又开发了既能够输出事件又能够输出灰度信息的事件相机,这使得事件相机在一些应用场景,已经能够比肩传统相机。
基于事件的传感器的发展是受到生物学的启发,最初是以硅视网膜[3]的形式被少量研究者采用。在20世纪80年代末,加州理工学院的Carver Mead引入了“神经形态”的概念来描述包含模拟和异步数字电子电路的系统,这一概念彻底改变了计算和神经生物学的前沿,引出了一门新的工程学科,其目标是设计和构建人工神经系统,如视觉系统、听觉处理器或自主漫游机器人,该领域被称为神经形态工程学[4-7]。神经形态工程学的发展促进了一种新型的生物启发的视觉传感器的开发和实现。这种传感器中像素自主工作,通过产生异步数字脉冲(“尖峰”事件)响应光照强度的变化。这些脉冲通过异步仲裁数据总线(地址事件表示,AER[8-10])触发包含相应像素阵列地址的数据包传输。2006年,Lichtsteiner等人提出了一个128×128的异步时间对比视觉传感器[11]。2008年,Posch等人在时间对比视觉传感器的基础上,提出了时间对比度红外传感器[12-13],这意味着动态视觉传感器(DVS)的问世,标志着基于事件的视觉传感器的研究进入到一个新的阶段,事件相机开始投入商用。
事件相机在各领域应用中的出色表现,吸引了一大批研究者,他们的研究又促进了事件相机的快速发展。由于DVS能够输出的场景数据太少,很难做到可视化,于是对能够输出灰度信息的事件相机的需求激励了新一代事件相机的问世。
Posch等在2011年提出了ATIS,它在DVS的结构上增加了一个曝光结构,让两个光感受器同时工作,使得在输出事件信息时能够根据光强变化同步地曝光,得到一些灰度信息。然而ATIS的曝光方式存在一些缺点,当光强变化较慢时,容易出现曝光异常的情况[14]。Delbruck等在2013年提出了DAVIS,这是一种将传统APS相机与事件相机结合的产品,通过利用事件相机的光感受器来进行同步曝光,可以同时获得事件信息和场景灰度信息。这种相机虽然容易做到可视化,但它的APS部分保留了传统相机的缺陷,也没有充分利用事件相机的优点[15-16]。Cho等在2014年对生物视觉传感器的发展与应用的综述中,认为在需要快速视觉反馈的视觉跟踪和控制领域,考虑到速度和计算负荷,DVS相机几乎可以替代传统的基于帧的相机。而在与识别相关的领域中,DAVIS有着很好的应用前景[17]。
硬件的研发到DAVIS已经发展到了比较成熟的阶段,而对于事件相机的应用算法和数据库的创建和更新,成了开发事件相机的主流。目前,比较成熟的算法主要应用在跟踪与监测、模式识别、SLAM和光流估计等方面。
截止目前,事件相机的巨大潜力使之成为一个热门的技术和话题,许多机构都在致力于事件相机的开发和研究,较为出色的有法国Prophesee、瑞士iniVation、新加坡CelePixel、韩国Samsung等。2017年6月,首届基于事件的视觉国际研讨会在新加坡举行,这是事件相机诞生以来的第一次国际会议;2019年6月,在美国加州长滩举行了第二届国际研讨会,这次研讨会由华为公司赞助,这表明华为也在从事事件相机领域的研究;2021年6月,举行了第三届研讨会。通过这些会议,募集到了许多关于事件相机的资源,包括在各个应用领域的各种计算机算法以及相应的数据集和模拟器、处理器和硬件平台、各国研究人员的论文等,极大地促进了事件相机的发展。
目前被广泛应用的事件相机可大致分成3类:动态视觉传感器(Dynamic Vision Sensor, DVS),基于异步时间的图像传感器(Asynchronous Time-based Image Sensor, ATIS),动态主动像素视觉传感器(Dynamic and Active Pixel Vision Sensor, DAVIS)[2,18-21]。
DVS是最基本的也是最先发展的一种事件相机。它的每个像素单独检测环境中的光照强度,并以光强对数的形式进行记录和比较。当检测到的光照强度的变化达到一定阈值时,便会输出一个包含时间、像素所在地址、亮度增加(ON)或减少(OFF)的事件。所有的像素同时异步地进行光强检测,并异步地持续输出这样的事件,形成了事件流。其电路结构图如图1所示。电路由对数光感受器(Photoreceptor)、差分电路(Differencing)和两个比较器(Comparators)组成。
图1 DVS像素电路结构[17]Fig.1 Circuit structure of DVS pixel[17]
通常,DVS输出的事件ek包含该事件发生的像素地址、时间和事件的类型(极性)。即ek=(xk,tk,pk),其中xk=(xk,yk)T,表示像素地址;tk表示该事件发生的时间;pk∈{+1,-1}表示事件的极性,pk=+1为变亮事件,pk=-1为变暗事件。规定像素xk在tk时刻的光强对数表示为:
L(xk,tk)=log(I(xk,tk)),
(1)
其中I表示光照强度。事件ek被激发,意味着像素xk上的光强对数与该像素上一次激发事件时的光强对数之差,达到了预先设置的阈值±C,即:
ΔL(xk,tk)=pkC,
(2)
其中:
ΔL(xk,tk)=L(xk,tk)-L(xk,tk-Δtk),
(3)
Δtk表示从像素xk上次激发事件开始经过的时间。
上述的事件生成模型,是在没有噪声的理想情况下建立的。实际上,任何相机都会受到来自感光器的外部及内部电路引起的噪声的影响,DVS也不例外。通过设置阈值C的大小,可以调节DVS对噪声的敏感度:阈值C越大,DVS对噪声越不敏感,但是DVS捕捉到的事件也会相应地减少。阈值C越小,DVS捕捉到的事件越多,但信噪比会严重降低。
像素上亮度的变化可以由场景亮度的改变、场景中的物体或相机自身发生了移动造成。并且,当场景亮度变化越快、场景中的物体或相机自身移动越快时,单位时间内DVS产生的事件就越多。根据硬件和设计的不同,DVS输出速率可高达300 Meps(events persecond,eps),延迟可低至3 μs,动态范围可达130 dB。这样的特性让DVS在捕捉高速运动的物体、应对高动态范围的光照环境、低延迟控制等应用上有着巨大的优势。
单纯的DVS输出的事件,只提供了事件的像素地址、时间和极性,然而这些信息无法满足对可视化的需求,给后期数据处理带来了很大的困扰。能够在提供事件信息的同时还能提供一定灰度信息的需求,促使了ATIS的诞生。ATIS像素结构[14]分成两个部分(A和B),包含两个感光器,如图2所示。
(a) A部分(a) Part A
(b) B部分(b) Part B图2 ATIS像素电路结构[14]Fig.2 Circuit structure of ATIS pixel[14]
A部分包含完整的DVS像素结构,它可以检测光强的变化并激发相应的事件;与此同时,B部分包含的感光器检测光照强度的变化并进行曝光。ATIS像素中B部分的曝光方式与传统APS相机的曝光方式不同。传统相机的曝光方式是预置曝光时间,通过测定曝光后电容两端电压的大小来确定像素的灰度值。因此,光照强度越大、电压差值越大,像素的灰度值越大。而ATIS像素中的B部分采用一种基于时间的曝光方式:在A子像素激发事件的同时,B子像素内的一个电容被重置为高电平,随着B子像素持续受到光照,电容两端的电压下降,其两端电压从高电平下降到低电平所需的时间决定了该像素的灰度值。电压下降时间越短,说明该像素上光照强度越强,灰度值越高;下降时间越长,则说明灰度值越低。像素的灰度信息是以独立的事件流的形式输出的。
这种由事件触发的基于时间的曝光方式,使得ATIS相机在高动态范围的场景下也能获得较好的灰度信息(传统APS相机容易过曝或欠曝),并且只有产生事件的像素会输出灰度信息,主要的输出是场景中物体的边缘像素的灰度信息,减少了信息的时间冗余和空间冗余。然而ATIS相机也有一定的缺陷:在亮度过低的情况下曝光时间过长,当曝光时间超过下一次事件触发的时间,电容会被强行重置导致曝光异常终止,从而导致信息丢失。
DAVIS相机将DVS相机和传统的APS(有源像素传感器)相机结合起来,能够同时输出场景事件和灰度信息。图3为其电路结构图。
图3 DAVIS像素电路结构[17]Fig.3 Circuit structure of DAVIS pixel[17]
DAVIS的像素结构[17]也分成两个部分:APS和DVS。其中DVS检测光强的变化并输出异步的事件流信息,与此同时,APS进行同步曝光获得场景的灰度信息。与ATIS不同的是,DAVIS的两个部分共用一个感光器,这使得在体积上比ATIS小很多。通过DAVIS获取的灰度图像,与通过传统APS相机获取的灰度图像一样,包含那些光强变化较小或没有变化的像素,具有时间冗余性和空间冗余性,并且APS部分无法承受高动态范围的环境。
根据原理上的差异,表1中列出了这3种事件相机的特点和它们的一般用途。
表1 3种事件相机特点和用途的比较
从上述事件相机的原理能够发现,相比于传统摄像机,事件相机有着高动态范围、低延迟、高时间分辨率、能耗低的优点,非常适合应用于高速运动的追踪和高动态范围的目标识别等场景。然而,作为一种新型的相机,事件相机有着和传统相机不同的输出信息,这就带来了算法和数据处理等方面的挑战[22]。
(1)数据的处理:事件相机输出的事件仅包含少量与场景有关的信息(亮度的变化和位置),目前仅利用这些信息去还原场景或者提取场景中感兴趣的对象仍很困难,仍然需要获得足够多的灰度信息来支撑,但在未来的应用研究中,这些事件信息是否能足够完成视觉任务仍有待研究。
(2)算法的更新:当前计算机视觉算法大多是基于图像帧,这些算法并不适用于事件相机,因此需要开发出新的适用于事件相机的各种应用算法,创建适用于事件相机的数据集和评价体系。
(3)噪声:由于事件相机是从像素的层面上进行事件输出,加上电路中差分电路的影响,使得噪声对事件相机的输出有较大的影响,如何设计算法能够从输出信息中滤除噪声而保留有用信息是一个亟需解决的问题。
图4 事件相机的应用Fig.4 Application of event-based camera
相比于事件相机,人们对传统相机的应用已经相当充分,传统相机能够提供足够多的目标信息特征,这使得其在视觉传感器的地位很难被动摇。然而传统相机存在的缺陷限制了一些特殊场合的应用,事件相机的独特性能可以为这些难题提供新的解决方案。针对事件相机的特点,在一些与之契合的视觉应用领域,比如快速运动的跟踪与监测、小数据量的目标识别、即时定位与地图构建(SLAM),已经有了较大的突破。下面介绍一些应用事件相机的研究,这些研究在应用事件相机的同时也在不断为事件相机的发展提供助力。图4对事件相机的应用进行了罗列。
跟踪与监测是指使用视觉传感器来监测和定位场景中我们感兴趣的目标,我们希望这种监测能够不间断,定位能够足够精准。相比于传统相机,事件相机低延迟、高动态范围的优势使得它在目标跟踪领域有着很好的应用前景。
早期用事件相机进行跟踪只是单纯地跟踪对象,而且其背景还需要相对简单。Ramesh等提出了一种用于事件摄像机的长期目标跟踪算法,跟踪框架通过在线学习来对对象使用区别性表示,并在对象返回视野时检测和重新跟踪对象。其中一个关键的创新是使用了基于事件的本地滑动窗口技术,该技术在背景混乱和有纹理的场景中表现可靠[22]。
Tedaldi等提出利用DAVIS提供的帧和事件数据来检测和跟踪视觉特征。首先在灰度帧中检测特征,然后使用事件流在帧之间的盲时间中异步跟踪特征。他们还提出了一种基于事件的算法,使用迭代的几何配准方法来跟踪特征,并且用DAVIS获得的真实数据评估了该方法的有效性[23]。
Mitrokhin等认为现代基于事件的视觉传感器空间分辨率极低,会产生大量噪声。针对这个问题,他们提出了一种新颖的事件流表示方式,它能够利用事件流的动态(时间)成分的信息。他们还基于此方式,提出了一种异步摄像机目标跟踪方法,用参数模型来近似事件流的3D几何形状,从而对摄像机进行运动补偿,然后在迭代过程中检测不符合模型的运动对象,来获得目标的运动从而实现跟踪。在实验中,根据可能出现的场景的性质,将记录分成5个序列,然后以成功率的形式定义评估指标,对来自DAVIS传感器的RGB帧对应的每个时间片计算单独的成功率,作为与RGB帧中可见的物体重叠至少50%的被检测物体的百分比。序列得分的平均值见表2,可见该方法有一定的可行性[24]。
表2 数据集上传递途径的评估[24]Tab.2 Evaluation of the pipeline on the proposed dataset
Boettiger等将事件相机与传统相机就高动态范围检测和快速跟踪能力进行了实验对比,得出事件相机虽然存在很大优势,但仍然被长时间的数据处理所限制。他们提出了一种将基于帧和基于事件的传感器相结合的处理方法——“伪帧(Pseudo-frames)”。他们通过实验证明“伪帧”的处理效果是最好的,但“伪帧”没有真正充分利用事件相机低功耗、低数据、高速和高动态范围的特性,这表明在检测和跟踪领域,仍存在较大的研究空间[25]。
事件相机还能用于微观粒子跟踪与测速方面。Wang等提出了一种新的算法框架(图5),它是一种使用一对事件相机来检索流体速度场的密集3D测量。首先,跟踪两个事件序列内的粒子以估计它们在两个图像序列中的2D速度;然后,执行立体匹配步骤来检索它们的3D位置。这些中间输出被合并到一个优化框架中,该框架还包括物理上的正则化,以便检索3D速度场[26]。
图5 立体事件PTV框架的架构概述。两个事件摄像机捕捉流体内部粒子的运动。它们产生两个事件序列,这里用x-y-t空间表示。2D跟踪步骤为每个序列提供捕获粒子的2D速度。然后使用立体匹配步骤建立一个稀疏的三维速度场,用来估计密集的三维流体流动[26]。Fig.5 Overview of the architecture of our stereo-event PTV framework. The two event cameras capture the motion of the particles inside the fluid. They generate two sequence of events, represented here in the x-y-t space. A 2D tracking step provide the 2D velocity of the captured particles for each sequence. Then, using a stereo matching step we build a sparse 3D velocity field in order to estimate the dense 3D fluid flow.
目标识别是指根据传感器收集到的视觉信息,从中提取感兴趣的特征信息,根据这些特征信息来判断该信息的种类或内容。目前比较流行的机器学习和深度学习的目标识别都是以基于帧的图像信息为输入内容。然而,图像信息中真正有用的信息占比很小,也就是说信息冗余量较大,这减慢了数据处理过程。事件相机输出的事件流信息和一些变化的边缘灰度信息(ATIS)已经足够用来进行一些简单的目标识别,开发出一种基于事件的目标识别的算法,可以提高在一些简单的场合的识别速率。
Damien等将深度学习算法与基于事件的数据集成到人工框架中的研究中,通过实验发现,灰度图像中可能只有35%的信息可能会在训练中被用到,而通过事件相机得到的数据信息所达到的效果和这35%的信息几乎一致,这表明传统相机存在大量的数据冗余,而事件相机拥有巨大优势[27]。
在目标识别和检测过程中,为了追求精度,很多基于事件的视觉算法在很大程度上依赖于使用深度神经网络同步批量处理事件,然而,这种方式丢弃了事件数据的稀疏性和异步性。Messikommer等提出了一个通用框架,用于将基于同步图像类事件表示的模型转换为具有相同输出的异步模型,从而直接利用事件数据的内在异步和稀疏特性,大幅降低了高容量同步神经网络的计算复杂性和延迟,而不牺牲精度[28]。
针对当时事件相机空间分辨率较低、缺乏大规模的训练数据集、缺乏完善的基于事件处理的深度学习架构等问题,Perot等公开发布了第一个用于对象检测的高分辨率大规模数据集。另外,他们还引入了一种新的基于事件检测的递归体系结构和一种训练性能更好的时间一致性损失。值得注意的是,他们提出的方法不需要从事件重建任何强度图像,可以直接从原始事件信息来训练,这比通过中间强度图像更有效、更准确。从表3的数据中可以看到,他们提出的方法在1 M像素数据集上达到了与Gray-Retainet相同的平均精度均值(mAP),这说明他们的事件相机检测器具有与常用帧相机检测器相当的精度。然而,这种方法仍然需要密集的事件表示,这意味着丢弃了事件信息的稀疏性[29]。
表3 两个汽车检测数据集的评价[29]
Wang等为了处理事件摄像机的独特输出,将事件流视为一组三维时空点,即时空事件云。他们使用PointNet神经网络架构来分析事件云和进行手势识别的训练,通过实验证明该方法的识别率高达97.08%,从而证明了他们提出的事件云概念是一种对事件流的有效表示[30]。
即时定位与地图构建(SLAM)是指通过移动来获取位置信息进行自身定位并据此来构建增量式地图,从而实现自主定位和导航,主要用于机器人、无人机等领域。
Monforte等在研究机器人的轨迹预测时,使用事件摄像机来检测快速移动的目标,他们使用基于长短期记忆(LSTM)架构的机器学习的方法来获取高度非线性的轨迹,研究了LSTM模型如何适应事件相机数据,并通过实验分析证明,异步空间采样优于固定速率采样,LSTM与事件摄像机相结合,是一种有前途的学习方法[31]。
Zhu等提出了一种基于事件的视觉惯性里程计算法,根据从里程计滤波器获得的流量和旋转估计,产生鲁棒的特征轨迹,再将特征轨迹与惯性测量单元的输出融合,来获得全6自由度姿态的精确度量跟踪。通过数据集测试,他们得出,与基于图像的技术相比,基于事件的特征跟踪通常能够在更长的时间内跟踪更多的特征[32]。
为了获得更敏捷的机器人,Censi等人提出了一种使用DVS和能主动高频(大于1 000 Hz)闪烁的发光二极管标记器(ALMs)进行低延迟姿态跟踪的方法。DVS可以检测不同频率的闪烁进行身份标记,然后将不同的标记放到一个“身份地图”中获得不同的姿态信息。他们的算法丢失追踪时间平均为(0.35±0.10) s,而PTAM丢失追踪的时间平均为(0.80±0.33) s,比翻转一次的时间(0.56±0.15 s)还要长。实验表明,一旦发光二极管再次闪烁,DVS能够以可忽略的延迟重新获得稳定的跟踪,而不会遭受运动模糊的影响,DVS在恢复轨迹丢失方面比PTAM方法更快。他们预测这项技术是实现飞行机器人高度自主机动的最有前途的候选技术[33]。
除此之外,还有许多研究人员在原来的基础上开发新的效率更高的传感器和算法。其中Jing等提出了一个具有像素渲染机制和评估异步绝对强度能力的光流运动传感器和一种事件驱动跟踪算法,以实现高精度和实时性的跟踪和光流应用。与ATIS和DAVIS相比,其设计的传感器没有曝光时间,有助于高速物体的快速响应成像。除了检测照明变化之外,他所提出的运动传感器中的像素是互连的,并且通过像素渲染模块相互传递事件状态。每个活动像素及其4个相邻像素报告灰度事件,以在梯度提取中提供足够的数据,可以从根本上解决现有事件驱动的由事件稀疏性和事件强度缺乏引起的光流估计的准确性问题。其提出的算法利用在线自适应搜索区域来实现更精确的定位,运动传感器生成的事件包的灰度级强度被用来重建附加样本并随时间更新跟踪器模型。这种跟踪系统在跟踪静态背景下的单个或多个运动目标时具有优越的性能。然而,当背景和前景目标同时移动时,这种用于自适应搜索区域的事件引导方法将不适用[34]。
事件相机有着非常突出的优点:低延迟、高时间分辨力、高动态范围、低功耗。然而在不同的应用领域,又有不同的缺陷阻碍着它的发展:在目标跟踪与监测领域,相机本身的运动和场景迅速变化,使得事件生成速率大大提高,特别是高速运动的物体,这给数据处理带来了巨大的压力,容易造成数据混乱和数据缺失;在目标识别领域,获取特征往往需要目标的灰度信息甚至彩色信息,对可视化的要求较高,而事件相机输出的事件包能保留的信息太少,无法做到可视化,尽管DAVIS能够获得一定的灰度信息,但它还是会受到传统相机缺点的影响,设计出一款能够将事件和灰度信息结合而不受到传统相机限制的传感器仍是一个困难的工作;在机器人、无人驾驶等领域,需要很好的可靠性,还需要强大的控制和处理能力,事件相机的输出数据的形式使之应用很受限制,复杂的场景的快速变化会输出大量事件,如何从这些事件中提取出有用的信息并加以控制和决策,是这个领域亟需解决的问题;噪声的处理是事件相机非常重要的一个问题,由于事件的输出形式的特性和差分器的作用,使事件相机的噪声的影响很大,这是限制事件相机发展的一个重要因素。
在诸多应用中,事件相机低带宽通信、低重量、低功率和高速的特点,使其充分满足航空航天领域对传感器的苛刻要求。目前,事件相机在航空航天领域的研究仍较少,显然,在这方面事件相机还有很大的发展潜力。如果将事件相机应用在导弹、航天飞机、超快速战斗机、海上军舰等军事目标的追踪上,由于这些目标有着显著的外观特征,而且它们的运动速度一般很快,或许可以获得比传统遥感相机更好的效果。另外,将事件相机应用于天基空间态势感知,也为监测卫星和星体提供了新的解决方案。未来,在航空航天和军事领域上,事件相机也将会有更加迅猛的发展。