掌桥专利:专业的专利平台
掌桥专利
首页

基于脉冲神经网络的目标检测方法、系统及设备

文献发布时间:2023-06-19 11:26:00


基于脉冲神经网络的目标检测方法、系统及设备

技术领域

本发明属于计算机视觉和神经计算领域,具体涉及了一种基于脉冲神经网络的目标检测方法、系统及设备。

背景技术

目标检测是计算机视觉领域中很重要的研究方向,在自动驾驶、视频监控、工业检测、航空航天等诸多领域都有具体的应用。在深度学习技术兴起之前,科研人员都是手动设计分类器来提取图像中的物体,导致准确率较低。随着深度学习技术和神经网络的发展,以及计算资源的丰富,研究者们提出大量新奇的网络,大大提高了目标检测的准确率,推动该领域的快速发展。其中典型的检测网络有YOLO系列和RCNN系列。YOLO系列直接可以预测出目标的类别和位置信息,该方法速度较快但准确率相对较低;而RCNN系列则是先挑选出建议区域,在建议区域上进一步获取类别和位置信息。相对的,该方法准确率较高但速度相对较低。上述方法都存在一些问题,这类模型往往计算量大,占用资源多,难以应用到边缘设备中。

随着人工智能和神经计算等相关技术的发展,类脑计算受到了科研人员广泛的关注,进而催生出第三代神经网络——脉冲神经网络。传统的深度神经网络虽然也是受到人脑工作机制的启发,但和真实的情况相去甚远。传统的深度神经网络传递的是模拟量,而在人脑中,信息是以脉冲的形式传递的,所以脉冲神经网络更接近人脑的工作机制。

脉冲神经网络由于其计算效率高,能耗低、占用资源少、易于硬件实现等诸多优势,已经成为人工智能领域的研究焦点。通过对脉冲神经网络的研究,可以进一步推动人工智能领域的发展,也能促进非冯·诺伊曼架构的新型人工智能芯片的研发。目前,脉冲神经网络已经在图像分类、图像分割领域取得了成功,但在复杂的视觉任务中的应用还少之又少。其主要问题在于脉冲神经网络的神经元函数不可微,难以用反向传播方法进行训练,也没有其他合理且高效的训练方法,从而导致脉冲神经网络的研究出现了瓶颈。

总的来说,现有的目标检测网络还无法有效利用脉冲神经网络的计算效率高、能耗低、占用资源少和易于硬件实现等诸多优势,从而无法在保证准确率的同时显著减少资源消耗。

发明内容

为了解决现有技术中的上述问题,即传统的深度学习模型计算量大、占用资源多、难以应用到边缘设备中,因而目标检测无法在保证准确率的同时显著减少资源消耗的问题,本发明提供了一种基于脉冲神经网络的目标检测方法,该目标检测方法包括:

步骤S10,获取待检测图像,并将所述待检测图像的像素点数据转换为脉冲串数据;获取预训练的YOLOv3网络的权值,并将所述权值转换为适用于脉冲神经网络的权值;

步骤S20,基于所述适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络;

步骤S30,将所述脉冲串数据输入所述YOLOv3脉冲神经网络,获得待检测图像中目标物体的类别和坐标信息。

在一些优选的实施例中,步骤S10中将所述待检测图像的像素点数据转换为脉冲串数据,其方法为:

将所述待检测图像的像素点数据的理论最大值记为M,当前像素点数据值记为x,获得首个脉冲发射时刻t=M-x;

进行所述首个脉冲发射时刻的归一化:

其中,t

基于归一化的首个脉冲发射时刻,遵循泊松过程获取其余的脉冲发射时刻,获得待检测图像的像素点数据转换后的脉冲串数据。

在一些优选的实施例中,所述预训练的YOLOv3网络的权值包括YOLOv3网络的卷积层权值、leaky-ReLU层权值、shortcut路径权值、concat层权值和上采样层权值。

在一些优选的实施例中,所述卷积层权值,其转换为适用于脉冲神经网络的权值的方法为:

