Event Transformer

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

 

Abstract

  事件相机是一种受生物视觉启发的相机,具有高动态范围、高响应速度和低功耗,最近因其在大量视觉任务中的使用而受到广泛关注。与以固定时间间隔输出强度帧的传统相机不同,事件相机异步(在时间上)和稀疏(在空间上)记录像素亮度变化(也称为事件)。现有方法通常为下游任务聚合在预定义时间持续时间内发生的事件,这显然忽略了细粒度​​时间事件的不同行为。这项工作提出了Event Transformer以直接处理其原生矢量化张量格式的事件序列。它级联了一个用于利用局部时间相关性的Local Transformer (LXformer),一个用于嵌入局部空间相似性的Sparse Conformer (SCformer),以及一个用于以串行方式进一步聚合全局信息以有效表征来自输入原始事件的时空相关性的Global Transformer (GXformer),用于生成用于任务的有效时空特征。在广泛用于分类的五个不同数据集上,与另外十四种现有算法相比,已经广泛进行了实验研究。定量结果报告了Event Transformer最先进的分类精度和最少的计算资源要求,使其对基于事件的视觉任务具有实际吸引力。

 

Keywords: Transformer, Sparse Convolution, Spatiotemporal Feature, Vectorized Tensor

 

1 Introduction

  与以固定时间间隔输出标准强度帧的传统相机相比,事件相机模仿视网膜[4]的生物行为,以动态和异步捕捉像素的亮度(强度)变化,只要它超过预设阈值。正如[17]中广泛回顾的那样,事件摄像机通常具有更高的响应频率(1μs vs 33ms)、更低的功耗(10mW vs 300mW)和更高的动态范围(140dB vs 70dB)。这些优势导致事件相机在各种计算机视觉任务中得到广泛使用,包括目标识别[21,38,33,27,39,3]、检测[35]以及同时定位和映射(SLAM)[6,31]。

  事件相机异步记录一系列事件,可以描述为:

每个事件 ei 是一个元组,在时间 ti 具有像素位置,极性pi ∈ {−1, 1}。pi表示像素亮度的增加或减少,如图1所示。为了便于在下游任务中使用事件相机,我们首先需要适当地表示事件。图2描述了一些常见的表示方案,包括基于帧的[34,24,39,18,11,5,10],基于体素的(voxel-based)[37,3,9,14,2]和基于脉冲的[26 ,15]表示。

  在这项工作中,我们建议将事件序列 E 以其原生矢量化张量格式直接处理为事件词序列。我们观察到每个事件都可以被视为事件序列中的一个单词并表示,类似于自然语言处理(NLP)应用程序中单词在句子中的表示。事件的不同参数对应句子中的不同单词。请注意,NLP任务中的句子只呈现词的动态变化。相比之下,事件在2D空间上稀疏地发生并且随着时间的推移异步发生,这需要能够保持联合时空相关性的表示。

  这项工作提出了一种新颖的Event Transformer来直接处理事件序列 E 而无需事件累积(例如,平均)以形成2D帧、3D体素或2D脉冲。为了实现这一目标,我们引入了一个基本的Event Transformer Block (ETB),它由三个串行互连模块组成:local transformer (LXformer)、sparse conformer (SCformer)和global transformer (GXformer)。LXformer模块在局部1D持续时间内运行以捕获时间相关性,SCformer模块从LXformer获取输出并在预定义的2D局部空间窗口中执行空间信息嵌入,而GXformer进一步从SCformer以全局方式聚合缩减序列的信息。我们连接四个ETB来创建Event Transformer主干,以将输入事件流转换为特征张量。我们的目标是通过局部和全局信息处理广泛利用输入事件序列的时空相关性,并为下游任务生成有效的时空特征。由于我们使用多层感知器(MLP)和稀疏卷积等常用算子,我们的方法可以很容易地在主流设备上实现。每个ETB中的级联模块也提供计算效率;例如,GXformer在缩减的事件特征序列上运行,这可以通过对事件序列片段的局部计算来实现。

  我们在基于事件的高级分类任务上评估提议的Event Transformer。我们进行了广泛的实验研究,以将我们提出的方法与14个使用基于帧、基于体素和基于脉冲的表征的现有模型进行比较。如图2b所示,我们获得了N-MNIST [21](+0.4)、N-Caltech101 [33](+1.1)、CIFAR10-DVS [27](+1.5)、N-CARS [39](+0.1)和ASL-DVS [3](+1.0)数据集的最新技术(SOTA)结果,同时与之前的SOTA相比显著减少了计算量(-61%)。与现有方法相比,我们的方法还需要最少的计算资源,这使其成为基于事件的视觉任务的实用候选者。

  本文的主要贡献总结如下。

