摘自https://blog.csdn.net/qq_38906523/article/details/80195119
摘自https://blog.csdn.net/xiexu911/article/details/80609298
非极大值抑制NMS在目标检测,定位等领域是一种被广泛使用的方法。对于目标具体位置定位过程,不管是使用sliding Window还是selective search方法,都会产生好多的候选区域。实际看到的情形就是好多区域的交叉重叠。如下图所示:
针对该问题有3种传统的解决思路:
- 第一种,选取矩形框的交集,即公共区域作为最后的目标区域。
- 第二种,选取矩形框的并集,即所有矩形框的最小外截矩作为目标区域。当然这里也不是只要相交就直接取并集,需要相交的框满足交集占最小框的面积达到一定阈值才合并。
- 第三种,也就是本文的NMS,简单的说,对于有相交的就选取其中置信度最高的一个作为最后结果,对于没相交的就直接保留下来,作为最后结果。
非极大值抑制是一个寻找局部最大值的过程。
在进行目标检测时一般会在图像上生成很多的候选框,然后把这些候选框送入分类器,得到一个得分(score),然后选取得分最高的那个框,接下来计算其他的框与当前框的重合程度(iou),如果重合程度大于一定阈值就删除。
如果图片中有好几个人脸,你选取一个最大的,那第二个人脸怎么办呢。实际上这是一个迭代的过程,第一步的非极大值抑制就是选取了某一个最大的得分,然后删除了他周边的几个框,第二次迭代的时候在剩下的框里面选取一个最大的,然后再删除它周围的框,这样不停的迭代下去就会得到所有想要找到的目标物体的区域。