其中,W

在一些优选的实施例中,所述leaky-ReLU层权值,其转换为适用于脉冲神经网络的权值的方法为:

其中,V

在一些优选的实施例中,所述shortcut路径权值,其转换为适用于脉冲神经网络的权值的方法为:

y=λ(W·X+b+X)

其中,X为预训练的YOLOv3网络中某一层的输入张量,W为该层的卷积核权值,b为该层的偏置,y为添加了shortcut路径后的该层的输出,

在一些优选的实施例中,所述concat层权值和上采样层权值,其转换为适用于脉冲神经网络的权值的方法为:

所述concat层权值与预训练的YOLOv3网络的concat层权值一致,按照通道所在的维度进行拼接;

所述上采样层权值与预训练的YOLOv3网络的上采样层权值一致,按照最近邻插值的方式上采样。

本发明的另一方面,提出了一种基于脉冲神经网络的目标检测系统,该目标检测系统包括以下模块:

权值存储模块100,配置为获取预训练的YOLOv3网络的权值并导入权值存储模块;

权值转换模块200,配置为将所述权值存储模块100存储的权值转换为适用于脉冲神经网络的权值;

图像输入模块300,配置为获取待检测图像并输入;

图像转换模块400,配置为将输入的待检测图像的像素点数据转换为脉冲串数据;

SNN模块500,配置为基于所述适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络,并将所述脉冲串数据输入所述YOLOv3脉冲神经网络,获得待检测图像中目标物体的类别和坐标信息;

输出显示模块600,配置为输出显示待检测图像以及待检测图像中目标物体的类别和坐标信息。

本发明的第三方面,提出了一种电子设备,包括:

至少一个处理器;以及

与至少一个所述处理器通信连接的存储器;其中,

所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于脉冲神经网络的目标检测方法。

本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于脉冲神经网络的目标检测方法。

本发明的有益效果:

(1)本发明基于脉冲神经网络的目标检测方法,首先构建原始的卷积神经网络,进行该卷积神经网络的预训练直至网络可以准确地识别出图像中待检测的物体,接着导出该卷积神经网络的权值数据并转换为适用于脉冲神经网络的权值,并基于该权值构建可以进行目标检测的脉冲神经网络,通过将输入的待检测图像的像素点数据转换为脉冲串数据,从而可以用转换后的脉冲神经网络检测出图像中的物体类别和坐标信息,解决了现有技术中模型往往计算量大,占用资源多,难以应用到边缘设备中的问题,提高了执行效率,降低了能耗,促进了新一代人工智能芯片的研发。

(2)本发明基于脉冲神经网络的目标检测方法,避开了脉冲神经网络的神经元函数不可微,难以用反向传播方法进行训练,也没有其他合理且高效的训练方法的问题,通过将卷积神经网络权值导入脉冲神经网络的方法,直接获得可用于目标检测的脉冲神经网络,执行效率高、能耗低,同时保证了目标检测的准确率。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本发明基于脉冲神经网络的目标检测方法的流程示意图;

图2是本发明基于脉冲神经网络的目标检测方法一种实施例的预训练的YOLOv3网络的结构示意图;

图3是本发明基于脉冲神经网络的目标检测方法一种实施例的基于适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络的结构示意图;

图4是本发明基于脉冲神经网络的目标检测方法一种实施例的检测结果示例图;

图5是本发明基于脉冲神经网络的目标检测系统的框架示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明的一种基于脉冲神经网络的目标检测方法,该目标检测方法包括:

步骤S10,获取待检测图像,并将所述待检测图像的像素点数据转换为脉冲串数据;获取预训练的YOLOv3网络的权值,并将所述权值转换为适用于脉冲神经网络的权值;

步骤S20,基于所述适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络;

步骤S30,将所述脉冲串数据输入所述YOLOv3脉冲神经网络,获得待检测图像中目标物体的类别和坐标信息。

为了更清晰地对本发明基于脉冲神经网络的目标检测方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。

