一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于脉冲编码可学习SNN的目标跟踪方法及电子设备

2022-11-30 22:11:34 来源:中国专利 TAG:

基于脉冲编码可学习snn的目标跟踪方法及电子设备
技术领域
1.本发明属于脉冲神经网络领域,具体涉及基于脉冲编码可学习snn(spiking neural network,脉冲神经网络)的目标跟踪方法及电子设备。


背景技术:

2.snn是源于生物启发的新一代人工神经网络模型,属于深度学习的子集。与目前流行的神经网络和机器学习方法不同的是,snn使用发生在时间点上的离散脉冲来传递消息,而不是常见的连续值。snn使用拟合生物神经元机制的模型来进行计算,更加接近生物神经元机制,因此具有强大的时空信息表征、异步事件信息处理、网络自组织学习等能力,有望弥合神经科学和机器学习之间的差距,从而进一步提高基于神经网络实现的各类任务的运行效果。
3.现有技术中,公开号为cn113111758a的发明专利申请公开了一种基于脉冲神经网络的sar(合成孔径雷达)图像舰船目标识别方法;该方法中采用了基于视觉注意力机制的视觉显著图提取方法,从sar图像中获取了视觉显著图;利用泊松编码器对视觉显著图进行脉冲编码,得到离散的脉冲时间序列;利用卷积神经网络和lif(leaky integrate-and-fire)脉冲神经元构建了脉冲神经网络模型,然后基于得到的脉冲时间序列对该脉冲神经网络模型进行训练,从而利用训练好的脉冲神经网络模型实现了准确识别sar图像中的舰船目标。
4.然而,上述现有方案仅适用于单张图像的目标识别,无法应用于针对视频图像的目标跟踪;而现有技术中对于如何利用snn实现目标跟踪,尚没有较佳的解决方案。


技术实现要素:

5.为了解决现有技术中所存在的上述问题,本发明提供了一种基于脉冲编码可学习snn的目标跟踪方法及电子设备。
6.本发明要解决的技术问题通过以下技术方案实现:
7.一种基于脉冲编码可学习snn的目标跟踪方法,包括:
8.将待进行目标跟踪的视频分解为多帧图像,并将其中的第一帧图像变换到第一尺度,以及将其他帧图像变换到第二尺度,得到预处理后的视频帧序列;
9.基于预先训练完成的脉冲神经网络模型对所述视频帧序列进行目标跟踪;
10.其中,所述脉冲神经网络模型是对siamfc 网络进行改造得到的,改造方式为将siamfc 网络中的网络骨干backbone替换为一前端网络;所述前端网络包括两个分支,所述两个分支分别用于对不同尺度的图像进行前端处理;
11.所述前端网络的每个分支均包括脉冲编码模块、脉冲特征提取模块以及求点火率模块,其中,所述脉冲编码模块,用于将图像编码为由二进制数组成的五维编码向量[t,b,c,h,w];t表示时间维度,b表示batch size维度,c表示图像通道维度,h表示图像高度维度,w表示图像宽度维度;所述脉冲特征提取模块,用于从所述五维编码向量中提取脉冲特征;
所述求点火率模块,用于从所述脉冲特征中去除时间维度t。
[0012]
可选地,所述脉冲编码模块,包括:卷积层、时间域扩展子模块以及if神经元层;
[0013]
所述卷积层,用于将图像编码为四维编码向量[b,c,h,w];所述四维编码向量非是由二进制数组成的;
[0014]
所述时间域扩展子模块,用于将所述四维编码向量在时间域上进行扩展,得到扩展向量;
[0015]
所述if神经元层,用于将所述扩展向量激活为所述五维编码向量。
[0016]
可选地,所述时间域扩展子模块,将所述四维编码向量在时间域上进行扩展,得到扩展向量,包括:将所述四维编码向量重复t次,得到扩展向量;t∈t。
[0017]
可选地,所述脉冲特征提取模块中使用if神经元作为激活函数。
[0018]
可选地,所述脉冲神经网络模型的训练过程如下:
[0019]
获取视频数据集;所述视频数据集包括多个视频样本,每个视频样本均由多帧图像组成,且每帧图像均标记有目标位置框;
[0020]
从所述视频数据集中选取一对属于同一视频样本的图像分别作为模版帧和搜索帧;
[0021]
将所述模版帧和所述搜索帧分别输入至所述两个分支,以使所述脉冲神经网络模型输出回归矩阵、分类矩阵以及质量矩阵;其中,所述回归矩阵中的元素为表征目标跟踪预测框的向量;所述分类矩阵中的元素为该元素是否对应目标的分类结果;所述质量矩阵中的元素用于表征目标跟踪预测框的预测准确程度;所述回归矩阵、所述分类矩阵以及所述质量矩阵的矩阵维度相等;
[0022]
根据所述回归矩阵、所述分类矩阵以及所述质量得分矩阵评估当前的脉冲神经网络模型是否收敛;
[0023]
若未收敛,调整当前的脉冲神经网络模型的网络权重参数,从所述视频数据集中选取下一对图像继续训练;否则,结束训练,得到训练完成的脉冲神经网络模型。
[0024]
可选地,所述调整当前的脉冲神经网络模型的网络权重参数,包括:使用梯度下降法调整当前的脉冲神经网络模型的网络权重参数;
[0025]
所述梯度下降法中使用第一梯度计算公式实现梯度计算;
[0026]
所述第一梯度计算公式为:
[0027]
其中,x为所述脉冲神经网络模型中的激活函数的输入,e为自然底数,g'(x)表示梯度。
[0028]
可选地,所述调整当前的脉冲神经网络模型的网络权重参数,包括:使用梯度下降法调整当前的脉冲神经网络模型的网络权重参数;
[0029]
所述梯度下降法中使用第二梯度计算公式实现梯度计算;
[0030]
所述第二梯度计算公式为:
[0031]
x为所述脉冲神经网络模型中的激活函数的输入,e为自然底数,g'(x)表示梯度。
[0032]
可选地,基于预先训练完成的脉冲神经网络模型对所述视频帧序列进行目标跟
踪,包括:
[0033]
将所述视频帧序列中的第1帧图像作为模版帧、并将所述视频帧序列中的第i=[2,3,4,l,n]帧图像作为搜索帧输入至训练完成的脉冲神经网络模型,得到第i次输出的分类矩阵、回归矩阵以及质量矩阵;n为所述视频帧序列的帧数;
[0034]
将第i次输出的质量矩阵和分类矩阵相乘,得到第i个分类得分矩阵;
[0035]
根据第i个分类得分矩阵,从第i次输出的回归矩阵中选取所对应分类得分最高的元素,并将该元素表征的目标跟踪预测框在第i帧图像中可视化展示。
[0036]
可选地,所述视频数据集包括:got10k。
[0037]
第二方面,本发明提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0038]
存储器,用于存放计算机程序;
[0039]
处理器,用于执行存储器上所存放的程序时,实现上述任一种基于脉冲神经网络模型的目标跟踪方法所述的方法步骤。
[0040]
本发明提供的基于脉冲编码可学习snn的目标跟踪方法中,将可实现目标跟踪的siamfc 网络进行了改造,siamfc 是一种cnn(卷积神经网络),通过将其前端的网络骨干(backbone)替换为一前端网络,得到了一种能够进行实时目标跟踪的脉冲神经网络模型;其中,该前端网络包括两个分支,这两个分支分别用于对不同尺度的图像进行前端处理,每个分支均包括脉冲编码模块、脉冲特征提取模块以及求点火率模块,脉冲编码模块用于将图像编码为由二进制数组成的五维编码向量;脉冲特征提取模块用于从五维编码向量中提取脉冲特征;求点火率模块用于从脉冲特征中抹除时间维度t带来的影响。相较于现有技术是在脉冲神经网络外部先进行脉冲编码,然后再将编码输入到脉冲神经网络中进行训练的方式而言,本发明中脉冲编码部分参与到了脉冲神经网络的训练过程中来,从而实现了脉冲编码部分的参数可学习,由此基于训练好的脉冲神经网络模型实现目标跟踪时,可以获得更高的检测精度。
[0041]
并且,本发明在将图像进行脉冲编码时引入了时间维度,采用更高维度的五维编码向量来对图像进行表征,由此采用脉冲特征提取模块从中提取的脉冲特征能够更好地对表达图像中所包含的有效信息;尽管还会使用求点火率模块从脉冲特征去除时间维度,但发明人经过对比实验发现引入时间维度再将其去除的做法,比直接不引入时间维度的做法的性能更优。
[0042]
以下将结合附图及对本发明做进一步详细说明。
附图说明
[0043]
图1是本发明实施例提供的一种基于脉冲编码可学习snn的目标跟踪方法的流程图;
[0044]
图2是本发明实施例中使用的脉冲神经网络模型的结构示意图;
[0045]
图3是图2所示脉冲神经网络模型中的前端网络的结构示意图;
[0046]
图4是本发明实施例实现脉冲编码的示意图;
[0047]
图5是本发明实施例中将质量得分矩阵与分类得分矩阵可视化后的效果图;
[0048]
图6是利用本发明实施例提供的一种基于脉冲编码可学习snn的目标跟踪方法进
行目标跟踪的效果图;
[0049]
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
[0050]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0051]
为了利用snn实现目标跟踪,本发明实施例提供了一种基于脉冲编码可学习snn的目标跟踪方法,
[0052]
如图1所示,该方法包括以下步骤:
[0053]
s10:将待进行目标跟踪的视频分解为多帧图像,并将其中的第一帧图像变换到第一尺度,以及将其他帧图像变换到第二尺度,得到预处理后的视频帧序列。
[0054]
具体的,可以利用中心裁剪或随机裁剪的方法,将其中的第一帧图像变换到第一尺度,以及将其他帧图像变换到第二尺度,裁剪过程中参考目标所在位置为中心进行裁剪。
[0055]
示例性的,第一尺度可以为127
×
127,第二尺度可以为303
×
303,当然并不局限于此。
[0056]
s20:利用预先训练完成的脉冲神经网络模型对视频帧序列进行目标跟踪。
[0057]
该步骤中,脉冲神经网络模型是对siamfc 网络进行改造得到的脉冲神经网络模型,如图2所示,改造方式为将siamfc 网络中的网络骨干(backbone)替换为一前端网络;该前端网络包括两个分支,这两个分支分别用于对不同尺度的图像进行前端处理。
[0058]
现有技术中,除siamfc 外,同样是基于孪生网络的跟踪算法还有siamfc以及siamrpn 。其中,siamfc可以在拥有较快跟踪速度的同时,保持着较高的跟踪精度;siamrpn 成功地打破了空间不变性限制,训练出了基于resnet架构的孪生跟踪器,将深层网络引入到目标跟踪中,取得了不错的效果;相比较而言,siamfc 是基于anchor-free模型的网络架构,其跟踪性能更为优秀,fps(画面每秒传输帧数)可达160帧/秒。
[0059]
其中,结合图2和3可见,前端网络的每个分支均包括脉冲编码模块、脉冲特征提取模块以及求点火率模块。其中,脉冲编码模块用于将图像编码为由二进制数组成的五维编码向量[t,b,c,h,w];t表示时间维度,b表示batchsize维度,c表示图像通道维度,h表示图像高度维度,w表示图像宽度维度;脉冲特征提取模块用于从五维编码向量中提取脉冲特征;求点火率模块用于从脉冲特征中抹除时间维度t带来的影响。
[0060]
具体的,上述脉冲编码模块,可以包括:卷积层、时间域扩展子模块以及if神经元层。
[0061]
其中,卷积层用于将图像编码为四维编码向量[b,c,h,w];该四维编码向量非是由二进制数组成的。
[0062]
时间域扩展子模块,用于将四维编码向量在时间域上进行扩展,得到扩展向量;
[0063]
示例性的,该时间域扩展子模块可以将四维编码向量重复t次,得到扩展向量;t∈t。优选地,t可以取6,当然并不局限于此。
[0064]
在另一种实现方式中,可以令卷积层重复地对图像进行t次编码,相应的,该时间域扩展子模块可以将这t次编码得到的t个四维编码向量进行拼接,从而得到扩展向量。
[0065]
值得注意的是,该时间域扩展子模块并没有增加脉冲神经网络的权重参数的数
量。
[0066]
if神经元层,用于将扩展向量激活为由二进制数组成的五维编码向量。
[0067]
图4示例性的示出了脉冲编码过程的示意图,其中输入图像的每一个像素点均被编码成96个长度为t的脉冲序列。
[0068]
在另一种实现方式中,可以将脉冲编码模块中的if神经元层替换为lif神经元层。
[0069]
脉冲特征提取模块可以采用现有cnn网络中的图像特征提取网络;或者,为了使脉冲神经网络更贴近于生物特性,可以将这些图像特征提取网络中的激活函数替换为if神经元或者lif神经元。由此,该脉冲神经网络在前向传播时,使用神经元代替激活函数,通过神经元完成膜电压的累积与脉冲的发放,从而实现网络的非线性计算。
[0070]
示例性的,表1给出了前端网络中的部分网络结构的参数。
[0071]
表1
[0072][0073]
其中,conv2d均表示卷积层,ifnode均表示if神经元层,maxpool2d均表示最大池化层。module表示模块,layer表示的是模块中的层级,param表示的是层级中所涉及权重的数量,z’shape表示的是模版帧所进入的分支中各层级输出的特征维度,例如表1中第一行的conv2d输出的特征维度为t
×b×
96
×
59
×
59;其中t为时间维度的具体大小,b表示的是batch size的大小。x’shape则表示的是搜索帧所进入的分支中各层级输出的特征维度。其中,模版帧指的是在目标跟踪时以其为模版来搜索目标从而实现目标跟踪的视频帧,搜索帧则是需要从其中找出目标的视频帧。
[0074]
在前端网络之后,是siamfc 网络除去其backbone之后剩余的后端网络;该后端网络包括分类子任务专用的卷积层以及回归子任务专用的卷积层前端网络输出的两组脉冲特征均送入和和均输出两个特征图;这里,输出的两个特征图用和表示,输出的两个特征图用和表示;其中,ζ代表脉冲编码模块,φ代表脉冲特征提取模块,代表后端网络的子任务专用的卷积层。z表示模版帧,x表示搜索帧。
[0075]
然后,对输出的两个特征图做互相关操作,即
结果用ξ
cls
表示;以及,对输出的两个特征图做互相关操作,即结果用ξ
reg
表示。两个互相关操作结果分别通过3个卷积核大小为3
×
3的卷积层;然后,将ξ
cls
经过3
×
3的卷积层后的输出分别送入两个卷积核大小为1
×
1的卷积层,由这两个卷积层分别输出分类矩阵和质量矩阵;此外,将ξ
reg
经过3
×
3的卷积层后的输出送入一个卷积核大小为1
×
1的卷积层,由该卷积层输出回归矩阵。
[0076]
其中,回归矩阵中的元素用于表征目标跟踪预测框;具体的,回归矩阵中的元素存储的是分别对应上、下、左、右四个方向的距离值,该元素所在位置与搜索帧中的元素具有点映射关系,将该元素映射回搜索帧后,以映射在搜索帧中的元素为中心,分向上、下、左、右四个方向扩展上述四个距离值,便可以得到一个目标跟踪预测框;分类矩阵中的元素为该元素是否对应目标的分类结果;质量矩阵中的元素用于表征目标跟踪预测框的预测准确程度;回归矩阵、分类矩阵以及质量矩阵的矩阵维度相等。
[0077]
搭建好脉冲神经网络模型之后,便可以对其展开训练,训练方式存在多种。示例性的,在一种实现方式中,脉冲神经网络模型的训练过程可以如下:
[0078]
(1)获取视频数据集;视频数据集包括多个视频样本,每个视频样本均由多帧图像组成,且每帧图像均标记有目标位置框。
[0079]
(2)从视频数据集中选取一对属于同一视频样本的图像分别作为模版帧和搜索帧。
[0080]
(3)将模版帧和搜索帧分别输入至前端网络的两个分支,以使脉冲神经网络模型输出回归矩阵、分类矩阵以及质量矩阵。
[0081]
(4)根据回归矩阵、分类矩阵以及质量矩阵评估当前的脉冲神经网络模型是否收敛;
[0082]
具体的,根据回归矩阵、分类矩阵以及质量矩阵计算模型的损失值;如果损失值收敛,则脉冲神经网络模型收敛,否则脉冲神经网络模型不收敛。
[0083]
其中,损失值的计算公式为:
[0084][0085]
其中,p
x,y
表示分类矩阵中位于点(x,y)处的元素,表示搜索帧中,与该点(x,y)具有映射关系的像素点是否位于搜索帧的目标位置框中的标记值,其中表示位于,表示不位于,n
pos
表示的个数。其中,搜索帧中与分类矩阵或回归矩阵的点(x,y)具有映射关系的像素点所在位置为s是前端网络的总步长。
[0086]qx,y
表示质量矩阵中位于点(x,y)处的元素;t
x,y
表示回归矩阵中位于点(x,y)处的
元素,表示由t
x,y
表征的目标跟踪预测框与搜索帧的目标位置框两者的交并比;该交并比的计算公式表示为:
[0087][0088]
其中,b表示目标跟踪预测框,b
*
表示目标位置框,intersection(
·
)表示求交集,union(
·
)表示求并集。
[0089]
为由t
x,y
表征的目标跟踪预测框与搜索帧的目标位置框两者在上、下、左、右四个方向上的距离所构成的向量,的计算方式为:
[0090][0091][0092][0093][0094]
其中,(x0,y0)和(x1,y1)分别是目标位置框的左上角点坐标和右下角点坐标。是由l
*
、t
*
、r
*
、b
*
这四个距离组成的向量(l
*
,t
*
,r
*
,b
*
)。
[0095]
l表示损失值;l
cls
(
·
)为focal loss损失函数,l
quality
(
·
)为bce损失函数,l
reg
为iou loss损失函数。
[0096]
本发明实施例中,由于计算损失值所采用的损失函数中引入了目标位置框与目标跟踪预测框的交并比,因此可以提高训练好的脉冲神经网络模型进行目标跟踪时的精度。
[0097]
(5)若模型未收敛,则调整当前的脉冲神经网络模型的网络权重参数,从视频数据集中选取下一对图像继续训练;否则,结束训练,得到训练完成的脉冲神经网络模型。
[0098]
与成熟的人工神经网络(ann)训练算法相比,脉冲神经网络研究中的最困难问题之一是由于复杂的动力学和脉冲的不可微特性导致的训练困难。具体而言,训练过程中在前向传播时,脉冲神经元使用的是阶跃函数,输出的值是离散的0或1。但是这样在反向传播过程中,因为脉冲神经元的不可微特性,就无法正常的使用反向传播来对脉冲神经网络进行训练。对此问题,研究人员试图从根本上缓解,想要通过加强snn的手段来优化网络性能。主要的优化方向包括两类:一类是以理解生物系统为最终目标,通过尽可能满足已知的生物发现来实现优化,例如脉冲时序依赖的突触可塑性、长时程增强、长时程抑制、神经元侧抑制等等;另外一类是以计算性能为目标,例如梯度替代、ann向snn转化、脉冲平滑近似等等。
[0099]
本发明实施例中,在反向传播时,使用梯度下降法调整当前的脉冲神经网络模型的网络权重参数,优化器根据损失函数在当前位置的梯度调整权重,进而完成对模型的优
化。并且,本发明实施例中使用特殊的替代函数来解决脉冲神经元的不可微特性而导致的难以直接训练的问题。
[0100]
其中,梯度下降法中可以使用第一梯度计算公式实现梯度计算;该第一梯度计算公式为:
[0101][0102]
其中,x表示脉冲神经网络模型中的激活函数的输入,e为自然底数,g'(x)表示梯度。
[0103]
或者,梯度下降法中也可以使用第二梯度计算公式实现梯度计算;该第二梯度计算公式为:
[0104][0105]
其中,x同样表示脉冲神经网络模型中的激活函数的输入,e为自然底数,g'(x)表示梯度。
[0106]
结束训练之后,保存当前训练得到的权重,便可以基于训练好的脉冲神经网络模型进行目标跟踪。
[0107]
具体的,基于训练完成的脉冲神经网络模型对所述视频帧序列进行目标跟踪,包括:
[0108]
(1)将步骤s10中得到的视频帧序列中的第1帧图像作为模版帧、并将该视频帧序列中的第i=[2,3,4,l,n]帧图像作为搜索帧输入至训练完成的脉冲神经网络模型,得到第i次输出的分类矩阵、回归矩阵以及质量矩阵;n为视频帧序列的帧数。
[0109]
可以理解的是,每次仅将i=[2,3,4,l,n]中的一帧作为搜索帧输入至前端网络的一个分支,同时将第1帧作为模版帧输入到前端网络的另一个分支。
[0110]
(2)将第i次输出的质量矩阵和分类矩阵相乘,得到第i个分类得分矩阵。
[0111]
图5的子图(a)中示出了一个输出为图像的分类矩阵。图5的子图(b)中示出了一个输出为图像的质量得分矩阵,两者相乘得到分类得分矩阵。可以理解的是,将质量得分矩阵与分类矩阵相乘,得到的分类得分矩阵可以帮助更精确地找到目标。
[0112]
(3)根据第i个分类得分矩阵,从第i次输出的回归矩阵中选取所对应分类得分最高的元素,并将该元素表征的目标跟踪预测框在第i帧图像中可视化展示。
[0113]
具体的,假设第i个新的分类得分矩阵中的点(x,y)的值最大,即该点的分类得分最高,则从第i次输出的回归矩阵中同样选取点(x,y),并将该点表征的目标跟踪预测框在第i帧图像中可视化展示。
[0114]
下面采用仿真实验对本发明实施例的有益效果进行进一步说明。
[0115]
首先,按照表1搭建前端网络,并相应搭建如图2所示的脉冲神经网络。该脉冲神经网络中,模板帧大小设置为127
×
127,搜索帧大小设置为303
×
303。脉冲神经网络的脉冲编码模块对模板帧和搜索帧进行脉冲编码;编码后的五维编码向量分别传入到脉冲特征提取模块中进行特征提取,设置观测时间为t,则对于模板帧,提取得到t
×
256
×6×
6的脉冲特征,对于搜索帧的输入,提取得到t
×
256
×
28
×
28的脉冲特征;然后进行求点火率操作,分
别得到256
×6×
6以及256
×
28
×
28的脉冲特征。对于经过求点火率后得到的两个脉冲特征,进入后端网络进行处理,得到1
×
17
×
17的分类矩阵以及4
×
17
×
17的回归矩阵;
[0116]
然后进行参数初始化,包括:设置视频数据集的调取路径、使用设备、观测时间、训练周期、输出路径等。其中,视频数据集采用got10k,该数据集由中科院发布,包括超过10000条取材于真实世界的视频片段和560多个类别,超过150万个手动标记的目标位置框。使用设备包括两颗cpu(central processing unit,中央处理器),型号为intel(r)xeon(r)cpue5-2620v4,运行频率为2.10ghz,内存容量为64g,频率为2400mhz,使用设备还包括两颗gpu(graphics processing unit,图形处理器),型号为nvidia rtx 2070super,显存为8g
×
2。观测时间t=6;训练周期epochs=20个。输出路径即测试结果的保存路径,可根据实际情况进行选择。另外,本次仿真实验的软件环境使用python语言实现,深度学习框架为pytorch,版本为1.8.0。
[0117]
然后,训练脉冲神经网络,其中,每进行一次图像的输入,均基于模型输出的分类矩阵和回归矩阵计算损失值并相应地进行网络权重参数的调整和优化,直至损失值收敛,得到训练完成的脉冲神经网络模型。
[0118]
训练好脉冲神经网络模型后,使用otb100数据集中的basketball序列对该模型进行测试,具体过程如下:
[0119]
将basketball序列中的第一帧作为模版帧,其他帧依次作为搜索帧。将模版帧和搜索帧分别输入至训练好的脉冲神经网络模型,以使模型输出分类矩阵、回归矩阵以及质量矩阵。将质量矩阵与分类矩阵相乘得到分类得分矩阵,利用得到的分类得分矩阵来挑选目标位置预测框,从而实现目标跟踪。目标跟踪效果如图5所示,其中深色框为将挑选的目标位置预测框可视化的结果,浅色框为basketball序列中图像本身标注的目标位置框的可视化结果。另外,图5中左上角显示的是图像在视频序列中的序号,右下角展示的是当前帧中目标位置预测框与目标位置框之间的交并比。
[0120]
本发明实施例提供的基于脉冲编码可学习snn的目标跟踪方法中,将可实现目标跟踪的siamfc 网络进行了改造,siamfc 是一种cnn(卷积神经网络),通过将其前端的网络骨干(backbone)替换为一前端网络,得到了一种能够进行实时目标跟踪的脉冲神经网络模型;其中,该前端网络包括两个分支,这两个分支分别用于对不同尺度的图像进行前端处理,每个分支均包括脉冲编码模块、脉冲特征提取模块以及求点火率模块,脉冲编码模块用于将图像编码为由二进制数组成的五维编码向量;脉冲特征提取模块用于从五维编码向量中提取脉冲特征;求点火率模块用于从脉冲特征中抹除时间维度t带来的影响。相交于现有技术是在脉冲神经网络外部先进行脉冲编码,然后再将编码输入到脉冲神经网络中进行训练的方式而言,本发明实施例中脉冲编码部分参与到了脉冲神经网络的训练过程中来,从而实现了脉冲编码部分的参数可学习,由此基于训练好的脉冲神经网络模型实现目标跟踪时,可以获得更高的识别精度。
[0121]
并且,本发明实施例在将图像进行脉冲编码时引入了时间维度,采用更高维度的五维编码向量来对图像进行表征,由此采用脉冲特征提取模块从中提取的脉冲特征能够更好地对表达图像中所包含的有效信息;尽管还会使用求点火率模块从脉冲特征去除时间维度,但发明人经过对比实验发现引入时间维度再将其去除的做法,比直接不引入时间维度的做法的性能更优。
[0122]
此外,本发明实施例还具有以下有益效果:
[0123]
本发明实施例使用离散的二进制序列进行信息的传递和计算,在推理过程中相较于传统的人工神经网络具备更快的推理速度,计算效率高,可进行实时目标跟踪,实际中可用于视频监控,无人驾驶等具体领域。
[0124]
本发明实施例为将snn移植到人工智能芯片或者神经形态硬件等边缘设备上提供了可行性方案。
[0125]
基于同一发明构思,本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
[0126]
存储器703,用于存放计算机程序;
[0127]
处理器701,用于执行存储器703上所存放的程序时,实现上述任一种基于脉冲编码可学习snn的目标跟踪方法所述的方法步骤。
[0128]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表征,图中仅用一条粗线表征,但并不表征仅有一根总线或一种类型的总线。
[0129]
通信接口用于上述电子设备与其他设备之间的通信。
[0130]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0131]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0132]
在实际应用中,上述电子设备可以为台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
[0133]
本发明还提供了一种计算机可读存储介质。在该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时,实现上述任一种基于脉冲编码可学习snn的目标跟踪方法所述的方法步骤。
[0134]
可选地,该计算机可读存储介质可以为非易失性存储器(non-volatile memory,nvm),例如为至少一个磁盘存储器。
[0135]
可选的,所述计算机可读存储器还可以是至少一个位于远离前述处理器的存储装置。
[0136]
在本发明的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种基于脉冲编码可学习snn的目标跟踪方法所述的方法步骤。
[0137]
需要说明的是,对于电子设备/存储介质/计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0138]
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0139]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
[0140]
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
[0141]
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献