1. $NMS$代码与实现

$Non$-$Maximum$-$Suppression$(非极大值抑制): 当两个$box$空间位置非常接近,就以$score$更高的那个作为基准,看$IOU$即重合度如何,如果与其重合度超过阈值,就抑制$score$更小的$box$,只保留$score$大的就$Box$,其它的$Box$就都应该过滤掉。对于$NMS$而言,适合于水平框,针对各种不同形状的框,会有不同的$NMS$来进行处理。

具体的步骤如下

image
  1. 如图所示,我们有$6$个带置信率的$region$ $proposals$,我们先预设一个$IOU$的阈值如$0.7$。

  2. 按置信率大小对$6$个框排序,举例为 $0.94, 0.91, 0.90, 0.83, 0.79, 0.77$。

  3. 设定置信率为$0.94$的$region$ $proposals$为一个物体框;

  4. 在剩下$5$个$region$ $proposals$中进行循环遍历,去掉与$0.94$物体框$IOU$大于$0.7$的。

  5. 重复$2$~$4$的步骤,直到没有$egion$ $proposals$为止。

  6. 每次获取到的最大置信率的$region$ $proposals$就是我们筛选出来的目标。

参考代码如下:

运行后,则删除了多余的框,结果如图所示: image

Last updated