您的位置:首页 > 其它

非极大抑制(Non-Maximum Suppression)和Hard negative mining

2018-01-25 14:03 295 查看


一、Nms主要目的

          在物体检测非极大抑制应用十分广泛,主要目的是为了消除多余的框,找到最佳的物体检测的位置。



如上图中:虽然几个框都检测到了人脸,但是我不需要这么多的框,我需要找到一个最能表达人脸的框。下图汽车检测也是同样的原理。

非极大值抑制会从一张图片中找出n多个可能是物体的矩形框,然后为每个矩形框为做类别分类概率:



就像上面的图片一样,定位一个车辆,最后算法就找出了一堆的方框,我们需要判别哪些矩形框是没用的。非极大值抑制:先假设有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是我们保留下来的第二个矩形框。

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


二、关于NMS的解释

非极大值抑制(NMS)非极大值抑制顾名思义就是抑制不是极大值的元素,搜索局部的极大值。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。这里不讨论通用的NMS算法,而是用于在目标检测中用于提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。

另一种解释为:

Non-Maximum Suppression就是根据score和box的坐标信息,从中找到置信度比较高的bounding
box。首先,然后根据score进行排序,把score最大的bounding box拿出来。计算其余bounding box与这个box的IoU,然后去除IoU大于设定的阈值的bounding box。然后重复上面的过程,直至候选bounding box为空。说白了就是我要在一堆矩阵里面找出一些局部最大值,所以要把和这些局部最大值所代表矩阵IoU比较大的去除掉,这样就能得到一些权值很大,而且IoU又比较小的bounding box。


<
a617
/span>


三、Hard negative mining

对于目标检测中我们会事先标记处ground truth,然后再算法中会生成一系列proposal,这些proposal有跟标记的ground truth重合的也有没重合的,那么重合度(IOU)超过一定阈值(通常0.5)的则认定为是正样本,以下的则是负样本。然后扔进网络中训练。However,这也许会出现一个问题那就是正样本的数量远远小于负样本,这样训练出来的分类器的效果总是有限的,会出现许多false positive,把其中得分较高的这些false
positive当做所谓的Hard negative,既然mining出了这些Hard negative,就把这些扔进网络再训练一次,从而加强分类器判别假阳性的能力。ps:Fast中把IOU小于0.1的作为hard example mining,是不是说也可以预先定义hard example。

作者:捕头

链接:https://www.zhihu.com/question/46292829/answer/140003830

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: