一种基于非极大值抑制算法的FPGA加速方法技术

技术编号:28320443 阅读:26 留言:0更新日期:2021-05-04 13:00
本发明专利技术涉及到点云网络技术领域,尤其涉及到一种基于非极大值抑制算法的FPGA加速方法,采用该发明专利技术的加速方案,在整个闭环过程中可以实现对任务进行分层处理,由于不同层级之间计算互不干扰,有序执行而且因为FPGA的资源可配置性高,而且采用并行流水计算的方式,相比CPU更为适合来处理这种堵塞的闭环算法,提高了整个NMS算法的输出帧率,在较少资源的使用的同时达到了很高的计算效率。

【技术实现步骤摘要】
一种基于非极大值抑制算法的FPGA加速方法
本专利技术涉及到点云网络
,尤其涉及到一种基于非极大值抑制算法的FPGA加速方法。
技术介绍
对于GPU或CPU,ARM上部署非极大值抑制NMS(NonMaximumSuppression)的算法用于目标检测、目标追踪、目标识别等场景,该类部署模式实际调用了算法代码,在已经是算法最优化的情况下,由于代码的处理模式导致了代码执行过程中很多串行操作,使得整个进程并不是高负荷运行,对应的处理时延也大大增加。随着5G时代的来临,高可靠、低时延、大带宽的数据传输,提高了对云端计算性能要求,为了不影响客户体验,这就要求整个目标识别的处理周期变短;在FPGA(FieldProgrammableGateArray)即现场可编程门阵列应用上,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,它是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点;因此在这,对于Detection_NMS算法,在现场可编辑门阵列FPGA上实现提出了加速的有效方案,通过采用分层流水处理的方式实现,对比CPU上串行处理更加高效,且合理利用了FPGA的板上资源,减少CPU和ARM的负荷。
技术实现思路
鉴于上述技术问题,本专利技术提供了一种基于非极大值抑制算法的FPGA加速方法,采用该专利技术的加速方案,在整个闭环过程中可以实现对任务进行分层处理,由于不同层级之间计算互不干扰,有序执行而且因为FPGA的资源可配置性高,而且采用并行流水计算的方式,相比CPU更为适合来处理这种堵塞的闭环算法,提高了整个NMS算法的输出帧率,在较少资源的使用的同时达到了很高的计算效率。一种基于非极大值抑制算法的FPGA加速方法,其特征在于,所述方法包括:步骤S1:输入NMS所需的框的信息和置信度,根据置信度对框的信息进行遍历,得到一个置信度由大到小的框的信息序列;步骤S2:以最大置信度的框作为基准框,计算其余框与所述基准框的交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,遍历完成;步骤S3:重复步骤S1~S2,直至所有的框都遍历完,框的信息序列为空,NMS结束。上述的基于非极大值抑制算法的FPGA加速方法,其特征在于,所述步骤S2中,若其余框与所述基准框不相交则所述交并比为零。上述的基于非极大值抑制算法的FPGA加速方法,其特征在于,所述步骤S2中,若其余框与所述基准框不相交,则将其余框信息输出第一输出端口。上述的基于非极大值抑制算法的FPGA加速方法,其特征在于,所述步骤S2中,若其余框与所述基准框正框相交,则进入斜框相交判断,若判断斜框不相交,则将其余框信息输出第二输出端口。上述的基于非极大值抑制算法的FPGA加速方法,其特征在于,所述步骤S2中,若判断斜框相交,则计算两框交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,然后输出至第三输出端口。上述的基于非极大值抑制算法的FPGA加速方法,其特征在于,预设的阈值为0.1。上述技术方案具有如下优点或有益效果:本专利技术提供了一种基于非极大值抑制算法的FPGA加速方法,通过利用FPGA的资源可配置,以及并行流水特性来实现多任务的仲裁流水,保证了资源的高效利用,且在此基础上加快了NMS的处理,有利于在较少资源的使用的同时达到了很高的计算效率。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本专利技术的主旨。图1是非极大值抑制算法处理流程图;图2是非极大值抑制算法的FPGA加速示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有开源的CPU上NMS的算法,整个处理过程针对同一份数据,做单轮循环的闭环计算,因为整个候选框列表数量不定,每个候选框都需要与最大置信度的框进行比对,假设有N个框,整个闭环运行周期是T,则计算一轮循环就需要(N-1)T,这就意味着循环间隔中对比框的数量越多,剔除框个数越少,则计算花费的周期数正比例增加,随着参与比对的候选框数量变多,则该图片处理所要花费的周期数更会等比例增加。为了避免这种情况,采用该专利技术的加速方案,有利于提高整个NMS算法的输出帧率,具体方案包括有:步骤S1:输入NMS所需的框的信息和置信度,根据置信度对框的信息进行遍历,得到一个置信度由大到小的框的信息序列;步骤S2:以最大置信度的框作为基准框,计算其余框与所述基准框的交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,遍历完成;步骤S3:重复步骤S1~S2,直至所有的框都遍历完,框的信息序列为空,NMS结束。在本专利技术技术方案中,优选的,可以从上层分类器传输给NMS对应的框信息和置信度,对框信息列表B中的所有框遍历对应的置信度列表S,找出最大置信度的框作为基准框,计算B中其余框与基准框的IOU交并比,根据非极大值抑制原理,对于非极大值的框进行抑制,对比IOU值大于阈值的框进行删除,从框信息列表B剔除,同时输出此轮的最大置信度的框,遍历完成,将框信息列表B中剩余的框进行下一轮循环,直至框信息列表B为空,真正进行目标检测的框就是每轮循环输出的框。在本专利技术的技术方案中,在步骤S2中,若其余框与所述基准框不相交则所述交并比为零,且若其余框与所述基准框不相交,则将其余框信息输出第一输出端口(FIFO1)。若其余框与所述基准框正框相交,则进入斜框相交判断,若判断斜框不相交,则将其余框信息输出第二输出端口(FIFO2)。若判断斜框相交,则计算两框交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,然后输出至第三输出端口(FIFO3)。优选的,预设的阈值为0.1。其中,上层分类器传输给NMS对应的框信息和置信度,所有的信息会捆绑对应输入的顺序编号进入块RAM(BlockMemory)缓存,在输入的过程中进行最大置信度框的挑选,找到最大置信度框,其次与其余框进行比对,在这部分插入一个正框相交的判断,即图2中的第一环节(Stage1),如若两框正框不相交则可以得出IOU必为0的结论,直接将该候选框信息输出至FIFO(FirstInFirstOut)1,意味这框需要进入下一个循环,在一定程度上减少了这个循环的计算量,且在环节输出最大置信度框;若两框正框相交则进入第二环节(Stage2)的斜框相交判断本文档来自技高网...

