目标检测算法的硬件架构的资源估算、配置方法及系统技术方案

技术编号:19426055 阅读:36 留言:0更新日期:2018-11-14 10:45
本发明专利技术提供一种目标检测算法的硬件架构的资源估算、配置方法及系统,提取基于深度学习的目标检测算法所包含的计算层级和每个层级的计算参数;基将基于深度学习的目标检测算法映射至所述基于深度学习的目标检测算法的硬件架构;利用基于深度学习的目标检测算法的硬件架构的资源估算方法,估算映射后的所述基于深度学习的目标检测算法的硬件架构所需的整体资源;计算FPGA所能容纳的最大并行度;基于所述基于深度学习的目标检测算法,根据不同的计算层级,重新配置卷积计算核和全连接计算核。本发明专利技术的目标检测算法的硬件架构的资源估算、配置方法及系统能够通过最优化的资源配置实现最优的计算性能大大提升目标检测的实时性。

【技术实现步骤摘要】
目标检测算法的硬件架构的资源估算、配置方法及系统
本专利技术涉及FPGA的
,特别是涉及一种目标检测算法的硬件架构的资源估算、配置方法及系统。
技术介绍
现场可编程门阵列(Field-ProgrammableGateArray,FPGA)是一种在生产后可编程的集成电路芯片。FPGA芯片中电路提供可编程节点,可根据用户设定重新定义电路逻辑。相比于传统处理芯片CPU,FPGA可提供针对特定问题的高度优化电路,提升百倍级别计算性能。相比于传统集成电路芯片ASIC,FPGA可提供更灵活的计算方案。目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一。目标检测为机器视觉的一个基础应用。相较于图像识别,目标检测需要在图像中标记物体位置。典型的目标检测算法包括以下两个步骤:(1)边框收敛(2)框内物体识别然而,基于滑动窗口以及区域分割的目标检测算法存着这检测准确率低、检测时间长的缺点。因此,基于深度学习的目标检测算法应用而生,如YOLO,FasterR-CNN。深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。因此,基于深度学习的目标检测算法需要大量的计算资源支持。在机器人、无人机、卫星等急需人工智能支持的移动设备中,受限于计算资源与空间,无法支持此类基于深度学习的目标检测算法的实现。基于FPGA的深度学习算法的硬件定制架构为在功耗、空间资源受限条件下的实时目标检测提供了可能。然而,在实际应用中,对于复杂的目标检测算法,如何在进行硬件架构的资源估计、资源配置,以实现最优的计算性能成为一个热点研究课题。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种目标检测算法的硬件架构的资源估算、配置方法及系统,能够在FPGA架构下,对基于深度学习的目标检测算法的硬件架构进行准确有效地资源估计和资源配置,从而通过最优化的资源配置实现最优的计算性能大大提升目标检测的实时性。为实现上述目的及其他相关目的,本专利技术提供一种基于深度学习的目标检测算法的硬件架构的资源估算方法,所述基于深度学习的目标检测算法的硬件架构包括设置在FPGA上的输入缓存器、行缓存器、寄存器矩阵、卷积计算核、输出缓存器和全连接计算核;所述输入缓存器用于缓存基于深度学习的目标检测算法的输入层的数据;所述行缓存器包括k个存储单元,用于缓存k行输入缓存器的输出数据,其中,k为卷积计算核的大小;所述寄存器矩阵包括k*k个寄存器,第一列k个寄存器分别与所述行缓存器的k个存储单元的输出端相连,相邻列寄存器相互连接;所述卷积计算核用于根据每个时钟周期所述寄存器矩阵输出的k*k个寄存器数据进行卷积计算;所述输出缓存器用于存储所述卷积计算核的输出结果;所述全连接计算核用于将所述输出缓存器中卷积计算核计算得到的特征向量图与所述输入缓存器输入的系数矩阵相乘,以得到目标检测的最终结果;所述基于深度学习的目标检测算法的硬件架构的资源估算方法包括:根据公式Lc(PP×PF×PV)+Lf(PP×PV)估算整体计算资源使用量;根据公式((BHBW+k2)NC+kBW+BHBW/s2)×PP估算整体存储资源使用量;根据公式(Pv×PF)/Nf+(Pv×PF)/NC估算整体通信带宽资源的使用量,其中BH表示分割后的输入特征图高度;BW表示分割后的输入特征图宽度;NC表示输入特征图通道数;s表示卷积计算核的计算步长,Nf表示输出特征图通道数,Lf表示单个全连接计算核的计算资源使用量;Lc表示单个卷积计算核的计算资源使用量,PP表示计算层并行度,PF表示滤波器并行度,PV表示向量并行度。于本专利技术一实施例中,根据公式(BHBW+k2)NC+kBW估算分割后输入特征图对应的输入缓存器的存储资源使用量;根据公式BHBW/s2估算分割后输入特征图对应的输出缓存器的存储资源使用量。于本专利技术一实施例中,根据公式Lc(PP×PF×PV)估算卷积计算核的资源使用量。相应地,本专利技术提供一种基于深度学习的目标检测算法的硬件架构的资源估算系统,所述基于深度学习的目标检测算法的硬件架构包括设置在FPGA上的输入缓存器、行缓存器、寄存器矩阵、卷积计算核、输出缓存器和全连接计算核;所述输入缓存器用于缓存基于深度学习的目标检测算法的输入层的数据;所述行缓存器包括k个存储单元,用于缓存k行输入缓存器的输出数据,其中,k为卷积计算核的大小;所述寄存器矩阵包括k*k个寄存器,第一列k个寄存器分别与所述行缓存器的k个存储单元的输出端相连,相邻列寄存器相互连接;所述卷积计算核用于根据每个时钟周期所述寄存器矩阵输出的k*k个寄存器数据进行卷积计算;所述输出缓存器用于存储所述卷积计算核的输出结果;所述全连接计算核用于将所述输出缓存器中卷积计算核计算得到的特征向量图与所述输入缓存器输入的系数矩阵相乘,以得到目标检测的最终结果;所述基于深度学习的目标检测算法的硬件架构的资源估算系统包括整体资源估算模块;所述整体资源估算模块用于根据公式Lc(PP×PF×PV)+Lf(PP×PV)估算整体计算资源使用量;根据公式((BHBW+k2)NC+kBW+BHBW/s2)×PP估算整体存储资源使用量;根据公式(Pv×PF)/Nf+(Pv×PF)/NC估算整体通信带宽资源的使用量,其中BH表示分割后的输入特征图高度;BW表示分割后的输入特征图宽度;NC表示输入特征图通道数;s表示卷积计算核的计算步长,Nf表示输出特征图通道数,Lf表示单个全连接计算核的计算资源使用量;Lc表示单个卷积计算核的计算资源使用量,PP表示计算层并行度,PF表示滤波器并行度,Pv表示向量并行度。于本专利技术一实施例中,还包括分割模型存储资源估算模块,用于根据公式(BHBW+k2)NC+kBW估算分割后输入特征图对应的输入缓存器的存储资源使用量;根据公式BHBW/s2估算分割后输入特征图对应的输出缓存器的存储资源使用量。于本专利技术一实施例中,还包括卷积计算核资源估算模块,用于根据公式Lc(PP×PF×PV)估算卷积计算核的资源使用量。另外,本专利技术还提供一种基于深度学习的目标检测算法的硬件架构的资源配置方法,包括以下步骤:提取基于深度学习的目标检测算法所包含的计算层级和每个层级的计算参数;基于所提取的计算层级和每个层级的计算参数,将基于深度学习的目标检测算法映射至所述基于深度学习的目标检测算法的硬件架构;基于上述的基于深度学习的目标检测算法的硬件架构的资源估算方法,估算映射后的所述基于深度学习的目标检测算法的硬件架构所需的整体资源;基于所估算的所述基于深度学习的目标检测算法的硬件架构所需的整体资源,计算FPGA所能容纳的最大并行度;基于所述基于深度学习的目标检测算法,根据不同的计算层级,重新配置卷积计算核和全连接计算核。于本专利技术一实施例中,每个层级的计算参数包括输入特征图高度、输入特征图宽度、输入特征图通道数、输出特征图通道数、卷积计算核的大小、卷积计算核的计算步长、分割后输入特征图高度、分割后输入特征图宽度、计算层并行度、滤波器并行度和向量并行度。相应地,本专利技术还提供一种基于深度学习的目标检测算法的硬件架构的资源配本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的目标检测算法的硬件架构的资源估算方法,其特征在于:所述基于深度学习的目标检测算法的硬件架构包括设置在FPGA上的输入缓存器、行缓存器、寄存器矩阵、卷积计算核、输出缓存器和全连接计算核;所述输入缓存器用于缓存基于深度学习的目标检测算法的输入层的数据;所述行缓存器包括k个存储单元,用于缓存k行输入缓存器的输出数据,其中,k为卷积计算核的大小;所述寄存器矩阵包括k*k个寄存器,第一列k个寄存器分别与所述行缓存器的k个存储单元的输出端相连,相邻列寄存器相互连接;所述卷积计算核用于根据每个时钟周期所述寄存器矩阵输出的k*k个寄存器数据进行卷积计算;所述输出缓存器用于存储所述卷积计算核的输出结果;所述全连接计算核用于将所述输出缓存器中卷积计算核计算得到的特征向量图与所述输入缓存器输入的系数矩阵相乘,以得到目标检测的最终结果;所述基于深度学习的目标检测算法的硬件架构的资源估算方法包括:根据公式Lc(PP×PF×PV)+Lf(PP×PV)估算整体计算资源使用量;根据公式((BHBW+k2)NC+kBW+BHBW/s2)×PP估算整体存储资源使用量;根据公式(PV×PF)/Nf+(PV×PF)/NC估算整体通信带宽资源的使用量,其中BH表示分割后的输入特征图高度;BW表示分割后的输入特征图宽度;NC表示输入特征图通道数;s表示卷积计算核的计算步长,Nf表示输出特征图通道数,Lf表示单个全连接计算核的计算资源使用量;Lc表示单个卷积计算核的计算资源使用量,PP表示计算层并行度,PF表示滤波器并行度,PV表示向量并行度。...

