一种事件相机描述子——DART

2020-12-11 17:24:31 浏览数 (1)

一、背景知识

在物体分类、目标跟踪等问题下,我们经常需要提取物体的一些特征。传统图像中常使用描述子(例如BRIEF)等对某个特征点(FAST或Harris角点)等进行描述,进而通过特征匹配的方式进行跟踪,或利用机器学习的方式完成物体分类等任务。

然而对于事件相机而言,其数据是以数据流的形式到来的,且没有完整的图像信息。所以如何描述事件流中的一个特征点,一直是一个难题也算是一个空白。近期的一篇论文:”DART: Distribution Aware Retinal Transform for Event-based Cameras”提出了一种DART描述子,用于对事件流中的数据进行描述。

二、DART描述子

下图直观的表示了DART的基本原理。以时间轴上一个最新的事件为圆心,绘制多个同心圆并分成多个扇形/圆弧区域,依次记录一段儿时间内的事件发生的坐标所在区域,形成DART描述子。

具体而言,圆弧半径以指数形式增加,第个半径的表达式为:

其中分别是最大最小半径,为设定的圆的数量。同时每个圆环等分成多份(图中为3个圆环8个半径,总共bin的数量为24)。

我们获取每个圆弧的中心,当某一个事件投射到这个类似于极坐标的平面时,会对距离最近的4个圆弧中心进行投票,距离越近得分越高。如下图所示:

某个事件落入4个圆弧中心形成的四边形中,距离越远圆弧中心得分越小(右)

当我们把一段儿时间内的事件全部投影过来,便得到了全部圆弧中心的分数。把这些分数按照一定顺序依次进行排列(例如半径从小到大,角度从0到360度),得到一个序列,这个序列就是DART描述子。

论文指出,典型的取值是:选取10个同心圆,每个均分成12份,形成120个bin,而描述子的长度取,其中根据情况取值0.1~0.4。

三、降噪

由于事件相机数据具有一定的噪声,直接采用这样的描述子必然包含了大量的噪声。论文采用了两种滤波:nearest neighbor filtering(最近邻滤波)和refractoryfiltering(不知如何翻译贴切,含义请看下面解释)

采用两种滤波的思想依据是,事件的产生是由于边缘的运动,所以这个边缘附近不应该存在其它的数据,由此当一个事件发生时,我们认为在最近邻8个像素内产生的事件是噪声,由此产生了最近邻滤波;同时我们认为同一个像素不可能在短时间内产生两次触发事件,由此在一段儿时间内同一个像素的第二个事件也会被滤波掉,由此是refractory filtering。refractory可翻译为倔强,这个滤波可以认为是同一个像素它不会快速产生两次事件。

四、应用

既然有了描述子,我们就可以像传统图像领域使用那样,使用事件相机的描述子。对于物体分类而言,先通过训练集进行训练,之后可以进行物体分类,例如使用N-MNIST数据集进行分类,显然正确率随字典的增大而提高。

或者进行物体跟踪,跟踪时涉及到了特征匹配,文章发现DART描述子度旋转、尺度变换、视角变换有一定的鲁棒性:

文章中还给出了一种长距离物体跟踪的算法,感兴趣的可以进一步了解。

五、总结

在特征点的选择上,文章并没有清晰地提出如何选择特征点,但其实事件相机的特征点早就有了研究,例如事件相机角点检测,从原理到demo。可以结合任意一种特征点提取的方式,然后计算DART描述子,实现其他任务。

本推送的作者认为,这种描述子在设计上,并没有考虑旋转、尺度、视角的不变性,而且在匹配时并没有提出新的特征匹配方法所以可以认为还是使用了传统的匹配,并不是严格的对这些变换不敏感。但本文作者指出,由于这种对数半径和极坐标网格的方式(有一定的区域面积),使这个描述子对尺度、旋转有一定不敏感。

但总得来说,我也是第一次看到事件相机的描述子,感觉从时间轴上进行投影并且结合降噪的方式,还是挺有新意。今后如果能出现从设计原理上变考虑了旋转、尺度等因素的描述子,那么应用场景将更为广阔,一起期待。

本文仅做学术分享,如有侵权,请联系删文。

0 人点赞