CN113486722A - 基于dsp的非极大值抑制算法的实现方法 - Google Patents

基于dsp的非极大值抑制算法的实现方法 Download PDF

Info

Publication number
CN113486722A
CN113486722A CN202110648579.2A CN202110648579A CN113486722A CN 113486722 A CN113486722 A CN 113486722A CN 202110648579 A CN202110648579 A CN 202110648579A CN 113486722 A CN113486722 A CN 113486722A
Authority
CN
China
Prior art keywords
dsp
algorithm
nms algorithm
candidate
nms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110648579.2A
Other languages
English (en)
Inventor
彭轶群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Benyuan Microelectronics Co ltd
Original Assignee
Qingdao Benyuan Microelectronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Benyuan Microelectronics Co ltd filed Critical Qingdao Benyuan Microelectronics Co ltd
Priority to CN202110648579.2A priority Critical patent/CN113486722A/zh
Publication of CN113486722A publication Critical patent/CN113486722A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明公开了一种基于DSP的非极大值抑制算法的实现方法,其特征在于,包括:优化NMS算法的步骤以及NMS算法移植的步骤,其中NMS算法移植的步骤,至少包括:对NMS算法所占数据空间的评估、DSP初始化环境设置、及重新构建符合DSP精度标准的NMS算法中候选框数据的存储结构。本发明通过优化NMS算法和NMS算法移植,将NMS算法部署在DSP上,实现基于DSP的NMS算法,加快NMS算法的处理速度,提高运算能力。

Description

