基于事件相机的视觉跟踪算法综述
2020-12-10周小龙刘倩倩产思贤陈胜勇
周小龙,刘倩倩,产思贤,陈胜勇,3
1(浙江工业大学 计算机科学与技术学院,杭州310023) 2(衢州学院 电气与信息工程学院,浙江 衢州324000) 3(天津理工大学 计算机与通信工程学院,天津 300384)
1 引 言
目标跟踪作为计算机视觉领域中热门研究方向之一,在智能监控系统、虚拟现实、无人驾驶、人机交互和工业机器人等领域有着广泛的应用[1].目标跟踪所要解决的基本问题是从给定图像帧的序列中选择感兴趣的目标,通过计算机视觉算法求解出目标在每一帧中的位置.自上世纪五十年代起始至今,虽已经研究出大量算法并取得广泛应用,但在复杂的环境条件下往往难以实现高速准确跟踪,主要面临的挑战有光照、形变、遮挡、尺度变化、图像模糊以及快速运动等等.一般来说,当前目标跟踪算法是基于由传统的CMOS相机[2]捕获的一系列图像帧的运动序列,并且这些算法已相当成熟.一些早期的经典跟踪算法如卡尔曼滤波、粒子滤波[3]等使用生成式模型,通过匹配搜索来执行跟踪,现在的跟踪算法如基于相关滤波的跟踪器[4-7]使用判别类模型,将目标与背景信息分开训练分类器,从而确定目标位置.随着深度学习的兴起,深度学习在目标跟踪上也显示出出色的性能[8-11].由于这些跟踪算法是基于传统相机的图像帧,而这些帧具有高冗余、高延迟和高数据量的缺点.每个像素曝光需要统一的时间,在物体快速运动时会造成图像模糊、信息丢失等问题,另外,在跟踪应用时会受到复杂的场景如光照条件和目标与场景间的遮挡等现实中不可避免因素的影响.因此出现了一种新型的视觉传感器.受到生物视网膜启发的基于事件的传感器,提供了连续的输出异步事件流.像素异步工作触发的事件仅输出光强度发生变化的像素的地址和信息,而不是被动地读取帧中的每个像素信息.因此,具有场景变化、图像超稀疏表示以及事件异步输出的实时高动态响应的特性,可广泛用于高速目标跟踪、实时监控和机器人视觉.
事件相机不同于传统相机以固定速率采集图像,它通过测量每个像素的亮度变化来输出异步信号,这将引起一系列“事件”,这些事件编码亮度变化的时间、位置及极性.图1为一个黑点在圆盘上旋转时传统相机和事件相机的输出比较[12],事件相机输出稀疏事件流,没有冗余数据,仅提供像素事件信息或没有事件,因此,它能克服传统相机的一些局限性,比如高时间分辨率、高动态范围、低延迟以及低功耗等.此外,事件相机可以在具有高亮度对比度的挑战性场景和在高速、高动态范围视觉应用中发挥强大优势.正因为上述这些优势,基于事件相机的视觉算法在同步定位、三维重建、视觉检测与跟踪以及目标识别等领域有着广泛的应用[13-16].
图1 黑点在圆盘上旋转时普通相机和事件相机比较[12]Fig.1 Comparison of the output of the normal camera and the event camera when a black dot rotates on a disc[12]
本文将对事件相机及其在跟踪领域的算法作详细的介绍,文章结构如下:第2节将简要介绍事件相机的类型及独特的优势和面临的挑战,第3、4节将介绍与分析基于事件相机的跟踪算法和有关数据集,最后对本文进行总结以及对该领域未来的研究趋势进行了展望.
2 事件相机简介
2.1 事件相机的类型及工作原理
2.1.1 动态视觉传感器
事件相机是由生物视网膜启发的传感器,动态视觉传感器(DynamicVision Sensor,DVS)属于其中一种,它最早在2008年由Tobi小组提出[17],被视为第一代动态视觉传感器或基于事件的图像传感器,可以异步检测像素亮度变化.不同于普通相机,它的像素结构更为复杂,分为四个部分如图2所示[2],工作原理如图3所示[17],图3给出了DVS传感器两个关键信号的波形实例.DVS具有独立、异步的像素,这些像素响应其光强对数(即L=log(I))的变化,仅输出尖峰事件流.事件被触发以地址-事件表示结合了事件的位置、时间和极性(亮度变化的信号).触发的事件表示为:
e=[x,y,t,p]T
(1)
其中,事件e表示在相机传感器上位于u=[x,y]T处的像素响应于时间t上的亮度变化而产生的变化事件.亮度变化的信号编码为p∈[-1,1],p=1表示ON事件,即正事件代表亮度增加,反之表示OFF事件,即负事件代表亮度减少.被触发的事件意味着距离上次事件亮度增加达到了预先设定的阈值C,理想情况下,即:
ΔL(u,t)=pC
(2)
其中,
ΔL(u,t)=L(u,t)-L(u,t-Δt)
(3)
Δt表示从像素u上次触发事件开始时所经过的时间.
2.1.2 基于异步时间的图像传感器
不同于DVS,基于异步时间的图像传感器(Asynchronous Time-based Image Sensor,ATIS)[18]不仅能输出DVS所提供的事件像素的位置、时间及极性信息,还能输出绝对的灰度值,满足了视觉研究人员对图像强度值的需求.ATIS的像素包含触发另一个子像素以读取绝对强度的子像素,触发器将电容器重置为高电压,然后在另一个二极管从电容器中放电,光线越强,放电越快,ATIS读取放电事件时对两个阈值电压之间的时间进行编码,从而得到强度值,因此,只有变化的像素才提供新的强度值,光照越强,事件之间的时间越短,可以实现较高的动态范围[19].然而,当在较暗的环境下,放电速度不够快,读取强度值时可能会被新的事件打断,从而导致信息丢失.
图2 DVS像素在块水平上的结构[2]Fig.2 Block-level structure of DVS pixels[2]
图3 DVS的工作原理[17]Fig.3 DVS working principle[17]
2.1.3 动态主动像素视觉传感器
动态主动像素视觉传感器(Dynamic and Active Pixel Vision Sensor,DAVIS)[20]是将DVS和主动像素传感器(Active Pixel Sensor,APS)[21]结合的传感器,通过共享两者的光电二极管,且加装一个读出电路仅将DVS像素面积增加了5%.因此,它的像素尺寸比ATIS小很多.通过分析DVS事件,可以按需触发强度帧,能够同时输出事件流和图像灰度信息.另外,它能读出对应感兴趣区如与运动有关区域的绝对光强度,可以应用在更多的计算机视觉应用中.然而,APS读出时有动态范围限制,当像素不改变的情况下,会在时间和空间上造成冗余[22].
2.2 事件相机的优势及挑战
事件相机不是以固定速率捕获图像帧,而是异步地测量每个像素的亮度变化,因此能克服传统相机的一些局限性并且拥有绝佳的属性,比如低延迟、高动态范围、高时间分辨率、低功耗以及不受运动模糊影响等,在高速和高动态范围场景中有着广阔的应用空间.具体数据比较见表1.
表1 事件相机与传统相机的属性数据比较Table 1 Comparison of the attribute data between event camera and traditional camera
相反,事件相机作为代表视觉信息获取的范式转变,也面临着一些挑战[19]:
1)数据的获取:事件相机作为一种新型传感器,研发尚未成熟,目前在市面上并未普及,而且价格昂贵,只应用于一些高级实验室研发,因此,对其数据的获取并不容易.
2)全新的算法:当前计算机视觉算法是基于图像帧,对于事件相机来说已不适用,事件不仅取决于场景亮度变化,还取决于场景和相机之间的过去和当前的运动变化,因此开发一种新的算法已成为必然趋势.
3)信息的处理:每个事件只提供二进制信息(亮度增加或减少,以事件的极性表示),虽说ATIS能输出绝对灰度值,但在未来的应用研究中,二进制表示的信息是否足够完成视觉任务成为一种可能.
4)噪声和动态效应:由于传感器本身携带大量的噪声事件,当物体或相机运动时也会产生一系列噪声事件,因此如何对噪声以及非理想效应建模并从中提取有效事件信息也是研究者所要解决的问题.
3 基于事件相机的跟踪算法
随着事件相机的发展,基于事件的算法在计算机视觉领域取得广泛应用.跟踪作为计算机视觉中的低层次应用之一,也取得了较好的效果.根据对事件信息的不同处理方法,可将跟踪算法分为基于事件驱动机制的事件流跟踪算法和基于事件和图像帧的跟踪算法.
3.1 基于事件流的目标跟踪算法
早期的跟踪算法侧重于事件驱动视觉系统的低延迟和低处理特性,通过事件源聚类块[23,24]、圆[25]或线条[26,27]形式来跟踪简单的移动的目标.文献[23]在2006年提出使用单目DVS的嵌入式视觉系统的车辆跟踪算法.作者受均值漂移算法启发,通过欧式距离准则将传入的事件分配给圆形聚类簇,其中,事件的位置由簇的搜索半径评估,簇的移动趋向于大多最近添加的事件.文献[26]在2009年提出基于事件的自适应霍夫变换方法来跟踪线条.类似的方法[25]在2012年被提出,不同之处在于文献[25]利用霍夫圆变换来跟踪移动微粒产生的事件流.文献[27]在2014年提出跟踪高速四旋翼激动的6-DOF姿态估计的一组线条.实验证明该算法即使在旋转速度1200°/s的情况下也可以逐事件估计四旋翼状态.
随后,许多研究工作者使用迭代最近点算法(ICP)[28]、蒙特卡罗(Monte-Carlo)[29]、粒子滤波算法[30]等逐事件自适应跟踪复杂的、高对比度的预定义的形状.文献[28]在2012年提出基于事件的迭代最近点算法(EICP)直接应用于DVS的输出,应用在微型夹持器的高速稳定,它允许以4kHZ的频率跟踪操纵工具.文献[29]在2015年提出基于事件的多核跟踪,使用各种核如Gaussian、Gabor、Gabor函数的组合以及任意用户定义的核来处理目标在位置上、尺度上和方向上的变化.通过蒙特卡罗算法将事件与模板的旋转和缩放版本的均采样集进行匹配.同年,文献[31]使用类似于文献[29]中的循环核,通过一组立体的DVS进行四旋翼飞行器的回避操作来跟踪球.事件相机允许在15ms内进行球检测,轨迹外推和碰撞预测少于普通30HZ相机两帧之间时间的一半.文献[32]在2016年提出使用无限脉冲响应滤波器代替ICP算法,结合2D和3D标准的基于事件的更新来跟踪一组线条组成的模型3D姿态.文献[30]在2017年提出一种粒子滤波器的变体来跟踪由基于事件的霍夫变换算法组成的聚类.改进的粒子滤波器提供多假设滤波器技术,在视觉空间和时间空间上进行采样,自动调整目标观测的时间窗口,即使在相对目标运动较低的时段也可以进行一致的检测.该方法可用于跟踪事件空间中的目标,同时摒弃了相机自身运动引起的背景杂波,实现了自由运动的相机与目标之间相对速度变化的鲁棒性.但该算法在目标丢失时滤波器的初始化和恢复尚未实现.
图4 高斯混合模型的事件聚类Fig.4 Event clustering of Gaussian mixture model
最近,文献[33]设计出768 × 640像素的动态视觉传感器,可缓解DVS相机图像分辨率较低的问题.为了保护在监视公共空间执行人员跟踪时涉及的隐私,文献[34]使用此传感器在2019年提出层次聚类的目标跟踪算法.该算法首先用一个基于相邻事件的滤波器作为预处理,然后处理层次聚类事件,最后跟踪聚类质心.算法通过将连续事件流切成固定时间长度的非重叠块并对每个块处理而实现跟踪.提出的方法简单快速,但只在自己记录的小型数据集上进行验证测试,而且方法中几乎未考虑到每个事件的时间信息,这是有待改进解决的.
以上提出的基于事件流的跟踪算法都是针对于无复杂纹理的目标以及没有杂乱背景的场景下的,而在复杂场景下对目标执行边界框跟踪的算法却很少.为解决事件流形状的快速变化、噪声事件以及背景杂乱等问题,文献[35]在2019年提出速率编码事件流目标,通过预训练的CNN模型对目标特征进行表示并利用相关滤波机制执行跟踪.提出的算法在复杂的场景中取得良好效果并达到实时性能.同年文献[36]通过将异步事件转换成帧,提出基于自适应时间曲面的异步检测跟踪.首先将事件中的时空信息扭曲为带有线性时间衰减的自适应时间曲面(ATSLTD)帧表示,然后在ATSLTD帧上执行基于边界框的基于事件的目标检测跟踪(ETD).ETD算法分两步:第1步将提出的ETD检测器在第一ATSLTD帧中指定的目标对象的每个顺序帧上生成一组目标协议;第2步使用基于联合交叉点的跟踪器从生成的目标协议中选择最佳目标协议当作当前帧的跟踪结果.在此基础上,文献[37]在2020年提出将ATSLTD帧序列反馈到一个新型的视网膜运动回归网络(RMRNet)中,以执行端到端的5-DoF目标运动回归,算法在ECD[38]和EED[39]数据集上进行测试,与基于帧的主流跟踪算法如ATOM[40]、SiameseFc[41]等进行实验对比,展现出该方法的优越性,以及在快速运动、低光条件以及高动态范围场景的挑战性情况下能实现准确跟踪.虽说此类方法能够处理复杂场景下的目标,但是并不能发挥出事件流的本质优势.
图5 特征点检测与跟踪算法图Fig.5 Feature detection and trackingalgorithm
此外,也有研究者提出处理有关目标遮挡问题.文献[42]在2012年提出在严重高遮挡场景下的多人跟踪算法.该算法的目的是检索场景中移动目标的轨迹,提出将移动目标产生的事件流表示为时空中的事件云,并使用高斯混合模型将事件分组聚类为簇,如图4所示,通过找到基础数据的最佳模型参数,使用最大后验算法进行簇更新,从而跟踪有遮挡的簇.实验结果表明提出的算法即使轨迹相交也能跟踪到目标.文献[43]在2015年提出基于ATIS的计算高效、鲁棒的自适应模式跟踪方法.该方法建立了目标与已知模型之间的对应关系,算法设计包括3个部分:模式表示、变换模型和最优变换参数估计的跟踪准则.每个输出事件一旦被接收,该算法就会处理并根据到达的事件来迭代更新模型的位置和方向.通过使用位置和强度信息来建立基于事件云(2D点集)的事件模型,对于每个到达的事件,先根据事件的时空特性进行空间匹配,然后进行几何变换以更新模型.该算法可解决基于普通相机帧因目标遮挡造成的模糊问题.实验结果表明,该算法可以以200kHz的等效帧率进行高速形状跟踪,并验证了基于事件的相机在机器视觉中的应用.文献[44]在2017年提出立体目标跟踪,同时将3D重建和聚类跟踪相结合,在两个任务中加入反馈信息,以改善各自性能.聚类的算法类似文献[42],通过改进文献[23]的跟踪算法跟踪具有遮挡的目标.算法在四个不同的实验中得到验证,实验表明即使在发生遮挡的情况下,也可以在立体设置中跟踪两个目标的3D位置.
3.2 基于事件和图像帧的目标跟踪算法
基于图像帧的目标跟踪算法历史悠久,发展比较成熟,现阶段研究主要集中于相关滤波类和深度学习.最近,为解决目标出现遮挡、模糊或尺度发生变化时造成的跟踪失败问题,文献[6]提出融合多种特征如传统特征和卷积特征等的跟踪方法,并加入尺度池估计.文献[7]将改进后的HOG与颜色特征相结合进行特征融合采样,通过在运动方向场与区域响应因子结合来估计当前目标的运动状态,调整模型更新机制找回丢失后的目标,最后针对尺度变化问题加入自适应尺度因子来提高算法的适应性.但两种方法均有着较大的计算量,导致跟踪速度下降,并且实时性能也不高.针对基于深度学习的网络模型更新不及时以及缺乏训练样本等问题,文献[8]在孪生卷积神经网络中加入SE-Net以用于特征提取,并在跟踪阶段利用区域推荐网络定位目标和线性微调边界框.提出的算法保证了跟踪的准确性但不能很好的处理目标的遮挡和模糊问题.另外当目标或相机快速移动时,目标的尺度和纵横比也会发生变化,基于此,文献[9]利用全卷积网络的表达能力,将跟踪问题作为一个并行分类和回归,提出基于anchor-free的SiamBAN跟踪框架,避免了候选框的超参数和先验知识,并获得较好的泛用性,与SiamRPN[10]类算法相比,提高了准确性和鲁棒性,但与在线更新类如DIMP[11]算法相比,鲁棒性较弱,这是有待完善的.
基于帧的跟踪容易受到光照影响,并且当目标运动过快时会导致图像模糊或信息丢失,因此,通过利用事件相机的优势,越来越多的文献利用事件流和图像帧相结合的方式进行目标跟踪.文献[45]在2012年最早提出DVS事件可用于指导卷积神经网络(CNN)技术在DAVIS相机中的应用,以用于目标检测和跟踪.跟踪过程分3步:首先,DAVIS产生的二进制事件由基于聚类的跟踪方法生成感兴趣区,然后根据DAVIS捕获的灰度帧由CNN粗略检测大致的目标区域,最后采用粒子滤波算法从感兴趣区域中推断目标位置.实验结果表明,基于事件和图像帧结合的相机的CNN跟踪速度约为全帧CNN跟踪的70倍.跟踪性能的测量采用精度测量的中心定位误差,该精度是与DVS的输出像素事件兼容的亚像素精度测量.
文献[46]在2016年利用DAVIS相机输出的事件组合帧,提出基于结合图像帧和事件流的特征点检测与跟踪算法.该算法首先在灰度帧上进行特征点检测,然后使用事件流在帧之间的盲时间内异步跟踪特征.检测的特征点不同于文献[29]仅限于手工制定的内核,而是自然的纹理特征.首先对原始灰度图提取边缘和Harris角点特征,然后以特征点为中心的方形区块内的边缘图进行二值化,形成模型点集.此后的跟踪过程类似于文献[43]提到的形状跟踪,通过对检测到的特征点建模,使用最新到达的事件不断更新特征模型.算法思想如图5所示,提出的方法可以实现异步跟踪,但其采用原始图像作为初始化,也为后续研究者提出作为缺点和不足.
文献[47]对文献[46]中的方法进行改进,利用基于事件的ICP算法[38]跟踪局部边缘模式进行视觉测距.由于在ICP过程中,每个像素被赋予不同的权值,因此,当某个区域内发生的事件越多,说明这个像素点最为重要,从而赋予更多的权值.此外,作者利用二维直方图对所跟踪特征的位置进行细化,能够提高长距离跟踪能力.该文提出的方法将跟踪转换为几何、点集问题,但该方法一方面会丢失有关边缘强度的信息,另一方面需要为基于ICP的注册建立事件和模板之间的显示对应关系(即数据关联).因此,文献[48]在2017年对文献[47]进行扩展,提出一种基于概率的软数据关联模型,依赖于事件的概率分配给模型后,将事件分组到模型中并计算光流.其中特征取代先前的边缘模式由运动补偿事件构建,然后使用期望最大化ICP以软方式计算对应关系,以此产生基于点集的模板,将新事件注册到模板中.但由于构建的事件图像受相机运动的影响很大,当相机快速移动时,跟踪性能受到限制.另外该文在计算数据关联时,对滑窗中所有的事件点之间的关联概率都进行了计算,这会使得计算复杂度变高,同时采用的期望最大化迭代求解方法,或许达不到实时性能.通过对文献[47,48]的改进,文献[49]在2018年直接使用原始强度图像的空间梯度作为模板,第一次提出通过生成事件模型将事件直接与帧中的像素强度关联起来.实验结果表明该方法的特征轨迹与先进算法相比更准确(亚像素精度)、更长.但用于预测事件的生成事件模型是一种近似模型,没有考虑严重的动态变化和噪声影响.
最近,在文献[48]的基础上,类似于文献[49]的思想,文献[16]主要考虑了相机运动的影响,但不使用原始强度图像,在2020年提出在XYT-域中使用三维Bezier曲线的事件对齐和特征跟踪算法,跟踪到的特征以用于估计三维相机姿态的精度.文中沿Bezier曲线在固定时间间隔内对齐事件,将其引入到补丁图像中,不同于直线对齐它可以极大地减少未对齐的情况.另外由于相机的运动是未知的,因此估计Bezier曲线可以最大化扭曲事件像素的方差.提出的局部特征跟踪算法不同于用于跟踪的初始补丁,而是通过对事件进行时间积分来构造模板图像补丁,并基于上述事件对齐来估计特征的运动.作者分别在合成和真实的数据集上进行测试,实验结果与文献[48]进行比较,证明了该方法无论在跟踪特征长度上和年龄上均优于文献[48],并且获得了较强的鲁棒性.该文提出的算法能有效地对在三维时空空间中生成的事件流进行对齐,同时解决了事件与特征之间的数据关联问题和运动估计问题.
此外,文献[50]在2018年提出基于局部滑动窗口的长时间在线学习检测跟踪.这是一项突破性的成果,打开了基于事件的长时间并实时跟踪的大门.提出的e-TLD算法借鉴基于帧的TLD算法[51],整合一个局部搜索的跟踪器和一个全局搜索的检测器,采用区分性分类方案将目标与背景分离,通过在线学习对目标进行识别,并在目标回到视野中时再对其进行检测和重新跟踪.此外,采用的贝叶斯自举可用于辅助实时处理并增强目标表示的判别能力.算法在公开的数据集[38]上进行测试,实验表明可以检测和跟踪各种形状和大小的任意目标.但该文采用的基于事件的滑动窗口沿用早期的方法,因此一些更有效的方法或许会更好的处理.
为了以更好的格式集成事件和帧,从而生成按需灰度帧和具有低延迟或无延迟的灰度事件.因此,不同于以上的传感器,文献[52]提出一个新型的运动传感器,即Celex sensor,该传感器是混合基于普通帧和基于事件的动态传感器.基于该传感器,文献[53]在2018年通过对基于帧的跟踪算法SSVM[54]进行改进,提出自适应事件引导支持向量机(ESVM)的跟踪算法,用于跟踪高速运动的目标,实现了高精度和实时性能.算法结构如图6所示,该算法首先处理输入的数据将低帧速率的全帧与时间连续的灰度事件流集成在一起.事件流的高时间分辨率可以捕获高速移动目标的整个运动轨迹,而基于帧的普通相机则记录离散的目标位置.事件的位置用于生成目标定位的自适应搜索区域,同时异步事件中的嵌入强度有助于目标检测的特征重建.后续的跟踪过程则遵循传统的SSVM框架.在多个跟踪基准的序列中进行实验,与最近的SiameseFc[41]等跟踪器相比,该方法提高了准确性和跟踪速度,并且速度达到了93.8fps.
图6 ESVM算法结构图Fig.6 ESVM algorithm structure
3.3 跟踪性能对比分析
与普通相机相比,事件相机发展尚未成熟,基于事件的跟踪还在起步阶段,虽说目前已提出大量的跟踪算法,但缺乏统一的数据集进行评估,而且缺少完整的性能比较,因此不能充分证明文献中所提算法的突出优越性.本节仅简要介绍并分析了一些以上基于事件相机的跟踪算法性能.
在文献[49]的工作中,作者分别在模拟和真实的数据集上进行评估,其中数据集在带有遮挡和亮度变化的高对比度和自然场景中获得.评估依据为将每个真值样本与时间上两个最接近的特征位置的线性插值所给出的特征位置进行比较,并对真值与估计位置之间的欧式距离进行平均计算误差.实验结果表明提出的算法在模拟数据集上能准确跟踪特征并获得0.4像素的平均误差.在真实的高纹理和自然场景中数据集上与文献[47,48]进行对比,结果如表2所示,文献[49] 在6个数据集上的平均像素误差均小于1,而文献[47,48]均远大于1,误差较大.由此可见,从跟踪精度上来讲,文献[49]优于两者.从跟踪轨迹上看,在黑白场景下的数据集shapes_6dof,checkerboard中,文献[49]的特征年龄远大于两者,而在高纹理场景下的数据集poster_6dof,boxes_6dof和自然场景下的数据集bicycles,rocks中,文献[49]与文献[48]将近持平,但均大于文献[47].由此可见,文献[49]提出的算法能实现准确的跟踪,且跟踪特征轨迹与先进算法相比更准确(亚像素精度)、更长.
表2 平均像素误差和平均特征年龄在不同数据集上的比较Table 2 Comparison of average pixel error and average feature age on different datasets
图7 DVS聚类与openCV的6种跟踪器的路径距离计算比较[34]Fig.7 Calculated path distances for DVS-clustering and six different object trackers implemented by openCV[34]
文献[34]使用自己设计的真实场景下行人或自行车交叉、部分被树遮挡的小型数据集进行实验.为考虑到隐私概念,作者将数据集进行差分图像和二值化处理,采用动态时间弯曲距离将跟踪路径与真值距离比较的评估标准,通过根据所选目标的跟踪路径与openCV库中的6个跟踪器进行对比,结果如图7所示.整体上来讲,提出的DVS事件聚类算法在7个记录中的平均动态时间弯曲距离小于openCV库中的跟踪器,跟踪较准确,表现良好,而KCF[6]跟踪器表现最差.在记录7的数据集上,由于DVS聚类过滤了大量的事件,没有达到最小聚类的条件,因此丢失了对目标的持续跟踪,从而导致跟踪失败.
4 事件相机数据集
事件相机价格昂贵,发展尚未成熟,因此目前还并不普及,为了帮助研究者处理基于事件的视觉输入算法,从而允许将不同方法与统一的测试标准进行比较,数据集成为其算法开发和测试的重要工具.苏黎世大学工作组公布一组公用的基于事件的视觉数据集和模拟器(1)http://github.com/uzh-rpg/event-based_vision_resources,它们在视觉上的任务分为目标运动估计(回归)任务和目标识别(分类),前者用于光流估计、SLAM和目标跟踪等,后者用于目标和动作识别.
文献[55]在2016年提出使用DAVIS捕获公共图像序列用于目标跟踪、动作识别和目标识别的基准数据集.然而该数据集中的事件流由捕获监视器上显示的图像序列生成,因此数据采集存在明显的不足,而且选择的用于事件流生成的图像序列通常以30fps记录,使在时域连续记录和输出数据的DVS功能受到极大的限制.
文献[38]在2017年提出并发布了在各种合成和真实环境中用DAVIS捕获的数据集,用于姿态估计、视觉测距和SLAM.这是世界上第一个且最流行的基于事件相机高速高动态范围机器人技术的数据集.该数据集不仅提供异步事件流和全局快门强度图像,还提供运动采集系统的惯性测量和相机位姿的真值.它应用在跟踪领域上的如角检测器评估[14,56]以及特征跟踪[47,49]等.
文献[39]在2018年提出的跟踪算法中,制作并开放了用DAVIS捕获的极端事件数据集,数据分别在四旋翼和手持式安装下搭建捕获,包括多个目标在挑战性情况下(如低光照和极端灯光变化包括频闪的闪光灯)移动.文献[35]在2019年提出的跟踪算法实验中使用7个数据集序列,其中的3个由作者通过DVS128传感器捕获,包括在一个场景中移动的数字、手中的玩偶以及人脸;其余4个由DAVIS 捕获.作者将捕获的数据集记录分成多段,并对其目标标记了带有边界框的真值,而且分别归属所面临的噪声事件、遮挡、尺度变化、姿态变化等挑战.另外,作者也开放了实验中所用的数据集.
5 总结与展望
本文简要介绍了事件相机的基本原理,分析了现有的基于事件相机的跟踪算法以及有关的数据集.总的来说,基于事件相机的跟踪不仅能极大降低计算成本,为高实时性能应用(如自动驾驶汽车导航)提供潜在的解决方案,还能利用动态DVS事件中包含的补充信息,在时域中连续检测和输出运动,捕获自然界中完整的运动轨迹.
然而,尽管目前有大量的基于事件相机的跟踪算法,但与基于帧的跟踪算法相比还不够成熟,因此,基于事件的跟踪在跟踪领域中还有很大的研究空间,以后的研究方向可以从以下几个方面进行展开:
1)仅使用二进制事件流的跟踪会在复杂的场景中受到限制,基于事件和帧的跟踪算法会受到相机延迟、高动态范围和运动模糊的影响.因此,如何有效处理事件流信息并减少噪声事件以足够完成视觉跟踪任务为后续研究提供了很大的潜力.
2)在现有的大多数算法中,参数由跟踪的目标在实验中被定义,因此自适应调整参数以增加跟踪器的操作范围为这一研究后续发展提供了方向,基于学习的跟踪算法也为此提供了广阔空间.
3)现阶段提出的算法缺少有效的评价指标,而且用于评价精度的基于帧的真值并不适用于基于事件的跟踪.另外当前基于事件的跟踪缺少统一的测试数据集,大多数算法很少在通用数据集上进行统一评估以进行完整的性能比较,因此建立基准数据集和评估方法将进一步促进这一方向的发展.