非极大值抑制

1、非极大值抑制步骤

       非极大值抑制算法(Non-maximum suppression,NMS)在目标检测中经常用到。我们的检测算法可能对同一目标产生多次检测的结果,非极大值抑制算法可以保证每个目标只检测一次,找到检测效果最好的框。

(1)去除所有预测框置信度于某个阈值的框,这里的阈值选取为0.5。

(2)在剩下的1、2、4、5、6号框中选取置信度最大的,即图中5号框,比较除5号框以外所有框于5号框的交并比,若交并比大于某个阈值(人工给定的值),则抑制这些不是局部极大值预测框输出。

(3)再从剩下的框中选取置信度最大的,重复上面的步骤,直至没有框被舍去时结束。

(4)最后2号和5号框被保留,其他框被抑制。

  若检测物体是多个类别的时候,一般情况是对每个类别分别做一次非极大值抑制算法。

 

https:pic1.zhimg.com/v2-19c03377416e437a288e29bd27e97c14_b.png

像上面的图片一样,定位一个车辆,最后算法就找出了一堆的方框,我们需要判别哪些矩形框是没用的。非极大值抑制的方法是:先假设有6个矩形框,根据分类器的类别分类概率做排序,假设从小到大属于车辆的概率 分别为A、B、C、D、E、F。

(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;

(2)假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。

(3)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。

就这样一直重复,找到所有被保留下来的矩形框。

你可能感兴趣的:(目标检测)