Non-Maximum Suppression 非极大值抑制

NMS目的:

在检测任务中,一个目标很有可能预测出多个bbox,我们需要剔除不适合的,只留下最好的。这就是NMS的目的。

NMS:Non-Maximum Suppression 非极大值抑制   NMS处理之后     NMS:Non-Maximum Suppression 非极大值抑制

NMS过程:

在目标检测中,很可能需要预测很多类。拿预测人类的特征图来举例,他可能出现很多的bbox,每个bbox网络都会有它是人类框的置信度,我们选出其中置信度最大的一个bbox,然后比较其它的框与它的IoU大小,我们设定一个阈值(threshold),把与最好框的IoU超过阈值的bbox去除。这些超过阈值的bbox与最好的框的重叠程度过大,表明很有可能标定的是同一个物体。

 

提问:为什么不直接选择最好(置信度最高)的框呢?把其它置信度低的都去掉就好了呀。

因为与最好bbox的IoU低于阈值的框,很可能预测的不是同一个人,不应该去除它。

 

普通NMS存在的两个问题:

1)图片上存在稀疏不同的两组物体:

例如一张图片,一边有一群人,都站在一起(贴得足够近),而另一边只有一个人。

NMS:Non-Maximum Suppression 非极大值抑制

那么如果我们把threshold设高,则很有可能一群人那边只有一两个离得较远的人被框住了。因为当两个人站得很近得时候,它们得框也会很近,即IoU很大,很有可能超过阈值,被NMS除去了:

NMS:Non-Maximum Suppression 非极大值抑制

那如果我们把threshold设低一点以避免这个问题的话,则又会出现右边的人有多个bbox的情况,因为threshold过低,无法得到有效抑制:

NMS:Non-Maximum Suppression 非极大值抑制

2)一些特殊的问题,例如动物存在长长的尾巴:

NMS:Non-Maximum Suppression 非极大值抑制

如上图,这只猫有两个预测的bbox,很明显,蓝色框的置信度会更大,因为红色框的尾巴这一块有太多的背景。NMS会除去红色框,但是就我们希望的角度看,我们肯定是希望留下红色框的,因为尾巴也是猫的一部分对吧?

 

以上是普通的NMS存在的两个问题,这些问题都有很多的论文进行讨论和解决,提出了NMS的很多进阶版,融合NMS等等,接下来我也会跟进学习!

相关文章:

  • 2021-09-01
  • 2022-01-10
  • 2021-08-01
  • 2022-12-23
  • 2021-05-14
  • 2021-07-27
  • 2021-05-29
  • 2021-06-16
猜你喜欢
  • 2021-10-10
  • 2022-01-07
  • 2021-07-09
  • 2022-12-23
  • 2022-01-01
  • 2021-07-18
相关资源
相似解决方案