Speed Invariant Time Surface 学习笔记

  1. 在 FAST + SAE 的文章基础上的一个改进,设计了一个归一化方案,使得 SAE 不会随速度变化
  2. 在 1. 的基础上采用机器学习方法,将不变时间表面输入分类器训练,来区分角点事件

Speed Invariant Time Surface

在每个像素位置(x,y)处的值都是极性为 p 的事件在该位置发生的时间

思想:引入其他的规范化方式,减少在速度、转角、方向的变化的情况下 Time Surface 的变形

目的:通过为每个像素位置(x,y)与每个极性保持一个单一的值,有效地获得与速度无关的时间表面

方法

理解:想象运动物体都有轮廓,我们会捕捉运动物体的轮廓的"波(wave)",这个波不论运动速度如何,都是不变的,都应该具有相同的轮廓。每当到来一个新的事件时,将该位置的Time Surface的值定为一个较大的值,并减少周围的值,这样可以逐步减少由之前的移动轮廓导致的事件的值,并且由于减少是依赖于一个常数因子,所以“波”的斜率与等高线的速度无关

Speed Invariant Time Surface(后面简称SITS) 的构建

  1. 将 S上面的所有值初始化为 0 ,即对于所有的 (x, y),S(x, y, p) = 0;
  2. 对于每一个到来的事件 e(x, y, p),用如下方式更新 S;
    1. 对于 e 的周围的 (2r + 1) × (2r + 1) 的邻域内的所有点 (x', y'),如果 S(x', y', p) > S(x, y, p)(周围的大于当前的),那么邻域内所有的 S(x', y', p) 都减一;
    2. 将 到来事件 e 对应的 S(x, y, p) 设为 (2r + 1)²

从事件中学习角点检测

  1. 构建并更新 SITS(利用上面说到的方法);
  2. 构造一个分类器来对当前事件 ei 进行分类(分类为是否是特征点或不是),输入是 ei 的 n × n 邻域内的一个点的 patch,记作 si;

我们的目的是要得到一个分类器 F*,可以完成这样的任务:

文中选择了随机森林,每棵树是一个决策树桩(单层决策树),用描述符的维度 dk 和阈值 th 对比来得到结果,输出一个 e 是特征点的概率

由基尼不纯度来获得每个节点进行分支的最好的策略

角点检测流程

  1. 每传入一个事件;根据输入事件流,计算 SITS(它是一个局部的计算结果);
  2. 将 SITS 作为输入放入随机森林,训练来区分角点
  3. 如果随机森林返回的值高于一个阈值,则认为它是角点

结果会生成一个稀疏而稳定的角点事件流。

构建训练集

对每一个事件,都在它的局部位置对应的灰度图(应该是指伪图像)使用 Harris 角点检测,并根据检测结果分类。

** 文中使用了一个自己构建的、图案简单的训练集,但根据后面的实验结果,该方法训练出来的随机森林可以很好地泛化到复杂情况下

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值