基于脉冲神经网络微调方法的遥感图像目标检测
Research on Spiking Neural Network fine-tuning method for object detection in remote sensing images
- “[{"title":"基于脉冲神经网络微调方法的遥感图像目标检测","chapter":"1 引言","content":"目标检测是遥感图像信息提取的重要技术手段之一,具有广泛的应用场景(Li等,2020),包括危险检测、环境监测、变化检测、城市规划等领域(Cheng和Han,2016)。早期的目标检测算法大多是基于手工特征进行构建的,例如VJ(Viola Jones)检测器(Viola和Jones,2004)、HOG(Histogram of Oriented Gradients)检测器(Dalal和Triggs,2005)和DPM(Deformable Parts Models)检测器(Felzenszwalb等,2010)等。为了能更加有效的提取图像的特征,研究人员通过设计复杂的特征表示提升检测性能。但是随着手工特征的性能逐渐趋于饱和,传统的目标检测算法发展遇到了瓶颈,难以适应海量复杂遥感图像数据目标检测的需求。随着计算机硬件发展的快速进步和GPU支持的深度学习算法的涌现,深度神经网络,特别是卷积神经网络CNN(Convolutional Neural Networks)在视觉任务中表现出了比其他机器学习方法更加突出的性能优势。Girshick等(2014)首次将CNN应用于目标检测的任务中,提出了基于CNN特征区域(Regions with CNN features)的目标检测方法。此后,应用深度学习算法的目标检测模型开始快速发展,这类模型主要分为两类:两阶段检测模型和一阶段检测模型(Jiao等,2019)。两阶段检测模型的代表为R-CNN(Girshick等,2014)及其拓展版本(Girshick,2015;Ren等,2017;He等,2017),二阶段模型采用候选区域网络RPN(Region Proposal Network)生成包含目标的候选区域,然后通过分类网络和回归器得到图片或视频中目标的分类和位置。一阶段检测模型的代表为“You Only Look Once”(YOLO)(Redmon等,2016)及其拓展版本(Redmon和Farhadi,2017,2018;Bochkovskiy等,2020;Li等,2022)和“Single Shot MultiBox Detector”(SSD)(Liu等,2016),一阶段目标检测方法直接使用网络提取图片或视频中目标的特征并进行目标的分类和位置的回归。两类检测模型各有优劣,相比较而言,两阶段检测器检测精度更高,但是检测速度较慢,而一阶段检测器则相反,能做到实时目标检测但检测精度略逊于前者。为了提升网络的泛化性能,使其能够适应更加复杂的场景,研究人员尝试设计更复杂的网络结构以提高性能。但是随着神经网络性能的提升,往往会增加模型参数、复杂性、预测延迟、训练时间等,而且模型的计算开销和功耗也将显著提升。在特定的应用场景中(如移动设备、机器人或关键系统)可能需要针对将要部署的设备对模型进行优化或压缩(Menghani,2023)。对于船舶遥感图像,作为检测目标的船舶与海面背景相比,船舶目标较小、分布稀疏且不均匀。目前对于海面遥感图像进行传播目标检测大部分是使用人工神经网络(于野 等,2020;Fan等,2022;张涛 等,2022)。在船舶遥感图像检测任务中,由于其分布稀疏的特性,时刻使用人工神经网络对海面进行目标检测往往会因为没有船舶目标而浪费大量的计算资源。因此人们希望能开发高效的深度学习算法来面对这些挑战。脉冲神经网络SNN(Spiking Neural Networks)通过使用脉冲神经元作为计算单元来模拟信息在人脑中的编码方式和处理过程(Maass,1997),被认为是下一代神经网络发展的重要方向。与以数值计算及符号表征为基础的人工神经网络ANN(Artificial Neural Network)不同,脉冲神经网络在一段时间内通过一系列离散的脉冲组成的脉冲序列来传输信息。除此之外,当接收到脉冲信号时,脉冲神经元将输入整合到膜电位中,根据神经元之间突触连接权重的大小改变膜电位,并在膜电位达到一定阈值时释放脉冲信号,从而实现事件驱动计算。在脉冲事件和事件驱动计算的稀疏特性驱动下,SNN有着高效的计算能力和广泛的发展潜力。尽管SNN具有出色的发展潜力,但是目前的研究仅限于相对简单的任务(例如图像分类等),并且其网络结构较浅(Lee等,2016;Wu等,2019;Xiang等,2022),难以有效实现复杂场景的特征提取任务。由于脉冲神经元事件驱动的特性,当前缺乏类似反向传播BP(Back-propagation)算法的可扩展的训练方法,导致其目前应用范围有限。作为直接对SNN模型进行训练的替代,将训练好的ANN模型转换为SNN模型受到了广泛的研究(Cao等,2015;Diehl等,2015;Sengupta等,2019;Kim等,2020;Li和Zheng,2022)。这些方法通过将训练好的ANN模型的参数导入相同结构的SNN模型中,使得SNN能够借助预训练的参数,较好的应用于相同任务场景。ANN-SNN的转换方法在结构复杂,层数较深的SNN中取得了与原始ANN模型接近的性能,弥补了直接训练SNN时网络结构受限的问题。Kim等(2020)使用 ANN-SNN转换方法得到Spiking-YOLO模型,使SNN在目标检测领域也可以取得较好的检测效果。Luo等(2021)通过将原SiamFC网络转为SiamSNN,从而第一个在SNN领域实现了短延迟和低精度损失的目标跟踪任务。Patel等(2021)使用Unet-based SNN实现了对细胞显微图像的语义分割。与ANN能够直接接受图像的像素值并进行计算不同,SNN的输入是异步脉冲序列。为了计算简单并且满足SNN对输入信息的需求,可将输入图像归一化后的像素值作为模拟频率输入到SNN模型中。考虑到硬件部署SNN模型的合理性,将二维图像输入SNN之前需要对图像进行脉冲化,即对图像进行编码处理。ANN-SNN转换后通常使用频率编码在模型内部进行信息的传输,因此通常使用泊松编码将二维图像通过频率编码为脉冲序列之后送入网络模型中。目前存在较少SNN的研究针对船舶遥感图像进行目标检测,在使用ANN-SNN转换方法得到的SNN模型进行针对船舶遥感图像的目标检测任务中,存在着两个问题:一是SNN模型通常会因为转换层数的加深,每层转换后的误差积累,导致时间步长(time steps)小会使模型性能大幅降低;二是对于采用泊松编码对输入图像进行编码的过程中,需要较大的时间步长减少编码过程中的噪声对模型性能的影响,而该需求会减慢模型的检测速度同时增加模型的能耗。本文通过分析时间步长对模型性能影响的原因,采用了基于微调的逐层转换方法,使模型在转换过程中进行微调避免误差的积累,从而提高转换后模型的精度,进而实现了对舰船遥感图像的目标检测;同时针对现实部署的情况分析了泊松编码存在的问题,然后提出了泊松群编码方式,以更少的time steps实现对模拟频率的近似,降低了硬件部署时频率编码对SNN模型性能可能产生的影响。","result":"介绍了遥感图像目标检测的重要性及其在多个领域的应用,指出了早期基于手工特征的目标检测算法的局限性,并强调了深度学习算法,尤其是卷积神经网络在视觉任务中的优越性能。文中讨论了两阶段和一阶段检测模型的特点及其在检测精度和速度上的权衡。同时,指出了深度学习模型在泛化性能提升和模型优化方面面临的挑战。特别提到了脉冲神经网络(SNN)作为模拟人脑信息处理的下一代神经网络的潜力,以及SNN在计算效率和事件驱动计算方面的优势。然而,SNN在复杂任务中的应用受到训练方法的限制。文中还探讨了将人工神经网络(ANN)模型转换为SNN模型的方法,以及这些方法在结构复杂和层数较深的SNN中的应用。此外,针对船舶遥感图像目标检测任务,分析了现有SNN模型在时间步长和泊松编码方面存在的问题,并提出了基于微调的逐层转换方法和泊松群编码方式,以提高模型精度和降低硬件部署时的性能影响。","language":"zh"},{"title":"基于脉冲神经网络微调方法的遥感图像目标检测","chapter":"2 相关工作","content":"2.1 脉冲神经网络SNNSNN的工作原理是使用由一系列脉冲组成的脉冲序列在神经元之间传递信息。脉冲神经元将上一层的脉冲输出进行整合计算计算出神经元的输入后,将输入积累到膜电位中,当膜电位超过设定的阈值电压时,脉冲神经元将产生一个脉冲,并将神经元的模电压置为重置电位。由于SNN事件驱动的性质使其能以较少的功耗来实现进行相关操作,但是这也导致了难以对SNN模型进行训练,从而对各种应用场景下使用SNN造成了障碍。目前在SNN上进行训练的方法主要分为使用以突触时间依赖可塑性STDP(Spike Timing Dependent Plasticity)(Diehl和Cook,2015)为代表的无监督训练方法和以梯度替代(Lee等,2016)为代表的监督训练方法。STDP算法在生物学上更合理,但其性能低于监督学习算法。尽管有了这些方法使得SNN网络可以进行相关场景的训练,但是大多数工作只是应用于浅层SNN上的图像分类任务。由于SNN模型难以正常进行训练,因此有学者提出了使用预先训练的ANN模型参数应用于相同网络结构的SNN模型,即ANN转换为SNN的替代方法。Cao等(2015)提出了一种忽略偏置和最大池化的转换方法。Diehl等(2015)提出了使用数据对权重进行最大值归一化来提高深度SNN的性能。Sengupta等(2019)提出了将转换方法扩展应用到VGG和残差架构中。Kim等(2020)提出了使用数据对权重进行通道归一化,从而将神经元的激活率设定在合理范围,达到提高转换后SNN性能的目标。2.2 目标检测目标检测通常通过绘制边界框来定位图像或视频中感兴趣的单个或多个目标,然后识别它们的类别。目前目标检测模型大多基于CNN,通常分为以R-CNN系列为代表二阶段检测模型和以YOLO系列为代表的一阶段检测模型。本文采用YOLOv3-tiny作为转换前的目标检测模型。2.3 SAR遥感图像合成孔径雷达SAR(Synthetic Aperture Radar)是一种主动式的对地观测系统,在灾害监测、环境监测、海洋监测、测绘和军事等方面的应用具有独特的优势。目前存在多个能应用于目标检测的SAR图像数据集,例如MSTAR(The Moving and Stationary Target Acquisition and Recognition)数据集、AIR-SARShip(孙显等,2019)和SSDD(SAR Ship Detection dataset)数据集(Li等,2017)等。与光学图像不同,SAR成像波长更长,成像机制更复杂,成像结果也更难直观解读。目前SAR图像船舶图像数据集检测存在两个难点:一是在SAR成像过程中,随着入射角和方位角等散射条件的变化,目标的散射也发生着不同程度的变化,导致最终目标成像后其形象也多变;二是复杂背景也会对SAR图像中船舶目标检测识别造成干扰,在港口背景下,大量背景高亮散射点分布在船舶目标周围,难以准确建模,与船舶目标会发生一定程度的混淆,难以对船舶进行准确地定位与识别。","result":"介绍了脉冲神经网络(SNN)的工作原理,包括脉冲神经元如何整合脉冲输出、积累膜电位并在超过阈值时产生脉冲。讨论了SNN训练的挑战,包括无监督训练方法如STDP和监督训练方法如梯度替代,以及ANN到SNN的转换方法。此外,还概述了目标检测技术,特别是基于CNN的模型,如R-CNN和YOLO系列,并指出本文使用YOLOv3-tiny作为转换前模型。最后,讨论了SAR遥感图像在目标检测中的应用和挑战,包括SAR成像的复杂性、目标成像的多变性以及复杂背景对检测的干扰。","language":"zh"},{"title":"基于脉冲神经网络微调方法的遥感图像目标检测","chapter":"3 研究方法","content":"在目标检测任务中,需要识别多个目标并在其周围绘制边界框,对网络输出值的精度具有较高的要求。但是使用已经提出的ANN-SNN转换方法将目标检测模型转换为深度SNN模型时,往往需要较高的time steps来维持模型的性能,在time steps较低时,其性能会严重下降,难以正常进行目标检测任务。本文深度分析了这种性能下降的可能原因:脉冲神经元转换后会与原神经元之间产生误差,误差层层积累导致需要大量的time steps逐层弥补其精度来维持转换后SNN的性能。针对此问题,本文提出了逐层微调的ANN-SNN转换方法来克服这种由于模型过深造成的性能损失问题。3.1 基于微调的ANN-SNN逐层转换方法3.1.1 ANN-SNN转换理论从ANN到SNN转换的基本原则是将脉冲神经元与ANN里的模拟激活值相匹配,即每个SNN神经元是对ANN激活函数的无偏近似。时间窗口为,每个time steps为,脉冲发射率为,ANN之所以能转换为SNN,关键在于SNN的发射率与原始ANN的激活值正相关。通过SNN神经元对ANN激活函数的无偏近似,实现了ANN-SNN的转换。在典型的SNN网络中,需要确保神经元能根据输入的大小产生脉冲序列且在不丢失信息的情况下传输脉冲序列。在给定的time steps中,神经元的欠激活与过度激活都会导致信息丢失。为避免神经元的欠激活或过度激活,目前ANN-SNN转换方法使用权值归一化方法,使用训练数据集计算相应层的最大激活值,并使用该值对网络的权重进行归一化处理,从而使使深度SNN能快速有效的进行信息传输: (1)式中,和分别是第层和第层通道的索引,表示第层第通道的最大输出激活值,和表示第层的权重与偏置。和通过每个通道的进行归一化(与对输出激活值进行归一化的效果相同)。在下一层中,归一化激活值必须乘以以获得归一化前的原始激活值。目前常用的ANN-SNN模型转换的算法流程如算法1所示。算法1:常规ANN-SNN转换方法(使用权值归一化方法和脉冲神经元将ANN转换为脉冲网络)输入:训练好的ANN模型,用于归一化计算的数据集输出:转换后的SNN模型1. for in layers do:2. for in output channels do:3. 计算最大激活值4. for in layers do:5. for in output channels do:6. 计算归一化后的偏置7. for in output channels do:8. 计算归一化后的权重9. 使用脉冲神经元替换激活函数3.1.2 网络深度对转换精度的限制以往大部分转换方式是直接将ANN进行转换,对于进行图像分类等简单任务的浅层网络,转换后SNN模型能在少量time steps内较好地完成任务。但是对于进行目标检测的复杂网络,进行SNN转换后往往需要大量的time steps来保持SNN模型基本的性能。图 1展示了转换后SNN与转换前YOLOv3-tiny在Backbone网络模型中使用神经元替换激活函数后的各层输出误差随时间步长增加的变化情况,横坐标表示模型运行的时间步长,纵坐标则表示SSDD数据集上,在各层使用转换后SNN的激活率计算出的模拟输出与ANN输出之间的平均误差。在time steps增加至100步前,转换后SNN各层的输出误差在逐渐降低,但是误差降低速度随着层数的增加而降低。这意味着如果想要在深度SNN中获得较好的检测性能,通常需要大量time steps以减少与原模型之间的误差,但是这与为实现低功耗而对SNN展开研究的初衷不符。因此需要找到一种可以避免随着层数增加而导致误差积累的方法。图 1转换后SNN与转换前模型各层误差Fig.1Each layer error of the converted SNN and the pre-converted model3.1.3 逐层微调的ANN-SNN转换方法从3.1.2节的分析中得知在对ANN进行转换的过程中,随着层数的加深,转换后相应层数的误差会逐渐积累,最终导致模型的性能下降,需要大量time steps来对精度进行弥补。而ANN-SNN转换的基本思想在于使用脉冲神经元的脉冲发放率替换激活函数的激活值,而每层转换后的误差积累往往需要大量的时间步长来使平均脉冲发放率与激活值进行较好的替代。本文提出了一种微调后逐层转换的ANN-SNN转换方法,旨在通过在转换过程中加入对未转换的网络进行训练这一步骤,降低在转换过程中产生的误差的积累,从而减轻转换后SNN对时间步长的依赖。在进行训练的过程中,首先将输入送至已转换为SNN的部分网络中,计算得到网络中间值,之后将中间值作为未转换网络的输入,对未转换网络进行微调训练。在微调的过程中,未转换的部分网络使用已转换网络的输出为输入,从而减少已转换网络的误差对检测结果的影响。微调后再对网络进行转换,前面已转换的网络的误差积累在微调步骤后对检测结果的影响减少至较低程度。具体实现如算法2所示。算法2:逐层微调转换方法(逐层转换并对未转换的网络进行微调从而减少误差)输入:训练好的ANN模型: ann_model,用于归一化计算的数据集输出:微调转换后的SNN模型snn_model1. for in ann_model layers do:2. 将层及层前的网络记录为convert_model,层后的网络记录为finetunning_model3. 对convert_model进行转换4. for in output channels do:5. 计算6. for in output channels do:7. 计算归一化后的偏置8. for in input channels do:9. 计算归一化后的权重10. 使用脉冲神经元替换激活函数11. 将转换后的SNN模型记录为snn_model12. if is not the last layer do:13. 使用snn_model计算神经网络的中间输出14. 将该输出作为finetunning_model的输入,并对finetunning_model进行微调训练15. 将finetunning_model的参数送入ann_model中使用逐层微调的转换方式可应用于大多数任务中,给定相应任务的ANN模型,比如图像分类、目标检测、图像分割任务等,使用该转换方式即可获得可应用于相应任务的SNN模型。本文后续实验选择目标检测任务来验证本文提出算法的有效性。3.2 泊松群编码方式与ANN能够直接接受图像的像素值不同,SNN的输入是异步脉冲序列。在前面进行模型转化过程的讨论中,为快速获得对模型转换性能的对比,将输入图像进行归一化后的像素值作为模拟频率输入到SNN模型中。考虑到SNN模型硬件部署需求的合理性,将二维图像输入SNN之前需要对图像进行脉冲化,即对图像进行编码处理。本文转换后的SNN模型内部通过频率编码来实现信息的传输,因此需要将二维图像进行频率编码之后才能将图像送入SNN模型中。本节主要讨论在不同time steps条件下,讨论泊松编码对SNN模型性能产生的影响,并提出泊松群编码方式,可以减少编码过程对模型性能的影响。3.2.1 泊松编码泊松编码是脉冲神经网络中较为常用的频率编码方式。泊松分布适合于描述单位时间内随机事件发生的次数,这正好与脉冲发放率相对应。将输入数据编码为发放次数分布符合泊松过程的脉冲序列: (2)式中,为激发脉冲的个数是单位时间内与像素值成正比的激发频率。对于二维图像,每一个像素都能生成相互独立的泊松编码。预先设定总time steps个数为,每个time step内,每一个像素产生脉冲的概率与该像素值成比例,从而得到各个像素对应的脉冲序列,将该脉冲序列送入到SNN输入层,重复执行个time steps。而对编码后的脉冲序列矩阵进行叠加,也可以较好的将原图像进行复现。因此对于频率编码的SNN网络来说,在合理的time steps条件下,泊松编码方式能较好的将原图像编码成脉冲序列并将其送入SNN网络中。但是泊松编码在生成脉冲序列的过程中,同时会产生一定量的噪声信号。在对SNN进行训练的过程中,这部分噪声可能会提高模型的鲁棒性,但是在进行目标检测的过程中,这部分噪声会使模型性能降低。为了滤除噪声获得可靠的频率值,往往需要计算大量脉冲的平均值。因此,使用泊松编码通常需要大量time steps才能使输入频率较好地代替原图像的像素值。3.2.2 泊松群编码为了解决使用泊松编码在小time steps条件下因噪声信号导致模型性能下降的问题,本文提出了泊松群编码,对频率编码SNN的输入进行更加细粒度的编码。对于二维图像的每个像素,使用个相同的泊松编码器对其进行泊松编码,每个泊松编码器都会根据该像素点的像素值独立地产生脉冲,对这个脉冲求取平均作为该像素点的输入: (3)式中,表示一个time step,表示在该time step内编码器发出脉冲的数量,表示该像素点经过编码后的输出。在单个time step内,泊松群编码能实现更细粒度的输入,从而在相同的time steps条件下其输入频率与泊松编码器相比更接近输入图像的模拟脉冲频率。因此在对输入图像进行编码的情况下,泊松群编码能使转换后的SNN模型实现更好的检测性能。","result":"深入探讨了基于脉冲神经网络(SNN)的遥感图像目标检测方法。首先,分析了将人工神经网络(ANN)转换为SNN时面临的性能下降问题,指出了脉冲神经元转换后与原神经元之间的误差累积是导致性能下降的主要原因。为了解决这一问题,提出了一种逐层微调的ANN-SNN转换方法,通过在转换过程中加入对未转换网络的训练,降低误差积累,减轻对时间步长的依赖。\n\n在3.1节中,详细介绍了基于微调的ANN-SNN逐层转换方法。首先阐述了ANN-SNN转换的理论基础,包括脉冲神经元与ANN激活值的匹配、时间窗口和脉冲发射率的设置。然后讨论了网络深度对转换精度的限制,指出直接转换ANN到SNN在深层网络中需要大量时间步长来保持性能。最后,提出了逐层微调的转换方法,通过先转换部分网络,再对未转换网络进行微调,减少误差积累,提高转换后SNN的性能。\n\n在3.2节中,讨论了SNN的输入编码方式。由于SNN需要异步脉冲序列作为输入,而ANN可以直接接受图像像素值,因此需要对图像进行脉冲化编码。首先介绍了泊松编码,一种常用的频率编码方式,但存在噪声问题。为了解决这一问题,提出了泊松群编码方法,通过对每个像素使用多个泊松编码器并求平均,实现更细粒度的输入编码,减少噪声对模型性能的影响。\n\n通过逐层微调的ANN-SNN转换方法和泊松群编码,可以有效提高SNN在遥感图像目标检测任务中的性能,减少对时间步长的依赖,为SNN在实际应用中的部署提供了可行的解决方案。","language":"zh"},{"title":"基于脉冲神经网络微调方法的遥感图像目标检测","chapter":"4 实验结果与分析","content":"4.1 实验设置在遥感图像领域使用深度SNN进行目标检测的第一步是需要训练出能完成该任务的ANN模型,本文采用在相应数据集上进行100个epochs的训练的实时目标检测模型Yolov3-tiny作为转换前的目标检测网络,转换过程中使用最大激活值对权重进行通道归一化。在Spiking Jelly框架的基础上对Kim等(2020)中提出的IBT神经元与通道归一化进行实现。为验证本文提出方法的有效性,使用常规检测方法和本文提出的逐层微调转换方法在SAR舰船检测数据集AIR-SARShip 和SSDD上进行测试,并在VOC数据集上与其他研究进行对比。本文的SNN模型仿真基于pytorch深度学习框架与SpikingJelly脉冲神经网络深度学习框架,并在NVIDIA TITAN Xp上进行实验。4.2 实验结果4.2.1 实验指标介绍本文实验采用的指标为mAP(mean Average Precision),AP(Average Precision)是指在不同召回率下计算得到的精确率平均值,mean是对各类计算的AP求取平均值,也即该指标越高,则表明模型检测性能越好。对于目标检测任务,除类别正确识别外还需要衡量边框回归任务中框的准确率,这一准确率一般用交并比IoU衡量,根据选择的IoU不同,对mAP的评测方法也不同。本文采用的是PASCAL VOC的mAP评测方法,只评测IoU在0.5这个阈值下的AP值。PASCAL VOC数据集中需要计算各类的AP,再求取各类AP的平均值,从而得到mAP;而SAR目标检测数据集仅有舰船类别,因此计算mAP时只需要计算舰船的AP即可。4.2.2 基于微调的逐层ANN-SNN转换结果为了验证和分析本文提出的转换方法的有效性,本文以IBT神经元和通道归一化的方法对YOLOv3-tiny进行转换,并在AIR-SARShip和SSDD数据集上不同time steps条件下对比常规转换方法和本文使用的基于微调的逐层转换方法的影响,同时在PASCAL VOC数据集上进行与其他ANN-SNN转换方法进行性能的对比。如表1所示,当使用本文提出的转换方法的时候,转换后的模型在AIR-SARShip上达到了79.6%的mAP在SSDD数据集上达到了96.7%的显著性能。而转换前YOLOv3-tiny在SSDD数据集上的目标mAP为97.9%,已达到转换前性能的98.7%。而且采用本文的转换方法进行转换的SNN模型收敛速度更快,在SSDD数据集上仅需要50个time steps即可获得与转换前模型相近的性能,而AIR-SARShip数据集上100个time steps即可获得较好的检测性能。常规转换方法在SSDD数据集上需要100个time steps,在AIR-SARShip数据集上180个time steps才能使模型检测性能稳定,且稳定后的模型性能与转换前性能存在较大差距。这一对比说明了本文提出微调转换方法的有效性,能使转换后SNN模型在少量time steps条件下即可较好地实现对船舶目标的检测。表1微调转换方法在SSDD与AIR-SARShip的实验结果Table 1Experimental results of fine-tuning conversion method in SSDD and AIR-SARShip除此之外,如果不使用本文提出的转换方法,在较小的time steps条件下,转换后的SNN模型性能会大幅下降,在20个以内time steps条件下,无法检测AIR-SARShip中的舰船。这说明了本文转换方法使得转换后的模型对时间步长的依赖程度较低。为更直观地观察到本文提出方法与常规转换方法的对比,图 2展示了随着time steps的增加,使用本文转换方法转换的SNN模型在SSDD数据集上部分图像的可视化结果。最左边的图片为YOLOv3-tiny模型的检测结果,也是转换后模型希望复现的结果。通过图片可以观察到,本文提出的微调转换方法在10个time steps即可实现对船舶的检测,而常规转换方法需要至少50个time steps才能实现对船舶目标的检测。图 2SSDD数据集的目标检测结果(微调转换方法 VS 常规转换方法)Fig.2Object detection results on SSDD dataset(Fine-tuning conversion method VS conventional conversion method)除此之外本文提出的转换方法与其他研究(Kim等,2021)在PASCAL VOC数据集上的结果进行了对比。本文提出的算法在500个time steps条件下mAP达到了49.2%,Kim(2021)提出的算法在相同time steps条件下mAP为46.66%。与其他算法相比,本文提出的算法不仅可以应用于SAR遥感图像领域,在其他更复杂的任务中也具有较好的性能。4.2.3 泊松群编码实验结果为了验证泊松群编码的有效性,本文使用神经元个数不同的泊松群编码与泊松编码在SSDD数据集上对比观察不同编码方式对模型检测性能的影响程度。具体结果如图 3所示,虽然随着time steps的增加,使用泊松编码器和使用泊松群编码器的检测性能均逐渐逼近以模拟频率作为输入的情况,但是泊松群编码器能够以更小的time steps达到与模拟频率同样的性能。而且随着神经元群数目的增多,将输入图像编码后对模型性能的影响越小,10个time steps即可获得输入模拟频率的90%以上的性能,80个time steps即可获得输入模拟频率的95%以上的性能。图 3不同编码方法在SSDD数据集上的实验结果Fig. 3Experimental results of different coding methods on SSDD dataset","result":"首先介绍了在遥感图像目标检测中使用深度脉冲神经网络(SNN)的实验设置,包括使用Yolov3-tiny模型作为基础,通过最大激活值进行权重的通道归一化,并在Spiking Jelly框架上实现IBT神经元。实验在AIR-SARShip、SSDD和VOC数据集上进行,以验证所提方法的有效性。\n\n实验结果部分,首先介绍了mAP作为主要的评估指标,它衡量了模型在不同召回率下的精确率平均值。作者提出的基于微调的逐层ANN-SNN转换方法在AIR-SARShip和SSDD数据集上表现出色,转换后的模型在少量时间步长下即可达到与转换前相近的性能,且收敛速度更快。具体来说,在SSDD数据集上,转换后的模型在50个时间步长下就达到了与转换前模型相近的性能,而在AIR-SARShip数据集上,100个时间步长即可获得较好的检测性能。\n\n此外,泊松群编码实验结果表明,使用泊松群编码器的模型在较少的时间步长下就能达到与模拟频率输入相近的性能,且随着神经元群数目的增加,模型性能受影响的程度越小。\n\n最后,作者提出的算法在PASCAL VOC数据集上与其他研究进行比较,显示出在500个时间步长下,mAP达到了49.2%,优于Kim等人在2021年提出的算法,证明了所提算法不仅适用于SAR遥感图像领域,也能在更复杂的任务中表现出良好的性能。","language":"zh"},{"title":"基于脉冲神经网络微调方法的遥感图像目标检测","chapter":"5 结论","content":"本文首先通过对神经元替换的各层输出与转换前各层输出进行比较,分析深层SNN转换后需要大量time steps来维持转换后模型性能的原因,并提出了基于微调的ANN-SNN转换方法;其次在SAR舰船检测数据集(SSDD、AIR-SARShip)观察不同time steps下不同转换方法与转换前YOLOv3-Tiny的检测性能,在常规目标检测数据集PASCAL VOC上进行了测试,并与其他的研究进行对比;提出了泊松群编码方式,在SSDD数据集上测试在不同time steps条件下对比泊松编码与泊松群编码的模型性能对比。通过上述实验得出以下结论:(1)随着转换的SNN模型层数的增加,SNN模型各层的输出与转换前ANN模型的输出相比误差逐渐积累,因此造成了使用常规转换方法转换后的深度SNN模型需要较大的time steps使模型性能稳定,并能够正常进行目标检测任务。(2)采用微调的SNN转换方法能够使转换后模型在少量time steps条件下获得较好的目标检测性能,在SSDD数据集上仅需要10个time steps即可检测出大部分目标。而且相较于常规转换方法,微调的SNN转换方法可以使SNN模型保持更多的性能;在PASCAL VOC数据集上与其他研究进行比较,在相同time steps条件下本文提出的算法具有较优越的性能。(3)本文提出的泊松群编码方法可以在少量time steps的条件下获得与输入模拟频率近似的检测性能,而且随着神经元群数目的增加,输入图像编码后对模型性能的影响越小。在100个time steps后所有泊松群编码方式达到了模拟频率输入性能的97%以上,充分说明了泊松群编码的有效性。目前本研究中提到的微调的转换方法需要逐层进行转换,对于层数较少的YOLOv3-Tiny可以在合理的时间内完成转换,但对于层数过深的网络,逐层转换需要在微调阶段耗费大量时间。下一步拟通过研究在各层进行微调对模型性能的影像,从而使得该方法可以适用于更深层的网络,使网络可以在较短时间内完成微调转换,扩大该方法的适用范围。","result":"通过比较神经元替换后各层输出与转换前输出,分析了深层SNN模型性能下降原因,并提出了基于微调的ANN-SNN转换方法。在SAR舰船检测数据集和PASCAL VOC数据集上进行了实验,验证了微调方法在少量time steps下能获得较好的目标检测性能,与常规方法相比性能更优。同时,提出了泊松群编码方式,实验表明其在少量time steps下能获得近似模拟频率的检测性能,且随着神经元群数目增加,对模型性能影响减小。但逐层微调转换在深层网络中耗时较长,未来研究将探索各层微调对性能的影响,以扩展该方法的适用性。","language":"zh"}]”
- 2024年28卷第7期 页码:1702-1712
纸质出版日期: 2024-07-07
DOI: 10.11834/jrs.20243272
扫 描 看 全 文