改进基于非极大抑制的目标物体检测方法

文档序号:27681921发布日期:2021-12-01 00:00阅读:135来源:国知局
改进基于非极大抑制的目标物体检测方法

1.本发明涉及一种视频图像检测技术,特别涉及一种改进基于非极大抑制的目标物体检测方法。


背景技术:

2.物体检测在视频分析和图像理解应用中起着举足轻重的作用,例如实时监控摄像头、智能牲畜养殖和高级驾驶员辅助系统(adas)[文献1]。对于便携式系统,实时处理、低功耗、以及较少的资源消耗是必不可少的。非极大值抑制(non

maximal suppression,nms)[文献2]是大多数物体检测器的关键步骤。
[0003]
标准的nms是贪婪的、硬件不友好的。其依赖于迭代计算,因此需要很长的计算时间。研究人员发现,在人脸检测器中,nms占据近22%的延迟[文献3]。此外,常见的nms基于手动设计和固定的阈值,准确性有待提高。有研究者提出,以牺牲延迟和资源为代价来提高准确性[文献4]。例如,基于亲和传播聚类算法的nms,用cpu处理250个候选框,耗时1000ms。一个基于方向梯度直方图(hog)的12层物体检测器,在处理1080p(1920
×
1080)图像的时候,最坏情况下会生成82,722个候选框。使用上述nms,hog检测器每秒只能处理0.003帧(fps),远远达不到实时处理的要求。nms的gpu实现基于多线程计算,牺牲了功耗和资源来提高速度。基于专用硬件架构的平台,例如fpga和芯片,能够以低延迟和高能效实现nms。
[0004]
当前的nms的fpga实现,要么基于fpga上的嵌入式cpu,要么基于状态机。状态机是一种单指令多数据架构(simd)[文献3][文献5]。这两种架构都依次处理候选框,依靠高工作频率来满足速度要求。而且,现有的方法都是等检测结束之后,才开始抑制。因此其性能会随着候选框数量的增加而下降。当候选框的数量增加10倍时,现有的方法的关键路径延迟和功率均增加10倍[文献3]。此外,这些fpga检测器在检测过程中,需要缓存大量的中间结果,甚至需要外部存储器的支持。在抑制时需要重新加载这些中间结果。数据的移动和外部存储会增加额外的功耗。
[0005]
[文献1]f.porikli,f.bremond,s.l.dockstader,“video surveillance:past,present,and now the future[dsp forum],”ieee signal processing magazine,vol.30,no.9,pp.190

198,2013。
[0006]
[文献2]a.rosenfeld and m.thurston.edge and curve detection for visual scene analysis.ieee transactions on computers,100(5):562

569,1971。
[0007]
[文献3]m.shi,p.ouyang,s.yin,l.liu,and s.wei,“a fast and power

efficient hardware architecture for non

maximum suppression,”ieee transactions on circuits and systems ii:express briefs,vol.66,no.11,pp.1870

1874,nov.2019。
[0008]
[文献4]y.he,x.zhang,m.savvides,and k.kitani,“softer

nms:rethinking bounding box regression for accurate object detection,”arxiv preprint arxiv:1809.08545,2018。
[0009]
[文献5]h.zhang,w.wu,y.ma,and z.wang,“efficient hardware post processing of anchor

based object detection on fpga,”in 2020 ieee computer society annual symposium on vlsi(isvlsi),pp.580

585,jul.01,2020。


技术实现要素:

[0010]
针对视频图像检测中速度与资源消耗匹配问题,提出了一种改进基于非极大抑制的目标物体检测方法,缓解目标物体检测准确率与处理速度、资源、以及功耗之间的矛盾。
[0011]
本发明的技术方案为:一种改进基于非极大抑制的目标物体检测方法,输入图像,对目标物体进行检测,不同层上存在不同大小的目标物体的候选框,检测窗口在金字塔的每一层图像上移位,当窗口的得分大于分数阈值th
sc
的时候,该窗口被认为存在目标物体的候选框;检测方法具体步骤如下:
[0012]
4)定义组:从金字塔底层开始,相邻的k层组成一组,最上层不足k的层数组成最后一组,其中,th为重叠阈值th,sf为金字塔的缩放比例因子;
[0013]
5)定义簇:根据检测物体的窗口尺寸、窗口移动步长、细胞或像素块尺寸、以及重叠阈值设定簇的边界,同一组的相邻候选框组成一个簇;一个组中包含多个簇,簇的数量由组中检测到的目标物体数量决定;
[0014]
6)组内候选框的筛选合并:当任意一组中出现新的候选框bn时,首先判断代表框集合r中是否存在与bn处于同一个簇的候选框,如果存在,则依次比较bn与这些候选框的分数,如果bn的分数更高,则将r中对应的候选框删除,将bn缓存在r中;否则,r保持不变;如果bn与r中所有的候选框均不属于同一个簇,则将bn缓存在r中;筛选合并过程中当一个簇的候选框的数量大于高数量阈值th
nh
时,将该簇对应的目标物体检测分数阈值th
sc
提高ε倍;当一个簇的候选框的数量小于低数量阈值th
nl
时,将该簇对应的目标物体检测分数阈值th
sc
缩小α倍。
[0015]
进一步,所述步骤2)簇的边界设定限定一个簇最多包含窗口个数,得分大于分数阈值th
sc
的窗口被视为候选框进入竞选代表框。
[0016]
进一步,所述步骤3)所有组同步检测同步抑制,实时处理每一个候选框。
[0017]
本发明的有益效果在于:本发明改进基于非极大抑制的目标物体检测方法,提出了一种硬件友好的空间nms算法(snms)。snms延迟低、功耗和资源消耗少、并具有统一的处理时间(与候选框数量解耦合);所提出的方法,不需要等待检测结束,而是利用空间信息,在检测的同时对候选框进行抑制;此方法不仅减少了数据移动和存储、缩短了处理时间,而且所需处理时间统一。
附图说明
[0018]
图1为基于滑动窗口的检测器的nms处理过程实例图;
[0019]
图2为现有的nms的抑制过程流程图;
[0020]
图3为本发明所提出snms算法中使用的分组方法,12层被分为6组实施例示意图;
[0021]
图4为本发明重叠阈值设置为0.5时,第一组的一个簇的聚类边界实施例示意图;
[0022]
图5为本发明提出的snms的抑制过程流程图。
具体实施方式
[0023]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0024]
如图1所示基于滑动窗口的检测器的nms处理过程实例图,输入图像,对行人进行检测,不同层上存在不同大小的物体的“候选框”,检测窗口在金字塔的每一层图像上移位。对于每个检测窗口,特征集从窗口中的像素中生成,并且通过计算分数对行人的存在进行评估。当窗口的得分大于分数阈值(th
sc
)的时候,该窗口被认为存在人,是候选框。分数越高,则存在人的可能性越大。nms合并属于同一物体的候选框,从重叠的候选框中选择出“代表框”。理论上,一个物体只会在金字塔的某一层,存在候选框。此时每层候选框会选择出代表框。实际上,当金字塔的缩放比例因子(sf)较小时,同一物体会在不同层存在候选框。这是因为,当sf较小时,同一物体在相邻层上的绝对大小相近。在这种情况下,代表框需要合并来自多个层的候选框。假设某一物体,在输入图像中的高度为h
o
,检测窗口的高度为h
w
,用j代表金字塔的层数,则可能存在这一物体的候选框的层,需要满足公式:
[0025]
对于第一层(输入图像),j为1,第二层,j为2,以此类推。β的具体数值,可以使用常规技术手段获得,在不同的应用中是不同的。一般情况下,β∈[0.7,1)。以图1中右边的行人(物体1)为例,同时在第三层、第四层存在候选框,最终选择分数最高的候选框作为代表框。以图1中左边的行人(物体2)为例,理想情况下,只在第七层存在候选框,其代表框从第七层中选出。根据以上分析可以看出,nms的合并,并不需要等待所有层的候选框筛选后再开始。然而,现有的抑制过程,和检测过程是相互剥离的,都是等待所有层的候选框筛选后,才进行。这就增加了处理时间、资源和功耗。
[0026]
图2是现有的nms的抑制过程流程图。现有的nms,延时较大。这是因为,这些nms需要等待检测结束之后,才开始抑制。即它们需要等待图像金字塔每一层的所有候选框都被筛选出来之后,才开始合并候选框。在检测期间,候选框的信息(包括分数、以及坐标)被暂存起来,用b来代表这些候选框的集合。当检测结束之后,需要重新加载b中的信息。传统的nms首先对b中的候选框按照分数从高到低进行排序,排序之后的候选框集合用bs表示,bs中候选框个数为n。然后将分数最高的候选框b_sc从bs移动到代表框的集合r。此时bs中候选框个数n减小了1。用bs
i
来代表bs中的某一个候选框,i∈[1,n]。移动后,对bs中是否存在与b_sc重叠的候选框bo进行判断,即计算bs
i
与b_sc的重叠面积oa,对于oa大于重叠阈值th的候选框bla认为为重叠候选框,将其从bs中删除。重复上述过程,直到bs为空,此时获得的r包含所有的代表框。因此,候选框的数量直接影响传统nms的处理时间。而且,传统nms需要缓存大量的中间结果。
[0027]
如图3所示本发明提出的snms算法中使用的分组方法,以12层的金字塔为例,12层被分为六组。相邻的两层组成一组,例如第一组包括第一层l1和第二层l2,而第六组由第11层l11和第12层l12组成。假设金字塔的层数为l,则对应的组数(g)为:k是由重叠阈值th、以及金字塔的缩放比例因子sf决定的,k为不大于sf与th相除的最大整数
[0028]
当重叠阈值th设置为0.5、缩放比例因子设置为1.2时,k取2。即,当l为偶数时,每一组都包含两层;当l为奇数时,最后一组只包含一层金字塔,剩余的组包含两层金字塔。
[0029]
图4是重叠阈值th设置为0.5时,第一组中的一个簇的聚类边界示意图。一个组中可以包含多个簇,簇的数量由组中检测到的物体的数量决定,同一组的相邻候选框组成一个簇。检测窗口设置为64
×
128像素,并与相邻窗口重叠8个像素。图像被分成8
×
8的像素块,该像素块被称为细胞。细胞之间互不重叠。所有落在聚类边界中的候选框都被视为簇的成员。当前簇的代表框则是簇中具有最大分数的候选框。图中聚类边界显示了簇的边界。
[0030]
假设窗口宽度和高度为w
w
和h
w
,簇的边界的宽度(w)和高度(h)由下式确定:当w
w
取64,h
w
取128,th取0.5时,一个簇最多包含30个窗口。只有当窗口被判定为包含人的时候,窗口才被视为候选框。只有候选框可以竞选代表框。因此,当前实例可以将存储资源最大压缩30倍。其它物体的检测可针对不同的窗口尺寸、窗口移动步长、细胞尺寸、以及重叠阈值,类似的得到簇的边界。
[0031]
图5为snms的抑制过程流程图。鉴于组内候选框之间的空间关系是可预测的(如图4所示),snms不需要等检测结束再开始抑制,而是与检测同步抑制,实时处理每一个候选框。假设金字塔共有l层图像,这l层图像的检测并行进行,互不干扰。将l层图像分成g个小组,用r1表示第一个小组g1的代表框,则整个金字塔的代表框r由g个小组的代表框(r1,r2,

rg)组成。用mk表示第k个小组gk的代表框rk中代表框的数量,代表框的数量,k∈[1,g],k为整数。比如:用m1来表示r1中代表框的数量。用n表示r中代表框的数量,则
[0032]
以第k小组gk为例,假设bf是gk检测到的第一个候选框,将bf暂存在rk中。当gk中新的候选框bn出现时,对于rk中的每一个候选框rkp,p∈[1,mk],首先判断bn是否与rkp处于同一个簇。如果是,则比较bn与rkp的分数。如果bn的分数更高,则将rkp删除,将bn缓存在rk中;否则,rk保持不变。如果bn与rk中所有的候选框均不属于同一个簇,则将bn缓存在rk中。每一组的不同之处在于,其所负责的金字塔的层是不同的。以图3为例,g1负责第一层l1和第二层l2,g2负责第三层l3和第四层l4,等等。因此,snms所需的处理时间与候选框的数量无关。此外,snms跟踪簇内的候选框数量,并根据候选框的数量调整分数阈值th
sc
。筛选合并过程中当一个簇的候选框的数量大于高数量阈值th
nh
时,将该簇对应的目标物体检测分数阈值th
sc
提高ε倍;当一个簇的候选框的数量小于低数量阈值th
nl
时,将该簇对应的目标物体检测分数阈值th
sc
缩小为α倍。ε和α是使用常规技术手段获得的,在不同的应用中是不同的。一般情况下,1<ε<1.5,0.5<α<1。
[0033]
本发明可以在不影响检测精度的基础上,减少抑制所需的处理时间、能耗以及资源。相比于已有的抑制方法,本发明的不同之处在于:
[0034]
1、检测与抑制同步进行:利用金字塔的不同层的空间相邻候选框之间的耦合关系,实时动态聚类候选框。因此本方法不仅可以减少数据移动和存储(实施例最高可压缩存储需求30倍),而且可以压缩抑制时间(实施例最高可压缩82,722倍)。
[0035]
2、跟踪簇内的候选框数量,并根据候选框的数量调整检测分数阈值(th
sc
),因此本
方法可以保证准确率。
[0036]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1