—— 我们提出了一种新颖的表示形式矢量化张量,它充分利用了事件的图像属性,同时保持了事件的细粒度时间戳。

—— 我们提出使用向量化张量的Event Transformer来充分提取事件与事件之间的关系。

—— 我们在多个数据集上实现了最高精度,同时还显著减少了模型计算(仅0.51G FLOPs)。

 

2 Related Work

2.1 Event Representation Methods

  鉴于用于2D图像的深度神经网络(DNN)的流行,将它们重新用于事件摄像机是很有吸引力的。一种直接的方法是通过将预设持续时间(例如,33 ms)内的事件聚合到灰度帧中,将事件序列转换为2D图像,如图2a所示。在[34,24,39,18,11,5,10]中已经提出了许多这样的基于帧的事件表示方法,但是它们通过丢弃事件相机中的精细时间粒度来引入运动模糊。另一种方法是将事件转换为3D点云,并将3D DNN应用于不同的任务。基于体素的表示[37,3,9,14,2]通过在相对较短的持续时间内聚合事件,将事件转换为空间分散的3D体素序列。一些方法[26,15]将事件表示为脉冲,如图2a所示,它类似于人脑神经元中的脉冲,并尝试使用脉冲神经网络(SNN)来处理它们,然而,SNN中的脉冲是不可微分的脉冲响应函数。因此,SNN无法使用基于梯度的反向传播以及需要专门的硬件实现限制了其应用。

 

2.2 Event-Based Vision

  与传统摄像机相比,事件摄像机首先用于SLAM,因为它们具有低延迟和带宽节省。在SLAM中,最常见的视觉任务是检测标定板和特征点。因此,提出了几种通过手动设计特征提取器来检测角、线和边缘的方法[7,30,41]。随着事件相机的升级和普及,它们越来越多地用于目标识别[21,33,27,39,3]、检测[35]和分割[1]等任务。从纯手工设计的特征中提取语义信息非常困难;因此,有几种方法已将事件转换为图像以使用DNN提取特征[29,45,34,24,18,11,5,10]。例如,[29]将一段事件根据它们的极性堆叠成一个双通道图像,这会导致时间信息的丢失,并且事件数据会转换为长时间曝光的照片。[45]增加了两个通道来记录最后一个事件的时间戳。为了充分利用时间信息,[39]将最新事件编码为时间平面,但它失去了空间特征。[18,5]尝试使用学习方法通​​过自适应选择事件来生成事件框架。值得注意的是,所有基于帧的方法都需要选择时间窗口。较短的窗口会导致下游任务的累积数据不足,而较长的窗口会导致运动模糊并违背事件摄像机高响应率的初衷。

  已经引入了几种方法来表示和利用事件数据中的时空相关性,将它们处理为3D点[2,14,3,9]。例如,[2,14]尝试通过3D卷积来捕获时空连接,该方法广泛用于3D医学图像处理。[3,9]使用图卷积网络(GCN)来学习事件之间的关系,因为事件数据非常稀疏,并且3D卷积可能是计算密集型的。构建图结构所需的时间甚至可以超过识别任务本身所需的时间。此外,这些方法通过体素化事件来预处理数据,这降低了事件数据的时间粒度。特别是,[14]将事件数据处理成最小分辨率为10ms的体素,用于事件超分辨率,实现了高空间分辨率但失去了时间分辨率。

  除了DNN和GNN,一些方法[26,15]还使用脉冲神经网络(SNN)进行事件数据分类。模拟人类神经反应的SNN和模拟视网膜激活的事件相机的设计似乎是一个很好的组合。然而,训练SNN的挑战和对特殊硬件的需求阻止了SNN在实际应用中的使用[40]。

  综上所述,当前的事件处理方法在结合空间和时间信息以及保持精细的时间粒度方面面临问题。在我们的方法中,我们使用原始事件数据作为输入来确保无损时间精度。受最近的NLP文献[12,44,8]的启发,我们使用Transformer来提取时间特征,并通过稀疏卷积将时间特征与空间特征融合。

 

