社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

突破深度学习难题 | 基于 Transformer ,解决脉冲神经网络(SNN)的性能限制 !

集智书童 • 1 月前 • 45 次点击  

点击下方卡片,关注「集智书童」公众号

点击加入👉「集智书童」交流群

深度学习对于解释复杂环境至关重要,特别是在自动驾驶导航和机器人技术等领域。然而,从事件相机数据中获取准确的深度读数仍然是一个巨大的挑战。

事件相机与传统数码相机的工作方式不同,它们持续捕捉数据并生成异步的二进制脉冲,这些脉冲编码了时间、位置和光强信息。

然而,事件相机的独特采样机制使得基于标准图像的算法不适用于处理脉冲数据。这促使开发创新的、对脉冲敏感的算法,专门针对事件相机,而脉冲数据的非规则性、连续性、噪声以及其空间和时间特性使得这一任务更为复杂。

利用 Transformer 神经网络在时空数据上的强大泛化能力,作者提出了一种纯粹由脉冲驱动的脉冲 Transformer 网络,用于从脉冲相机数据中估计深度。为了解决脉冲神经网络(SNN)的性能限制,作者引入了一种新颖的单阶段跨模态知识转移框架,利用人工神经网络(ANN)的大型视觉基础模型(DINOv2)的知识来增强在有限数据上SNN的性能。

作者在合成数据集和真实数据集上的实验结果表明,与现有模型相比,作者的方法在绝对相对误差和平方相对误差上都有显著提高(分别比基准模型Spike-T提高了49%和39.77%)。

除了准确性之外,所提出的模型还显示出降低了功耗,这对于实际应用来说是一个关键因素。

1 Introduction

基于事件的相机是受生物启发的传感器,它们异步捕捉视觉信息,实时报告亮度变化[1, 2]。与传统相机相比,基于事件的传感器的主要优势包括触发事件之间的低延迟[3],低功耗[4]和高动态范围[5]。这些优势直接来自于硬件设计,基于事件的相机已经被应用于各种领域,如三维扫描[6],机器人视觉[7]和汽车工业[8]。然而,在实践中,基于事件的传感器捕捉到的是独特的脉冲数据,这些数据编码了场景中光强变化的信息。数据中的噪声极高,且缺乏对这些数据的通用处理算法,以提供与传统数字相机数据上的传统视觉算法相当的能力。

脉冲神经网络(SNNs)是受生物启发的神经网络模型,模拟生物神经网络的行为。与在传统视觉算法中使用连续值不同,SNNs使用称为脉冲的离散函数来表示和处理信息[9]。因此,它自然是基于事件相机输出处理的理想范式[10, 11, 12]。

深度估计是计算机视觉中的一个挑战性任务,广泛应用于自动驾驶、自动化机器人、农业生长监测和森林碳排放监测。目前最先进的深度预测工作主要集中在将标准基于帧的相机与人工神经网络(ANN)相结合[13, 14, 15]。然而,基于事件的相机及其在深度感知应用中的处理算法仍处于初级阶段[5]。仍存在许多挑战,包括缺乏用于特征提取的SNN Backbone 网络和SNN模型性能不佳这两个主要问题。

针对脉冲数据深度估计的SNN主干网络设计缺失。 事件相机生成的是具有超高时间特性的二元不规律数据结构中的连续脉冲流。SNN适用于事件相机数据集,并通过利用ANN的高级架构(如类似ResNet的SNN和脉冲递归神经网络[16, 17, 18, 19])来提高深度估计性能。基于自注意力机制来捕捉图像/视频中的长距离依赖关系,尤其是空间时间特征的视觉 Transformer [20, 21](ViT)目前是最迎的ANN结构。它提高了AI在许多计算机视觉任务中的性能,如图像分类/分割[22, 7],目标检测[23]和深度估计[24, 25]。基于 Transformer 的SNN是一种将 Transformer 架构与SNN结合在一起的新型SNN,具有打破SNN在脉冲流数据性能瓶颈的巨大潜力。

