标签:
http://blog.sina.com.cn/s/blog_679e1329010141x3.html
本文参考论文 ICPR2006-《Efficient Non-Maximum Suppression》
一、简介
非极大值抑制(NMS)可以看做是局部最大值的搜索问题,NMS是许多计算机视觉算法的部分。如何设计高效的NMS算法对许多应用是十分关键的,例如视频跟踪、数据挖掘、3D重建、物体识别以及纹理分析等。
本文只列出算法的具体流程,对算法的复杂性分析具体参考论文。
二、1维情况下的NMS
1、直接的实现
主要是通过2重嵌套循环来实现的,外面一层循环主要是迭代1维中的所有的点,里面的一层循环就是判断该点是否符合局部最大值的条件。
2、3邻域情况
3邻域是指判断该点是否比左边的一个点以及右边的一个点的数值大。算法流程如下图所示:
代码简单分析:对于一个从I[0]到I[W-1]的输入序列,对于有左邻和右邻的是从1到W-2,所以循环的初始位置是1。
(1)代码的3-5行是判断当前点是否左邻和右邻的值大,如果大的话该点就是极大值点。对于这样的点我们就已经知道i+1位置的值比i的小,所以对i+1的位置就不需要处理,所以可以直接处理i+2位置。对应于代码的第12行。
(2)如果在第3行代码中,不满足条件,那么该点的右邻就作为候选,对于代码第7行。循环的使用这一条件,候选就会采用单调递增的方式一直向右查找,直到找到满足大于右邻的点(对应于代码8-9行),若该点不是最右的点,则满足条件,为极大值点(对应于代码的10-11行)。
2. n邻域的动态分块算法
将上面的算法1,推广到n领域的情况。
高效的非极大值抑制
标签:
原文地址:http://www.cnblogs.com/notlate/p/4324306.html