2.3 Transformer

  Transformer架构最近在[42]中提出并应用于机器翻译,其中包含没有任何循环或卷积块的自注意力层。近年来,基于Transformer的方法在NLP [12,44,8]和视觉任务[13,28]中取得了巨大成功。与基于卷积的主干相比,基于Transformer的主干具有更好的性能,因为它们能够长时间建模信息。最近,[32]已经使用视频Transformer成功地处理了视频中的时空信息。但是,以前的Transformer [42,12,44,8,13,28,32]无法很好地处理事件数据NLP Transformer [42,12,44,8]无法考虑事件数据的空间信息,图像Transformer无法处理事件的时间关系,而视频Transformer [32]需要对事件进行体素化,其中事件的稀疏性会导致大量冗余计算。

 

3 Approach

3.1 Backbone Architecture

  图3a描绘了由四个Event Transformer Blocks (ETB) 组成的Event Transformer主干,以在输出特征的多级方式中有效地表征来自输入事件序列的时空相关性。如图3b所示,每个ETB由三个串联互连的模块组成:local transformer (LXformer)、sparse conformer (SCformer)和global transformer (GXformer)。

  在第一阶段,大小为N × 4的原始事件序列 E 被输入基于MLP的线性嵌入层,以生成大小为N × C的相应特征。原始的 E 直接通过用于位置编码的主干。作为结果,大小为N×(4+C)的事件和相关特征都由后续的ETB处理。我们在第一阶段有意删除ETB中的GXformer,以专注于局部信息聚合。第一阶段的输出然后由后续阶段处理。

  第二至第四阶段在使用ETB之前实现事件采样。每个事件采样层由一个最远点下采样*[36]步骤和一个MLP组成,它将事件的数量均匀地减少了4倍。特征通道大小扩大了4、2和2倍,分别用于第二至第四阶段。这些步骤最终导致最终输出大小为N/64 × (16C + 4)。

  第二阶段和第三阶段共享相同的ETB结构,而我们从最后阶段的ETB中删除了SCformer和GXformer。这是因为通过上述逐级事件采样,事件数量显著减少(即从N到N/64),并且单个LXformer足以捕获特征聚合所需的信息。

 

* 给定输入点{x1, x2, ..., xn},迭代最远点采样(FPS)选择点的子集,使得与其余点相比,是距离集合最远的点(以距离为度量)。与随机抽样相比,在相同数量的质心的情况下,它对整个点集的覆盖率更高。与扫描与数据分布无关的向量空间的CNN相比,该采样策略以数据相关的方式生成感受野。

 

3.2 Local Transformer

 

3.3 Sparse Conformer

  与仅具有随时间变化的一维动态的语言数据不同,相机捕获的事件表现出空间和时间的变化。除了在LXformer中使用M个时间最接近的事件来利用1D时间相关性进行局部嵌入之外,我们还建议在2D空间中使用另一种局部嵌入来利用2D空间相关性。

  为了结合空间相关性,我们首先将发生在相同空间位置且具有相同极性的所有事件的特征叠加以进行平均,然后将各个极性级别的平均特征连接起来。事件序列被转换为一个二维帧I ∈ RH×W×(2+C),其中H和W是帧的高度和宽度。由于特征堆叠后可能存在较大差异,因此我们添加层归一化L = LN(I)以防止梯度爆炸。

  我们通过基于稀疏卷积的注意力机制提取图像 L 中局部2D像素之间的相关性。注意力查询、键和值向量是通过三个不同的稀疏卷积[19]获得的,即Q = SPConvq(L)、K = SPConvk(L)、V = SPConvv(L)。稀疏卷积的使用主要是由于事件的稀疏分散性。

 