在[26]中,作者使用了原始的ViT结构作为主干,从脉冲数据的时空域中提取特征。结果表明, Transformer 适合于从脉冲数据中提取时空特征。然而,与SNN相比,原始 Transformer 结构具有大量的乘法运算,计算能量消耗过大。在[27]和[28]中,作者提出了一种纯脉冲驱动的自注意力和残差连接,以避免在 Transformer 中进行非脉冲计算。这为将 Transformer 用于从脉冲数据中估计深度的潜在应用迈出了重要一步。

SNN模型性能。 SNN当前面临的最大挑战之一是它们无法在脉冲数据上实现像ANN在非脉冲数据上那样的等效性能。脉冲数据是不可微分的,这使得使用反向传播算法训练SNN变得困难。基于梯度的反向传播是训练ANN的一种强大算法,但它不能直接用于SNN[29]。直接将ANN转换为SNN是一种解决方案,但它可能会引入不确定性的错误或丢失脉冲的时间信息[19]。同时,与用于传统ANN训练的静态图像相比,基于事件的数据集较小,这使得SNN容易过拟合并限制其泛化能力[29]。知识蒸馏是深度学习中的一个技术,通过将知识从教师模型转移到学生模型。它允许训练一个轻量级模型(学生模型)以达到与较大模型(教师模型)同样准确的效果。目前,已经有一些使用大量数据训练的ANN模型可以实现对深度估计的零样本学习。这些模型理论上具有转移到SNN模型训练的潜力。

在本工作中,通过利用SNNs独特的生物学特性以及从视觉基础模型(DINOv2)先进的跨模态知识蒸馏,作者提出了一个基于跨模态知识蒸馏的脉冲驱动的 Transformer 网络进行深度估计。据作者所知,这是首次探索基于 Transformer 的SNN用于深度估计。作者强调本研究的主要贡献如下:

  1. 作者引入了一种创新的脉冲 Transformer 网络,专门用于深度估计。该网络结合了脉冲驱动的残差学习和脉冲自注意力机制,消除了对浮点数和整数-浮点乘法的需求,遵循基于脉冲的原则性操作。这种方法在确保鲁棒性能的同时显著降低了能源消耗。
  2. 作者开发了一个全面的一阶段知识蒸馏框架,从大型视觉基础人工神经网络模型(DINOv2)的最终层和中间层汲取灵感。通过使用领域损失和语义损失,作者的框架有效地将知识转移到SNN上,便于在有限数据集上进行高效训练。
  3. 作者通过在真实和合成数据集上与最先进的方法进行比较,进行了彻底的实验评估。结果表明,作者提出的方法可靠地预测深度图,并且显著优于其他竞争方法。

2 Related works

本节涵盖了图像和基于事件的单目深度估计、脉冲神经网络(SNNs)以及针对SNN的知识蒸馏的相关工作。

Image-based and Event-based Monocular Depth Estimations

图像深度估计旨在测量每个像素相对于相机的距离。单目深度估计,即基于单一图像的深度估计,是一项具有挑战性但充满希望的技术。它的优点是不需要两张图像,这使得在实际应用中更加实用,例如在无法拍摄一对图像的情况下,如在移动设备上。根据所使用的数据类型,作者可以将单目深度估计方法分为基于图像的方法和基于事件的方法[14]。基于图像的单目深度估计使用RGB图像中的信息来估计深度,而基于事件的方法使用事件相机生成的脉冲数据。基于图像的单目深度估计比基于事件的单目深度估计更为常见,因为RGB图像更容易收集和处理。事件相机是一种新型传感器,它们以异步“事件”流的形式输出亮度变化,而不是静态图像。这使得它们非常适合在低光和快速运动的挑战性条件下进行深度估计[33]。