本发明第一实施例的基于脉冲神经网络的目标检测方法,包括步骤S10-步骤S30,各步骤详细描述如下:

步骤S10,获取待检测图像,并将所述待检测图像的像素点数据转换为脉冲串数据。

本发明一个实施例中,通过配置为SNA-825ABC的摄像头读取外部真实图像数据,并将读取的将原始图像的像素点数据转换为脉冲串,其方法为:

将所述待检测图像的像素点数据的理论最大值记为M,当前像素点数据值记为x,获得首个脉冲发射时刻,如式(1)所示:

t=M-x (1)

进行所述首个脉冲发射时刻的归一化,如式(2)所示:

其中,t

基于归一化的首个脉冲发射时刻,遵循泊松过程获取其余的脉冲发射时刻,获得待检测图像的像素点数据转换后的脉冲串数据。

经过归一化操作后,首个脉冲发射时刻都分布在[0,T]之间,在有了首个脉冲发射时刻后,接下来的脉冲发射时刻都遵循泊松过程,从而得到原始图像的像素点转换后的脉冲串数据。

获取预训练的YOLOv3网络的权值,并将所述权值转换为适用于脉冲神经网络的权值。

首先,构建配置文件。为了获取到预训练好的YOLOv3网络模型权值数据,首先需要搭建网络。

如图2所示,为本发明基于脉冲神经网络的目标检测方法一种实施例的预训练的YOLOv3网络的结构示意图,根据图2所示的预训练的YOLOv3网络的结构示意图,编写网络结构的配置文件,配置文件开始先写明训练过程中涉及到的超参数,在本发明一个实施例中,batch size=16,图像宽高填充放缩至416,动量系数momentum=0.9,衰减系数decay=0.0005,饱和度saturation=1.5,曝光度exposure=1.5,色度hue=0.1,学习率learningrate=0.001,接着按照图2所示的YOLOv3网络结构示意图,按深度优先搜索的方式依次编写每个模块的参数信息,卷积层中需要写明滤波核的数量、滤波核的尺寸、滤波核的移动步长、是否需要padding、是否需要批归一化以及激活函数的类型;shortcut路径需要写明与哪一层卷积层叠加以及激活函数的类型;concat层需要写明与哪一层卷积层进行拼接;上采样层需要写明上采样的步长;最后的输出层需要写明输出层的序号以及非极大值抑制的相关参数。

然后,根据配置文件搭建网络。

将上述过程构建的配置文件按照字典的方式读取,每一个模块相当于一个字典。依次读完配置文件中所有的模块结构后,就生成了所有模块信息的字典集合。字典中包含了每个模块的连接方式信息,从而能够反向解析出根据深度优先搜索方式编写的配置文件信息,搭建出最终的卷积神经网络结构YOLOv3网络。

在然后,YOLOv3网络训练数据的预处理。

去除原始数据集中的非彩色图像,并将剩余全部图像填充至宽和高都为416,同时将标签也进行同样的填充和放缩处理,从而获得了预处理后的训练数据集。

最后,YOLOv3网络预训练。

加载搭建好的YOLOv3网络,定义网络损失函数,导入上述过程中获得的预处理后的训练数据集,根据配置文件开头定义的超参数进行训练。最终获得了原始的卷积神经网络(预训练的YOLOv3网络)的模型权值数据。

将预训练的YOLOv3网络的权值转换为适用于脉冲神经网络的权值,预训练的YOLOv3网络的权值包括YOLOv3网络的卷积层权值、leaky-ReLU层权值、shortcut路径权值、concat层权值和上采样层权值。

卷积层权值,其转换为适用于脉冲神经网络的权值的方法如式(3)和式(4)所示:

其中,W

需要注意的是,上述的

leaky-ReLU层权值,其转换为适用于脉冲神经网络的权值的方法如式(5)所示:

其中,V

上述公式可以看出,如果膜电位大于正向阈值,则会发出正脉冲;如果膜电位小于负向阈值,则会发出负脉冲。本发明一个实施例中,当α取值为0.1时,若想发出负脉冲,则需要累积相当于发射正脉冲10倍的膜电位的绝对值。