3.4 Global Transformer

  LXformer和SCformer在空间和时间维度上聚合局部特征。具体来说,LXformer只允许使用M个时间最接近的事件,而SCformer中的感受野仅限于窗口Wi。然而,对于高层次的视觉任务,所有事件的全局关系尤为重要。如果我们直接将LXformer中的M个事件扩大到所有事件,计算复杂度将从N增加到N2,这对于大N可能变得不可行。

 

4 Experiment

  在本节中,我们将展示我们的实验来评估我们提出的Event Transformer和现有方法的分类性能。

 

4.1 Event-Based Classification

Datasets and metrics. 我们在五个基于事件的分类数据集上测试我们的模型:N-MNIST [21]、N-Caltech101 [33]、CIFAR10-DVS [27]、N-Cars [39]和ASL-DVS [3]。如表1所示,这些数据集在捕获的相机、事件源、事件流的平均持续时间和数据集大小方面差异很大。N-MNIST、N-Caltech101和CIFAR10-DVS是使用实验室版本的事件相机(基于异步时间的图像传感器实验室传感器)拍摄的。

  数据采集​​设备由e-link屏幕、可移动三脚架云台和事件摄像机组成。来自现有MNIST [25]、Caltech101 [16]和CIFAR-10 [22]的图像显示在监视器上,事件摄像机的三脚架头移动以生成事件。由于e-link屏幕不刷新而内容保持不变,因此避免了由于屏幕刷新引起的嘈杂事件。这些事件是由相机抖动引起的,这与现实世界中的运动产生的事件不同。N-Cars使用事件相机(Prophesee Gen1)在城市道路上记录了24029个100ms的序列,并将它们分成汽车和背景。ASL-DVS是使用DAVIS240c在现实条件下手形记录的24类数据集。与之前的数据集相比,ASLDVS的事件序列增加了十倍。我们分别在每个数据集的训练集上训练我们的模型,并在测试集上评估Top-1分类准确度。对于没有官方划分训练集和测试集的数据集(N-Caltech101、CIFAR10-DVS和ASL-DVS),我们遵循[3,9,43]中介绍的设置,随机抽取80%的数据进行训练,其余的20%用于测试。

Implementation details. 对于分类任务,我们平均所有事件的第四阶段输出特征,并将它们输入由MLP和ReLU组成的分类头,以获得最终的输出类别。第一阶段的通道数C设置为32。LXformer中的交互事件M设置为16。而第一、二、三阶段的SCformer核的数量分别设置为[64, 128, 256]。SCformer中窗口W的大小设置为3。GXformer中最远下采样率 r 设置为32。训练时,从训练集中随机采样1024个事件作为输入,推理时输入所有事件。我们通过使用动量为0.9和批大小为64的SGD优化器优化交叉熵损失,从头开始训练我们的模型200个epoch。学习率从0.01开始,在150和180个epoch分别衰减到0.001和0.0001。整个训练过程只需要几个小时(例如,N-Caltech101只需要三个小时)。

Experimental results. 我们将从我们的模型获得的Top-1分类精度与基于帧的方法(H-First [34]、HOTS [24]、HATS [39]、EST [18]、AMAE [11]、M-LSTM [5]、MVF-Net [10]和ResNet-50 [20])、基于体素的方法(EventNet [37]、RG-CNNs [3]、EV-VGCNN [9]和VMV-GCN [43])和基于脉冲的方法(Gabor-SNN [26]和PLIF [15])。EST [18]、M-LSTM [5]和MVF-Net [10]中的模型使用ImageNet [23]进行了预训练;为了公平比较,我们使用了[43]从头开始​​训练网络的结果。对于PLIF [15],原论文将数据集分成9:1进行训练和测试;因此,我们通过使用他们的官方代码以80/20%的训练/测试拆分重新训练他们的模型来报告结果。如表2所示,我们的模型在所有分类数据集上都取得了最先进的结果,这说明了我们的模型和表示形式的有效性。

 

4.2 Computational Requirements Analysis

  我们在表3中比较了CIFAR10-DVS数据集上不同方法的参数数量(Parameters)、浮点运算(FLOPs)和最终精度。我们没有列出基于脉冲的方法,因为它们需要特殊的硬件设备进行推断。如表3所示,我们使用最少的计算量(仅0.51G FLOPs)获得了最佳性能。与基于体素的方法相比,我们的方法需要更多的参数,因为有大量的MLP模块。因此,我们提出的Event Transformer适用于与事件相机结合的低功率设备,其中计算成本是主要问题。

 

