论文阅读 | End-to-End Learning of Representations for Asynchronous Event-Based Data
前言:CVPR2019事件表征方面论文
代码:【here】
End-to-End Learning of Representations for Asynchronous Event-Based Data
前言
处理基于事件视觉任务的方式一般分两种,一种是应用可以异步更新的连续模型,另一种是将事件累积到时空域里形成事件包
Event-based vision algorithms aggregate information to enable further processing in two ways: (i) use a continuous-time model (e.g., Kalman filter) that can be updated asynchronously, with each incoming event or (ii) process events simultaneously in packets, i.e., spatiotemporal localized aggregates of events
前者时延小,但是参数不太好调,计算量大(因为需要一步一步更新)
后者牺牲了一定的时延优势,但是可以获得小的计算量和好的性能
目前。可以将事件变成网格状形式的表征,并应用传统CNN方式进行下游任务。优势是应用简单,在图形硬件上推理很快。本文解决了找到一个使下有任务发挥最大性能的表征方式
方法
事件其实就是一串四元组
我们需要的表征其实就是找到一个映射,使事件序列变成图像
事件场的表征event field
一个简单的直觉就是,我们用xyt对应的坐标,分成正负两个极性,把所有触发的点给填到网格里去,然后同一个网格里的所有的点个数相加,
这样得到的事件场S的表征保护了高分辨率的时间信息也保留了局部空间信息
事件场概念的一般化表征
之前的事件场S的每个xyt网格里的值其实是由事件个数表示,更一般化的表示可以用一个f函数学习到每个点的 measurements,在对网格内每个点的 measurements相加(上式就是 measurements为1的情况)
举例:
比如:
即measurements为1的情况,即第一个式子
比如:
极性的相加
比如:
归一化的时间
核函数的定义
这里作者的解释是 事件场的表示中有狄利克雷函数,因此需要把狄利克雷表示形式换成函数作用的形式,即
Although the event measurement field retains the high temporal resolution of the events, it is still ill-defined due to the use of Dirac pulses. Therefore, to derive a meaningful signal from the event measurement field, we must convolve it with a suitable aggregation kernel.
比如一些手工定义的连续函数HOTS,HATS
以及三线性插值函数
离散化
当然我们使用连续函数进行作用的话,我们最终还是要将具体的事件离散化成一个个的点
这里的离散化,也包括时间上的离散化,将时间离散成一个个时间箱
端到端的表征学习
前面介绍了一大堆铺垫,终于到自个方法的介绍了
最终的函数学习即用MLP实现的,将坐标点和时间戳作为MLP的输入,然后输出的激活图如公式(6)实现网格内的相加。(这里的代码只拿t作为输入,并且直接生成一个measurement)
在测试阶段可以用查表的方法节省推理时间
投影
由于核函数的学习只是得到了每个点的Measurement,最终要实现点序列转换成图像格式,因此有很多种投影方式,
第一种:EST(我们的),不需要投影,直接x y t p 填值
第二种,p上投影,把极性作为正负号乘进去
第三种,t方向投影(没有时间维,但是有两种极性,因此是two-channel)
第四种,tp方向投影(event frame)
实验评估
可以看出用时间戳作为Measurement,取得的效果最好
同时用学到的核函数比手工定义的函数效果好
其次,是EST的方法取得的性能最好
推理时间上,EST的表征比一些其他的异步方法更快
总结
对于事件表征的学习可以提升下游任务的性能,很好的一篇工作,就是不知道为什么后面很多工作没有采用这种表征方式