【事件相机与计算机视觉】论文分享--End-to-End Learning of Representations for Asynchronous Event-Based Data

本文介绍了一篇ICCV论文,提出了一种综合的事件数据表示方法EST,能充分利用事件流所有信息,通过端到端学习让网络自适应任务。实验结果显示EST在物体识别中优于传统方法,标志着事件相机在深度学习领域的重大进展。
摘要由CSDN通过智能技术生成

.前言

        事件相机作为一种新型的图像数据形式,由于其时间分辨率高、高动态范围、低功耗的优点,在许多CV问题上有着比传统相机更好的表现,但要想将其产生的数据流用于现有深度网络中,需要将数据转化为网络可以处理的形式。笔者在之前的综述分享中介绍了许多事件相机的数据转化方式,但是由于它们都压缩了某个维度,造成了信息丢失,因此都具有一定缺陷。

        本次笔者分享的是一篇ICCV的论文,作者提出了一种综合了所有信息的事件数据表示方式EST。在这种方式下,压缩某个维度即可得到例如Event-frame、Voxel等目前常见的表达方式,EST因此可以说是事件数据表示的集大成者。同时,作者更是在变换中提出了一种可训练的核函数,使得数据表示可以通过端对端训练来更加“适应”任务。

论文原文:

End-to-End Learning of Representations for Asynchronous Event-Based Data

若不了解事件相机,关于事件相机的综述导读可以阅读笔者的文章:

Event-based Vision: A Survey——从这篇综述开始了解事件相机(一)

1. 论文总览

        本篇论文解决了事件相机用于深度学习的一个最基本但也是最关键的问题:将事件流数据处理为深度网络可以接收的“网格”数据。目前,常用的事件流表示法有Event-Frame(Single or Two Channel)、Voxel、Time Surface等,它们已经在许多领域大放异彩,表现出超越传统相机的训练结果;哪怕是最简单的Event-Frame形式,在汽车转角预测、图像重建、视频去模糊等问题上也能有优于传统灰度图的结果。但正如笔者多次提到的那样,这几种数据表示法可以说都“浪费”了一部分事件流的信息,在一些问题上也许够用,但还是有很大提升的空间以获得更精确的结果。

         因此文中提出了上图所示的Event Spike Tensor(简称EST)的事件数据表示方法,对于一个四元组事件,EST能够涵盖其位置、时间、极性等所有信息,因此能够充分利用事件流的时间分辨率、动态范围、运动捕捉等优势。同时,比起笔者经常处理事件流的方式(对事件的极性进行简单的叠加、用极性来表示每个像素点的值),作者还增加了测量函数、核变换等流程,使得生成的EST能够包含更多信息,并且更具有“意义”(笔者认为此处的“意义”在于合理的核变换能够使得事件的信息更加充分地体现,即变换后网络更能提取出某些特征),甚至该核函数可以用多层感知机(MLP)替代,作为学习的一部分,让网络自己去选择核。

        本文的亮点在于:

1):提出了一种综合的事件数据表示法EST。包含了事件流所有的信息,同时处理过程中引入了测量函数和核函数的变换,使得事件流的信息能被更有效地提取;

2):提出了一种端到端学习的事件表示方法。用MLP取代核函数,使得EST具有可学习型,实现事件流—>网络输出的端到端学习

2. 数学模型 

