Skip to content

Latest commit

 

History

History
63 lines (30 loc) · 1.99 KB

非极大值抑制.md

File metadata and controls

63 lines (30 loc) · 1.99 KB

NMS (非极大值抑制)

在使用滑动窗口提取特征是,每一个窗口都会有一个分数,NMS机制就是保留分数最高的窗口 (即只保留识别效果最好的检测器)。

NMS原理

对于预测框的列表B及其对应的置信度S,

选择具有最大score的检测框M,

将其从B集合中移除并加入到最终的检测结果D中.

通常将B中剩余检测框中与M的IoU大于阈值Nt的框从B中移除.

重复这个过程,直到B为空。

对于多分类任务而言

  • 首先是检测出一系列的检测框
  • 将检测框按照类别进行分类
  • 对同一类别的检测框应用NMS获取最终的检测结果

如何对检测框按照类别分类并对同类检测框做NMS?

按置信度(得分)对所有检测框降序排序,按顺序计算当前检测框与所有其他检测框的 IoU,若 IoU 大于阈值即认为这个框是与当前检测框是用来分类同一目标的检测框若置就剔除这个检测框,若IoU小于阈值即认为这个检测框是用来分类别的物体的检测框保留此检测框。遍历所有的检测框,最终保留下来的检测框就是效果最佳的检测框,即最终检测结果。

阈值的大小将决定有多少检测框被保留下来,同时可能造成图像中距离较近的物体的检测框被误删除。

如图中所示

所有检测框降序排序后的顺序为:B,A,E,C,D

流程为:

设置阈值 Nt = 0.5

分别计算B对A,E,C,D的IoU

可见 B 与 A 的 IoU < Nt 检测框A保留

B 与 E 的 IoU > Nt 检测框E被移除

同理 C 保留,D移除

此时保留下来的检测框为 B,A,C

分别计算 A 对 B,C 的 IoU

A 与 B 的 IoU < Nt 检测框B保留

A 与 C 的 IoU > Nt 检测框C被移除

最终保留下来的检测框为 B, A