深度学习的最新发展使得可以开发出能够达到满意准确性和鲁棒性的单目深度估计模型[14, 34, 35]。与其他深度学习模型类似,这些模型通常包括一个从上下文信息中提取抽象特征的通用编码器和一个从特征中恢复深度信息的解码器。对于RGB图像,在[36]中,作者使用ResNet-50作为编码器,并使用一种新颖的上采样块作为解码器,从单个RGB图像中估计深度。在[32]中,作者使用ViT而不是卷积网络作为深度估计任务的主干。实验发现, Transformer 能够比传统的卷积网络提供更精细和更全局一致的预测。对于事件数据,在[33]中,作者提出了一种名为E2Depth的新型深度学习模型,该模型能够高精度地从事件相机估计深度。这项工作使用了基于U-Net架构的完全卷积神经网络。在[38]中,使用了多尺度编码器从混合密度事件堆叠中提取特征,并使用放大解码器预测深度。在基于事件的单目深度估计中也使用了 Transformer 结构。在[39]中,提出了EReFormer,它基于 Transformer ,能够从事件相机以更高的准确度估计深度。

传统的深度学习依赖于监督学习,这通常需要大量的训练数据。特别是对于可以学习长距离依赖关系的 Transformer 架构,对数据的需求量巨大[21]。对于单目深度估计,使用大量训练数据可以提高模型的性能[32]。对大量数据训练的需求显著限制了模型的可扩展性和可用性。此外,由于脉冲数据流太过密集,几乎不可能在监督方式下训练深度学习模型,因为无法获得成对的深度标签。

为了应对这些挑战,自监督学习、无监督学习和知识蒸馏已经成为基于脉冲数据训练深度学习模型的新热点。自/无监督学习是一种机器学习方法,模型从无标签数据中学习,而知识蒸馏是一种将知识从大型、已训练的模型转移到新模型的技术。可以合理预期,这些技术有望用于基于事件的单目深度估计。[39]中的论文作者通过将大型训练模型的知识蒸馏到所提出的模型中,以提高其性能。[40]提出了一种通过从基于图像的深度估计模型进行知识转移的无监督脉冲深度估计方法。

2.2 Spiking Neural Networks (SNNs)

与使用连续十进制值传递信息的传统深度学习模型不同,脉冲神经网络(SNNs)使用离散的脉冲序列来进行信息和计算传输。脉冲神经元接收连续的值并将其转换为脉冲序列。已经提出了许多不同的脉冲神经元模型。Hodgkin-Huxley模型是第一个描述生物神经元行为的模型之一[41],它是解释神经元中脉冲流动的基本模型,但该模型过于复杂,无法在硅片中实现。Lzhikevich模型[42]简化了Hodgkin-Huxley模型,这是一个描述神经元膜电位动态的二维模型。漏电积分点火(LIF)神经元是另一种在神经科学和人工神经网络中广泛使用的简单神经元模型。它比Lzhikevich模型简单,但捕捉了神经元工作方式的基本特征。它可以用于构建SNN并在非常大规模集成电路(VLSI)[5]中实现。LIF神经元的膜电位由以下方程式控制:

其中v是膜电位,t是时间,tau是时间常数,I是电流。电流I可以是兴奋性的或抑制性的。兴奋性电流使膜电位更正,而抑制性电流使其更负。当膜电位达到阈值时,神经元发射动作电位。在本研究中,使用LIF构建所提出的模型。

在SNN结构设计中,与ANN类似,随着脉冲神经网络(SNNs)深度的增加,它们的性能已经显著提高[16, 43, 17]。目前,大多数SNN借鉴了ANN的结构,可以分为两大类:基于CNN的SNN和基于Transformer的SNN。

ResNet作为最成功的CNN模型,已经被广泛研究以扩展SNN的深度[16, 17]。SEW ResNet[16]通过使用一种称为脉冲时间依赖可塑性(STDP)的技术克服了SNN中的梯度消失/爆炸问题。它在包括图像分类和目标检测在内的各种任务中已被证明是有效的。然而,卷积网络具有平移不变性和局部依赖性,但它们的计算具有固定的感受野,限制了它们捕获全局依赖性的能力。相比之下,ViT基于自注意力机制,可以捕获长距离依赖性。它们基于最初为自然语言处理任务开发的Transformer架构。

基于Transformer的SNN代表了一种新型的SNN,它将Transformer架构与SNN相结合,有潜力突破SNN性能的瓶颈。

在Yao等人[44]和周等人[27]提出两种不同的脉冲驱动的自注意力模型。它们仅使用 Mask 和加法操作来避免乘法,这些操作既高效又具有低计算能量消耗。周等人[28]提出了Spikingformer,它修改了残差连接以纯粹事件驱动,这在提高性能的同时是能源高效的。

目前,ViTs已经在包括图像分类、目标检测、分割和深度估计在内的各种视觉任务中显示出最先进的结果。然而,基于Transformer的SNN在深度估计[26]方面仍然处于初级阶段。有两个主要问题:1)训练纯基于Transformer的SNN模型的难度;2)在事件数据中对偶深度数据的有限可用性,以支持Transformer模型训练。知识蒸馏提供了一种使用良好预训练模型训练新或小型模型的方法。在本研究中,作者提出了一种将ANN模型知识带入SNN的知识蒸馏方法。

Knowledge distillation for SNN

知识蒸馏是一种模型压缩技术,它将知识从大型教师模型传递到小型学生模型。由于它能够在有限资源的条件下训练深度神经网络而受到关注[45]。同时,知识蒸馏在提高SNN性能方面也被证明是有效的。在[46]中,作者提出了一种在图像分类任务中将知识从大型训练好的SNN转移到小型SNN的知识蒸馏方法。结果表明,使用预训练大型模型的知识可以显著提高小型模型的性能,从而增加了在资源受限平台上部署高性能模型的可能性。在研究[29]中,提出了一种针对图像分类的SNN知识蒸馏方法。该方法通过引入知识蒸馏,使学生SNN的准确率提高了2.7%至9.8%。作者[47]发现,知识蒸馏范式可以有效减少从ANN到SNN的性能差距。使用类似结构的ANN和SNN之间的蒸馏提高了模型性能。在[42]中,首次将知识蒸馏用于SNN的深度估计。作者提出了一种跨模态领域知识转移方法,用于使用开源RGB数据的无监督脉冲深度估计。

然而,现有的针对SNN的知识蒸馏方法都需要首先训练一个教师模型。目前,大型基础模型成为新的深度学习热点[48]。大型基础模型在大规模数据(通常通过自监督学习或半监督学习)上进行训练,以便学到的特征可以直接用于各种下游任务或知识蒸馏。例如,Dense Prediction Transformers (DPT)[32]是一种为深度预测任务设计的ViT,它使用140万张图像进行单目深度估计训练。DINOv2[30]使用了ViT-Giant,这是拥有100亿参数的更大版本的ViT。它比以前的ViT模型更强大,在各种计算机视觉任务中,尤其是深度估计方面,超过了以前的自监督学习方法。在这项工作中,作者首次尝试将大型基础模型(DINOv2)[30]的知识转移到SNNs进行深度估计。

3 The Proposed Method

作者提出了一种新颖的基于纯脉冲的 Transformer 计算网络,通过跨模态知识蒸馏进行深度估计。网络架构采用编码器-解码器结构,其中 Transformer 作为编码器的核心计算单元。特别设计了一个融合解码器,以合并来自编码器不同阶段的特征,从而生成一个全面的深度图。方法的流程图如图1所示,包括三个主要组成部分:1)脉冲驱动的 Transformer ,2)知识蒸馏,3)融合深度估计头。

作者提出的方法的基础如下:

  1. Transformer 因其通过自注意力和矩阵乘法捕捉长距离依赖的能力而闻名,但通常需要计算密集型操作,这些操作不适合脉冲驱动范式。在这种背景下,作者引入了一种纯脉冲驱动的 Transformer 网络,该网络利用脉冲驱动的残差学习和脉冲自注意力。这一设计避免了传统的浮点数和整数-浮点数乘法,严格遵循脉冲原理,从而在保持强大性能的同时实现显著的节能。

  2. SNNs是一种节能模型,它们使用二进制脉冲代替连续值,但也需要深度架构以达到高精度,这可能导致计算成本高且耗电量大。知识蒸馏可以利用预训练的ANN(教师)的知识来指导较小SNN(学生)模型的训练,使它在资源较少的情况下也能达到类似的性能。在这项工作中,作者提出了在RGB和事件数据之间的跨模态知识蒸馏方法。所提出的方法通过匹配RGB和事件数据进行训练,而推理只在事件数据上执行。预训练的大型视觉基础模型DINOv2被用作知识蒸馏的教师模型,它不参与训练,只从RGB数据中提取特征。

  3. 与采用下采样的传统全卷积网络不同, Transformer 网络保持一致的维度表示,这对于分割或深度预测等任务的全局感受野至关重要。因此,作者提出了一种融合深度估计头,能够利用每个 Transformer 阶段的特征来优化深度估计的有效性。

Pure spike-driven transformer network for depth estimation

在本工作中,作者提出了一种纯脉冲变换计算网络,用于通过跨模态知识蒸馏进行深度估计。所提出方法的设计遵循一种逻辑上将网络划分为编码器和解码器的模式。脉冲变换块被选为编码器,用于从脉冲数据中提取空间-时间特征。设计了一个融合深度估计头作为解码器,从特征表示生成像素级深度结果。

3.1.1 Spike-transformer

提出的脉冲 Transformer (spike transformer)与原始视觉 Transformer (Vision Transformer,ViT)的基础结构相一致,包括脉冲区块嵌入(Spiking Patch Embedding)和脉冲 Transformer 块(Spiking Transformer Block)。给定一个事件序列 ,脉冲区块嵌入用于将输入转换为可以被 Transformer 架构处理的标记序列,其中事件输入被投射为脉冲形式的区块 。然后,这些脉冲区块 传递给多个脉冲 Transformer 块(L)。考虑到作者从大型模型中使用了知识蒸馏,这种方法只使用了最少的区块数,即 L = 4。受到[27, 28]的启发,为了避免在传统深度学习架构中进行非脉冲计算,作者在脉冲 Transformer 块中使用了脉冲自注意力(Spiking Self Attention,SSA)和脉冲多层感知器(Spiking MLP)块。

脉冲区块嵌入在原始的ViT [20]中,通过区块嵌入将图像表示为一系列的标记。这是通过将图像划分为一个区块网格并将每个区块展平成一个向量来完成的。在这项工作中,作者通过卷积批归一化(ConvBN)、最大池化(MP)和多步LIF(MLIF)组合来实现这个操作。结构如图2所示。这个过程可以表述为:

其中 ConvBN 包含2D卷积层(步长为1,3 3的核大小)和最大池化。操作数量可以大于1。当使用多个区块时,输出通道的数量逐渐增加,特征大小减半,最终与ViT中的区块嵌入维度相匹配。

脉冲 Transformer 块脉冲 Transformer 块的结构包括脉冲自注意力(SSA)机制和脉冲MLP块,如图3所示。根据[28]的研究结果,作者在残差机制中的ConvBN之前放置了一个多步LIF,以省略在ConvBN操作期间进行浮点数乘法和混合精度计算。这个调整还使ConvBN能够无缝替换传统的线性层和批量归一化。SSA操作可以数学描述为:

变量 代表纯脉冲数据(只包含0和1)。缩放因子 用于调整矩阵乘法结果的 最大值。它不会影响SSA的性质。脉冲MLP块由残差连接和MLIF与ConvBN的组合构成。

3.1.2 Fusion Depth estimation Head

深度估计头的目标是预测每个像素的深度,这类似于分割任务。目前最主流的分割框架是基于U-Net的多尺度结构。U-Net的解码器使用来自编码器不同尺度层的跳跃连接,以帮助保留输入图像的空间信息。这有助于确保解码器能够访问编码器中的低 Level 和高 Level 特征,其中低 Level 特征对于捕捉细节很重要,而高 Level 特征对于理解图像的整体结构很重要。与传统CNN结构不同, Transformer 结构中隐藏特征的大小是恒定的,并且直接使用U-Net结构并不简单。有许多模型使用 Transformer 作为分割的 Backbone ,并重新设计 Transformer 的结构,例如多尺度视觉 Transformer [49],金字塔视觉 Transformer [50],多路径视觉 Transformer [51]等。在本工作中,选择知识蒸馏来将训练过的大型 Transformer 中的知识提炼到所提出的SNN中。修改结构将显著降低蒸馏的有效性。因此,提出了一个融合深度估计头来预测深度。