【技术保护点】
1.一种基于非极大值抑制算法的FPGA加速方法,其特征在于,所述方法包括:/n步骤S1:输入NMS所需的框的信息和置信度,根据置信度对框的信息进行遍历,得到一个置信度由大到小的框的信息序列;/n步骤S2:以最大置信度的框作为基准框,计算其余框与所述基准框的交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,遍历完成;/n步骤S3:重复步骤S1~S2,直至所有的框都遍历完,框的信息序列为空,NMS结束。/n

【技术特征摘要】
1.一种基于非极大值抑制算法的FPGA加速方法,其特征在于,所述方法包括:
步骤S1:输入NMS所需的框的信息和置信度,根据置信度对框的信息进行遍历,得到一个置信度由大到小的框的信息序列;
步骤S2:以最大置信度的框作为基准框,计算其余框与所述基准框的交并比,若交并比大于预设阈值,则将交并比大于预设阈值的框进行删除,之后输出此轮置信度最大的框,遍历完成;
步骤S3:重复步骤S1~S2,直至所有的框都遍历完,框的信息序列为空,NMS结束。


2.根据权利要求1所述的基于非极大值抑制算法的FPGA加速方法,其特征在于,所述步骤S2中,若其余框与所述基准框不相交则所述交并比为零。


3.根据权利要求2所述的基于非极大值抑制算法的FPG...

【专利技术属性】
技术研发人员:杨晓成
申请(专利权)人:上海雪湖科技有限公司
类型:发明
国别省市:上海;31

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

1