当前位置: 首页 > 专利查询>北京大学专利>正文

一种二值神经网络模型的目标检测方法及其硬件加速方法技术

技术编号:38200337 阅读:7 留言:0更新日期:2023-07-21 16:42
本发明专利技术公布了一种二值神经网络模型的目标检测方法及其硬件加速方法,基于脉冲神经网络构建一种具备时间信息的二值神经网络检测模型,其中将脉冲神经网络的激活函数采用阶跃函数,且使用单帧的卷积结果进行阈值判断,再在二值神经网络增加时间信息融合层;模型输出目标检测框信息;并对所构建模型的时间信息融合层设计硬件加速模块;包括:加载模块,累积模块,计算模块,输出模块;通过加载模块和累积模块完成神经元的累积过程,通过计算模块完成归一化和卷积过程,同时采用先进行卷积运算后进行归一化过程。采用本发明专利技术方法,可提高目标检测速度,且减小了存储资源消耗。且减小了存储资源消耗。且减小了存储资源消耗。

【技术实现步骤摘要】
一种二值神经网络模型的目标检测方法及其硬件加速方法


[0001]本专利技术属于图像处理
,涉及目标检测及加速技术,尤其涉及一种二值神经网络模型的目标检测方法及其硬件加速方法。

技术介绍

[0002]近年来,自动驾驶、可穿戴设备的高速发展,神经网络模型(CNN)在目标检测领域的应用愈加广泛,其中卷积神经网络模型是应用最为广泛的。但是,将卷积神经网络应用于目标检测,由于其庞大的计算量,很难用于低功耗设备上。
[0003]为了降低神经网络模型计算的功耗,当下脉冲神经网络模型开始被用于目标检测
由于脉冲神经网络本身的稀疏化特性带来了极低的功耗,其被誉为第三代神经网络模型。但是,由于脉冲神经元要不断进行维护其本身的膜电压的特性,在硬件实现方面带来了极大的存储资源消耗,给硬件加速带来了极大的带宽压力,而现有技术难以解决降低脉冲神经网络膜电压带来的资源消耗问题。
[0004]另一方面,现有研究对CNN网络进行压缩处理提出了二值神经网络(BNN网络),即使用单比特的权重或者特征进行参数或者信息传递。现有传统的二值神经网络对计算资源消耗较少,但是,因为相比脉冲神经网络,二值神经网络不携带时间信息,故其进行目标检测的精度效果远远不如脉冲神经网络,只能将二值神经网络用于相对简单的图像分类场景,难以应用于目标检测

[0005]综上,一方面,脉冲神经网络因为其始终要维护膜电压的特性而在硬件加速中存在极大的存储资源浪费或者带来极大的带宽压力的不足。另一方面,现有传统的二值神经网络BNN网络模型比较小,资源消耗较少,但因为其不携带时间信息,很难用于进行目标检测。

技术实现思路