【技术特征摘要】
1.一种基于深度学习的目标检测算法的硬件架构的资源估算方法,其特征在于:所述基于深度学习的目标检测算法的硬件架构包括设置在FPGA上的输入缓存器、行缓存器、寄存器矩阵、卷积计算核、输出缓存器和全连接计算核;所述输入缓存器用于缓存基于深度学习的目标检测算法的输入层的数据;所述行缓存器包括k个存储单元,用于缓存k行输入缓存器的输出数据,其中,k为卷积计算核的大小;所述寄存器矩阵包括k*k个寄存器,第一列k个寄存器分别与所述行缓存器的k个存储单元的输出端相连,相邻列寄存器相互连接;所述卷积计算核用于根据每个时钟周期所述寄存器矩阵输出的k*k个寄存器数据进行卷积计算;所述输出缓存器用于存储所述卷积计算核的输出结果;所述全连接计算核用于将所述输出缓存器中卷积计算核计算得到的特征向量图与所述输入缓存器输入的系数矩阵相乘,以得到目标检测的最终结果;所述基于深度学习的目标检测算法的硬件架构的资源估算方法包括:根据公式Lc(PP×PF×PV)+Lf(PP×PV)估算整体计算资源使用量;根据公式((BHBW+k2)NC+kBW+BHBW/s2)×PP估算整体存储资源使用量;根据公式(PV×PF)/Nf+(PV×PF)/NC估算整体通信带宽资源的使用量,其中BH表示分割后的输入特征图高度;BW表示分割后的输入特征图宽度;NC表示输入特征图通道数;s表示卷积计算核的计算步长,Nf表示输出特征图通道数,Lf表示单个全连接计算核的计算资源使用量;Lc表示单个卷积计算核的计算资源使用量,PP表示计算层并行度,PF表示滤波器并行度,PV表示向量并行度。2.根据权利要求1所述的基于深度学习的目标检测算法的硬件架构的资源估算方法,其特征在于:根据公式(BHBW+k2)NC+kBW估算分割后输入特征图对应的输入缓存器的存储资源使用量;根据公式BHBW/s2估算分割后输入特征图对应的输出缓存器的存储资源使用量。3.根据权利要求1所述的基于深度学习的目标检测算法的硬件架构的资源估算方法,其特征在于:根据公式Lc(PP×PF×PV)估算卷积计算核的资源使用量。4.一种基于深度学习的目标检测算法的硬件架构的资源估算系统,其特征在于:所述基于深度学习的目标检测算法的硬件架构包括设置在FPGA上的输入缓存器、行缓存器、寄存器矩阵、卷积计算核、输出缓存器和全连接计算核;所述输入缓存器用于缓存基于深度学习的目标检测算法的输入层的数据;所述行缓存器包括k个存储单元,用于缓存k行输入缓存器的输出数据,其中,k为卷积计算核的大小;所述寄存器矩阵包括k*k个寄存器,第一列k个寄存器分别与所述行缓存器的k个存储单元的输出端相连,相邻列寄存器相互连接;所述卷积计算核用于根据每个时钟周期所述寄存器矩阵输出的k*k个寄存器数据进行卷积计算;所述输出缓存器用于存储所述卷积计算核的输出结果;所述全连接计算核用于将所述输出缓存器中卷积计算核计算得到的特征向量图与所述输入缓存器输入的系数矩阵相乘,以得到目标检测的最终结果;所述基于深度学习的目标检测算法的硬件架构的资源估算系统包括整体资源估算模块;所述整体资源估算模块用于根据公式Lc(PP×PF×PV)+Lf(PP×PV)估算整体计算资源使用量;根据公式((BHBW+k2)NC+kBW+BHBW/s2)×PP估算整体存储资源使用量;根据公式(PV×PF)/Nf+(P...

【专利技术属性】
技术研发人员:牛昕宇
申请(专利权)人:上海鲲云信息科技有限公司
类型:发明
国别省市:上海,31

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

1