基于DSP的非极大值抑制算法的实现方法
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于DSP的非极大值抑制算法的实现方法。
背景技术
在目标检测技术领域中,为了能够没有遗漏地检测图像中每个目标,往往会在同一个目标上产生大量的候选框(bounding boxes),以提高检测的召回率。这些候选框相互之间会有重叠,此时采用非极大值抑制(Non-Maximum Suppression,NMS)算法来消除冗余的候选框。
无论是传统NMS算法还是改良后的SOFT-NMS算法,过程中都需要对候选框按照置信度排序,然后对候选框进行交并比计算,直到所有候选框处理完,每一轮输出的选取的候选框就是最后结果,此过程涉及大量的计算,时间复杂度高,大大降低了目标检测过程的效率。
随着数字信号处理(Digital Signal Processing,DSP)技术迅速发展,数字信号处理器越来越突显其优越性,得到日益广泛的应用、DSP具有高性能、低功耗等优点。
若将NMS算法部署在DSP系统上,则会大大提高运算能力,以减少时间消耗。
因此,本申请致力于将NMS算法部署在DSP上,以提高运算能力及目标检测效率。
发明内容
为了解决如上技术问题,本发明提供一种基于DSP的非极大值抑制算法的实现方法,通过优化NMS算法以及NMS算法移植的步骤,将NMS算法部署在DSP上,实现基于DSP的NMS算法,加快NMS算法的处理速度,提高运算能力。
为实现上述发明目的,本发明采用下述技术方案予以实现:
本申请的提供了一种基于DSP的非极大值抑制算法的实现方法,其特征在于,包括:
优化NMS算法的步骤,包括如下:
S1:获取K个输入的候选框,并初始化N=1;
S2:判断K和N值的大小,若N≤K,进行到S3,否则,输出候选框集合;
S3:访问第N个候选框B;
S4:找到第N+1至第K个候选框中置信度最高的候选框M;
S5:判断候选框M的置信度PM是否大于候选框B的置信度PB,若是,交换候选框M和B在队列中的位置,进行到S6,否则,进行到S6;
S6:判断PB是否大于置信度阈值Pth,若是,进行到S7,否则将N更新为N+1,并返回S2;
S7:依次访问第N+1至第K个候选框,计算所访问的候选框和候选框B的交并比IoU;
S8:判断所访问的候选框和候选框B是属于同类别,若是,则进行到S9,否则,将N更新为N+1,并返回S2;
S9:判断所计算的交并比IoU是否大于预设阈值,若是,对所述交并比对应的候选框的置信度附权重,并更新置信度,此后返回S2;否则,将N更新为N+1,并返回S2;
NMS算法移植的步骤,至少包括:对NMS算法所占数据空间的评估、DSP初始化环境设置、及重新构建符合DSP精度标准的NMS算法中候选框数据的存储结构。
在本申请中,所述基于DSP的非极大值抑制算法的实现方法还包括实现多种类型的NMS算法的调用函数的步骤,多种类型的NMS算法包括传统NMS算法、线性NMS算法和高斯NMS算法;
在所述S9中的附权重之前,选择对应类型的NMS算法,以获取对应的权重。
在本申请中,在选择传统NMS算法时,获取对应的权重为0;
在选择线性NMS算法时,获取对应的权重为1-IoU;
在选择高斯NMS算法时,获取对应的权重为
Figure 100002_DEST_PATH_IMAGE002
,其中σ为高斯函数参数。
在本申请中,对NMS算法所占数据空间的评估,采用默认长度的静态存储方式。
在本申请中,所述DSP初始化环境设置,包括选取DSP处理器的型号、初始化DSP参数、添加配置文件、分配存储空间大小,并设定好所述DSP处理器时钟速率。
在本申请中,所述实现方法还包括:
优化DSP上NMS算法的步骤,至少包括将一个数的除法运算转换为乘以所述数的倒数;优化DSP编译环境的步骤,至少包括:选择DSP优化选项、定义NMS算法中候选框数据的存储结构为32位浮点型数据的存储结构、以及将所述候选框的数据字节对齐。
在本申请中,在优化DSP上NMS算法的步骤中,所述数为32位浮点型数据F32bit,将F32bit的除法运算转换为乘以F32bit的倒数,具体为:
将区间[0,1)划分为4096等份,建立查找表;
通过查找表查找1/(1+frac)的值,其中frac为F32bit的小数部分数值;
利用
Figure 100002_DEST_PATH_IMAGE004
求取
Figure 100002_DEST_PATH_IMAGE006
,其中sign为F32bit的符号位数值、exp表示指数部分数值。
在本申请中,在优化DSP上NMS算法的步骤中,利用DSP处理器内部求倒数函数求所述数的倒数。
在本申请中,在优化DSP编译环境的步骤中,将所述候选框的数据字节对齐,具体为:
当所述候选框的数据作为参数传递给交并比函数时,使用DSP内建字节排列指令,使所述数据字节对齐。
在本申请中,所述基于DSP的非极大值抑制算法的实现方法还包括对基于DSP的NMS算法进行评估测试的步骤。
相比现有技术,本申请提供的基于DSP的非极大值抑制算法的实现方法,具有如下优点和有益效果:
(1)在优化NMS算法中,在每次迭代前找到置信度最大的候选框放在队列的最前面,通过找最大置信度的候选框的方式代替传统置信度排序方式,避免加权后置信度发生变化而每次迭代前都需要对候选框置信度重新、多次排序(排序时间复杂度高于找最大置信度),从而减小时间开销,节省了获取最终候选框的时间;
(2)通过对NMS算法移植,将NMS算法部署在DSP上,使用DSP加速了NMS算法的计算,提高NMS算法在DSP上的处理速度,减小耗时。
结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的基于DSP的非极大值抑制算法的实现方法一种实施例的原理框图;
图2为本发明提出的基于DSP的非极大值抑制算法的实现方法实施例中交并比计算时的示意图;
图3为本发明提出的基于DSP的非极大值抑制算法的实现方法实施例中进行NMS算法优化的流程图;
图4为本发明提出的基于DSP的非极大值抑制算法的实现方法另一种实施例的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
深度学习目标检测算法中需要用到NMS算法,以剔除冗余的候选框,本申请目的在于将NMS算法部署在DSP处理器上,以高效实现NMS算法,从而解决现有NMS算法计算量大、运算慢、耗时长的问题。
参见图1,其示出了本申请实现方法的原理框图。
以下参见图1,具体描述本申请的实现方法。
该实现方法包括优化NMS算法及NMS算法移植。
上述实现方法需基于现有NMS算法的实现,该NMS算法是使用C语言编程,将NMS算法在个人计算机PC的集成开发环境下实现。
实现NMS算法
NMS算法主要包括以下内容。
(1)构建候选框结构体、定义数据类型和数据存储结构,例如候选框需要五个变量:包括与候选框相关的四个变量(例如候选框的左上角点(x1,y1)和右下角点(x2,y2))、以及候选框的置信度P。
(2)实现交并比函数,通过采用该函数及与候选框相关的四个变量计算交并比。
参见图2,其示出具有重叠区域的两个候选框C和G,其中候选框C的左上角点(cx1,cy1)和右下角点(cx2,cy2),候选框G的左上角点(gx1,gy1)和右下角点(gx2,gy2)。
现有交并比IoU的计算过程如下:
Carea=(cx2 - cx1)*(cy2- cy1);
Garea=(gx2 - gx1)*(gy2- gy1);
x1=max(cx1, gx1);
y1=max(cy1, gy1);
x2=min(cx2, gx2);
y2=min(cy2, gy2);
C与G交集部分的阴影面积S=max(0,x2-x1) * max(0,y2-y1)。
即,S={min(cx2, gx2)- max(cx1, gx1)}*{ min(cy2, gy2)- max(cy1, gy1)}。
交并比IoU=S/(Carea+Garea-S)。
需要说明的是,此处求取面积S的函数称之为交并比函数,其接收候选框的坐标数据。
(3)实现候选框按照置信度排序的函数
在对候选框的交并比计算之前,在每一轮中应对所有涉及到的候选框按置信度进行排序,选取置信度最高的候选框。
之后对剩下的候选框和已选取的候选框计算IoU,根据预设的交并比阈值,淘汰对应交并比大于交并比阈值的的候选框,即,将淘汰的候选框的置信度设定为0,此后重复循环,直至所有的候选框都被处理完。
(4)实现多种类型的NMS算法。
传统NMS算法中,会将淘汰的候选框的置信度设定为0。
而SOFT-NMS算法中,不直接将大于交并比阈值的候选框的置信度置为0,采用线性加权和高斯加权的方式,改变交并比大于交并比阈值的的候选框的置信度,即,具有更大的容错率。
采用线性加权的方式改变置信度的算法可以称为线性NMS算法。
采用高斯加权的方式改变置信度的算法可以称为高斯NMS算法。
相对应地,根据所选择的NMS算法的类型,可以对候选框的置信度进行不同的处理。
在本申请中,可以增加可变的自定义参数,将不同类型的NMS算法融为一个通用函数,通过传入不同参数实现不同类型的切换调用,减少重复代码,增加代码的可移植性,且提高NMS算法移植到DSP过程的便捷性、灵活性。
优化NMS算法
优化NMS算法指的是NMS算法在PC平台环境下算法层面上的优化。
参见图3,其示出优化NMS算法的流程图。
S1:获取K个输入的候选框,并初始化N=1。
K个候选框中每个候选框的数据(包括左上角点(x1,y1)、右下角点(x2,y2))、以及置信度P)均可获知。
在本申请中,输入的K个候选框存储于队列中。
S2:判断K和N值的大小,若N≤K,进行到S3,否则,输出候选框集合。
若N>K,表示所有候选框已全部处理完成,此时剩余的候选框为最后结果,输出剩余候选框集合。
S3:访问第N个候选框B。
在队列中依次访问候选框,被访问到的候选框称为候选框B。
S4:找到第N+1至第K个候选框中置信度最高的候选框M。
在未处理的候选框中,通过比较获取置信度最高的候选框M。
S5:判断候选框M的置信度PM是否大于候选框B的置信度PB,若是,交换候选框M和B在队列中的位置,进行到S6,否则,进行到S6。
S6:判断PB是否大于置信度阈值Pth,若是,进行到S7,否则进行到S8。
S7:依次访问第N+1至第K个候选框,计算所访问的候选框I和候选框B的交并比IoU,并进行到S9。
在S7中交并比的计算可参见图2及如上描述。
S8:将N更新为N+1,并返回S2。
S9:判断所访问的候选框I和候选框B是属于同类别,若是,则进行到S10,否则,返回S8。
同类别的候选框进行置信度加权才有意义,因此,需要判断候选框I与候选框B是否属于同类别,例如均表示检测目标狗,则表示属于同类别。
例如,可以在NMS算法中通过获取每个候选框的类别标记来判断候选框是否为同类别。
S10:判断所计算的交并比IoU是否大于预设阈值,若是,进行到S11,否则,返回S8。
S11:对交并比对应的候选框的置信度附权重,并更新置信度,此后返回S8。
在候选框I和候选框B为同类别,且所计算的交并比大于预设阈值时,将对应权重weight权加至候选框N的置信度PN,并利用计算所得到的置信度PN *weight更新原来的PN
直到处理完成所有的候选框,最后输出候选框集合。
在本申请中,设置了多种不同类型的NMS算法,因此,可以在附权重时,通过选择不同类型的NMS算法,来获取对置信度不同的加权。
在选择传统NMS算法时,将权重设置为零,将所计算的交并比大于预设阈值时的候选框N的置信度更新为0,即,淘汰该候选框N。
在选择线性NMS算法时,将权重设置为1-IoU,将所计算的交并比大于预设阈值时的候选框N的置信度更新为PN*(1-IoU)。
在选择高斯NMS算法时,将权重设置为
Figure DEST_PATH_IMAGE007
,将所计算的交并比大于预设阈值时的候选框N的置信度更新为PN*
Figure DEST_PATH_IMAGE008
,其中σ为高斯函数参数。
本优化算法,在每轮迭代前,找到置信度最大的候选框放置在队列的最前面,通过找最大置信度的候选框的方式代替传统每次迭代前都需要对候选框置信度重新、多次排序的方式(排序时间复杂度高于找最大置信度),避免迭代过程中因加权导致置信度发生变化,下一轮迭代前需要重新按置信度进行排序的问题,从而减小时间开销,提升数据处理速度。
NMS算法移植
将PC平台环境下的NMS算法移植到DSP环境中,主要包括如下几个方面。
1、对原NMS算法,进行评估及数据空间的估计,采用默认长度的静态存储方式,代替malloc()等动态存储方式,从而使编译器更加准确地理解数据之间的相互重叠情况。
2、DSP初始化环境设置,具体地,选取DSP处理器型号、初始化DSP参数、添加链接描述等配置文件,根据NMS算法的数据空间分配存储空间大小,并设置好处理器时钟速率。
3、重新构建NMS算法中候选框数据的存储结构,将表示候选框的坐标数据和置信度定义为符合DSP处理器精度标准的存储结构。
具体地在保证精度的前提下,将表示候选框的坐标及置信度的数据定义为32位浮点型数据的存储结构,避免算法对一些浮点运算做低速的64位浮点运算。
此外,移除NMS算法中调试测试用到的语句、信息输出函数。以及DSP不支持的计时函数等冗余代码。
在完成以上移植后,进行编译、链接和调试,检测NMS算法及算法中各函数的正确性。
至此,完成NMS算法在DSP上的部署,通过优化NMS算法及NMS算法的移植,保证了NMS算法部署在DSP上时处理数据的时效性,提高了NMS算法中数据处理的速度。
然而,由于DSP系统的开发环境不同,再加上DSP内核计算过于复杂,导致目标检测中的NMS算法在DSP系统上部署时,无法发挥DSP系统的硬件性能,造成运行速度仍不理想。
如下将通过优化DSP上NMS算法和/或优化DSP编译环境来进一步提高NMS算法在DSP上的处理速度。
优化DSP上NMS算法
此部分的优化指的是NMS算法在DSP上代码层面上的优化。
某些DSP硬件结构上不直接支持整数和浮点数的除法运算,因此,为了避免在DSP上调用库函数而牺牲时间和空间,且能够有效地发挥DSP内核硬件性能,在本申请中,将对一个数(例如32位浮点数)的除法运算转化为对该数的倒数相乘。
具体可采用如下两种方案。
1.查表法
为了保证浮点数精度为3到4位,将区间[0,1)划分为4096等份,建立查找表。
针对于32位浮点数,其二进制存储为:
Figure DEST_PATH_IMAGE010
,其中sign为浮点数的符号位数值,M 表示有效数字,大于等于1,小于2,2E表示指数位。
则32位浮点数F32bit可以表示为
Figure DEST_PATH_IMAGE012
,其中frac为32位浮点型数据的小数部分的数值,即,frac小于1。
在进行相除时,对F32bit取倒数,表示为
Figure 780590DEST_PATH_IMAGE004
可知,1/(1+frac)∈[0,1),因此,通过查找表查找1/(1+frac)的值,然后利用
Figure 979622DEST_PATH_IMAGE004
,求取
Figure 290517DEST_PATH_IMAGE006
利用查表法避免除法计算。
针对于其他位数的浮点数,也可以采用如上所述的类似查表方式获取该数的倒数。
2、函数调用
通过DSP内建函数库中的求倒数函数实现浮点数求倒数的功能,避免了除法的计算。
可以统计两种求倒数的方法的计算周期,比较其执行速率,决定使用哪种方法进行除法优化,实现快速数据处理。
此外,可以通过inline内联限定词,将交并比的计算过程中相互调用的小函数(例如,交并比函数)内联化,引入内联函数的目的是为了解决程序中函数调用的效率问题,内联该函数可以令目标代码更加高效,成行的编译各内联函数的函数体,避免在NMS算法内循环中频繁调用计算函数和返回参数。
同时,把inline限定词声明为静态的以强制使用内部连接,避免默认情况下把函数定义为外部连接,这样可以促进编译器的优化效果。
优化DSP编译环境
此部分的优化指的是NMS算法在DSP上编译层面上的优化。
此部分的优化可以包括如下几方面的内容。
1、选择DSP优化选项
选择使用DSP优化选项,对NMS算法进行内部分析,确知编译代码的对齐方式、指针参数值和循环计数值,从而进行优化,同时保证了DSP上代码层面和编译层面优化方式的顺利进行。
DSP优化选项是DSP系统上自带的选项,在执行算法之前,选择该选项以进行优化。
2、定义NMS算法中候选框数据的存储结构为32位浮点型数据的存储结构。
保证精度的前提下,将表示候选框坐标以及置信度的数据定义32位float浮点型数据的存储结构,避免程序对一些浮点运算做低速的64位浮点算法。
3、将候选框的数据字节对齐。
如上所述,候选框的结构体及数据类型均已被定义。
为了保证数据字节对齐,保证DSP一个周期内充分利用指令宽度来执行指令,在本申请中,当候选框的数据作为参数传递给交并比函数时,使用DSP内建字节排列指令,使数据字节对齐,充分利用指令宽度,使当DSP具有多运算模块时可以并行使用多个运算模块,充分利用DSP内部的硬件资源,并行处理指令,减少指令条数并提高指令的执行效率。
另外地,也可以事先将候选框的结构体的成员按照其类型长度排序,即,声明成员时将长度长的类型放在长度短的类型的前面。
评估测试
参见图1,通过如上的优化NMS算法和NMS算法移植实现NMS算法在DSP上的实现(记为第一种情况)。
参见图4,通过如上的优化NMS算法、NMS算法移植、优化DSP上NMS算法及优化DSP编译环境后,实现优化后的NMS算法在DSP上的实现(记为第二种情况)。
为了评估两种情况的性能,通过评估测试步骤对上述第一种情况和第二种情况分别进行评估测试。
评估测试包括如下两个方面。
1、通过MS COCO((Microsoft COCO: Common Objects in Context)数据集进行目标检测,将目标检测后未进行后处理(即,未经过常规NMS算法处理后的)的候选框作为输入集,传递至DSP上的NMS算法中,该NMS算法输出的结果作为验证集,以进行mAP验证。
在目标检测算法中,mAP常作为一种基准来衡量算法的精确度的好坏。
mAP是能够综合反映准确率和召回率的值。
2、测试NMS算法在DSP上运行的平均周期,评估计算NMS算法优化前后的性能表现。
基于DSP的优化后的NMS算法的实现方法,优化效率较高且处理速度较快,从而进一步提高了目标检测的效率。
以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。

Claims (10)

1.一种基于DSP的非极大值抑制算法的实现方法,其特征在于,包括:
优化NMS算法的步骤,包括如下:
S1:获取K个输入的候选框,并初始化N=1;
S2:判断K和N值的大小,若N≤K,进行到S3,否则,输出候选框集合;
S3:访问第N个候选框B;
S4:找到第N+1至第K个候选框中置信度最高的候选框M;
S5:判断候选框M的置信度PM是否大于候选框B的置信度PB,若是,交换候选框M和B在队列中的位置,进行到S6,否则,进行到S6;
S6:判断PB是否大于置信度阈值Pth,若是,进行到S7,否则将N 更新为N+1,并返回S2;
S7:依次访问第N+1至第K个候选框,计算所访问的候选框和候选框B的交并比IoU;
S8:判断所访问的候选框和候选框B是属于同类别,若是,则进行到S9,否则,将N更新为N+1,并返回S2;
S9:判断所计算的交并比IoU是否大于预设阈值,若是,对所述交并比对应的候选框的置信度附权重,并更新置信度,此后返回S2,否则,将N更新为N+1,并返回S2;
NMS算法移植的步骤,至少包括:对NMS算法所占数据空间的评估、DSP初始化环境设置、及重新构建符合DSP精度标准的NMS算法中候选框数据的存储结构。
2.根据权利要求1所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,所述实现方法还包括实现多种类型的NMS算法的调用函数的步骤,多种类型的NMS算法包括传统NMS算法、线性NMS算法和高斯NMS算法;
在所述S9中的附权重之前,选择对应类型的NMS算法,以获取对应的权重。
3.根据权利要求2所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,在选择传统NMS算法时,获取对应的权重为0;
在选择线性NMS算法时,获取对应的权重为1-IoU;
在选择高斯NMS算法时,获取对应的权重为
Figure DEST_PATH_IMAGE002
,其中σ为高斯函数参数。
4.根据权利要求1所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,
对NMS算法所占数据空间的评估,采用默认长度的静态存储方式。
5.根据权利要求1所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,
所述DSP初始化环境设置,包括选取DSP处理器的型号、初始化DSP参数、添加配置文件、分配存储空间大小,并设定所述DSP处理器时钟速率。
6.根据权利要求1所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,所述实现方法还包括:
优化DSP上NMS算法的步骤,至少包括将一个数的除法运算转换为乘以所述数的倒数;
优化DSP编译环境的步骤,至少包括:选择DSP优化选项、定义NMS算法中候选框数据的存储结构为32位浮点型数据的存储结构、以及将所述候选框的数据字节对齐。
7.根据权利要求6所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,在优化DSP上NMS算法的步骤中,所述数为32位浮点型数据F32bit,将F32bit的除法运算转换为乘以F32bit的倒数,具体为:
将区间[0,1)划分为4096等份,建立查找表;
通过查找表查找1/(1+frac)的值,其中frac为F32bit的小数部分数值;
利用
Figure DEST_PATH_IMAGE004
求取
Figure DEST_PATH_IMAGE006
,其中sign为F32bit的符号位数值、exp表示指数部分数值。
8.根据权利要求6所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,在优化DSP上NMS算法的步骤中,利用DSP处理器内部求倒数函数求所述数的倒数。
9.根据权利要求6所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,在优化DSP编译环境的步骤中,将所述候选框的数据字节对齐,具体为:
当所述候选框的数据作为参数传递给交并比函数时,使用DSP内建字节排列指令,使所述数据字节对齐。
10.根据权利要求1至9中任一项所述的基于DSP的非极大值抑制算法的实现方法,其特征在于,所述基于DSP的非极大值抑制算法的实现方法还包括:
对基于DSP的NMS算法进行评估测试的步骤。
CN202110648579.2A 2021-06-10 2021-06-10 基于dsp的非极大值抑制算法的实现方法 Pending CN113486722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110648579.2A CN113486722A (zh) 2021-06-10 2021-06-10 基于dsp的非极大值抑制算法的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110648579.2A CN113486722A (zh) 2021-06-10 2021-06-10 基于dsp的非极大值抑制算法的实现方法

Publications (1)

Publication Number Publication Date
CN113486722A true CN113486722A (zh) 2021-10-08

Family

ID=77935184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110648579.2A Pending CN113486722A (zh) 2021-06-10 2021-06-10 基于dsp的非极大值抑制算法的实现方法

Country Status (1)

Country Link
CN (1) CN113486722A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596170A (zh) * 2018-03-22 2018-09-28 杭州电子科技大学 一种自适应非极大抑制的目标检测方法
CN110378243A (zh) * 2019-06-26 2019-10-25 深圳大学 一种行人检测方法及装置
CN111814674A (zh) * 2020-07-08 2020-10-23 上海雪湖科技有限公司 基于fpga的点云网络的非极大值抑制方法
JP2020205039A (ja) * 2019-06-17 2020-12-24 富士通株式会社 物体検出方法、物体検出装置及び画像処理装置
CN112749011A (zh) * 2021-01-07 2021-05-04 上海雪湖科技有限公司 一种基于非极大值抑制算法的fpga加速方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596170A (zh) * 2018-03-22 2018-09-28 杭州电子科技大学 一种自适应非极大抑制的目标检测方法
JP2020205039A (ja) * 2019-06-17 2020-12-24 富士通株式会社 物体検出方法、物体検出装置及び画像処理装置
CN110378243A (zh) * 2019-06-26 2019-10-25 深圳大学 一种行人检测方法及装置
CN111814674A (zh) * 2020-07-08 2020-10-23 上海雪湖科技有限公司 基于fpga的点云网络的非极大值抑制方法
CN112749011A (zh) * 2021-01-07 2021-05-04 上海雪湖科技有限公司 一种基于非极大值抑制算法的fpga加速方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIMCHEN1218: ""目标检测后处理之NMS(非极大值抑制算法)"", Retrieved from the Internet <URL:《https:// www.cnblogs.com/jimchen1218/p/12066583.html》> *
徐爽: ""基于DSP平台的目标检测算法的改进与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2018, no. 03, pages 33 - 46 *

Similar Documents

Publication Publication Date Title
US20160378438A1 (en) Agile communication operator
CN113095474A (zh) 深度学习模型的资源使用情况预测
JP2008503836A (ja) 複数の入力命令をベクトル化する方法及び装置
US20130145347A1 (en) Automatic modularization of source code
CN113641701B (zh) 一种数据查询方法、系统、异构加速平台及存储介质
CN105224452A (zh) 一种针对科学计算程序静态分析性能的预测代价优化方法
US20100250564A1 (en) Translating a comprehension into code for execution on a single instruction, multiple data (simd) execution
CN111145076A (zh) 数据并行化处理方法、系统、设备及存储介质
CN111656321A (zh) 用加速器的调用来动态替换软件库中的调用
US7403961B1 (en) Dangling reference detection and garbage collection during hardware simulation
US9158506B2 (en) Loop abstraction for model checking
US7047510B1 (en) Method and system for partitioning an integrated circuit design
CN113553054A (zh) 基于异构系统的编译方法、装置、设备及存储介质
EP3920072A1 (en) System for providing a simulation model, system for illustrating estimated fluid movements around a structure, methods therefore and a computer program product
US11262989B2 (en) Automatic generation of efficient vector code with low overhead in a time-efficient manner independent of vector width
CN113486722A (zh) 基于dsp的非极大值抑制算法的实现方法
US8661424B2 (en) Auto-generation of concurrent code for multi-core applications
CN116382658A (zh) Ai模型的编译方法、装置、计算机设备及存储介质
US9619362B2 (en) Event sequence construction of event-driven software by combinational computations
CN116228515A (zh) 硬件加速系统、方法及相关装置
CN112800425B (zh) 一种基于图计算的代码分析的方法和装置
CN116149917A (zh) 评估处理器性能的方法及装置、计算设备、可读存储介质
CN115017048A (zh) 一种测试种子的确定方法及装置
JP2016018469A (ja) シミュレーション方法、シミュレーションプログラム
Fehling Algorithms for massively parallel generic hp-adaptive finite element methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination