非极大值抑制(NMS)(Non-Maximum Suppression,NMS)

非极大值抑制(NMS):

RCNN会从一张图片中找出n个可能是物体的矩形框,然后为每个矩形框为做类别分类概率,就像上面的图片一样,定位一个车辆,最后算法就找出了一堆的方框,我们需要判别哪些矩形框是没用的。

非极大值抑制的方法是:先假设有6个矩形框,根据分类器的类别分类概率做排序,假设从小到大属于车辆的概率 分别为

A1,A2,A3,A4,A5,A6
(1)从最大概率矩形框A5开始,分别判断A1,A12,A3,A4,A5与A6的重叠度IOU是否大于某个设定的阈值(假设阈值a=0.7);
(2)假设A2、A3与A5的重叠度超过阈值,那么就扔掉A2、A3;并标记第一个矩形框A5,此时只剩下了矩形框A1,A4,A5,A6。
(3)从剩下的矩形框A1、A4、A5中,选择概率最大的A5,然后判断A1,A4与A5的重叠度,重叠度大于一定的阈值,那么就扔掉;假设扔掉了A1,则此时只剩下了矩形框A4,A5,A6。
(4)这样就找到所有被保留下来的矩形框A4,A5,A6。
非极大值抑制(NMS)顾名思义就是抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。这里不讨论通用的NMS算法,而是用于在目标检测中用于提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。

猜你喜欢

转载自blog.csdn.net/weixin_38145317/article/details/89521059