深度估计的融合头结构如图4所示。融合头的第一步是将 Transformer 块内的内部特征组装成类似图像的特征表示。然后,通过跳跃连接将这些特征表示融合到最终的密集预测中。使用一个通用的上采样结构将特征表示恢复到原始数据大小。给定一个输入特征,i=1,2,3,4。

Knowledge distillation from DINOv2

在本工作中,概述了一种跨模态知识蒸馏方法,其中利用了一个大规模的视觉基础模型——特别是DINOv2——来指导作者的SNN训练。DINOv2模型在包含1.42亿张图片的多样化数据集上进行了训练[30],有几个优点:

  1. DINOv2的架构基于视觉 Transformer (ViT),与作者的模型相似,由于结构和特征尺寸的兼容性,这有助于有效的知识蒸馏。

  2. 从DINOv2预训练模型中提取的特征已用于在NYU和SUN RGB-D深度估计基准数据集上实现最先进的表现。图5展示了在冻结的DINOv2特征上,对作者的数据集进行线性检测的DIVO_V2特征的自注意力可视化以及深度估计结果。如图所示,DIVNO v2的特征表示(图5中的中间列)和接近图像真实深度的深度估计结果支持了DINO V2模型在知识蒸馏训练过程中能提供有效指导的假设。

图1展示了知识蒸馏过程。作者将DINOv2作为一个教师模型进行冻结。DINOv2的输出特征被视为作者训练中的目标。为了获得相同的特征尺寸,作者将RGB图像上采样了1.75倍。教师模型的最终特征尺寸为

图6展示了知识蒸馏算法。在作者的方法中,作者使用了一个融合损失函数。L1损失衡量了学生网络和教师网络之间特征差异。在机器学习中常用来量化两张图像之间差异的感知损失[52]也被采用。L2损失函数,一种尺度不变度量[53],被选用来评估深度估计的结果。这种尺度不变特性确保了损失不会因输入数据的尺度差异而惩罚模型,这证明了其对单目深度估计的有效性。尺度不变损失由以下方程定义:

其中是像素i的预测深度和真实深度之间的差异,n是具有维度的总像素数。

4 Experiments

在本工作中,作者进行了两项实验来证明所提出SNN的有效性。首先,作者介绍了本实验中使用的数据集的详细信息。然后,作者评估了作者的方法的性能,包括准确性和能耗。作者在真实事件数据和合成事件数据上评估作者的方法,以展示模型的鲁棒性和泛化能力。最后,进行了全面的消融研究,调查了每个组件的影响。

Datasets

为了模型评估,作者使用了两个数据集,包括真实数据和合成数据。

第一个数据集是来自[26]的合成数据集,它由DENSE数据集[33]生成,包含在不同天气和光照条件下以30 FPS的清晰深度图和强度帧。为了获得高时间分辨率的脉冲流,作者对视频进行插值以生成相邻30 FPS帧之间的中间RGB帧。利用RGB帧之间的绝对强度信息,每个传感器像素可以利用脉冲生成机制连续积累光强度,产生时间分辨率高(12830 FPS)的脉冲流,这是视频帧率的128倍。DENSE数据集的“脉冲”版本(即DENSE脉冲)包含八个序列,其中五个用于训练,三个用于评估。每个序列由999个样本组成,每个样本是一个RGB图像、一个深度图和一个脉冲流的元组。每个脉冲流在两个连续图像之间模拟,生成128个脉冲帧的二元序列(每个帧的大小为346 260),以描绘动态场景的连续过程。

第二个数据集DSEC是一个真实的事件数据集,它提供了驾驶场景中的立体数据集。它包含在良好和具有挑战性的光照条件下,两个单色事件相机和两个全局快门彩色相机的数据。还提供了与硬件同步的激光雷达数据用于深度预测。该数据集包含在多种光照条件下驾驶收集的41个序列,并提供用于深度估计评估的 GT 视差。在这项工作中,29个序列(70%)用于模型训练,12个用于评估。每个序列由200-900个样本组成,每个样本是一个RGB图像、一个深度图(密集视差)和包含16个脉冲帧的480 640大小的脉冲流的元组。图7展示了在这项工作中使用的两个数据样本。

Experiment design

实验设计部分开始。

4.2.1 Experiment 1. Qualitative and Quantitative Comparisons

在本节中,作者评估了作者的SNN在合成数据集(DENSE)和真实数据集(DSEC)上的深度估计性能和能耗,并与三种竞争性密集预测网络进行了比较,分别是U-Net [37],E2Depth [33] 和 Spike-T [26]。U-Net使用2D卷积层作为其编码器,并专注于空间特征提取,而E2Depth应用结合了CNN和LSTM的ConvLSTM层来捕捉空间和时间特征。Spike-T采用基于 Transformer 的块同时学习时空特征。这些模型因此成为作者直接和直接的竞争者。

4.2.2 Experiment 2 Ablation study: the contribution of the proposed modules

在本小节中,详细进行了一项消融研究,以探究作者模型中两个新颖组件的贡献。它们分别是融合深度估计头和知识蒸馏技术。本文将分别剖析并讨论它们对模型性能的影响。

Metrics

选定了几个指标来评估所提出方法的性能,包括绝对相对误差(Abs Rel.)、平方相对误差(Sq Rel.)、平均绝对深度误差(MAE)、均方根对数误差(RMSE log)以及准确度指标(Acc.)。其公式如下:

绝对相对误差(Abs Rel.) 计算每个像素在归一化深度图上的平均误差,公式为:

它将深度值归一化到 [0,1] 范围。

平方相对误差(Sq Rel.) 的公式为:

由于其分子为平方项,因此它关注较大的深度误差。

平均绝对误差(MAE) 可以公式化为:

均方根误差(RMSE) 是一个经典的像素级预测误差指标,其的对数版本可以表示为:

准确度(Acc) 表示满足以下条件的所有像素 的百分比:

$Acc=\left(\frac{\widehat{\mathcal{D}}_{p}}{\mathcal{D}_{p}},\frac{\mathcal{D} _{p}}{\widehat{\mathcal{D}}_{p}}\right)

其中

Experiment Result

实验结果部分开始。

4.4.1 Qualitative and Quantitative Comparisons

作者的实验研究包括了定量性能和能源消耗分析,使用了合成(DENSE)和现实世界(DESC)数据集。共采用了九种指标来全面评估结果。

表1展示了使用合成数据集(特别是DENSE数据集)的定量性能比较。结果显示,作者提出的方法几乎在所有评估的指标上都优于其他方法。特别是,在绝对相对误差(Abs.Rel)和平方相对误差(Sq.Rel)这些在深度估计任务中特别关键的指标上,观察到了显著的提升。作者方法的Abs.Rel为0.80,显著超过了U-Net(2.89)、E2Depth(9.91)和Spike-T(1.57),分别代表了72%、91.9%和49%的改进。同样,作者方法的Sq.Rel为8.32,远低于U-Net(72.25)、E2Depth(96.01)和Spike-T(39.77),分别表示88.5%、91.3%和79%的改进。此外,作者的方法在准确性指标()上也显示出边际提升,分别达到0.53、0.68和0.76,略优于竞争方法。

在功耗方面,利用纯脉冲计算的提出方法相对于其竞争对手显示出明显的优势。此外,采用知识蒸馏使得作者的方法仅使用了四个Transformer块,与使用八个Transformer块的Spike-T方法相比,显著减少了参数数量。

这些实验结果表明,作者提出的方法可以更有效地捕捉不规律连续脉冲数据流的空间时间特性,提供满意的准确性。这一点在图8中得到了进一步说明,该图展示了多个比较模型在一个验证合成数据集上的可视化结果。可视化演示了,与U-Net和Spike-T方法(可以预测细节但误估深度)或产生模糊结果并丢失细节数据的E2Depth方法不同,作者的方法有效地捕捉到了更多复杂的细节,包括微小的结构、锐利的边缘和轮廓。

此外,为了验证模型的泛化能力,作者在DESC现实事件数据集上评估了提出模型,并与三种竞争模型(E2Depth、Spike-T和U-Net)进行了比较。值得注意的是,虽然DENSE合成数据集包含128个脉冲帧,但现实世界的DESC数据集只包含16帧。作者的模型和SpikeU-Net模型需要在这个减少的数据集上进行重新训练。然而,基于SNN的方法(E2Depth和Spike-T)由于训练参数不足无法重新训练,因此需要复制DESC数据到128帧以适应它们的设置。因此,E2Depth和Spike-T的性能预期较低。表2的结果显示,提出模型在所有指标上都优于E2Depth、Spike-T和U-Net模型。特别是在Abs Rel、Sq Rel、RMS log和SI log等指标以及准确性指标()上,更高的分数表明了更好的性能,这些发现强调了提出模型在处理脉冲相机真实事件数据方面的有效性。

图9展示了在低光照环境下的可视化结果。作者的方法有效地识别了路边树木和房屋以及位于道路中心的车辆特征。

4.4.2 Ablation study

本小节提供了对所提出的融合深度估计头和知识蒸馏(KD)模块有效性进行评估的消融研究。

表3在消融研究中报告了在合成数据集(DENSE)上定量性能的比较。正如结果显示,当使用线性全卷积网络(FCN)头进行深度估计时,所有准确度指标都出现了下降。具体来说,绝对相对(Abs Rel)误差从0.80增加到2.85,而平方相对(Sq Rel)误差从8.32上升到51.76。图10展示了使用两种不同头的可视化结果。当仅依赖 Transformer 生成的最终特征时,使用线性FCN头会使图像明显变得模糊并丢失细节。相比之下,作者的融合头整合了多尺度特征,因此与线性FCN头相比,在细节恢复方面具有优势。

图11展示了有无知识蒸馏的结果可视化。没有知识蒸馏的结果与实验1中的 Baseline 模型近似。尖峰数据中的噪声导致对点云某些部分的深度估计不够准确。然而,采用知识蒸馏使模型能够更准确地预测远距离云的深度,这一优势归因于从大量基础模型中获得的增强归纳能力。

5 Conclusion

图11:在有和无知识蒸馏的情况下,验证合成数据集上的可视化结果。

图10:使用fcn头和提出的融合深度估计头在验证合成数据集上的可视化结果。

本文提出了一种新颖的尖峰 Transformer 网络,用于利用来自尖峰相机的数据估计深度。通过整合尖峰驱动的残差学习和尖峰自注意力机制,作者开发了一种完全由尖峰驱动的 Transformer 架构。这种设计显著提高了尖峰神经网络(SNNs)的计算效率。此外,作者的单阶段知识转移框架,借鉴了如DINO V2这样的大型基础人工神经网络模型,即使数据有限也能提升SNN的性能。作者在合成数据集和真实数据集上的实验评估显示,在多个指标上都有显著提升,特别是在Abs Rel和Sq Rel上(分别比最先进的Spike-T模型提高了49%和39.77%)。除了准确性外,所提出的模型还表现出较低的功耗,这对于实际应用至关重要。未来的研究将关注在真实数据集上的进一步验证和部署,以及在专用SNN处理器上的应用,从而可能拓宽尖峰 Transformer 在实际场景中的应用范围。

参考

[1].A Novel Spike Transformer Network for DepthEstimation from Event Cameras via Cross-modalityKnowledge Distillation.

扫码加入👉「集智书童」交流群

(备注:方向+学校/公司+昵称






想要了解更多:

前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF

行业技术方案👉AI安防、AI医疗、AI自动驾驶
AI模型部署落地实战👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」

欢迎扫描上方二维码,加入「集智书童-知识星球」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!

免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。

点击下方“阅读原文”,
了解更多AI学习路上的「武功秘籍」

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/169838
 
45 次点击