2.1 Event Spike Tensor —EST 建立

        事件相机中DVS模块输出四元组事件流:

        上述事件流表示了四元空间中的点,引入Event Field这一概念,通过狄拉克脉冲函数\delta将这些事件进行整合,Event Field表示了特定像素点、时间戳处,事件产生的不同极性的脉冲(可以理解为原本事件是点集,现在用函数将其表达出来):

         深度卷积网络显然处理不了这样的脉冲(SNN专门处理这种脉冲),因此作者引入了一个定义在事件域的、连续的测量函数f来具体化每个事件。这个f可以是事件极性(\pm 1),可以是事件数,也可以是平均时间戳,或者是其他任何包含事件流某种信息的值。(该部分笔者这样理解:在事件域这一包含空间像素和时间戳的坐标系中,每个事件原本都是脉冲,通过f来将脉冲替换为一个具体的量,若f是极性,便是Voxel、若是时间戳再压缩,便是Time Surface)

         为了让事件表示方式更加具有“意义”,作者对上述S与一个核变换函数进行了卷积操作,只要核函数选取得合适,那么得到的事件表示就有可能让卷积网络学到更多特征。核函数k内是包含狄拉克脉冲函数的,可以看作它是针对狄拉克函数的一种变化,得到一种有“意义”的函数来将事件具体化。常用的核函数有:指数核函数;alpha核函数:

 ;三元线性投票核函数:。当然,核函数没有绝对的优劣,对于特定的问题,有的核函数能使事件数据表现出更多可学习的特征。核函数变换表达式如下:

         最后,为了使数据“网格化”,以便输入进卷积网络(卷积网络接受数据可以看作以像素为单位的网格),作者对核变换后的事件进行了取样,取样是在时间维度进行的,根据事件密度通过选取一个合适的时间间隔,将连续的事件离散化,最终得到EST模型

        其实笔者对上述数学模型理解并不是很透彻,仅仅是理解了一个大意。笔者看来,事件一直都存在于上图所示的三维空间中,极性这第四维可以看作是空间中每个点的标记;测试函数f为空间中的事件点赋予有意义的值;核函数卷积(可以看作是对3D图像进行3D卷积操作)对整个空间进行某种运算得到另一个三维空间(依然是坐标和时间三维,但是每个点的值因卷积运算改变了);最后再将连续的三维空间离散化变为网格得到EST模型。

        对EST的某个维度进行叠加,即可得到我们常见的几种事件表示(笔者认为对于Voxel这些表达方式来说,可以不加核变换),在此不再展示具体公式。

 2.2 端对端学习

        本篇论文另一个精妙之处在于实现了可端对端学习的事件表示方法。对于核函数k,与其费尽心思去寻找一个合适的,不如直接引入一个充满参数的卷积核,让网络自己决定自己想要什么样的数据。这就好比卷积网络中,卷积操作实为一种特征提取器,而卷积神经网络则是将特征提取器全设为参数,让网络自己学习需要提取的特征。 

        因此,作者选择采用多层感知机(MLP)来替代核函数,事件的坐标和时间戳作为输入,以此生成激活映射(取代核变换的作用)。

        笔者自己绘制的学习流程如上。作者实现了事件流到输出的端对端学习系统,根据系统得到的输出与目标值的损失,进行反向传播,其中MLP的参数也是需要进行梯度下降更新的,这使得任务本身对事件的表示方式也有了选择权,自然也能有比人工选择核函数更好的训练效果。

3. 实验结果

         作者在物体识别光流估计这两个具体问题上进行了实验分析,选用了多种事件表示方式进行了对比。同时对于不同的事件表示方式,作者还对比了测量函数与核函数对结果的影响(端对端学习属于不同核函数的选取),最终都能发现选用MLP进行端对端学习的方式表现得更为出色。由于笔者对光流计算了解甚少,此处只展示物体识别的结果,望读者见谅。

        作者分别在N-Cars以及N-Caltech101这两个开放数据集上进行了测试,采用了Resnet-34的网络结构,先在ImageNet上进行了预训练,选用了交叉熵损失函数和ADAM优化算法,初始学习率为1e-5,每10000次迭代就减少2倍,N-Cars与N-Caltech101采用的batch分别为60和100。识别任务结果如下:

         从上表可以看出,采用时间戳作为测量函数f效果最好,这也不难理解,毕竟这样事件信息更加丰富(即便是EST也压缩了部分时间,时间戳作为测量函数能够补充一定的时间信息);而在核函数选取方面,对于固定的核函数来说,三元线性投票函数的效果最佳,但也比不上端对端学习的方式。综合来看,采用时间戳作为测量函数,将核变换替换为MLP进行端对端学习的事件表示方式,在物体识别这个任务上表现得最佳,即便不引入MLP,EST相较于其他常用表示方法来说也具有优势,这也证明了这篇论文提出的EST的有效性。

4. 小结

        本篇论文可谓是所有事件数据表示方法的集大成者,给出了一种综合的事件表示模型EST,构建了一种事件数据转化的通用框架,涵盖了事件流几乎所有的有用信息,同时还能经过叠加转化为Voxel等我们常用的类型,更不用说引入MLP实现了端对端学习。

        当然,本文对笔者来说,最大的意义在于充分了解了每一种事件数据的表示方法,以便针对不同问题去使用,毕竟即便是效果最差的Event Frame,相较于传统灰度图来说都是极具优势的,因此没必要在每个问题上都要采取EST进行端对端学习(EST数据量较大,使得训练消耗的时间更多)。但作者提出的数据表示框架还是极具价值的,如果能够正确复现并广泛使用,那么将节省很多数据处理的功夫,我认为这也是事件相机领域发展成熟的关键一步。

        最后,谢谢大家读到最后,文中许多细节笔者未作太多阐述,若想复现该篇论文,读者还需更加深入阅读,请见谅。 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值