事件相机特征跟踪-模板跟踪方法

2020-12-11 17:26:27 浏览数 (2)

1、前言

由于事件相机不能提供完整的图像,所以最初的特征跟踪依赖传统相机的数据。本推送介绍事件相机特征检测与跟踪的一篇较早的工作:Feature Detection and Tracking with the Dynamic and Active-pixelVision Sensor (DAVIS),由ETH发表于2016年,衍生出了其它的方法,也被作为一类典型的特征追踪思路,即利用传统图形进行初始化与跟踪。

2、基本思想

方法主要分为两部分:特征模板提取,与特征跟踪。模板提取部分对原始图形提取Canny边缘图,然后选取一部分角点作为特征点,与其周围的一块边缘图构成一个模板。特征追踪时,积累特征模板中心附近的事件,当达到一定数量后形成数据模板,开始进行跟踪,每进入一个新的事件,便删除最老旧的事件。然后通过数据模板与特征模板进行ICP匹配,求的变化的增量,从而实现了一次的跟踪,之后不断进行。完整的算法流程如下:

3、细节实现

3.1 特征模板提取

特征模板提取时,首先对传统图形进行边缘提取,得到边缘图,之后利用”Good features to track”中的方法提取一定数量、响应强度大于一定阈值的关键点,然后保留关键点附近的边缘图作为特征模板,每个特征模板包含的数据即:一组记录了坐标的二维数据点。具体的提取过程示意图如下:

(图片来自于本论文改进版的论文,但原理相同)

3.2 数据模板

数据模板来自于事件相机的数据。首先进行初始化,初始化时在关键点附近积累一定数量的事件,积累的数量等于特征模板中边缘的像素数量,形成初始的特征模板。数据模板不仅要记录事件发生的位置,还有记录发生的坐标,因为当区域内产生新的事件时需要删掉时间戳最老旧的事件,从而实现数据模板的更新。

3.3 两个模板匹配

两个模板的匹配采用ICP算法,在实行ICP时,考虑到事件相机数据有可能存在噪声,所以论文设定了一个2像素阈值,当距离大于2像素时认为是外点。当ICP迭代收敛后,检测外点数量,如果较少则认为跟踪成功,返回ICP获得的变化。文章采用2维旋转与2维平移描述运动参数。

(ICP迭代示意图,红色为特征模板,蓝色圈为数据模板,黄色为离群点;当产生绿框所示的一个事件后,ICP结束后红色的特征模板会发生轻微变化,这个变化就是运动参数)

3.4 数据模板更新

当两个模板完成匹配,获得运动参数后,需要对数据模板进行更新,以获得当前跟踪特征的新的中心坐标,以及数据模板中所有的事件在当前中心坐标下的位置,本质上只是一个像素的旋转与平移。

3.5 跟踪失败判定

当ICP迭代结束后,如果离群点较多,或迭代后平均像素距离依旧很大,则认为特征跟踪失败。

4、实验结果

跟踪特征的时间长短是一个重要指标,这篇论文的方法进行跟踪,跟踪实践能够达到1s。当特征丢失后可以利用传统图像数据再次进行补充。当然,随着时间的增加,误差也会累积的越来越大。

5、论文方法改进

作者后来对方法进行了改进,作为了解决VO问题的前端,提出在论文”Low-latency visual odometryusing event-based feature tracks”中。主要改进内容有两项:

1. 将ICP过程中,每个像素赋予了不同的权重,加权的依据是,由于事件是由于边缘产生,所以有边缘产生的事件附近应该会有其它的事件。于是在这个事件发生的过去的一段儿时间内,3x3区域内发生的事件越多,证明这个像素点越重要,从而赋予了更大的权重;

2. 进行tracking refinement,利用二维直方图对所追踪特征的位置进行细化,提高长距离跟踪能力。

6、总结与评价

本文方法稍早,思路非常简单清晰。由于其采用传统图像作为初始化,也被后来相关研究提出来作为缺点与不足。后续也衍生出许多类似方法,或采用重建方法形成了特征模板,实现对特征模板的追踪。

但这种方法的优势也很明显,可以实现异步的跟踪,即每产生一个事件都可以进行特征的追踪,虽然在实际实现时可以等待一批数据进行处理,但原理上这种方法是支持逐事件更新的。

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

0 人点赞