在原始的卷积神经网络(预训练的YOLOv3网络)中,shortcut路径直接连接并叠加了前后卷积层的值,例如原始的卷积神经网络中某一层的输入张量为X,对应层的卷积核权值为W,偏置为b,输出为y,则在添加了shortcut路径后的shortcut路径权值计算方式如式(6)所示:

y=λ(W·X+b+X) (6)

其中,

concat层权值和上采样层权值,其转换为适用于脉冲神经网络的权值的方法为:

concat层权值与预训练的YOLOv3网络的concat层权值一致,按照通道所在的维度进行拼接;

上采样层权值与预训练的YOLOv3网络的上采样层权值一致,按照最近邻插值的方式上采样。

步骤S20,基于所述适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络。

将上述转换后的权值导入,获得可以用于目标检测的YOLOv3脉冲神经网络。

如图3所示,为本发明基于脉冲神经网络的目标检测方法一种实施例的基于适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络的结构示意图,CBL代表conv+leaky-relu,res unit代表添加shortcut路径后的残差模块,res unit*n代表n个res unit模块,res1、res2、res4、res8、resn分别代表CBL模块后添加1、2、4、8、n个res unit,y1、y2、y3代表不同层的输出结果。

步骤S30,将所述脉冲串数据输入所述YOLOv3脉冲神经网络,获得待检测图像中目标物体的类别和坐标信息。

将待检测图像转换后的脉冲串作为YOLOv3脉冲神经网络的输入,输出目标物体的类别和坐标信息。本发明一个实施例中,以COCO数据集为例,网络输出的数据包括三种类型的张量,其尺寸分别为尺寸分别为13×13×255,26×26×255和52×52×255,分别用于检测大、中、小三种类型的物体。

上述三种类型的张量,其尺寸中的第三维255的获取方法如式(7)所示:

3×(5+80)=255 (7)

每个网格单元可以对应3个预测框,每个预测框需要有中心坐标(x,y)、预测框宽和高(w,h)以及置信度confidence这5个参数,还要预测COCO数据集80个类别的概率。

如图4所示,为本发明基于脉冲神经网络的目标检测方法一种实施例的检测结果示例图,可以看出,本发明能够很好地检测中图像中的各物体类别,并能给出较为准确的目标物体包围框(即坐标信息)。

上述实施例中虽然将各个步骤按照上述先后次序的方式进行了描述,但是本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时(并行)执行或以颠倒的次序执行,这些简单的变化都在本发明的保护范围之内。

本发明第二实施例的基于脉冲神经网络的目标检测系统,如图5所示,该目标检测系统包括以下模块:

权值存储模块100,配置为获取预训练的YOLOv3网络的权值并导入权值存储模块;

权值转换模块200,配置为将所述权值存储模块100存储的权值转换为适用于脉冲神经网络的权值;

图像输入模块300,配置为获取待检测图像并输入;

图像转换模块400,配置为将输入的待检测图像的像素点数据转换为脉冲串数据;

SNN模块500,配置为基于所述适用于脉冲神经网络的权值构建YOLOv3脉冲神经网络,并将所述脉冲串数据输入所述YOLOv3脉冲神经网络,获得待检测图像中目标物体的类别和坐标信息;

输出显示模块600,配置为输出显示待检测图像以及待检测图像中目标物体的类别和坐标信息。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

需要说明的是,上述实施例提供的基于脉冲神经网络的目标检测系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。

本发明第三实施例的一种电子设备,包括:

至少一个处理器;以及

与至少一个所述处理器通信连接的存储器;其中,

所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现上述的基于脉冲神经网络的目标检测方法。

本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现上述的基于脉冲神经网络的目标检测方法。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。

术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

相关技术
  • 基于脉冲神经网络的目标检测方法、系统及设备
  • 基于目标架构的目标检测方法、装置、设备及存储介质
技术分类

06120112922425