基于FPGA的YOLOv4卷积神经网络轻量化方法与流程

文档序号:33919144发布日期:2023-04-21 20:08阅读:286来源:国知局
基于FPGA的YOLOv4卷积神经网络轻量化方法与流程

本发明涉及yolov4卷积神经网络的,尤其是基于fpga的yolov4卷积神经网络轻量化方法。


背景技术:

1、边缘计算是一种全新的计算模式,其概念是在靠近数据中心的边缘地带直接对数据进行处理,而不用传回服务器处理。在目标检测中使用边缘计算能够带来一系列好处:直接在采集端的硬件设备上处理图像,不需要传回上位机,节省数据传输的时间、减少数据传输的开销。因此,通过优化加速卷积神经网络,实现在硬件设备上的高效处理具有重要的实际意义。

2、选取合适的算法载体即硬件设备,是实现系统的高效运行的基石。在硬件设备上,高功耗和高功耗引发的散热问题是一大缺陷。fpga(现场可编程门阵列)具有低功耗、低延迟和更高的硬件加速性能,因此选用fpga作为算法载体即硬件设备。

3、yolov4算法是一种基于端到端的目标检测算法,将目标检测问题转换成回归问题,利用整个卷积神经网络同时完成目标分类和目标定位。从实验效果来看,yolov4卷积神经网络不仅检测速度远远快于其它目标检测网络,而且在检测精度方面也表现良好。但是,现有的yolov4卷积神经网络在fpga上运行具有如下缺点:

4、(1)yolov4卷积神经网络各层的输入输出和网络权重均是浮点数据,在进行卷积计算、数据缓存和数据传输的时候,浮点数据会占用硬件平台大量的存储资源。

5、(2)yolov4卷积神经网络中,主干网络的巨大参数量对硬件设备即fpga的计算性能有着较高的要求,然而,fpga的计算性能和资源有限,使其对yolov4算法的移植有较高难度。

6、(3)yolov4卷积神经网络中,主干网络中使用mish函数作为激活函数。mish函数虽然精度虽高,但计算需要消耗的硬件资源太多,不适合在fpga上直接进行计算。

7、(4)在yolov4卷积神经网络中,spp结构分别利用四个不同尺度的最大池化进行处理,最大池化的池化核大小分别为13x13、9x9、5x5、1x1(1x1即无处理),处理速度较慢。

8、因此,为了让yolov4算法能更好的工作于嵌入式硬件设备fpga上,还需要结合fpga的硬件特点对yolov4卷积神经网络进行进一步的优化。


技术实现思路

1、为了克服上述现有技术中的缺陷,本发明提供基于fpga的yolov4卷积神经网络轻量化方法,用于解决当前yolov4卷积神经网络结构复杂、参数多、训练所需的配置高以及实时检测每秒传输帧数低的问题,提出一种轻量化的yolov4卷积神经网络。

2、为实现上述目的,本发明采用以下技术方案,包括:

3、基于fpga的yolov4卷积神经网络轻量化方法,对yolov4卷积神经网络的主干网络即cspdarknet53网络中残差块的个数以及堆叠次数进行削减,并保留主干网络中的cspnet结构以及残差结构。

4、优选的,削减后的cspdarknet53网络中,残差块的个数为5,每个残差块的堆叠次数均为1。

5、优选的,在yolov4卷积神经网络的主干网络中,选择h-swish函数作为激活函数。

6、优选的,h-swish函数的计算方法如下所示:

7、

8、其中,x表示输入,h-swish(x)表示输出,relu6函数的计算方式如下所示:

9、relu6(x)=min(max(0,x),6)

10、其中,min(·)、max(·)分别表示取最小值和取最大值。

11、优选的,在yolov4卷积神经网络的空间金字塔池化层中使用sppf结构;sppf结构包括串联的多个池化层即maxpool层,将输入串行通过多个池化层即maxpool层,然后通过一个连接层即concat层将输入以及各个maxpool层的输出进行连接。

12、优选的,此多个maxpool层的大小均为5×5。

13、优选的,利用加法二次幂量化即apot量化,对yolov4卷积神经网络进行量化。

14、本发明的优点在于:

15、(1)本发明对yolov4卷积神经网络的主干网络进行尺度缩放,对主干网络即cspdarknet53网络中的残差块个数以及堆叠次数进行了削减,保留了主干网络中的cspnet结构以及残差结构,降低了模型的资源占用,同时保证轻量化过后的模型的检测精度。

16、(2)本发明将主干网络中的mish结构改为h-swish结构,使用h-swish函数作为激活函数,h-swish函数的精度与mish函数接近,消耗的计算资源远少于mish函数。因此综合考虑精度与消耗资源数量,选择h-swish函数作为激活函数。

17、(3)本发明将yolov4卷积神经网络中的spp结构改为sppf结构,两者的计算结果是一模一样的,但sppf结构比spp结构的计算速度快不止两倍。

18、(4)在本发明的轻量化即优化方法中,以加法二次幂量化(apot量化)为基础,对神经网络模型进行量化。加法二次幂量化是一种针对钟形和长尾分布的神经网络权重,能够有效的非均匀性量化方案。通过将所有量化数值限制为几个二次幂相加,有利于提高计算效率,并与权重分布良好匹配。该量化方案效果很好,甚至可以与全精度模型竞争。



技术特征:

1.基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,对yolov4卷积神经网络的主干网络即cspdarknet53网络中残差块的个数以及堆叠次数进行削减,并保留主干网络中的cspnet结构以及残差结构。

2.根据权利要求1所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,削减后的cspdarknet53网络中,残差块的个数为5,每个残差块的堆叠次数均为1。

3.根据权利要求1所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,在yolov4卷积神经网络的主干网络中,选择h-swish函数作为激活函数。

4.根据权利要求3所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,h-swish函数的计算方法如下所示:

5.根据权利要求1所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,在yolov4卷积神经网络的空间金字塔池化层中使用sppf结构;sppf结构包括串联的多个池化层即maxpool层,将输入串行通过多个池化层即maxpool层,然后通过一个连接层即concat层将输入以及各个maxpool层的输出进行连接。

6.根据权利要求4所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,此多个maxpool层的大小均为5×5。

7.根据权利要求1所述的基于fpga的yolov4卷积神经网络轻量化方法,其特征在于,利用加法二次幂量化即apot量化,对yolov4卷积神经网络进行量化。


技术总结
本发明公开了基于FPGA的YOLOv4卷积神经网络轻量化方法,涉及YOLOv4卷积神经网络的技术领域,针对当前YOLOv4卷积神经网络结构复杂、参数多、训练所需的配置高以及实时检测每秒传输帧数低的问题,提出一种轻量化的YOLOv4卷积神经网络,其中,对YOLOv4卷积神经网络的主干网络即CSPdarknet53网络中残差块的个数以及堆叠次数进行削减,保留了主干网络中的CSPNet结构以及残差结构;在YOLOv4卷积神经网络的主干网络中,选择H‑swish函数作为激活函数;在YOLOv4卷积神经网络的空间金字塔池化层中使用SPPF结构;利用加法二次幂量化即APoT量化,对YOLOv4卷积神经网络进行量化。

技术研发人员:程帅琪,张君宇
受保护的技术使用者:合肥中科智存科技有限公司
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1