[0006]为了克服上述现有技术的不足,本专利技术提供一种二值神经网络模型的目标检测方法及其硬件加速方法,基于脉冲神经网络提出了一种具备时间信息的二值神经网络模型并用于目标检测,使得构建的二值神经网络目标检测模型在具有脉冲神经网络低功耗的同时,携带时间信息,相对于现有大多数的二值神经网络提高了目标检测精度。进一步地,本专利技术提出了在FPGA(现场可编程门阵列)上对其硬件加速的方法,验证了所构建的二值神经网络目标检测模型的硬件实现效果。
[0007]本专利技术提供的技术方案是:
[0008]一种二值神经网络模型的目标检测方法,基于脉冲神经网络构建一种具备时间信息的二值神经网络检测模型,其中将脉冲神经网络的激活函数采用阶跃函数,且使用单帧的卷积结果进行阈值判断;再在二值神经网络增加时间信息融合层;还设计了时间信息融合层的硬件加速结构;包括如下步骤:
[0009]1)获取多帧用于目标检测的图像数据,可采用通过摄像头拍摄的带有人,车等目
标的图像,通过频率编码的方式对图像进行二值化操作,得到多帧二值化图像,作为输入模型的待检测图像。
[0010]2)构建基于脉冲神经网络的具备二值时间信息的二值神经网络目标检测模型,包括特征提取层、时间信息融合层和检测层;包括:
[0011]21)对脉冲神经网络的神经元进行改造;
[0012]具体是将脉冲神经网络模型(具体实施时采用YOLO(You Only Look Once)的神经元进行改造,脉冲神经网络(特征提取层)的神经元需要累加之前帧的神经元膜电压之后才能进行判断是否激活,改造后只用当前帧图像识别的结果进行阈值比较后判断是否激活(将本帧卷积计算的结果与参考激活阈值进行比较,大于激活阈值进行发放(输出)1(1代表激活该层神经元),小于阈值发放0(不激活该层神经元)),同时在模型的最后层累积之前帧的时间信息,再进行归一化后进行卷积,由此,所构建的网络模型既保留部分时间信息,同时又具有单比特信号传递的特性;脉冲神经网络的神经元采用阶跃函数;改造后的脉冲神经网络神经元表示为:
[0013][0014]其中,y是脉冲神经网络神经元的输出图像,x为输入的待检测图像;w为模型权重;x*w是脉冲神经网络的当前层卷积的中间结果,TH是激活阈值。通过上述神经元改造后,在硬件实现过程中不需要存储之前的图像信息,大大节约了片上存储资源的使用。
[0015]22)添加时间信息融合层;时间信息融合层包括时间信息归一化模块和卷积模块。
[0016]具体实施时,将时间信息融合层置于YOLO神经网络的yolo层也就是检测层前部(即表1中的第16层和第24层);第16层和第24层之前的卷积层用于每一帧图像的特征提取;
[0017]特征提取完毕后,在时间信息融合层进行特征融合;时间信息融合层相比较正常的卷积,多出了N帧信息累积和归一化的操作,同时时间信息融合层的激活函数采用RELU函数;归一化即用累积信息(前面时间步长(step)帧的1的个数X)除以时间步长step;上述归一化是时间维度的归一化。
[0018]3)对构建的二值神经网络目标检测模型进行训练,通过目标检测模型的检测层,得出目标检测框的准确信息;
[0019]具体实施时,训练数据集采用MS COCO图像数据集,检测框具体是由x,y,w,h四个坐标表示矩形框,(x,y)是矩形框的中心点坐标,(w,h)是矩形框的长和宽。
[0020]具体实施时,经过上述特征融合后输出通道深度为85,其中4个通道为检测框的中心点坐标和检测框的长高,1个通道是边框的置信度,剩余80通道是目标的类别置信度,通过yolo层对85个通道的信息进行统计处理,得出目标检测框的准确信息,包括检测框的中心点坐标,和检测框的长高。
[0021]具体实施时,将待检测的图像输入训练好的二值神经网络目标检测模型,输出目标检测框信息,由此实现对目标的检测。
[0022]进一步地,本专利技术还设计了所构建模型的时间信息融合层的硬件加速模块及方法;
[0023]时间信息融合层主要分为时间信息归一化模块和卷积模块,其中时间归一化模块包括之前帧神经元激活累积的过程和归一化过程,归一化后进行卷积;在构建时间信息融
合层相应的硬件加速模块包括了加载模块,累积模块,计算模块,输出模块,其中,通过加载模块和累积模块完成神经元的累积过程,通过计算模块完成归一化和卷积过程,同时为了使硬件能够更容易的实现,采用先进行卷积运算后进行归一化过程。
[0024]41)时间信息融合层的加载模块:包括状态1~4,使得加载和计算所需的存储互不冲突;
[0025]包括4行缓冲,以特征图的0、1、2、3行为例,其中三行缓冲存储0、1、2行用于(卷积)计算,一行用于第3行的加载;
[0026]42)时间信息融合层的累积模块即通过BRAM(block RAM,块存储器)构建一个时间窗口,帧运算的结果在时间窗口内累加,不断地把窗口内累积的数值与新输入的下一帧图像数据进行累加,同时把时间窗口旧的数据丢弃。
[0027]43)计算模块采用先进行卷积运算后进行归一化的方法;
[0028]具体实施时,计算模块中两个乘累加单元的计算表示为:
[0029][0030]其中,式子左侧表示了算法的运算过程,其中X1,X2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种二值神经网络模型的目标检测方法,其特征是,基于脉冲神经网络构建一种具备时间信息的二值神经网络检测模型,其中将脉冲神经网络的激活函数采用阶跃函数,且使用单帧的卷积结果进行阈值判断,再在二值神经网络增加时间信息融合层;模型输出目标检测框信息;包括如下步骤:1)获取多帧用于目标检测的图像数据,对图像进行二值化操作,得到多帧二值化图像,作为输入模型的待检测图像;2)构建基于脉冲神经网络的具备二值时间信息的二值神经网络目标检测模型,包括特征提取层、时间信息融合层和检测层;特征提取层即检测层前部之前的卷积层,用于每一帧图像的特征提取;时间信息融合层置于脉冲神经网络的检测层前部,用于进行特征融合;21)对脉冲神经网络的神经元进行改造;将脉冲神经网络模型的神经元改造成只用当前帧图像识别的结果进行阈值比较后判断是否激活,同时在模型的最后层累积之前帧的时间信息,再进行归一化后进行卷积,由此构建的基于脉冲神经网络的具备二值时间信息的二值神经网络目标检测模型既保留部分时间信息,同时又具有单比特信号传递特性;二值神经网络目标检测模型的神经元采用阶跃函数;改造后的网络模型神经元表示为:其中,y是网络模型神经元的输出图像,x为输入的待检测图像;w为模型权重;x*w是脉冲神经网络的当前层卷积的中间结果,TH是激活阈值;神经元改造后,在硬件实现过程中不存储之前的图像信息,从而节约片上存储资源的使用;22)添加时间信息融合层;时间信息融合层包括时间信息归一化模块和卷积模块;时间信息融合层比卷积多出N帧信息累积和归一化的操作,同时时间信息融合层的激活函数采用RELU函数;3)对构建的二值神经网络目标检测模型,利用图像数据集进行训练,通过训练好的目标检测模型的检测层得出目标检测框的准确信息;由此实现对目标的检测。2.如权利要求1所述二值神经网络模型的目标检测方法,其特征是,步骤1)获取多帧用于目标检测的图像数据,具体是采用通过摄像头拍摄的带有检测目标的图像,通过频率编码的方式对图像进行二值化操作,得到多帧二值化图像。3.如权利要求1所述二值神经网络模型的目标检测方法,其特征是,脉冲神经网络模型具体是采用YOLO神经网络模型。4.如权利要求1所述二值...

【专利技术属性】
技术研发人员:严伟李志国张浩刘靖远王帅帅
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1