4.3 Ablation Study

  我们对模型的各种设置进行了许多实验,作为对CIFAR10-DVS的消融研究。首先我们分析一下我们的LXformer、SCformer和GXformer的效率。然后我们分析LXformer和SCformer的融合过程。最后,我们分析了LXformer、SCformer和GXformer中交互事件数量的影响。

Network structure. 我们通过几组实验证明了我们网络的每个部分都是必不可少的。表4显示了网络结构的不同组成部分,其中L、S和G分别代表LXformer、SCformer和GXformer。对于Local和Local+Sparse的比较,我们发现SCformer的加入显著提高了模型的表示能力(+1.8)。Local+Sparse+Global说明GXformer的加入可以进一步聚合全局信息,提升性能(+1.2)。我们还对LXformer、SCformer和GXformer的放置进行了实验(Global+Local+Sparse和Local+Sparse+Global),实验结果表明空间和全局信息的过早聚合不利于模型性能(-1.4和-1.6)。我们认为这是因为时间关系是事件数据最基本的属性。

Fusion of LXformer and SCformer. LXformer提取时间特征,而SCformer提取空间特征。我们进行了一系列实验,以找到融合两组特征的最佳方法。表5显示了当我们尝试以三种方式融合特征时的结果:连接、并行和串行。在连接设置中,我们尝试通过连接两个完全不同的特征将它们连接在一起,然后在使用MLP降低它们的维度后将它们添加到输入特征中。如表5所示,这将对模型性能产生不利影响(-9.2)。我们认为这是因为LXformer和SCformer中的输入特征和输出特征之间缺乏残差连接,这对Transformer很重要。然后我们比较了并联和串联连接这两个特征的性能。实验结果表明,LXformer聚合的时间信息可以帮助SCformer在使用串行融合(+1.2)时提取空间信息。因此,我们选择在我们提出的模型中将SCformer模块放置在LXformer模块之后。

Number of closest events in LXformer. 在LXformer中,我们将每个事件与在时间序列中与其相邻发生的M个事件进行交互,这里我们试验最近事件的数量。表6显示,当最近事件的数量较少(M = 4或M = 8)时,LXformer无法提取足够的内容信息(性能分别下降-5.4和-1.2)。当数字非常大时(M = 32或M = 64),它会引入过多的噪声事件并导致注意力损失(性能分别下降-0.3和-1.6)。

Size of interactive window in SCformer. 在 SCformer 中,我们针对窗口大小为W的帧平面中的每个事件计算自注意力。因此,我们对窗口大小进行了实验。如表7所示的实验结果表明,如果窗口大小为1×1 ,自注意力退化为一般​​卷积。窗口大小为3 × 3时效果最佳。而当窗口大小进一步增大时,并没有带来更好的增益。

Down-sample rate in GXformer. 最后,我们评估了GXformer中下采样率 r 对模型性能的影响。如表8所示,当下采样率 r 为1时,即没有下采样,GXformer退化为LXformer。实验结果表明,当 r 较小时(1和8),提取的全局信息不全面(-1.4和-0.9)。而当 r 太大(64和128)时,会导致信息丢失过多(-0.6和-1.1)。因此,我们最终选择了32的下采样率。

 

5 Conclusion

  用于处理事件相机数据的现有方法失去了事件的精细时间粒度。在本文中,我们将事件数据视为一系列事件词,并在捕获和利用数据中的空间和时间相关性的同时按顺序处理它们。受在自然语言处理中取得巨大成功的基于Transformer的方法的启发,我们提出了一种新颖的Event Transformer,它将事件数据的时域序列属性与图像的空间域特性相结合。我们的实验表明,我们提出的模型在分类方面取得了最先进的结果。我们希望我们的工作能够为各种视觉任务提供一种处理事件数据的新方法。

posted on 2022-06-24 19:55  穷酸秀才大草包  阅读(880)  评论(0)    收藏  举报

导航