访问【WRITE-BUG数字空间】_[内附完整源码和文档]
研究的意义在于探索脉冲神经网络在目标检测上的应用,目前主流的脉冲神经网络训练算法有直接BP训练、STDP无监督训练和训练好的ANN的转化,虽然训练算法众多,但是SNN仍然没有一套成熟的训练算法。比如在较大较深的网络训练中,面临着脉冲信号的编码问题、训练开销大等问题。详细设计见md文件。
1 引言
1.1 研究背景
目标检测是一种应用特定计算机算法在图像中找到所需目标的技术。近年来,随着计算机硬件的不断发展,目标检测的各种算法也迎来了巨大的突破,越来越多地应用于交通检测、智能支付、医疗影像等各个方面。在计算机视觉中,目标检测是要比图像分类更复杂的一个问题,它不仅要清楚目标的类型,还需做到目标的定位。所以,物体检测的难度更大,挑战性更强,相应的深度学习模型也会更加复杂。
目标检测有许多算法,卷积神经网络(ConvolutionalNeuralNetworks,CNN)是其代表算法之一。它是一个前馈神经网络,具有卷积计算和深度结构。目前,基于卷积神经网络的目标检测算法大致可分为两种模式,即twostage模式和onestage模式,twostage模式的检测过程分为两个步骤:首先由算法生成若干个候选框,再通过CNN对候选框进行分类;onestage模式则是端到端的学习,直接对对目标的置信概率和位置进行回归,相对来说精度有所损失,但速度较twostage模式的算法更快。[1]
基于twostage的算法有:
RCNN:通过选择性搜索(selectivesearch)来确定候选框,之后统一将候选框压缩到大小;然后运用CNN对候选框进行特征提取;最后使用多个支持向量机(SVM)分类器分类输出向量,采用边界回归生成目标区域[2]。
FastRCNN:仍然使用选择性搜索来确定候选框,但将整张图片输入到CNN,在卷积特征层上使用感兴趣区域(Regionofinterestpooling,ROIpooling)操作,并从特征图中提取一个特定长度的特征向量;然后将特征向量输入到全连接层,用softmax对其进行分类;最后对属于同一特征的候选框进行分类并回归其位置[3]。
FasterRCNN:使用RPN(RegionProposalNetwork)而不是选择性搜索,大大减少了提取候选框的时间。将RPN和FastRCNN相结合,首先提取整张图片的特征;再将特征结果输入到RPN;然后使用ROI池化层固定候选框的大小;最后对属于某一特征的候选框回归和调整[4]。
基于onestage的算法有:
YOLOv1和许多后续的改进算法:YOLO系列算法是目前一种先进的目标检测算法。因为整个检测框架是一个整体,所以可以端到端地对算法的性能进行优化。
SSD系列算法:采用多尺度特征图用于检测.,设置先验框,采用卷积进行检测。
脉冲神经网络(SpikingNeuralNetwork,SNN),起源于脑科学,由于其丰富的时空领域的神经动力学特性、多样的编码机制和超低的功耗被誉为第三代神经网络。在此之前,神经网络经历了几个发展阶段:第一个阶段是感知机阶段,其可以模拟人类感知能力并由美国神经学家FrankRosenblatt在BM704机上完成了仿真。第二个阶段是基于联结主义的多层人工神经网络(ArtificialNeuralNetwork,ANN),其兴起于二十世纪80年代中期。20世纪80年代末,分布式表达与反向传播算法被提出。在2006年以后,深度卷积网络占有重要地位,引领了近十几年人工智能的发展[5]。
ANN各个深度学习领域(如计算机视觉和自然语言处理)取得了巨大的成功,但ANN在生物学上是不精确的,不能较准确地模仿生物大脑神经元的运作机制,缺乏一定的生物可解释性。为了使神经网络更加接近于人脑,SNN随之诞生。但与ANN在各方面的广泛应用不同,SNN领域仍有许多问题有待解决,其研究仍然处于快速发展的早期阶段。